From 56b1435163addf98f0c8168fed1b6997d264ca7f Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Tue, 6 Jul 2021 18:37:08 +0200 Subject: [PATCH 01/48] HotFix: remove debug print --- .../ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend index 9bbb479d2..29ce01418 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend @@ -141,7 +141,6 @@ def generate_launch_description(): for (elem : ((value as ParameterSequenceImpl).eContents)) { var member = ((elem as ParameterStructImpl).eContents.get(0) as ParameterStructMemberImpl); - println(member + ", " + elem + ", " + (elem as ParameterStructImpl).eContents.get(0) + ", " + value); val param_val = get_param_value(member.getValue(), name + "/" + member.getName()); if (param_val.startsWith("{")) { param_str += param_val; From d2226028a358e36058dc6c4798fdd9dc72f829a3 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Mon, 5 Jul 2021 17:37:51 +0200 Subject: [PATCH 02/48] Extend rossystem metamodel and Xtext to support ComponentsStacks --- ...tack_QualityAttribute_QualityAttribute.gif | Bin 0 -> 223 bytes ...tStack_RosComponent_ComponentInterface.gif | Bin 0 -> 223 bytes ...QualityAttribute_Type_ParameterAnyType.gif | Bin 0 -> 223 bytes ...alityAttribute_Type_ParameterArrayType.gif | Bin 0 -> 223 bytes ...lityAttribute_Type_ParameterBase64Type.gif | Bin 0 -> 223 bytes ...ityAttribute_Type_ParameterBooleanType.gif | Bin 0 -> 223 bytes ...ualityAttribute_Type_ParameterDateType.gif | Bin 0 -> 223 bytes ...lityAttribute_Type_ParameterDoubleType.gif | Bin 0 -> 223 bytes ...ityAttribute_Type_ParameterIntegerType.gif | Bin 0 -> 223 bytes ...ualityAttribute_Type_ParameterListType.gif | Bin 0 -> 223 bytes ...lityAttribute_Type_ParameterStringType.gif | Bin 0 -> 223 bytes ...lityAttribute_Type_ParameterStructType.gif | Bin 0 -> 223 bytes ...osSystem_ComponentStack_ComponentStack.gif | Bin 0 -> 223 bytes ...System_RosComponent_ComponentInterface.gif | Bin 0 -> 223 bytes .../icons/full/obj16/ComponentStack.gif | Bin 0 -> 129 bytes .../icons/full/obj16/QualityAttribute.gif | Bin 0 -> 129 bytes .../plugin.properties | 9 + .../provider/ComponentStackItemProvider.java | 208 + .../QualityAttributeItemProvider.java | 268 + .../provider/RosSystemItemProvider.java | 38 +- .../RossystemItemProviderAdapterFactory.java | 48 + .../contentassist/antlr/RosSystemParser.java | 39 +- .../antlr/internal/InternalRosSystem.g | 1674 +- .../antlr/internal/InternalRosSystem.tokens | 108 +- .../internal/InternalRosSystemLexer.java | 1164 +- .../internal/InternalRosSystemParser.java | 15167 ++++++++++------ .../AbstractRosSystemProposalProvider.java | 27 + .../ipa/rossystem/RosSystem.xtextbin | Bin 12344 -> 13114 bytes .../parser/antlr/internal/InternalRosSystem.g | 434 +- .../antlr/internal/InternalRosSystem.tokens | 112 +- .../internal/InternalRosSystemLexer.java | 1172 +- .../internal/InternalRosSystemParser.java | 4042 ++-- .../RosSystemSemanticSequencer.java | 37 + .../RosSystemSyntacticSequencer.java | 157 +- .../services/RosSystemGrammarAccess.java | 409 +- .../fraunhofer/ipa/rossystem/RosSystem.xtext | 17 +- .../model/rossystem.ecore | 21 +- .../model/rossystem.genmodel | 13 +- .../src/rossystem/ComponentStack.java | 76 + .../src/rossystem/QualityAttribute.java | 95 + .../src/rossystem/RosSystem.java | 16 +- .../src/rossystem/RossystemFactory.java | 18 + .../src/rossystem/RossystemPackage.java | 304 +- .../rossystem/impl/ComponentStackImpl.java | 264 + .../rossystem/impl/QualityAttributeImpl.java | 318 + .../src/rossystem/impl/RosSystemImpl.java | 68 +- .../rossystem/impl/RossystemFactoryImpl.java | 22 + .../rossystem/impl/RossystemPackageImpl.java | 136 +- .../util/RossystemAdapterFactory.java | 36 + .../src/rossystem/util/RossystemSwitch.java | 42 + 50 files changed, 17736 insertions(+), 8823 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateComponentStack_QualityAttribute_QualityAttribute.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateComponentStack_RosComponent_ComponentInterface.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterAnyType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterArrayType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterBase64Type.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterBooleanType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterDateType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterDoubleType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterIntegerType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterListType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterStringType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterStructType.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateRosSystem_ComponentStack_ComponentStack.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateRosSystem_RosComponent_ComponentInterface.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/obj16/ComponentStack.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/obj16/QualityAttribute.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/ComponentStackItemProvider.java create mode 100644 plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/QualityAttributeItemProvider.java create mode 100644 plugins/de.fraunhofer.ipa.rossystem/src/rossystem/ComponentStack.java create mode 100644 plugins/de.fraunhofer.ipa.rossystem/src/rossystem/QualityAttribute.java create mode 100644 plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ComponentStackImpl.java create mode 100644 plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/QualityAttributeImpl.java diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateComponentStack_QualityAttribute_QualityAttribute.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateComponentStack_QualityAttribute_QualityAttribute.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe6b442c4b42318c3398f23f23bb34d3e008ea0d GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6ytuUI=BA!AGt&+6>ylsEBsH&6Y-Wk@zrXK+=6>ylsEBsH&6Y-Wk@zrXK+=$f8PVq-_PfP=+E=Tzwb5! zO@jc%pDc_ZmJWyj*~!2fqoB~25^1N#F!Su;DHpa*>Tm9wRN`s;*`()M_9RU)^?s@3 zOy@w2*~?F`i}Y#DId#&_ia|&1zPF2oKv2W%7YQF0oor`XnBXRVqow9{uGZ<7>G=#f OHBG6FP1&l74AuZ&u3=&T literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterBooleanType.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterBooleanType.gif new file mode 100644 index 0000000000000000000000000000000000000000..f5472ecdc660416beedd7d598fadf0dbc1f05a54 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6thv_Ib1b-cjb&t;&j0`M^W*LR-?wjQ zXn1jH&&^FeXJ)1yXmHpyT@8q~PEuaiCBL*uYF?$-%o5>$f8PVq-_PfP=+E=Tzwb5! zO@jc%pDc_ZmJWyj*~!2fqoB~25^1N#F!Su;DHpa*>Tm9wRN`s;*`()M_9RU)^?s@3 zOy@w2*~?F`i}Y#DId#&_ia|&1zPF2oKv2W%7YQF0oor`XnBXRVqow9{uGZ<7>G=#f OHBG6FP1&l74AuZ*3}Ipb literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterDateType.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterDateType.gif new file mode 100644 index 0000000000000000000000000000000000000000..d1da83e1fb4799547bc1b67e8219ae0304503686 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{P_C&#?d$X=igsedFlWE`1$en|L@y3 zG&H=pwCCogo-;Gk4m3FInyv;!TPG>6>ylsEBsH&6Y-Wk@zrXK+=$f8PVq-_PfP=+E=Tzwb5! zO@jc%pDc_ZmJWyj*~!2fqoB~25^1N#F!Su;DHpa*>Tm9wRN`s;*`()M_9RU)^?s@3 zOy@w2*~?F`i}Y#DId#&_ia|&1zPF2oKv2W%7YQF0oor`XnBXRVqow9{uGZ<7>G=#f OHBG6FP1&l74AuZ*3}Ipb literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterIntegerType.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterIntegerType.gif new file mode 100644 index 0000000000000000000000000000000000000000..ced536d9d7e6a24748444644b1491a24cf286ef3 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6ytuUI=BA!AGt&+!kkXzDXsX#-B}ku4PZs6jSe)O3ri+)R?{e1iMI| z)|^u(-K-dN)b4w`SO^3)%zlyZVbRHUriBS^@;6#)Zs%&9ewm)nkWs>oms E0KA7|E&u=k literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterListType.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterListType.gif new file mode 100644 index 0000000000000000000000000000000000000000..c345ca5a1bf04f1d3b86d485cdef23d5499278ce GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b|NZ$54Gj(s4*&nh&yTnNf8QR+ zeQ{~e%}qULW~LozaM(3n4T!c*QeM|3zqCneUZvQ~65)S;-viO#&*y>Y&-2B!EQ}zQ4u}BR$-o+;pwO2RX{W|8^X%a%7q(97Z|<8^;%WTZq~}`pBuz2(eyQY4 z=Rl3w%TKV2^l8mGb<)j>K}YSrw~K{9P{ZsO2_F`nY-d`S;3j{grRH|7*6Ek&`3yNV NO{tAd*{X^R)&S{(ViN!W literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterStringType.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateQualityAttribute_Type_ParameterStringType.gif new file mode 100644 index 0000000000000000000000000000000000000000..c39f97857ce9ee4dc4f6941a559eb280ecf7dedd GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6eEsqJ=#4k?_usEvcIp5B`1$en|L@y3 zG&H=pwCCogo-;Gk4m3FInyv;!TPG>6>ylsEBsH&6Y-Wk@zrXK+=C>8X>ZF?$gO1vLZx;)JpoZBm5MmLCOy}(CuxeQ_e&*b zItOaZUVegIq)%(ksgrJ23_5D}yf*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~ OX-aKu%2rimum%8)IAk3F literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateRosSystem_RosComponent_ComponentInterface.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/ctool16/CreateRosSystem_RosComponent_ComponentInterface.gif new file mode 100644 index 0000000000000000000000000000000000000000..967985834eb6d77b2537472196578a01d716c7f4 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6G&Nld4nAgSxkg8)?f?Jy`SJGu@7p&t zG#of^VE+C2K!$^Z!>;LSK(uv|^13ehrA<=vD#d1&2><*09*F*aJ`Y5Ho-h7=w;5;} z1StMwVFa;sKm^E62G$q_g}#(XJ2i%xXAe)guys;@bKj&APvg%fJ=d})X^N@$OC@JI z2Wre-eu7=3PixMplWtZFI%@a5T`UBG8fL#p_^{|?JJZ4hH~AYaHMeuMPQOggXUM5( NN^NY)R#jxM1_1f&UtItI literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/obj16/ComponentStack.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/obj16/ComponentStack.gif new file mode 100644 index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Np+|z`)6%1JVgHgMmfQ;H2m3y%w*(d{g0nSm?Ull=W6hg4cqDUv2b0PE)&T WR^GExlV5i^W2f7Zi9*7R4AuatYBLM~ literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/obj16/QualityAttribute.gif b/plugins/de.fraunhofer.ipa.rossystem.edit/icons/full/obj16/QualityAttribute.gif new file mode 100644 index 0000000000000000000000000000000000000000..14af8aaee9f431cebfb2b13249821419380131a3 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Nk#8?YX(B=giEs z0}T#}KUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~rX=+!^ W%6nF7^6M^V>~uRaQAn7P!5RPxRxsiK literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/plugin.properties b/plugins/de.fraunhofer.ipa.rossystem.edit/plugin.properties index c1d0a187e..5eabec013 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.edit/plugin.properties +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/plugin.properties @@ -39,3 +39,12 @@ _UI_ActionConnection_To_feature = To _UI_ActionConnection_ActionName_feature = Action Name _UI_RosSystem_ActionConnections_feature = Action Connections _UI_RosSystem_Parameter_feature = Parameter +_UI_ComponentStack_type = Component Stack +_UI_QualityAttribute_type = Quality Attribute +_UI_RosSystem_ComponentStack_feature = Component Stack +_UI_ComponentStack_Name_feature = Name +_UI_ComponentStack_RosComponent_feature = Ros Component +_UI_ComponentStack_QualityAttribute_feature = Quality Attribute +_UI_QualityAttribute_Name_feature = Name +_UI_QualityAttribute_Type_feature = Type +_UI_QualityAttribute_Value_feature = Value diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/ComponentStackItemProvider.java b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/ComponentStackItemProvider.java new file mode 100644 index 000000000..04a51edc0 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/ComponentStackItemProvider.java @@ -0,0 +1,208 @@ +/** + */ +package rossystem.provider; + + +import componentInterface.ComponentInterfaceFactory; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import rossystem.ComponentStack; +import rossystem.RossystemFactory; +import rossystem.RossystemPackage; + +/** + * This is the item provider adapter for a {@link rossystem.ComponentStack} object. + * + * + * @generated + */ +public class ComponentStackItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComponentStackItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ComponentStack_Name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ComponentStack_Name_feature", "_UI_ComponentStack_type"), + RossystemPackage.Literals.COMPONENT_STACK__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(RossystemPackage.Literals.COMPONENT_STACK__ROS_COMPONENT); + childrenFeatures.add(RossystemPackage.Literals.COMPONENT_STACK__QUALITY_ATTRIBUTE); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComponentStack.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentStack")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ComponentStack)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ComponentStack_type") : + getString("_UI_ComponentStack_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComponentStack.class)) { + case RossystemPackage.COMPONENT_STACK__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case RossystemPackage.COMPONENT_STACK__ROS_COMPONENT: + case RossystemPackage.COMPONENT_STACK__QUALITY_ATTRIBUTE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.COMPONENT_STACK__ROS_COMPONENT, + ComponentInterfaceFactory.eINSTANCE.createComponentInterface())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.COMPONENT_STACK__QUALITY_ATTRIBUTE, + RossystemFactory.eINSTANCE.createQualityAttribute())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return RossystemEditPlugin.INSTANCE; + } + +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/QualityAttributeItemProvider.java b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/QualityAttributeItemProvider.java new file mode 100644 index 000000000..21852a9fa --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/QualityAttributeItemProvider.java @@ -0,0 +1,268 @@ +/** + */ +package rossystem.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import ros.RosFactory; + +import rossystem.QualityAttribute; +import rossystem.RossystemPackage; + +/** + * This is the item provider adapter for a {@link rossystem.QualityAttribute} object. + * + * + * @generated + */ +public class QualityAttributeItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public QualityAttributeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_QualityAttribute_Name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_QualityAttribute_Name_feature", "_UI_QualityAttribute_type"), + RossystemPackage.Literals.QUALITY_ATTRIBUTE__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_QualityAttribute_Value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_QualityAttribute_Value_feature", "_UI_QualityAttribute_type"), + RossystemPackage.Literals.QUALITY_ATTRIBUTE__VALUE, + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns QualityAttribute.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/QualityAttribute")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((QualityAttribute)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_QualityAttribute_type") : + getString("_UI_QualityAttribute_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(QualityAttribute.class)) { + case RossystemPackage.QUALITY_ATTRIBUTE__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case RossystemPackage.QUALITY_ATTRIBUTE__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterListType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterStructType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterIntegerType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterStringType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterDoubleType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterDateType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterBooleanType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterBase64Type())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterAnyType())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.QUALITY_ATTRIBUTE__TYPE, + RosFactory.eINSTANCE.createParameterArrayType())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return RossystemEditPlugin.INSTANCE; + } + +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RosSystemItemProvider.java b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RosSystemItemProvider.java index cf9c29c2e..f7e772dcb 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RosSystemItemProvider.java +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RosSystemItemProvider.java @@ -3,6 +3,7 @@ package rossystem.provider; +import componentInterface.ComponentInterfaceFactory; import java.util.Collection; import java.util.List; @@ -65,7 +66,6 @@ public List getPropertyDescriptors(Object object) { super.getPropertyDescriptors(object); addNamePropertyDescriptor(object); - addRosComponentPropertyDescriptor(object); } return itemPropertyDescriptors; } @@ -92,28 +92,6 @@ protected void addNamePropertyDescriptor(Object object) { null)); } - /** - * This adds a property descriptor for the Ros Component feature. - * - * - * @generated - */ - protected void addRosComponentPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_RosSystem_RosComponent_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_RosSystem_RosComponent_feature", "_UI_RosSystem_type"), - RossystemPackage.Literals.ROS_SYSTEM__ROS_COMPONENT, - true, - false, - true, - null, - null, - null)); - } - /** * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or @@ -129,7 +107,9 @@ public Collection getChildrenFeatures(Object objec childrenFeatures.add(RossystemPackage.Literals.ROS_SYSTEM__TOPIC_CONNECTIONS); childrenFeatures.add(RossystemPackage.Literals.ROS_SYSTEM__SERVICE_CONNECTIONS); childrenFeatures.add(RossystemPackage.Literals.ROS_SYSTEM__ACTION_CONNECTIONS); + childrenFeatures.add(RossystemPackage.Literals.ROS_SYSTEM__COMPONENT_STACK); childrenFeatures.add(RossystemPackage.Literals.ROS_SYSTEM__PARAMETER); + childrenFeatures.add(RossystemPackage.Literals.ROS_SYSTEM__ROS_COMPONENT); } return childrenFeatures; } @@ -191,7 +171,9 @@ public void notifyChanged(Notification notification) { case RossystemPackage.ROS_SYSTEM__TOPIC_CONNECTIONS: case RossystemPackage.ROS_SYSTEM__SERVICE_CONNECTIONS: case RossystemPackage.ROS_SYSTEM__ACTION_CONNECTIONS: + case RossystemPackage.ROS_SYSTEM__COMPONENT_STACK: case RossystemPackage.ROS_SYSTEM__PARAMETER: + case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); return; } @@ -224,10 +206,20 @@ protected void collectNewChildDescriptors(Collection newChildDescriptors (RossystemPackage.Literals.ROS_SYSTEM__ACTION_CONNECTIONS, RossystemFactory.eINSTANCE.createActionConnection())); + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.ROS_SYSTEM__COMPONENT_STACK, + RossystemFactory.eINSTANCE.createComponentStack())); + newChildDescriptors.add (createChildParameter (RossystemPackage.Literals.ROS_SYSTEM__PARAMETER, RosFactory.eINSTANCE.createParameter())); + + newChildDescriptors.add + (createChildParameter + (RossystemPackage.Literals.ROS_SYSTEM__ROS_COMPONENT, + ComponentInterfaceFactory.eINSTANCE.createComponentInterface())); } /** diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java index 5ba8ffd00..ba3487bb4 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java @@ -94,6 +94,52 @@ public Adapter createRosSystemAdapter() { return rosSystemItemProvider; } + /** + * This keeps track of the one adapter used for all {@link rossystem.ComponentStack} instances. + * + * + * @generated + */ + protected ComponentStackItemProvider componentStackItemProvider; + + /** + * This creates an adapter for a {@link rossystem.ComponentStack}. + * + * + * @generated + */ + @Override + public Adapter createComponentStackAdapter() { + if (componentStackItemProvider == null) { + componentStackItemProvider = new ComponentStackItemProvider(this); + } + + return componentStackItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link rossystem.QualityAttribute} instances. + * + * + * @generated + */ + protected QualityAttributeItemProvider qualityAttributeItemProvider; + + /** + * This creates an adapter for a {@link rossystem.QualityAttribute}. + * + * + * @generated + */ + @Override + public Adapter createQualityAttributeAdapter() { + if (qualityAttributeItemProvider == null) { + qualityAttributeItemProvider = new QualityAttributeItemProvider(this); + } + + return qualityAttributeItemProvider; + } + /** * This keeps track of the one adapter used for all {@link rossystem.TopicConnection} instances. * @@ -263,6 +309,8 @@ public void fireNotifyChanged(Notification notification) { */ public void dispose() { if (rosSystemItemProvider != null) rosSystemItemProvider.dispose(); + if (componentStackItemProvider != null) componentStackItemProvider.dispose(); + if (qualityAttributeItemProvider != null) qualityAttributeItemProvider.dispose(); if (topicConnectionItemProvider != null) topicConnectionItemProvider.dispose(); if (serviceConnectionItemProvider != null) serviceConnectionItemProvider.dispose(); if (actionConnectionItemProvider != null) actionConnectionItemProvider.dispose(); diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/RosSystemParser.java b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/RosSystemParser.java index 46a1a2276..65edd59a5 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/RosSystemParser.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/RosSystemParser.java @@ -51,12 +51,25 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getRosSystemAccess().getGroup_9(), "rule__RosSystem__Group_9__0"); builder.put(grammarAccess.getRosSystemAccess().getGroup_9_2(), "rule__RosSystem__Group_9_2__0"); builder.put(grammarAccess.getRosSystemAccess().getGroup_9_2_1(), "rule__RosSystem__Group_9_2_1__0"); + builder.put(grammarAccess.getRosSystemAccess().getGroup_10(), "rule__RosSystem__Group_10__0"); + builder.put(grammarAccess.getRosSystemAccess().getGroup_10_2(), "rule__RosSystem__Group_10_2__0"); + builder.put(grammarAccess.getRosSystemAccess().getGroup_10_2_1(), "rule__RosSystem__Group_10_2_1__0"); builder.put(grammarAccess.getTopicConnectionAccess().getGroup(), "rule__TopicConnection__Group__0"); builder.put(grammarAccess.getTopicConnectionAccess().getGroup_6(), "rule__TopicConnection__Group_6__0"); builder.put(grammarAccess.getTopicConnectionAccess().getGroup_11(), "rule__TopicConnection__Group_11__0"); builder.put(grammarAccess.getServiceConnectionAccess().getGroup(), "rule__ServiceConnection__Group__0"); builder.put(grammarAccess.getServiceConnectionAccess().getGroup_6(), "rule__ServiceConnection__Group_6__0"); builder.put(grammarAccess.getActionConnectionAccess().getGroup(), "rule__ActionConnection__Group__0"); + builder.put(grammarAccess.getComponentStackAccess().getGroup(), "rule__ComponentStack__Group__0"); + builder.put(grammarAccess.getComponentStackAccess().getGroup_4(), "rule__ComponentStack__Group_4__0"); + builder.put(grammarAccess.getComponentStackAccess().getGroup_4_2(), "rule__ComponentStack__Group_4_2__0"); + builder.put(grammarAccess.getComponentStackAccess().getGroup_4_2_1(), "rule__ComponentStack__Group_4_2_1__0"); + builder.put(grammarAccess.getComponentStackAccess().getGroup_5(), "rule__ComponentStack__Group_5__0"); + builder.put(grammarAccess.getComponentStackAccess().getGroup_5_2(), "rule__ComponentStack__Group_5_2__0"); + builder.put(grammarAccess.getComponentStackAccess().getGroup_5_2_1(), "rule__ComponentStack__Group_5_2_1__0"); + builder.put(grammarAccess.getQualityAttributeAccess().getGroup(), "rule__QualityAttribute__Group__0"); + builder.put(grammarAccess.getQualityAttributeAccess().getGroup_2(), "rule__QualityAttribute__Group_2__0"); + builder.put(grammarAccess.getQualityAttributeAccess().getGroup_3(), "rule__QualityAttribute__Group_3__0"); builder.put(grammarAccess.getComponentInterfaceAccess().getGroup(), "rule__ComponentInterface__Group__0"); builder.put(grammarAccess.getComponentInterfaceAccess().getGroup_4(), "rule__ComponentInterface__Group_4__0"); builder.put(grammarAccess.getComponentInterfaceAccess().getGroup_5(), "rule__ComponentInterface__Group_5__0"); @@ -134,14 +147,16 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getRosSystemAccess().getNameAssignment_4(), "rule__RosSystem__NameAssignment_4"); builder.put(grammarAccess.getRosSystemAccess().getRosComponentAssignment_5_2_0(), "rule__RosSystem__RosComponentAssignment_5_2_0"); builder.put(grammarAccess.getRosSystemAccess().getRosComponentAssignment_5_2_1_1(), "rule__RosSystem__RosComponentAssignment_5_2_1_1"); - builder.put(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_0(), "rule__RosSystem__TopicConnectionsAssignment_6_2_0"); - builder.put(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_1_1(), "rule__RosSystem__TopicConnectionsAssignment_6_2_1_1"); - builder.put(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_0(), "rule__RosSystem__ServiceConnectionsAssignment_7_2_0"); - builder.put(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_1_1(), "rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1"); - builder.put(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_0(), "rule__RosSystem__ActionConnectionsAssignment_8_2_0"); - builder.put(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_1_1(), "rule__RosSystem__ActionConnectionsAssignment_8_2_1_1"); - builder.put(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_0(), "rule__RosSystem__ParameterAssignment_9_2_0"); - builder.put(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_1_1(), "rule__RosSystem__ParameterAssignment_9_2_1_1"); + builder.put(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_0(), "rule__RosSystem__ComponentStackAssignment_6_2_0"); + builder.put(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_1_1(), "rule__RosSystem__ComponentStackAssignment_6_2_1_1"); + builder.put(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_0(), "rule__RosSystem__TopicConnectionsAssignment_7_2_0"); + builder.put(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_1_1(), "rule__RosSystem__TopicConnectionsAssignment_7_2_1_1"); + builder.put(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_0(), "rule__RosSystem__ServiceConnectionsAssignment_8_2_0"); + builder.put(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_1_1(), "rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1"); + builder.put(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_0(), "rule__RosSystem__ActionConnectionsAssignment_9_2_0"); + builder.put(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_1_1(), "rule__RosSystem__ActionConnectionsAssignment_9_2_1_1"); + builder.put(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_0(), "rule__RosSystem__ParameterAssignment_10_2_0"); + builder.put(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_1_1(), "rule__RosSystem__ParameterAssignment_10_2_1_1"); builder.put(grammarAccess.getTopicConnectionAccess().getTopicNameAssignment_1(), "rule__TopicConnection__TopicNameAssignment_1"); builder.put(grammarAccess.getTopicConnectionAccess().getFromAssignment_5(), "rule__TopicConnection__FromAssignment_5"); builder.put(grammarAccess.getTopicConnectionAccess().getFromAssignment_6_1(), "rule__TopicConnection__FromAssignment_6_1"); @@ -154,6 +169,14 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1(), "rule__ActionConnection__ActionNameAssignment_1"); builder.put(grammarAccess.getActionConnectionAccess().getFromAssignment_4(), "rule__ActionConnection__FromAssignment_4"); builder.put(grammarAccess.getActionConnectionAccess().getToAssignment_6(), "rule__ActionConnection__ToAssignment_6"); + builder.put(grammarAccess.getComponentStackAccess().getNameAssignment_3(), "rule__ComponentStack__NameAssignment_3"); + builder.put(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_0(), "rule__ComponentStack__RosComponentAssignment_4_2_0"); + builder.put(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_1_1(), "rule__ComponentStack__RosComponentAssignment_4_2_1_1"); + builder.put(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_0(), "rule__ComponentStack__QualityAttributeAssignment_5_2_0"); + builder.put(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_1_1(), "rule__ComponentStack__QualityAttributeAssignment_5_2_1_1"); + builder.put(grammarAccess.getQualityAttributeAccess().getNameAssignment_1(), "rule__QualityAttribute__NameAssignment_1"); + builder.put(grammarAccess.getQualityAttributeAccess().getTypeAssignment_2_1(), "rule__QualityAttribute__TypeAssignment_2_1"); + builder.put(grammarAccess.getQualityAttributeAccess().getValueAssignment_3_1(), "rule__QualityAttribute__ValueAssignment_3_1"); builder.put(grammarAccess.getComponentInterfaceAccess().getNameAssignment_3(), "rule__ComponentInterface__NameAssignment_3"); builder.put(grammarAccess.getComponentInterfaceAccess().getNameSpaceAssignment_4_1(), "rule__ComponentInterface__NameSpaceAssignment_4_1"); builder.put(grammarAccess.getComponentInterfaceAccess().getFromRosNodeAssignment_5_1(), "rule__ComponentInterface__FromRosNodeAssignment_5_1"); diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.g b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.g index 9b67581bb..ead8c851e 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.g +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.g @@ -174,6 +174,56 @@ finally { restoreStackSize(stackSize); } +// Entry rule entryRuleComponentStack +entryRuleComponentStack +: +{ before(grammarAccess.getComponentStackRule()); } + ruleComponentStack +{ after(grammarAccess.getComponentStackRule()); } + EOF +; + +// Rule ComponentStack +ruleComponentStack + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getComponentStackAccess().getGroup()); } + (rule__ComponentStack__Group__0) + { after(grammarAccess.getComponentStackAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualityAttribute +entryRuleQualityAttribute +: +{ before(grammarAccess.getQualityAttributeRule()); } + ruleQualityAttribute +{ after(grammarAccess.getQualityAttributeRule()); } + EOF +; + +// Rule QualityAttribute +ruleQualityAttribute + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualityAttributeAccess().getGroup()); } + (rule__QualityAttribute__Group__0) + { after(grammarAccess.getQualityAttributeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + // Entry rule entryRuleComponentInterface entryRuleComponentInterface : @@ -1606,6 +1656,7 @@ rule__RosSystem__Group__10 } : rule__RosSystem__Group__10__Impl + rule__RosSystem__Group__11 ; finally { restoreStackSize(stackSize); @@ -1617,9 +1668,35 @@ rule__RosSystem__Group__10__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10()); } + { before(grammarAccess.getRosSystemAccess().getGroup_10()); } + (rule__RosSystem__Group_10__0)? + { after(grammarAccess.getRosSystemAccess().getGroup_10()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group__11 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group__11__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group__11__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_11()); } '}' - { after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10()); } + { after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_11()); } ) ; finally { @@ -1861,9 +1938,9 @@ rule__RosSystem__Group_6__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_6_0()); } - 'TopicConnections' - { after(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_6_0()); } + { before(grammarAccess.getRosSystemAccess().getRosComponentStacksKeyword_6_0()); } + 'RosComponentStacks' + { after(grammarAccess.getRosSystemAccess().getRosComponentStacksKeyword_6_0()); } ) ; finally { @@ -1888,9 +1965,9 @@ rule__RosSystem__Group_6__1__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_6_1()); } - '{' - { after(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_6_1()); } + { before(grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_6_1()); } + '(' + { after(grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_6_1()); } ) ; finally { @@ -1941,9 +2018,9 @@ rule__RosSystem__Group_6__3__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_6_3()); } - '}' - { after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_6_3()); } + { before(grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_6_3()); } + ')' + { after(grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_6_3()); } ) ; finally { @@ -1969,9 +2046,9 @@ rule__RosSystem__Group_6_2__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_0()); } - (rule__RosSystem__TopicConnectionsAssignment_6_2_0) - { after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_0()); } + { before(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_0()); } + (rule__RosSystem__ComponentStackAssignment_6_2_0) + { after(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_0()); } ) ; finally { @@ -2049,9 +2126,9 @@ rule__RosSystem__Group_6_2_1__1__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_1_1()); } - (rule__RosSystem__TopicConnectionsAssignment_6_2_1_1) - { after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_1_1()); } + { before(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_1_1()); } + (rule__RosSystem__ComponentStackAssignment_6_2_1_1) + { after(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_1_1()); } ) ; finally { @@ -2077,9 +2154,9 @@ rule__RosSystem__Group_7__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_7_0()); } - 'ServiceConnections' - { after(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_7_0()); } + { before(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_7_0()); } + 'TopicConnections' + { after(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_7_0()); } ) ; finally { @@ -2185,9 +2262,9 @@ rule__RosSystem__Group_7_2__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_0()); } - (rule__RosSystem__ServiceConnectionsAssignment_7_2_0) - { after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_0()); } + { before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_0()); } + (rule__RosSystem__TopicConnectionsAssignment_7_2_0) + { after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_0()); } ) ; finally { @@ -2265,9 +2342,9 @@ rule__RosSystem__Group_7_2_1__1__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_1_1()); } - (rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1) - { after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_1_1()); } + { before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_1_1()); } + (rule__RosSystem__TopicConnectionsAssignment_7_2_1_1) + { after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_1_1()); } ) ; finally { @@ -2293,9 +2370,9 @@ rule__RosSystem__Group_8__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_8_0()); } - 'ActionConnections' - { after(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_8_0()); } + { before(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_8_0()); } + 'ServiceConnections' + { after(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_8_0()); } ) ; finally { @@ -2401,9 +2478,9 @@ rule__RosSystem__Group_8_2__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_0()); } - (rule__RosSystem__ActionConnectionsAssignment_8_2_0) - { after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_0()); } + { before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_0()); } + (rule__RosSystem__ServiceConnectionsAssignment_8_2_0) + { after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_0()); } ) ; finally { @@ -2481,9 +2558,9 @@ rule__RosSystem__Group_8_2_1__1__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_1_1()); } - (rule__RosSystem__ActionConnectionsAssignment_8_2_1_1) - { after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_1_1()); } + { before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_1_1()); } + (rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1) + { after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_1_1()); } ) ; finally { @@ -2509,9 +2586,9 @@ rule__RosSystem__Group_9__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getParametersKeyword_9_0()); } - 'Parameters' - { after(grammarAccess.getRosSystemAccess().getParametersKeyword_9_0()); } + { before(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_9_0()); } + 'ActionConnections' + { after(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_9_0()); } ) ; finally { @@ -2617,9 +2694,9 @@ rule__RosSystem__Group_9_2__0__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_0()); } - (rule__RosSystem__ParameterAssignment_9_2_0) - { after(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_0()); } + { before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_0()); } + (rule__RosSystem__ActionConnectionsAssignment_9_2_0) + { after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_0()); } ) ; finally { @@ -2697,9 +2774,225 @@ rule__RosSystem__Group_9_2_1__1__Impl } : ( - { before(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_1_1()); } - (rule__RosSystem__ParameterAssignment_9_2_1_1) - { after(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_1_1()); } + { before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_1_1()); } + (rule__RosSystem__ActionConnectionsAssignment_9_2_1_1) + { after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RosSystem__Group_10__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10__0__Impl + rule__RosSystem__Group_10__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getParametersKeyword_10_0()); } + 'Parameters' + { after(grammarAccess.getRosSystemAccess().getParametersKeyword_10_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10__1__Impl + rule__RosSystem__Group_10__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_10_1()); } + '{' + { after(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_10_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10__2__Impl + rule__RosSystem__Group_10__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getGroup_10_2()); } + (rule__RosSystem__Group_10_2__0)? + { after(grammarAccess.getRosSystemAccess().getGroup_10_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10_3()); } + '}' + { after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RosSystem__Group_10_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10_2__0__Impl + rule__RosSystem__Group_10_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_0()); } + (rule__RosSystem__ParameterAssignment_10_2_0) + { after(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getGroup_10_2_1()); } + (rule__RosSystem__Group_10_2_1__0)* + { after(grammarAccess.getRosSystemAccess().getGroup_10_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RosSystem__Group_10_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10_2_1__0__Impl + rule__RosSystem__Group_10_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getCommaKeyword_10_2_1_0()); } + ',' + { after(grammarAccess.getRosSystemAccess().getCommaKeyword_10_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RosSystem__Group_10_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__Group_10_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_1_1()); } + (rule__RosSystem__ParameterAssignment_10_2_1_1) + { after(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_1_1()); } ) ; finally { @@ -3247,242 +3540,1079 @@ finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__2 +rule__ServiceConnection__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__2__Impl + rule__ServiceConnection__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__3__Impl + rule__ServiceConnection__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); } + 'From' + { after(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__4__Impl + rule__ServiceConnection__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); } + '(' + { after(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__5__Impl + rule__ServiceConnection__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); } + (rule__ServiceConnection__FromAssignment_5) + { after(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__6__Impl + rule__ServiceConnection__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getGroup_6()); } + (rule__ServiceConnection__Group_6__0)* + { after(grammarAccess.getServiceConnectionAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__7__Impl + rule__ServiceConnection__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); } + ')' + { after(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__8__Impl + rule__ServiceConnection__Group__9 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); } + 'To' + { after(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__9 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__9__Impl + rule__ServiceConnection__Group__10 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__9__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); } + (rule__ServiceConnection__ToAssignment_9) + { after(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__10 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group__10__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group__10__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); } + '}' + { after(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ServiceConnection__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group_6__0__Impl + rule__ServiceConnection__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); } + ',' + { after(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ServiceConnection__Group_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ServiceConnection__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); } + (rule__ServiceConnection__FromAssignment_6_1) + { after(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ActionConnection__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__0__Impl + rule__ActionConnection__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); } + 'ActionConnection' + { after(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__1__Impl + rule__ActionConnection__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); } + (rule__ActionConnection__ActionNameAssignment_1) + { after(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__2__Impl + rule__ActionConnection__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__3__Impl + rule__ActionConnection__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); } + 'From' + { after(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__4__Impl + rule__ActionConnection__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); } + (rule__ActionConnection__FromAssignment_4) + { after(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__5__Impl + rule__ActionConnection__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getToKeyword_5()); } + 'To' + { after(grammarAccess.getActionConnectionAccess().getToKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__6__Impl + rule__ActionConnection__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getToAssignment_6()); } + (rule__ActionConnection__ToAssignment_6) + { after(grammarAccess.getActionConnectionAccess().getToAssignment_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__ActionConnection__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ActionConnection__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); } + '}' + { after(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentStack__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group__0__Impl + rule__ComponentStack__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getComponentStackKeyword_0()); } + 'ComponentStack' + { after(grammarAccess.getComponentStackAccess().getComponentStackKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group__1__Impl + rule__ComponentStack__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getLeftCurlyBracketKeyword_1()); } + '{' + { after(grammarAccess.getComponentStackAccess().getLeftCurlyBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group__2__Impl + rule__ComponentStack__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getNameKeyword_2()); } + 'name' + { after(grammarAccess.getComponentStackAccess().getNameKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group__3__Impl + rule__ComponentStack__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getNameAssignment_3()); } + (rule__ComponentStack__NameAssignment_3) + { after(grammarAccess.getComponentStackAccess().getNameAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group__4__Impl + rule__ComponentStack__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getGroup_4()); } + (rule__ComponentStack__Group_4__0)? + { after(grammarAccess.getComponentStackAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group__5__Impl + rule__ComponentStack__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getGroup_5()); } + (rule__ComponentStack__Group_5__0)? + { after(grammarAccess.getComponentStackAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getRightCurlyBracketKeyword_6()); } + '}' + { after(grammarAccess.getComponentStackAccess().getRightCurlyBracketKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentStack__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group_4__0__Impl + rule__ComponentStack__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getRosComponentsKeyword_4_0()); } + 'RosComponents' + { after(grammarAccess.getComponentStackAccess().getRosComponentsKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group_4__1__Impl + rule__ComponentStack__Group_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_4_1()); } + '(' + { after(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group_4__2__Impl + rule__ComponentStack__Group_4__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getGroup_4_2()); } + (rule__ComponentStack__Group_4_2__0)? + { after(grammarAccess.getComponentStackAccess().getGroup_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group_4__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_4_3()); } + ')' + { after(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_4_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentStack__Group_4_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentStack__Group_4_2__0__Impl + rule__ComponentStack__Group_4_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_0()); } + (rule__ComponentStack__RosComponentAssignment_4_2_0) + { after(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__Group_4_2__1 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__2__Impl - rule__ServiceConnection__Group__3 + rule__ComponentStack__Group_4_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__2__Impl +rule__ComponentStack__Group_4_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); } - '{' - { after(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); } + { before(grammarAccess.getComponentStackAccess().getGroup_4_2_1()); } + (rule__ComponentStack__Group_4_2_1__0)* + { after(grammarAccess.getComponentStackAccess().getGroup_4_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__3 + +rule__ComponentStack__Group_4_2_1__0 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__3__Impl - rule__ServiceConnection__Group__4 + rule__ComponentStack__Group_4_2_1__0__Impl + rule__ComponentStack__Group_4_2_1__1 ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__3__Impl +rule__ComponentStack__Group_4_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); } - 'From' - { after(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); } + { before(grammarAccess.getComponentStackAccess().getCommaKeyword_4_2_1_0()); } + ',' + { after(grammarAccess.getComponentStackAccess().getCommaKeyword_4_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__4 +rule__ComponentStack__Group_4_2_1__1 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__4__Impl - rule__ServiceConnection__Group__5 + rule__ComponentStack__Group_4_2_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__4__Impl +rule__ComponentStack__Group_4_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); } - '(' - { after(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); } + { before(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_1_1()); } + (rule__ComponentStack__RosComponentAssignment_4_2_1_1) + { after(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_1_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__5 + +rule__ComponentStack__Group_5__0 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__5__Impl - rule__ServiceConnection__Group__6 + rule__ComponentStack__Group_5__0__Impl + rule__ComponentStack__Group_5__1 ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__5__Impl +rule__ComponentStack__Group_5__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); } - (rule__ServiceConnection__FromAssignment_5) - { after(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); } + { before(grammarAccess.getComponentStackAccess().getQualityAttributesKeyword_5_0()); } + 'QualityAttributes' + { after(grammarAccess.getComponentStackAccess().getQualityAttributesKeyword_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__6 +rule__ComponentStack__Group_5__1 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__6__Impl - rule__ServiceConnection__Group__7 + rule__ComponentStack__Group_5__1__Impl + rule__ComponentStack__Group_5__2 ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__6__Impl +rule__ComponentStack__Group_5__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getGroup_6()); } - (rule__ServiceConnection__Group_6__0)* - { after(grammarAccess.getServiceConnectionAccess().getGroup_6()); } + { before(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_5_1()); } + '(' + { after(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_5_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__7 +rule__ComponentStack__Group_5__2 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__7__Impl - rule__ServiceConnection__Group__8 + rule__ComponentStack__Group_5__2__Impl + rule__ComponentStack__Group_5__3 ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__7__Impl +rule__ComponentStack__Group_5__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); } - ')' - { after(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); } + { before(grammarAccess.getComponentStackAccess().getGroup_5_2()); } + (rule__ComponentStack__Group_5_2__0)? + { after(grammarAccess.getComponentStackAccess().getGroup_5_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__8 +rule__ComponentStack__Group_5__3 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__8__Impl - rule__ServiceConnection__Group__9 + rule__ComponentStack__Group_5__3__Impl ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__8__Impl +rule__ComponentStack__Group_5__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); } - 'To' - { after(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); } + { before(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_5_3()); } + ')' + { after(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_5_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__9 + +rule__ComponentStack__Group_5_2__0 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__9__Impl - rule__ServiceConnection__Group__10 + rule__ComponentStack__Group_5_2__0__Impl + rule__ComponentStack__Group_5_2__1 ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__9__Impl +rule__ComponentStack__Group_5_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); } - (rule__ServiceConnection__ToAssignment_9) - { after(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); } + { before(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_0()); } + (rule__ComponentStack__QualityAttributeAssignment_5_2_0) + { after(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__10 +rule__ComponentStack__Group_5_2__1 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group__10__Impl + rule__ComponentStack__Group_5_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group__10__Impl +rule__ComponentStack__Group_5_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); } - '}' - { after(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); } + { before(grammarAccess.getComponentStackAccess().getGroup_5_2_1()); } + (rule__ComponentStack__Group_5_2_1__0)* + { after(grammarAccess.getComponentStackAccess().getGroup_5_2_1()); } ) ; finally { @@ -3490,53 +4620,53 @@ finally { } -rule__ServiceConnection__Group_6__0 +rule__ComponentStack__Group_5_2_1__0 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group_6__0__Impl - rule__ServiceConnection__Group_6__1 + rule__ComponentStack__Group_5_2_1__0__Impl + rule__ComponentStack__Group_5_2_1__1 ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group_6__0__Impl +rule__ComponentStack__Group_5_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); } + { before(grammarAccess.getComponentStackAccess().getCommaKeyword_5_2_1_0()); } ',' - { after(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); } + { after(grammarAccess.getComponentStackAccess().getCommaKeyword_5_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group_6__1 +rule__ComponentStack__Group_5_2_1__1 @init { int stackSize = keepStackSize(); } : - rule__ServiceConnection__Group_6__1__Impl + rule__ComponentStack__Group_5_2_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ServiceConnection__Group_6__1__Impl +rule__ComponentStack__Group_5_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); } - (rule__ServiceConnection__FromAssignment_6_1) - { after(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); } + { before(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_1_1()); } + (rule__ComponentStack__QualityAttributeAssignment_5_2_1_1) + { after(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_1_1()); } ) ; finally { @@ -3544,215 +4674,215 @@ finally { } -rule__ActionConnection__Group__0 +rule__QualityAttribute__Group__0 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__0__Impl - rule__ActionConnection__Group__1 + rule__QualityAttribute__Group__0__Impl + rule__QualityAttribute__Group__1 ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__0__Impl +rule__QualityAttribute__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); } - 'ActionConnection' - { after(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); } + { before(grammarAccess.getQualityAttributeAccess().getQualityAttributeKeyword_0()); } + 'QualityAttribute' + { after(grammarAccess.getQualityAttributeAccess().getQualityAttributeKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__1 +rule__QualityAttribute__Group__1 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__1__Impl - rule__ActionConnection__Group__2 + rule__QualityAttribute__Group__1__Impl + rule__QualityAttribute__Group__2 ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__1__Impl +rule__QualityAttribute__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); } - (rule__ActionConnection__ActionNameAssignment_1) - { after(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); } + { before(grammarAccess.getQualityAttributeAccess().getNameAssignment_1()); } + (rule__QualityAttribute__NameAssignment_1) + { after(grammarAccess.getQualityAttributeAccess().getNameAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__2 +rule__QualityAttribute__Group__2 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__2__Impl - rule__ActionConnection__Group__3 + rule__QualityAttribute__Group__2__Impl + rule__QualityAttribute__Group__3 ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__2__Impl +rule__QualityAttribute__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); } - '{' - { after(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); } + { before(grammarAccess.getQualityAttributeAccess().getGroup_2()); } + (rule__QualityAttribute__Group_2__0)? + { after(grammarAccess.getQualityAttributeAccess().getGroup_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__3 +rule__QualityAttribute__Group__3 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__3__Impl - rule__ActionConnection__Group__4 + rule__QualityAttribute__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__3__Impl +rule__QualityAttribute__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); } - 'From' - { after(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); } + { before(grammarAccess.getQualityAttributeAccess().getGroup_3()); } + (rule__QualityAttribute__Group_3__0)? + { after(grammarAccess.getQualityAttributeAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__4 + +rule__QualityAttribute__Group_2__0 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__4__Impl - rule__ActionConnection__Group__5 + rule__QualityAttribute__Group_2__0__Impl + rule__QualityAttribute__Group_2__1 ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__4__Impl +rule__QualityAttribute__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); } - (rule__ActionConnection__FromAssignment_4) - { after(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); } + { before(grammarAccess.getQualityAttributeAccess().getTypeKeyword_2_0()); } + 'type' + { after(grammarAccess.getQualityAttributeAccess().getTypeKeyword_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__5 +rule__QualityAttribute__Group_2__1 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__5__Impl - rule__ActionConnection__Group__6 + rule__QualityAttribute__Group_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__5__Impl +rule__QualityAttribute__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getToKeyword_5()); } - 'To' - { after(grammarAccess.getActionConnectionAccess().getToKeyword_5()); } + { before(grammarAccess.getQualityAttributeAccess().getTypeAssignment_2_1()); } + (rule__QualityAttribute__TypeAssignment_2_1) + { after(grammarAccess.getQualityAttributeAccess().getTypeAssignment_2_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__6 + +rule__QualityAttribute__Group_3__0 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__6__Impl - rule__ActionConnection__Group__7 + rule__QualityAttribute__Group_3__0__Impl + rule__QualityAttribute__Group_3__1 ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__6__Impl +rule__QualityAttribute__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getToAssignment_6()); } - (rule__ActionConnection__ToAssignment_6) - { after(grammarAccess.getActionConnectionAccess().getToAssignment_6()); } + { before(grammarAccess.getQualityAttributeAccess().getValueKeyword_3_0()); } + 'value' + { after(grammarAccess.getQualityAttributeAccess().getValueKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__7 +rule__QualityAttribute__Group_3__1 @init { int stackSize = keepStackSize(); } : - rule__ActionConnection__Group__7__Impl + rule__QualityAttribute__Group_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__ActionConnection__Group__7__Impl +rule__QualityAttribute__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); } - '}' - { after(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); } + { before(grammarAccess.getQualityAttributeAccess().getValueAssignment_3_1()); } + (rule__QualityAttribute__ValueAssignment_3_1) + { after(grammarAccess.getQualityAttributeAccess().getValueAssignment_3_1()); } ) ; finally { @@ -11095,120 +12225,150 @@ finally { restoreStackSize(stackSize); } -rule__RosSystem__TopicConnectionsAssignment_6_2_0 +rule__RosSystem__ComponentStackAssignment_6_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_0_0()); } + ruleComponentStack + { after(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__ComponentStackAssignment_6_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_1_1_0()); } + ruleComponentStack + { after(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RosSystem__TopicConnectionsAssignment_7_2_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0()); } + { before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0()); } ruleTopicConnection - { after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0()); } + { after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 +rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0()); } + { before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0()); } ruleTopicConnection - { after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0()); } + { after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RosSystem__ServiceConnectionsAssignment_7_2_0 +rule__RosSystem__ServiceConnectionsAssignment_8_2_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0()); } + { before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0()); } ruleServiceConnection - { after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0()); } + { after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 +rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0()); } + { before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0()); } ruleServiceConnection - { after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0()); } + { after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RosSystem__ActionConnectionsAssignment_8_2_0 +rule__RosSystem__ActionConnectionsAssignment_9_2_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_0_0()); } + { before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_0_0()); } ruleActionConnection - { after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_0_0()); } + { after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 +rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0()); } + { before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0()); } ruleActionConnection - { after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0()); } + { after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RosSystem__ParameterAssignment_9_2_0 +rule__RosSystem__ParameterAssignment_10_2_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_0_0()); } + { before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_0_0()); } ruleParameter - { after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_0_0()); } + { after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__RosSystem__ParameterAssignment_9_2_1_1 +rule__RosSystem__ParameterAssignment_10_2_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_1_1_0()); } + { before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_1_1_0()); } ruleParameter - { after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_1_1_0()); } + { after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_1_1_0()); } ) ; finally { @@ -11431,6 +12591,126 @@ finally { restoreStackSize(stackSize); } +rule__ComponentStack__NameAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentStackAccess().getNameEStringParserRuleCall_3_0()); } + ruleEString + { after(grammarAccess.getComponentStackAccess().getNameEStringParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__RosComponentAssignment_4_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_0_0()); } + ruleComponentInterface + { after(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__RosComponentAssignment_4_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0()); } + ruleComponentInterface + { after(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__QualityAttributeAssignment_5_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_0_0()); } + ruleQualityAttribute + { after(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0()); } + ruleQualityAttribute + { after(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualityAttribute__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQualityAttributeAccess().getNameEStringParserRuleCall_1_0()); } + ruleEString + { after(grammarAccess.getQualityAttributeAccess().getNameEStringParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualityAttribute__TypeAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQualityAttributeAccess().getTypeParameterTypeParserRuleCall_2_1_0()); } + ruleParameterType + { after(grammarAccess.getQualityAttributeAccess().getTypeParameterTypeParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualityAttribute__ValueAssignment_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQualityAttributeAccess().getValueParameterValueParserRuleCall_3_1_0()); } + ruleParameterValue + { after(grammarAccess.getQualityAttributeAccess().getValueParameterValueParserRuleCall_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + rule__ComponentInterface__NameAssignment_3 @init { int stackSize = keepStackSize(); diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.tokens b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.tokens index 931619bf3..a146e0b00 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.tokens +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystem.tokens @@ -1,60 +1,64 @@ '('=28 ')'=29 ','=30 -'ActionConnection'=39 -'ActionConnections'=33 -'Array'=75 -'Base64'=74 -'Boolean'=73 -'ComponentInterface'=40 -'Double'=72 -'From'=36 -'FromRosNode'=43 -'GlobalNamespace'=77 +'ActionConnection'=40 +'ActionConnections'=34 +'Array'=79 +'Base64'=78 +'Boolean'=77 +'ComponentInterface'=47 +'ComponentStack'=41 +'Double'=76 +'From'=37 +'FromRosNode'=49 +'GlobalNamespace'=81 'GraphName'=22 -'Integer'=69 -'List'=67 +'Integer'=73 +'List'=71 'Name'=25 -'NameSpace'=42 -'Parameter'=65 -'ParameterAny'=76 -'Parameters'=34 -'PrivateNamespace'=80 -'RefClient'=59 -'RefParameter'=63 -'RefPublisher'=52 -'RefServer'=57 -'RefSubscriber'=55 -'RelativeNamespace'=79 -'RosActionClient'=61 -'RosActionClients'=49 -'RosActionServer'=60 -'RosActionServers'=48 +'NameSpace'=48 +'Parameter'=70 +'ParameterAny'=80 +'Parameters'=35 +'PrivateNamespace'=84 +'QualityAttribute'=44 +'QualityAttributes'=43 +'RefClient'=65 +'RefParameter'=69 +'RefPublisher'=58 +'RefServer'=63 +'RefSubscriber'=61 +'RelativeNamespace'=83 +'RosActionClient'=67 +'RosActionClients'=55 +'RosActionServer'=66 +'RosActionServers'=54 +'RosComponentStacks'=31 'RosComponents'=27 -'RosParameter'=62 -'RosParameters'=50 -'RosPublisher'=51 -'RosPublishers'=44 -'RosServiceClient'=58 -'RosServiceServer'=56 -'RosSrvClients'=47 -'RosSrvServers'=46 -'RosSubscriber'=54 -'RosSubscribers'=45 +'RosParameter'=68 +'RosParameters'=56 +'RosPublisher'=57 +'RosPublishers'=50 +'RosServiceClient'=64 +'RosServiceServer'=62 +'RosSrvClients'=53 +'RosSrvServers'=52 +'RosSubscriber'=60 +'RosSubscribers'=51 'RosSystem'=23 -'ServiceConnection'=38 -'ServiceConnections'=32 -'String'=71 -'Struct'=68 -'To'=37 -'TopicConnection'=35 -'TopicConnections'=31 -'default'=70 -'name'=41 -'ns'=53 -'parts'=78 -'type'=66 -'value'=64 +'ServiceConnection'=39 +'ServiceConnections'=33 +'String'=75 +'Struct'=72 +'To'=38 +'TopicConnection'=36 +'TopicConnections'=32 +'default'=74 +'name'=42 +'ns'=59 +'parts'=82 +'type'=45 +'value'=46 '{'=24 '}'=26 RULE_ANY_OTHER=21 @@ -134,3 +138,7 @@ T__77=77 T__78=78 T__79=79 T__80=80 +T__81=81 +T__82=82 +T__83=83 +T__84=84 diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemLexer.java b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemLexer.java index 68dc89596..73eb4e06f 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemLexer.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemLexer.java @@ -75,6 +75,9 @@ public class InternalRosSystemLexer extends Lexer { public static final int T__32=32; public static final int T__76=76; public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; public static final int RULE_HOUR=15; public static final int RULE_WS=20; public static final int RULE_ANY_OTHER=21; @@ -87,6 +90,7 @@ public class InternalRosSystemLexer extends Lexer { public static final int RULE_BINARY=4; public static final int T__47=47; public static final int T__40=40; + public static final int T__84=84; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; @@ -293,10 +297,10 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:20:7: ( 'TopicConnections' ) - // InternalRosSystem.g:20:9: 'TopicConnections' + // InternalRosSystem.g:20:7: ( 'RosComponentStacks' ) + // InternalRosSystem.g:20:9: 'RosComponentStacks' { - match("TopicConnections"); + match("RosComponentStacks"); } @@ -314,10 +318,10 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:21:7: ( 'ServiceConnections' ) - // InternalRosSystem.g:21:9: 'ServiceConnections' + // InternalRosSystem.g:21:7: ( 'TopicConnections' ) + // InternalRosSystem.g:21:9: 'TopicConnections' { - match("ServiceConnections"); + match("TopicConnections"); } @@ -335,10 +339,10 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:22:7: ( 'ActionConnections' ) - // InternalRosSystem.g:22:9: 'ActionConnections' + // InternalRosSystem.g:22:7: ( 'ServiceConnections' ) + // InternalRosSystem.g:22:9: 'ServiceConnections' { - match("ActionConnections"); + match("ServiceConnections"); } @@ -356,10 +360,10 @@ public final void mT__34() throws RecognitionException { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:23:7: ( 'Parameters' ) - // InternalRosSystem.g:23:9: 'Parameters' + // InternalRosSystem.g:23:7: ( 'ActionConnections' ) + // InternalRosSystem.g:23:9: 'ActionConnections' { - match("Parameters"); + match("ActionConnections"); } @@ -377,10 +381,10 @@ public final void mT__35() throws RecognitionException { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:24:7: ( 'TopicConnection' ) - // InternalRosSystem.g:24:9: 'TopicConnection' + // InternalRosSystem.g:24:7: ( 'Parameters' ) + // InternalRosSystem.g:24:9: 'Parameters' { - match("TopicConnection"); + match("Parameters"); } @@ -398,10 +402,10 @@ public final void mT__36() throws RecognitionException { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:25:7: ( 'From' ) - // InternalRosSystem.g:25:9: 'From' + // InternalRosSystem.g:25:7: ( 'TopicConnection' ) + // InternalRosSystem.g:25:9: 'TopicConnection' { - match("From"); + match("TopicConnection"); } @@ -419,10 +423,10 @@ public final void mT__37() throws RecognitionException { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:26:7: ( 'To' ) - // InternalRosSystem.g:26:9: 'To' + // InternalRosSystem.g:26:7: ( 'From' ) + // InternalRosSystem.g:26:9: 'From' { - match("To"); + match("From"); } @@ -440,10 +444,10 @@ public final void mT__38() throws RecognitionException { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:27:7: ( 'ServiceConnection' ) - // InternalRosSystem.g:27:9: 'ServiceConnection' + // InternalRosSystem.g:27:7: ( 'To' ) + // InternalRosSystem.g:27:9: 'To' { - match("ServiceConnection"); + match("To"); } @@ -461,10 +465,10 @@ public final void mT__39() throws RecognitionException { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:28:7: ( 'ActionConnection' ) - // InternalRosSystem.g:28:9: 'ActionConnection' + // InternalRosSystem.g:28:7: ( 'ServiceConnection' ) + // InternalRosSystem.g:28:9: 'ServiceConnection' { - match("ActionConnection"); + match("ServiceConnection"); } @@ -482,10 +486,10 @@ public final void mT__40() throws RecognitionException { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:29:7: ( 'ComponentInterface' ) - // InternalRosSystem.g:29:9: 'ComponentInterface' + // InternalRosSystem.g:29:7: ( 'ActionConnection' ) + // InternalRosSystem.g:29:9: 'ActionConnection' { - match("ComponentInterface"); + match("ActionConnection"); } @@ -503,10 +507,10 @@ public final void mT__41() throws RecognitionException { try { int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:30:7: ( 'name' ) - // InternalRosSystem.g:30:9: 'name' + // InternalRosSystem.g:30:7: ( 'ComponentStack' ) + // InternalRosSystem.g:30:9: 'ComponentStack' { - match("name"); + match("ComponentStack"); } @@ -524,10 +528,10 @@ public final void mT__42() throws RecognitionException { try { int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:31:7: ( 'NameSpace' ) - // InternalRosSystem.g:31:9: 'NameSpace' + // InternalRosSystem.g:31:7: ( 'name' ) + // InternalRosSystem.g:31:9: 'name' { - match("NameSpace"); + match("name"); } @@ -545,10 +549,10 @@ public final void mT__43() throws RecognitionException { try { int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:32:7: ( 'FromRosNode' ) - // InternalRosSystem.g:32:9: 'FromRosNode' + // InternalRosSystem.g:32:7: ( 'QualityAttributes' ) + // InternalRosSystem.g:32:9: 'QualityAttributes' { - match("FromRosNode"); + match("QualityAttributes"); } @@ -566,10 +570,10 @@ public final void mT__44() throws RecognitionException { try { int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:33:7: ( 'RosPublishers' ) - // InternalRosSystem.g:33:9: 'RosPublishers' + // InternalRosSystem.g:33:7: ( 'QualityAttribute' ) + // InternalRosSystem.g:33:9: 'QualityAttribute' { - match("RosPublishers"); + match("QualityAttribute"); } @@ -587,10 +591,10 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:34:7: ( 'RosSubscribers' ) - // InternalRosSystem.g:34:9: 'RosSubscribers' + // InternalRosSystem.g:34:7: ( 'type' ) + // InternalRosSystem.g:34:9: 'type' { - match("RosSubscribers"); + match("type"); } @@ -608,10 +612,10 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:35:7: ( 'RosSrvServers' ) - // InternalRosSystem.g:35:9: 'RosSrvServers' + // InternalRosSystem.g:35:7: ( 'value' ) + // InternalRosSystem.g:35:9: 'value' { - match("RosSrvServers"); + match("value"); } @@ -629,10 +633,10 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:36:7: ( 'RosSrvClients' ) - // InternalRosSystem.g:36:9: 'RosSrvClients' + // InternalRosSystem.g:36:7: ( 'ComponentInterface' ) + // InternalRosSystem.g:36:9: 'ComponentInterface' { - match("RosSrvClients"); + match("ComponentInterface"); } @@ -650,10 +654,10 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:37:7: ( 'RosActionServers' ) - // InternalRosSystem.g:37:9: 'RosActionServers' + // InternalRosSystem.g:37:7: ( 'NameSpace' ) + // InternalRosSystem.g:37:9: 'NameSpace' { - match("RosActionServers"); + match("NameSpace"); } @@ -671,10 +675,10 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:38:7: ( 'RosActionClients' ) - // InternalRosSystem.g:38:9: 'RosActionClients' + // InternalRosSystem.g:38:7: ( 'FromRosNode' ) + // InternalRosSystem.g:38:9: 'FromRosNode' { - match("RosActionClients"); + match("FromRosNode"); } @@ -692,10 +696,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:39:7: ( 'RosParameters' ) - // InternalRosSystem.g:39:9: 'RosParameters' + // InternalRosSystem.g:39:7: ( 'RosPublishers' ) + // InternalRosSystem.g:39:9: 'RosPublishers' { - match("RosParameters"); + match("RosPublishers"); } @@ -713,10 +717,10 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:40:7: ( 'RosPublisher' ) - // InternalRosSystem.g:40:9: 'RosPublisher' + // InternalRosSystem.g:40:7: ( 'RosSubscribers' ) + // InternalRosSystem.g:40:9: 'RosSubscribers' { - match("RosPublisher"); + match("RosSubscribers"); } @@ -734,10 +738,10 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:41:7: ( 'RefPublisher' ) - // InternalRosSystem.g:41:9: 'RefPublisher' + // InternalRosSystem.g:41:7: ( 'RosSrvServers' ) + // InternalRosSystem.g:41:9: 'RosSrvServers' { - match("RefPublisher"); + match("RosSrvServers"); } @@ -755,10 +759,10 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:42:7: ( 'ns' ) - // InternalRosSystem.g:42:9: 'ns' + // InternalRosSystem.g:42:7: ( 'RosSrvClients' ) + // InternalRosSystem.g:42:9: 'RosSrvClients' { - match("ns"); + match("RosSrvClients"); } @@ -776,10 +780,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:43:7: ( 'RosSubscriber' ) - // InternalRosSystem.g:43:9: 'RosSubscriber' + // InternalRosSystem.g:43:7: ( 'RosActionServers' ) + // InternalRosSystem.g:43:9: 'RosActionServers' { - match("RosSubscriber"); + match("RosActionServers"); } @@ -797,10 +801,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:44:7: ( 'RefSubscriber' ) - // InternalRosSystem.g:44:9: 'RefSubscriber' + // InternalRosSystem.g:44:7: ( 'RosActionClients' ) + // InternalRosSystem.g:44:9: 'RosActionClients' { - match("RefSubscriber"); + match("RosActionClients"); } @@ -818,10 +822,10 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:45:7: ( 'RosServiceServer' ) - // InternalRosSystem.g:45:9: 'RosServiceServer' + // InternalRosSystem.g:45:7: ( 'RosParameters' ) + // InternalRosSystem.g:45:9: 'RosParameters' { - match("RosServiceServer"); + match("RosParameters"); } @@ -839,10 +843,10 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:46:7: ( 'RefServer' ) - // InternalRosSystem.g:46:9: 'RefServer' + // InternalRosSystem.g:46:7: ( 'RosPublisher' ) + // InternalRosSystem.g:46:9: 'RosPublisher' { - match("RefServer"); + match("RosPublisher"); } @@ -860,10 +864,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:47:7: ( 'RosServiceClient' ) - // InternalRosSystem.g:47:9: 'RosServiceClient' + // InternalRosSystem.g:47:7: ( 'RefPublisher' ) + // InternalRosSystem.g:47:9: 'RefPublisher' { - match("RosServiceClient"); + match("RefPublisher"); } @@ -881,10 +885,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:48:7: ( 'RefClient' ) - // InternalRosSystem.g:48:9: 'RefClient' + // InternalRosSystem.g:48:7: ( 'ns' ) + // InternalRosSystem.g:48:9: 'ns' { - match("RefClient"); + match("ns"); } @@ -902,10 +906,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:49:7: ( 'RosActionServer' ) - // InternalRosSystem.g:49:9: 'RosActionServer' + // InternalRosSystem.g:49:7: ( 'RosSubscriber' ) + // InternalRosSystem.g:49:9: 'RosSubscriber' { - match("RosActionServer"); + match("RosSubscriber"); } @@ -923,10 +927,10 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:50:7: ( 'RosActionClient' ) - // InternalRosSystem.g:50:9: 'RosActionClient' + // InternalRosSystem.g:50:7: ( 'RefSubscriber' ) + // InternalRosSystem.g:50:9: 'RefSubscriber' { - match("RosActionClient"); + match("RefSubscriber"); } @@ -944,10 +948,10 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:51:7: ( 'RosParameter' ) - // InternalRosSystem.g:51:9: 'RosParameter' + // InternalRosSystem.g:51:7: ( 'RosServiceServer' ) + // InternalRosSystem.g:51:9: 'RosServiceServer' { - match("RosParameter"); + match("RosServiceServer"); } @@ -965,10 +969,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:52:7: ( 'RefParameter' ) - // InternalRosSystem.g:52:9: 'RefParameter' + // InternalRosSystem.g:52:7: ( 'RefServer' ) + // InternalRosSystem.g:52:9: 'RefServer' { - match("RefParameter"); + match("RefServer"); } @@ -986,10 +990,10 @@ public final void mT__64() throws RecognitionException { try { int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:53:7: ( 'value' ) - // InternalRosSystem.g:53:9: 'value' + // InternalRosSystem.g:53:7: ( 'RosServiceClient' ) + // InternalRosSystem.g:53:9: 'RosServiceClient' { - match("value"); + match("RosServiceClient"); } @@ -1007,10 +1011,10 @@ public final void mT__65() throws RecognitionException { try { int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:54:7: ( 'Parameter' ) - // InternalRosSystem.g:54:9: 'Parameter' + // InternalRosSystem.g:54:7: ( 'RefClient' ) + // InternalRosSystem.g:54:9: 'RefClient' { - match("Parameter"); + match("RefClient"); } @@ -1028,10 +1032,10 @@ public final void mT__66() throws RecognitionException { try { int _type = T__66; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:55:7: ( 'type' ) - // InternalRosSystem.g:55:9: 'type' + // InternalRosSystem.g:55:7: ( 'RosActionServer' ) + // InternalRosSystem.g:55:9: 'RosActionServer' { - match("type"); + match("RosActionServer"); } @@ -1049,10 +1053,10 @@ public final void mT__67() throws RecognitionException { try { int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:56:7: ( 'List' ) - // InternalRosSystem.g:56:9: 'List' + // InternalRosSystem.g:56:7: ( 'RosActionClient' ) + // InternalRosSystem.g:56:9: 'RosActionClient' { - match("List"); + match("RosActionClient"); } @@ -1070,10 +1074,10 @@ public final void mT__68() throws RecognitionException { try { int _type = T__68; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:57:7: ( 'Struct' ) - // InternalRosSystem.g:57:9: 'Struct' + // InternalRosSystem.g:57:7: ( 'RosParameter' ) + // InternalRosSystem.g:57:9: 'RosParameter' { - match("Struct"); + match("RosParameter"); } @@ -1091,10 +1095,10 @@ public final void mT__69() throws RecognitionException { try { int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:58:7: ( 'Integer' ) - // InternalRosSystem.g:58:9: 'Integer' + // InternalRosSystem.g:58:7: ( 'RefParameter' ) + // InternalRosSystem.g:58:9: 'RefParameter' { - match("Integer"); + match("RefParameter"); } @@ -1112,10 +1116,10 @@ public final void mT__70() throws RecognitionException { try { int _type = T__70; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:59:7: ( 'default' ) - // InternalRosSystem.g:59:9: 'default' + // InternalRosSystem.g:59:7: ( 'Parameter' ) + // InternalRosSystem.g:59:9: 'Parameter' { - match("default"); + match("Parameter"); } @@ -1133,10 +1137,10 @@ public final void mT__71() throws RecognitionException { try { int _type = T__71; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:60:7: ( 'String' ) - // InternalRosSystem.g:60:9: 'String' + // InternalRosSystem.g:60:7: ( 'List' ) + // InternalRosSystem.g:60:9: 'List' { - match("String"); + match("List"); } @@ -1154,10 +1158,10 @@ public final void mT__72() throws RecognitionException { try { int _type = T__72; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:61:7: ( 'Double' ) - // InternalRosSystem.g:61:9: 'Double' + // InternalRosSystem.g:61:7: ( 'Struct' ) + // InternalRosSystem.g:61:9: 'Struct' { - match("Double"); + match("Struct"); } @@ -1175,10 +1179,10 @@ public final void mT__73() throws RecognitionException { try { int _type = T__73; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:62:7: ( 'Boolean' ) - // InternalRosSystem.g:62:9: 'Boolean' + // InternalRosSystem.g:62:7: ( 'Integer' ) + // InternalRosSystem.g:62:9: 'Integer' { - match("Boolean"); + match("Integer"); } @@ -1196,10 +1200,10 @@ public final void mT__74() throws RecognitionException { try { int _type = T__74; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:63:7: ( 'Base64' ) - // InternalRosSystem.g:63:9: 'Base64' + // InternalRosSystem.g:63:7: ( 'default' ) + // InternalRosSystem.g:63:9: 'default' { - match("Base64"); + match("default"); } @@ -1217,10 +1221,10 @@ public final void mT__75() throws RecognitionException { try { int _type = T__75; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:64:7: ( 'Array' ) - // InternalRosSystem.g:64:9: 'Array' + // InternalRosSystem.g:64:7: ( 'String' ) + // InternalRosSystem.g:64:9: 'String' { - match("Array"); + match("String"); } @@ -1238,10 +1242,10 @@ public final void mT__76() throws RecognitionException { try { int _type = T__76; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:65:7: ( 'ParameterAny' ) - // InternalRosSystem.g:65:9: 'ParameterAny' + // InternalRosSystem.g:65:7: ( 'Double' ) + // InternalRosSystem.g:65:9: 'Double' { - match("ParameterAny"); + match("Double"); } @@ -1259,10 +1263,10 @@ public final void mT__77() throws RecognitionException { try { int _type = T__77; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:66:7: ( 'GlobalNamespace' ) - // InternalRosSystem.g:66:9: 'GlobalNamespace' + // InternalRosSystem.g:66:7: ( 'Boolean' ) + // InternalRosSystem.g:66:9: 'Boolean' { - match("GlobalNamespace"); + match("Boolean"); } @@ -1280,10 +1284,10 @@ public final void mT__78() throws RecognitionException { try { int _type = T__78; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:67:7: ( 'parts' ) - // InternalRosSystem.g:67:9: 'parts' + // InternalRosSystem.g:67:7: ( 'Base64' ) + // InternalRosSystem.g:67:9: 'Base64' { - match("parts"); + match("Base64"); } @@ -1301,10 +1305,10 @@ public final void mT__79() throws RecognitionException { try { int _type = T__79; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:68:7: ( 'RelativeNamespace' ) - // InternalRosSystem.g:68:9: 'RelativeNamespace' + // InternalRosSystem.g:68:7: ( 'Array' ) + // InternalRosSystem.g:68:9: 'Array' { - match("RelativeNamespace"); + match("Array"); } @@ -1322,10 +1326,10 @@ public final void mT__80() throws RecognitionException { try { int _type = T__80; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:69:7: ( 'PrivateNamespace' ) - // InternalRosSystem.g:69:9: 'PrivateNamespace' + // InternalRosSystem.g:69:7: ( 'ParameterAny' ) + // InternalRosSystem.g:69:9: 'ParameterAny' { - match("PrivateNamespace"); + match("ParameterAny"); } @@ -1338,11 +1342,95 @@ public final void mT__80() throws RecognitionException { } // $ANTLR end "T__80" + // $ANTLR start "T__81" + public final void mT__81() throws RecognitionException { + try { + int _type = T__81; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalRosSystem.g:70:7: ( 'GlobalNamespace' ) + // InternalRosSystem.g:70:9: 'GlobalNamespace' + { + match("GlobalNamespace"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__81" + + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { + try { + int _type = T__82; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalRosSystem.g:71:7: ( 'parts' ) + // InternalRosSystem.g:71:9: 'parts' + { + match("parts"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalRosSystem.g:72:7: ( 'RelativeNamespace' ) + // InternalRosSystem.g:72:9: 'RelativeNamespace' + { + match("RelativeNamespace"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalRosSystem.g:73:7: ( 'PrivateNamespace' ) + // InternalRosSystem.g:73:9: 'PrivateNamespace' + { + match("PrivateNamespace"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + // $ANTLR start "RULE_DIGIT" public final void mRULE_DIGIT() throws RecognitionException { try { - // InternalRosSystem.g:12591:21: ( '0' .. '9' ) - // InternalRosSystem.g:12591:23: '0' .. '9' + // InternalRosSystem.g:13871:21: ( '0' .. '9' ) + // InternalRosSystem.g:13871:23: '0' .. '9' { matchRange('0','9'); @@ -1359,10 +1447,10 @@ public final void mRULE_BINARY() throws RecognitionException { try { int _type = RULE_BINARY; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12593:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) - // InternalRosSystem.g:12593:15: ( '0b' | '0B' ) ( '0' | '1' )+ + // InternalRosSystem.g:13873:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) + // InternalRosSystem.g:13873:15: ( '0b' | '0B' ) ( '0' | '1' )+ { - // InternalRosSystem.g:12593:15: ( '0b' | '0B' ) + // InternalRosSystem.g:13873:15: ( '0b' | '0B' ) int alt1=2; int LA1_0 = input.LA(1); @@ -1390,7 +1478,7 @@ else if ( (LA1_1=='B') ) { } switch (alt1) { case 1 : - // InternalRosSystem.g:12593:16: '0b' + // InternalRosSystem.g:13873:16: '0b' { match("0b"); @@ -1398,7 +1486,7 @@ else if ( (LA1_1=='B') ) { } break; case 2 : - // InternalRosSystem.g:12593:21: '0B' + // InternalRosSystem.g:13873:21: '0B' { match("0B"); @@ -1408,7 +1496,7 @@ else if ( (LA1_1=='B') ) { } - // InternalRosSystem.g:12593:27: ( '0' | '1' )+ + // InternalRosSystem.g:13873:27: ( '0' | '1' )+ int cnt2=0; loop2: do { @@ -1462,10 +1550,10 @@ public final void mRULE_BOOLEAN() throws RecognitionException { try { int _type = RULE_BOOLEAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12595:14: ( ( 'true' | 'false' ) ) - // InternalRosSystem.g:12595:16: ( 'true' | 'false' ) + // InternalRosSystem.g:13875:14: ( ( 'true' | 'false' ) ) + // InternalRosSystem.g:13875:16: ( 'true' | 'false' ) { - // InternalRosSystem.g:12595:16: ( 'true' | 'false' ) + // InternalRosSystem.g:13875:16: ( 'true' | 'false' ) int alt3=2; int LA3_0 = input.LA(1); @@ -1483,7 +1571,7 @@ else if ( (LA3_0=='f') ) { } switch (alt3) { case 1 : - // InternalRosSystem.g:12595:17: 'true' + // InternalRosSystem.g:13875:17: 'true' { match("true"); @@ -1491,7 +1579,7 @@ else if ( (LA3_0=='f') ) { } break; case 2 : - // InternalRosSystem.g:12595:24: 'false' + // InternalRosSystem.g:13875:24: 'false' { match("false"); @@ -1517,19 +1605,19 @@ public final void mRULE_DOUBLE() throws RecognitionException { try { int _type = RULE_DOUBLE; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12597:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) - // InternalRosSystem.g:12597:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRosSystem.g:13877:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) + // InternalRosSystem.g:13877:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) { mRULE_DECINT(); - // InternalRosSystem.g:12597:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRosSystem.g:13877:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) int alt8=2; alt8 = dfa8.predict(input); switch (alt8) { case 1 : - // InternalRosSystem.g:12597:28: '.' ( RULE_DIGIT )* + // InternalRosSystem.g:13877:28: '.' ( RULE_DIGIT )* { match('.'); - // InternalRosSystem.g:12597:32: ( RULE_DIGIT )* + // InternalRosSystem.g:13877:32: ( RULE_DIGIT )* loop4: do { int alt4=2; @@ -1542,7 +1630,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt4) { case 1 : - // InternalRosSystem.g:12597:32: RULE_DIGIT + // InternalRosSystem.g:13877:32: RULE_DIGIT { mRULE_DIGIT(); @@ -1558,9 +1646,9 @@ public final void mRULE_DOUBLE() throws RecognitionException { } break; case 2 : - // InternalRosSystem.g:12597:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT + // InternalRosSystem.g:13877:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT { - // InternalRosSystem.g:12597:44: ( '.' ( RULE_DIGIT )* )? + // InternalRosSystem.g:13877:44: ( '.' ( RULE_DIGIT )* )? int alt6=2; int LA6_0 = input.LA(1); @@ -1569,10 +1657,10 @@ public final void mRULE_DOUBLE() throws RecognitionException { } switch (alt6) { case 1 : - // InternalRosSystem.g:12597:45: '.' ( RULE_DIGIT )* + // InternalRosSystem.g:13877:45: '.' ( RULE_DIGIT )* { match('.'); - // InternalRosSystem.g:12597:49: ( RULE_DIGIT )* + // InternalRosSystem.g:13877:49: ( RULE_DIGIT )* loop5: do { int alt5=2; @@ -1585,7 +1673,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt5) { case 1 : - // InternalRosSystem.g:12597:49: RULE_DIGIT + // InternalRosSystem.g:13877:49: RULE_DIGIT { mRULE_DIGIT(); @@ -1612,7 +1700,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { recover(mse); throw mse;} - // InternalRosSystem.g:12597:73: ( '-' | '+' )? + // InternalRosSystem.g:13877:73: ( '-' | '+' )? int alt7=2; int LA7_0 = input.LA(1); @@ -1671,10 +1759,10 @@ public final void mRULE_DECINT() throws RecognitionException { try { int _type = RULE_DECINT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12599:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) - // InternalRosSystem.g:12599:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRosSystem.g:13879:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) + // InternalRosSystem.g:13879:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) { - // InternalRosSystem.g:12599:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRosSystem.g:13879:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) int alt11=3; switch ( input.LA(1) ) { case '0': @@ -1709,17 +1797,17 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt11) { case 1 : - // InternalRosSystem.g:12599:16: '0' + // InternalRosSystem.g:13879:16: '0' { match('0'); } break; case 2 : - // InternalRosSystem.g:12599:20: '1' .. '9' ( RULE_DIGIT )* + // InternalRosSystem.g:13879:20: '1' .. '9' ( RULE_DIGIT )* { matchRange('1','9'); - // InternalRosSystem.g:12599:29: ( RULE_DIGIT )* + // InternalRosSystem.g:13879:29: ( RULE_DIGIT )* loop9: do { int alt9=2; @@ -1732,7 +1820,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt9) { case 1 : - // InternalRosSystem.g:12599:29: RULE_DIGIT + // InternalRosSystem.g:13879:29: RULE_DIGIT { mRULE_DIGIT(); @@ -1748,11 +1836,11 @@ public final void mRULE_DECINT() throws RecognitionException { } break; case 3 : - // InternalRosSystem.g:12599:41: '-' '0' .. '9' ( RULE_DIGIT )* + // InternalRosSystem.g:13879:41: '-' '0' .. '9' ( RULE_DIGIT )* { match('-'); matchRange('0','9'); - // InternalRosSystem.g:12599:54: ( RULE_DIGIT )* + // InternalRosSystem.g:13879:54: ( RULE_DIGIT )* loop10: do { int alt10=2; @@ -1765,7 +1853,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt10) { case 1 : - // InternalRosSystem.g:12599:54: RULE_DIGIT + // InternalRosSystem.g:13879:54: RULE_DIGIT { mRULE_DIGIT(); @@ -1797,10 +1885,10 @@ public final void mRULE_DECINT() throws RecognitionException { // $ANTLR start "RULE_DAY" public final void mRULE_DAY() throws RecognitionException { try { - // InternalRosSystem.g:12601:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) - // InternalRosSystem.g:12601:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRosSystem.g:13881:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) + // InternalRosSystem.g:13881:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) { - // InternalRosSystem.g:12601:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRosSystem.g:13881:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) int alt12=2; int LA12_0 = input.LA(1); @@ -1824,14 +1912,14 @@ else if ( ((LA12_0>='4' && LA12_0<='9')) ) { } switch (alt12) { case 1 : - // InternalRosSystem.g:12601:22: '1' .. '9' + // InternalRosSystem.g:13881:22: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRosSystem.g:12601:31: '1' .. '3' '0' .. '9' + // InternalRosSystem.g:13881:31: '1' .. '3' '0' .. '9' { matchRange('1','3'); matchRange('0','9'); @@ -1853,10 +1941,10 @@ else if ( ((LA12_0>='4' && LA12_0<='9')) ) { // $ANTLR start "RULE_MONTH" public final void mRULE_MONTH() throws RecognitionException { try { - // InternalRosSystem.g:12603:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) - // InternalRosSystem.g:12603:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRosSystem.g:13883:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) + // InternalRosSystem.g:13883:23: ( '1' .. '9' | '1' '0' .. '2' ) { - // InternalRosSystem.g:12603:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRosSystem.g:13883:23: ( '1' .. '9' | '1' '0' .. '2' ) int alt13=2; int LA13_0 = input.LA(1); @@ -1880,14 +1968,14 @@ else if ( ((LA13_0>='2' && LA13_0<='9')) ) { } switch (alt13) { case 1 : - // InternalRosSystem.g:12603:24: '1' .. '9' + // InternalRosSystem.g:13883:24: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRosSystem.g:12603:33: '1' '0' .. '2' + // InternalRosSystem.g:13883:33: '1' '0' .. '2' { match('1'); matchRange('0','2'); @@ -1909,8 +1997,8 @@ else if ( ((LA13_0>='2' && LA13_0<='9')) ) { // $ANTLR start "RULE_YEAR" public final void mRULE_YEAR() throws RecognitionException { try { - // InternalRosSystem.g:12605:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) - // InternalRosSystem.g:12605:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' + // InternalRosSystem.g:13885:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) + // InternalRosSystem.g:13885:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' { matchRange('0','2'); matchRange('0','9'); @@ -1928,10 +2016,10 @@ public final void mRULE_YEAR() throws RecognitionException { // $ANTLR start "RULE_HOUR" public final void mRULE_HOUR() throws RecognitionException { try { - // InternalRosSystem.g:12607:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) - // InternalRosSystem.g:12607:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRosSystem.g:13887:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) + // InternalRosSystem.g:13887:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) { - // InternalRosSystem.g:12607:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRosSystem.g:13887:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) int alt14=2; int LA14_0 = input.LA(1); @@ -1949,7 +2037,7 @@ else if ( (LA14_0=='2') ) { } switch (alt14) { case 1 : - // InternalRosSystem.g:12607:23: '0' .. '1' '0' .. '9' + // InternalRosSystem.g:13887:23: '0' .. '1' '0' .. '9' { matchRange('0','1'); matchRange('0','9'); @@ -1957,7 +2045,7 @@ else if ( (LA14_0=='2') ) { } break; case 2 : - // InternalRosSystem.g:12607:41: '2' '0' .. '3' + // InternalRosSystem.g:13887:41: '2' '0' .. '3' { match('2'); matchRange('0','3'); @@ -1979,8 +2067,8 @@ else if ( (LA14_0=='2') ) { // $ANTLR start "RULE_MIN_SEC" public final void mRULE_MIN_SEC() throws RecognitionException { try { - // InternalRosSystem.g:12609:23: ( '0' .. '5' '0' .. '9' ) - // InternalRosSystem.g:12609:25: '0' .. '5' '0' .. '9' + // InternalRosSystem.g:13889:23: ( '0' .. '5' '0' .. '9' ) + // InternalRosSystem.g:13889:25: '0' .. '5' '0' .. '9' { matchRange('0','5'); matchRange('0','9'); @@ -1998,8 +2086,8 @@ public final void mRULE_DATE_TIME() throws RecognitionException { try { int _type = RULE_DATE_TIME; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12611:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) - // InternalRosSystem.g:12611:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC + // InternalRosSystem.g:13891:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) + // InternalRosSystem.g:13891:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC { mRULE_YEAR(); match('-'); @@ -2028,10 +2116,10 @@ public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12613:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalRosSystem.g:12613:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRosSystem.g:13893:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalRosSystem.g:13893:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalRosSystem.g:12613:11: ( '^' )? + // InternalRosSystem.g:13893:11: ( '^' )? int alt15=2; int LA15_0 = input.LA(1); @@ -2040,7 +2128,7 @@ public final void mRULE_ID() throws RecognitionException { } switch (alt15) { case 1 : - // InternalRosSystem.g:12613:11: '^' + // InternalRosSystem.g:13893:11: '^' { match('^'); @@ -2058,7 +2146,7 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalRosSystem.g:12613:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRosSystem.g:13893:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop16: do { int alt16=2; @@ -2107,10 +2195,10 @@ public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12615:10: ( ( '0' .. '9' )+ ) - // InternalRosSystem.g:12615:12: ( '0' .. '9' )+ + // InternalRosSystem.g:13895:10: ( ( '0' .. '9' )+ ) + // InternalRosSystem.g:13895:12: ( '0' .. '9' )+ { - // InternalRosSystem.g:12615:12: ( '0' .. '9' )+ + // InternalRosSystem.g:13895:12: ( '0' .. '9' )+ int cnt17=0; loop17: do { @@ -2124,7 +2212,7 @@ public final void mRULE_INT() throws RecognitionException { switch (alt17) { case 1 : - // InternalRosSystem.g:12615:13: '0' .. '9' + // InternalRosSystem.g:13895:13: '0' .. '9' { matchRange('0','9'); @@ -2156,10 +2244,10 @@ public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12617:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalRosSystem.g:12617:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRosSystem.g:13897:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalRosSystem.g:13897:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) { - // InternalRosSystem.g:12617:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRosSystem.g:13897:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) int alt20=2; int LA20_0 = input.LA(1); @@ -2177,10 +2265,10 @@ else if ( (LA20_0=='\'') ) { } switch (alt20) { case 1 : - // InternalRosSystem.g:12617:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalRosSystem.g:13897:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalRosSystem.g:12617:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalRosSystem.g:13897:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop18: do { int alt18=3; @@ -2196,7 +2284,7 @@ else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA1 switch (alt18) { case 1 : - // InternalRosSystem.g:12617:21: '\\\\' . + // InternalRosSystem.g:13897:21: '\\\\' . { match('\\'); matchAny(); @@ -2204,7 +2292,7 @@ else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA1 } break; case 2 : - // InternalRosSystem.g:12617:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalRosSystem.g:13897:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -2229,10 +2317,10 @@ else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA1 } break; case 2 : - // InternalRosSystem.g:12617:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalRosSystem.g:13897:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalRosSystem.g:12617:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalRosSystem.g:13897:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop19: do { int alt19=3; @@ -2248,7 +2336,7 @@ else if ( ((LA19_0>='\u0000' && LA19_0<='&')||(LA19_0>='(' && LA19_0<='[')||(LA1 switch (alt19) { case 1 : - // InternalRosSystem.g:12617:54: '\\\\' . + // InternalRosSystem.g:13897:54: '\\\\' . { match('\\'); matchAny(); @@ -2256,7 +2344,7 @@ else if ( ((LA19_0>='\u0000' && LA19_0<='&')||(LA19_0>='(' && LA19_0<='[')||(LA1 } break; case 2 : - // InternalRosSystem.g:12617:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalRosSystem.g:13897:61: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -2299,12 +2387,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12619:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalRosSystem.g:12619:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalRosSystem.g:13899:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalRosSystem.g:13899:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalRosSystem.g:12619:24: ( options {greedy=false; } : . )* + // InternalRosSystem.g:13899:24: ( options {greedy=false; } : . )* loop21: do { int alt21=2; @@ -2329,7 +2417,7 @@ else if ( ((LA21_0>='\u0000' && LA21_0<=')')||(LA21_0>='+' && LA21_0<='\uFFFF')) switch (alt21) { case 1 : - // InternalRosSystem.g:12619:52: . + // InternalRosSystem.g:13899:52: . { matchAny(); @@ -2359,12 +2447,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12621:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalRosSystem.g:12621:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalRosSystem.g:13901:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalRosSystem.g:13901:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalRosSystem.g:12621:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalRosSystem.g:13901:24: (~ ( ( '\\n' | '\\r' ) ) )* loop22: do { int alt22=2; @@ -2377,7 +2465,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { switch (alt22) { case 1 : - // InternalRosSystem.g:12621:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalRosSystem.g:13901:24: ~ ( ( '\\n' | '\\r' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -2397,7 +2485,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalRosSystem.g:12621:40: ( ( '\\r' )? '\\n' )? + // InternalRosSystem.g:13901:40: ( ( '\\r' )? '\\n' )? int alt24=2; int LA24_0 = input.LA(1); @@ -2406,9 +2494,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt24) { case 1 : - // InternalRosSystem.g:12621:41: ( '\\r' )? '\\n' + // InternalRosSystem.g:13901:41: ( '\\r' )? '\\n' { - // InternalRosSystem.g:12621:41: ( '\\r' )? + // InternalRosSystem.g:13901:41: ( '\\r' )? int alt23=2; int LA23_0 = input.LA(1); @@ -2417,7 +2505,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt23) { case 1 : - // InternalRosSystem.g:12621:41: '\\r' + // InternalRosSystem.g:13901:41: '\\r' { match('\r'); @@ -2449,10 +2537,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12623:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalRosSystem.g:12623:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRosSystem.g:13903:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalRosSystem.g:13903:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalRosSystem.g:12623:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRosSystem.g:13903:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt25=0; loop25: do { @@ -2506,8 +2594,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:12625:16: ( . ) - // InternalRosSystem.g:12625:18: . + // InternalRosSystem.g:13905:16: ( . ) + // InternalRosSystem.g:13905:18: . { matchAny(); @@ -2522,8 +2610,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalRosSystem.g:1:8: ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt26=71; + // InternalRosSystem.g:1:8: ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt26=75; alt26 = dfa26.predict(input); switch (alt26) { case 1 : @@ -2940,84 +3028,112 @@ public void mTokens() throws RecognitionException { } break; case 60 : - // InternalRosSystem.g:1:364: RULE_BINARY + // InternalRosSystem.g:1:364: T__81 { - mRULE_BINARY(); + mT__81(); } break; case 61 : - // InternalRosSystem.g:1:376: RULE_BOOLEAN + // InternalRosSystem.g:1:370: T__82 { - mRULE_BOOLEAN(); + mT__82(); } break; case 62 : - // InternalRosSystem.g:1:389: RULE_DOUBLE + // InternalRosSystem.g:1:376: T__83 { - mRULE_DOUBLE(); + mT__83(); } break; case 63 : - // InternalRosSystem.g:1:401: RULE_DECINT + // InternalRosSystem.g:1:382: T__84 { - mRULE_DECINT(); + mT__84(); } break; case 64 : - // InternalRosSystem.g:1:413: RULE_DATE_TIME + // InternalRosSystem.g:1:388: RULE_BINARY { - mRULE_DATE_TIME(); + mRULE_BINARY(); } break; case 65 : - // InternalRosSystem.g:1:428: RULE_ID + // InternalRosSystem.g:1:400: RULE_BOOLEAN { - mRULE_ID(); + mRULE_BOOLEAN(); } break; case 66 : - // InternalRosSystem.g:1:436: RULE_INT + // InternalRosSystem.g:1:413: RULE_DOUBLE { - mRULE_INT(); + mRULE_DOUBLE(); } break; case 67 : - // InternalRosSystem.g:1:445: RULE_STRING + // InternalRosSystem.g:1:425: RULE_DECINT { - mRULE_STRING(); + mRULE_DECINT(); } break; case 68 : - // InternalRosSystem.g:1:457: RULE_ML_COMMENT + // InternalRosSystem.g:1:437: RULE_DATE_TIME { - mRULE_ML_COMMENT(); + mRULE_DATE_TIME(); } break; case 69 : - // InternalRosSystem.g:1:473: RULE_SL_COMMENT + // InternalRosSystem.g:1:452: RULE_ID { - mRULE_SL_COMMENT(); + mRULE_ID(); } break; case 70 : - // InternalRosSystem.g:1:489: RULE_WS + // InternalRosSystem.g:1:460: RULE_INT { - mRULE_WS(); + mRULE_INT(); } break; case 71 : - // InternalRosSystem.g:1:497: RULE_ANY_OTHER + // InternalRosSystem.g:1:469: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 72 : + // InternalRosSystem.g:1:481: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 73 : + // InternalRosSystem.g:1:497: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 74 : + // InternalRosSystem.g:1:513: RULE_WS + { + mRULE_WS(); + + } + break; + case 75 : + // InternalRosSystem.g:1:521: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -3081,72 +3197,71 @@ public DFA8(BaseRecognizer recognizer) { this.transition = DFA8_transition; } public String getDescription() { - return "12597:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; + return "13877:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; } } static final String DFA26_eotS = - "\1\uffff\2\46\1\uffff\1\46\4\uffff\17\46\1\106\1\46\1\106\1\43\1\106\1\43\1\uffff\3\43\2\uffff\2\46\1\uffff\2\46\1\uffff\1\46\4\uffff\1\127\11\46\1\141\12\46\1\uffff\1\155\2\uffff\1\46\3\106\4\uffff\7\46\1\uffff\11\46\1\uffff\12\46\1\155\1\uffff\1\46\2\106\12\46\1\u00a5\10\46\1\u00af\1\46\1\u00b1\1\46\1\u00b3\1\u00b4\1\u00b5\6\46\1\155\1\46\1\106\21\46\1\uffff\5\46\1\u00d4\3\46\1\uffff\1\46\1\uffff\1\u00d9\3\uffff\5\46\1\u00df\1\uffff\1\u00b4\23\46\1\u00f4\1\u00f5\1\46\1\uffff\4\46\1\uffff\2\46\1\u00fd\1\46\1\u00ff\1\uffff\24\46\2\uffff\5\46\1\u0119\1\u011a\1\uffff\1\u011b\1\uffff\31\46\3\uffff\1\u0135\1\46\1\u0137\13\46\1\u0144\1\u0145\1\46\1\u0147\3\46\1\u014d\3\46\1\uffff\1\46\1\uffff\14\46\2\uffff\1\46\1\uffff\3\46\1\u0163\1\46\1\uffff\25\46\1\uffff\2\46\1\u017c\10\46\1\u0186\1\u0188\2\46\1\u018b\1\u018c\5\46\1\u0192\1\46\1\uffff\2\46\1\u0197\1\u0198\1\u0199\2\46\1\u019c\1\u019d\1\uffff\1\u019e\1\uffff\2\46\2\uffff\1\u01a1\4\46\1\uffff\3\46\1\u01a9\3\uffff\2\46\3\uffff\2\46\1\uffff\6\46\1\u01b4\1\uffff\2\46\1\u01b8\1\u01ba\1\46\1\u01bd\4\46\1\uffff\1\u01c2\1\u01c3\1\u01c4\1\uffff\1\u01c5\1\uffff\1\46\1\u01c7\1\uffff\1\46\1\u01ca\1\u01cb\1\46\4\uffff\1\u01cd\1\uffff\1\u01cf\1\u01d0\2\uffff\1\46\1\uffff\1\u01d2\2\uffff\1\u01d3\2\uffff"; + "\1\uffff\2\47\1\uffff\1\47\4\uffff\20\47\1\110\1\47\1\110\1\44\1\110\1\44\1\uffff\3\44\2\uffff\2\47\1\uffff\2\47\1\uffff\1\47\4\uffff\1\131\11\47\1\143\13\47\1\uffff\1\160\2\uffff\1\47\3\110\4\uffff\7\47\1\uffff\11\47\1\uffff\13\47\1\160\1\uffff\1\47\2\110\12\47\1\u00a9\10\47\1\u00b3\1\47\1\u00b5\1\47\1\u00b7\1\u00b8\1\47\1\u00ba\6\47\1\160\1\47\1\110\21\47\1\uffff\5\47\1\u00d9\3\47\1\uffff\1\47\1\uffff\1\47\2\uffff\1\u00df\1\uffff\5\47\1\u00e5\1\uffff\1\u00b8\23\47\1\u00fa\1\u00fb\1\47\1\uffff\5\47\1\uffff\2\47\1\u0104\1\47\1\u0106\1\uffff\24\47\2\uffff\6\47\1\u0121\1\u0122\1\uffff\1\u0123\1\uffff\32\47\3\uffff\1\u013e\1\47\1\u0140\13\47\1\u014d\1\u014e\1\47\1\u0150\3\47\1\u0156\4\47\1\uffff\1\47\1\uffff\14\47\2\uffff\1\47\1\uffff\3\47\1\u016e\1\47\1\uffff\27\47\1\uffff\2\47\1\u0189\12\47\1\u0196\1\u0198\2\47\1\u019b\1\u019c\5\47\1\u01a2\1\47\1\uffff\4\47\1\u01a9\1\u01aa\1\u01ab\2\47\1\u01ae\1\47\1\u01b0\1\uffff\1\u01b1\1\uffff\2\47\2\uffff\1\u01b4\4\47\1\uffff\5\47\1\u01be\3\uffff\2\47\1\uffff\1\47\2\uffff\2\47\1\uffff\5\47\1\u01c9\2\47\1\u01cc\1\uffff\3\47\1\u01d1\1\u01d3\1\47\1\u01d6\3\47\1\uffff\2\47\1\uffff\1\u01dc\1\u01dd\1\47\1\u01df\1\uffff\1\u01e0\1\uffff\1\47\1\u01e2\1\uffff\1\47\1\u01e5\1\u01e6\1\47\1\u01e9\2\uffff\1\47\2\uffff\1\u01eb\1\uffff\1\u01ed\1\u01ee\2\uffff\1\47\1\u01f0\1\uffff\1\u01f1\1\uffff\1\u01f2\2\uffff\1\u01f3\4\uffff"; static final String DFA26_eofS = - "\u01d4\uffff"; + "\u01f4\uffff"; static final String DFA26_minS = - "\1\0\1\154\1\145\1\uffff\1\141\4\uffff\1\157\1\145\1\143\1\141\1\162\1\157\2\141\1\162\1\151\1\156\1\145\1\157\2\141\1\56\1\141\1\56\1\60\1\56\1\101\1\uffff\2\0\1\52\2\uffff\1\141\1\157\1\uffff\1\163\1\146\1\uffff\1\155\4\uffff\1\60\2\162\1\164\2\162\1\151\1\157\2\155\1\60\1\154\1\160\1\165\1\163\1\164\1\146\1\165\1\157\1\163\1\162\1\uffff\1\60\2\uffff\1\154\3\56\4\uffff\1\160\1\142\1\101\1\103\1\141\1\145\1\151\1\uffff\1\166\2\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\165\2\145\1\164\1\145\1\141\1\142\1\154\1\145\1\164\1\60\1\uffff\1\163\2\56\1\150\1\141\1\145\1\157\1\141\1\143\1\141\1\145\1\154\1\164\1\60\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\60\1\157\1\60\1\145\3\60\1\147\1\165\1\154\1\145\1\66\1\163\1\55\1\145\1\55\1\116\1\154\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\60\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\60\3\uffff\1\145\1\154\1\145\1\141\1\64\1\60\1\uffff\1\60\1\141\1\116\1\164\1\163\1\103\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\60\1\103\1\uffff\1\164\1\145\1\163\1\145\1\uffff\1\162\1\164\1\60\1\156\1\60\1\uffff\1\155\1\141\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\2\60\1\uffff\1\60\1\uffff\1\145\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\1\164\3\uffff\1\60\1\145\1\60\1\151\1\166\3\145\1\150\1\164\1\103\1\150\1\164\1\151\2\60\1\141\1\60\1\145\2\156\1\60\1\155\1\144\1\111\1\uffff\1\163\1\uffff\1\142\1\145\1\156\1\103\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\60\1\156\1\uffff\2\145\1\156\1\160\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\60\1\164\1\141\1\162\2\163\1\162\1\151\1\163\2\60\1\166\1\145\2\60\1\162\1\163\1\151\1\143\1\164\1\60\1\160\1\uffff\1\145\1\143\3\60\1\166\1\145\2\60\1\uffff\1\60\1\uffff\1\145\1\156\2\uffff\1\60\1\160\1\157\1\164\1\151\1\uffff\1\141\1\162\1\145\1\60\3\uffff\1\145\1\156\3\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\146\1\60\1\uffff\1\162\1\164\2\60\1\143\1\60\1\157\1\156\1\145\1\141\1\uffff\3\60\1\uffff\1\60\1\uffff\1\145\1\60\1\uffff\1\156\2\60\1\143\4\uffff\1\60\1\uffff\2\60\2\uffff\1\145\1\uffff\1\60\2\uffff\1\60\2\uffff"; + "\1\0\1\154\1\145\1\uffff\1\141\4\uffff\1\157\1\145\1\143\1\141\1\162\1\157\1\141\1\165\1\162\1\141\1\151\1\156\1\145\1\157\2\141\1\56\1\141\1\56\1\60\1\56\1\101\1\uffff\2\0\1\52\2\uffff\1\141\1\157\1\uffff\1\163\1\146\1\uffff\1\155\4\uffff\1\60\2\162\1\164\2\162\1\151\1\157\2\155\1\60\1\141\1\160\1\165\1\154\1\163\1\164\1\146\1\165\1\157\1\163\1\162\1\uffff\1\60\2\uffff\1\154\3\56\4\uffff\1\160\1\142\1\101\1\103\1\141\1\145\1\151\1\uffff\1\166\2\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\154\2\145\1\165\1\164\1\145\1\141\1\142\1\154\1\145\1\164\1\60\1\uffff\1\163\2\56\1\150\1\141\1\145\1\157\1\141\1\143\1\141\1\145\1\154\1\164\1\60\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\60\1\157\1\60\1\151\2\60\1\145\1\60\1\147\1\165\1\154\1\145\1\66\1\163\1\55\1\145\1\55\1\116\1\154\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\60\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\164\2\uffff\1\60\1\uffff\1\145\1\154\1\145\1\141\1\64\1\60\1\uffff\1\60\1\141\1\116\1\164\1\163\1\103\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\60\1\103\1\uffff\1\164\1\145\1\163\1\145\1\171\1\uffff\1\162\1\164\1\60\1\156\1\60\1\uffff\1\155\1\141\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\1\101\2\60\1\uffff\1\60\1\uffff\1\145\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\2\164\3\uffff\1\60\1\145\1\60\1\151\1\166\3\145\1\150\1\164\1\103\1\150\1\164\1\151\2\60\1\141\1\60\1\145\2\156\1\60\1\155\1\144\1\111\1\164\1\uffff\1\163\1\uffff\1\142\1\145\1\156\1\103\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\60\1\156\1\uffff\2\145\1\164\1\156\1\162\1\160\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\60\1\141\1\164\1\151\1\141\1\162\2\163\1\162\1\151\1\123\2\60\1\166\1\145\2\60\1\162\1\163\1\151\1\143\1\164\1\60\1\160\1\uffff\1\143\1\145\1\142\1\143\3\60\1\166\1\145\1\60\1\164\1\60\1\uffff\1\60\1\uffff\1\145\1\156\2\uffff\1\60\1\160\1\157\1\164\1\151\1\uffff\1\141\1\153\1\162\1\165\1\145\1\60\3\uffff\1\145\1\156\1\uffff\1\141\2\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\60\1\146\1\164\1\60\1\uffff\1\162\1\164\1\143\2\60\1\143\1\60\1\157\1\156\1\145\1\uffff\1\141\1\145\1\uffff\2\60\1\153\1\60\1\uffff\1\60\1\uffff\1\145\1\60\1\uffff\1\156\2\60\1\143\1\60\2\uffff\1\163\2\uffff\1\60\1\uffff\2\60\2\uffff\1\145\1\60\1\uffff\1\60\1\uffff\1\60\2\uffff\1\60\4\uffff"; static final String DFA26_maxS = - "\1\uffff\1\162\1\157\1\uffff\1\141\4\uffff\1\157\1\164\3\162\1\157\1\163\1\141\1\171\1\151\1\156\1\145\2\157\1\141\1\145\1\141\1\145\1\71\1\145\1\172\1\uffff\2\uffff\1\57\2\uffff\1\141\1\157\1\uffff\1\163\1\154\1\uffff\1\155\4\uffff\1\172\2\162\1\164\2\162\1\151\1\157\2\155\1\172\1\154\1\160\1\165\1\163\1\164\1\146\1\165\1\157\1\163\1\162\1\uffff\1\71\2\uffff\1\154\3\145\4\uffff\1\160\1\142\2\123\1\141\1\145\1\151\1\uffff\1\166\1\165\1\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\165\2\145\1\164\1\145\1\141\1\142\1\154\1\145\1\164\1\71\1\uffff\1\163\2\145\1\150\1\141\1\171\1\157\1\165\1\143\2\165\1\154\1\164\1\172\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\172\1\157\1\172\1\145\3\172\1\147\1\165\1\154\1\145\1\66\1\163\1\55\2\145\1\116\1\154\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\172\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\172\3\uffff\1\145\1\154\1\145\1\141\1\64\1\172\1\uffff\1\172\1\141\1\116\1\164\1\163\1\123\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\172\1\103\1\uffff\1\164\1\145\1\163\1\145\1\uffff\1\162\1\164\1\172\1\156\1\172\1\uffff\1\155\1\141\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\2\172\1\uffff\1\172\1\uffff\1\145\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\1\164\3\uffff\1\172\1\145\1\172\1\151\1\166\3\145\1\150\1\164\1\123\1\150\1\164\1\151\2\172\1\141\1\172\1\145\2\156\1\172\1\155\1\144\1\111\1\uffff\1\163\1\uffff\1\142\1\145\1\156\1\123\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\172\1\156\1\uffff\2\145\1\156\1\160\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\172\1\164\1\141\1\162\2\163\1\162\1\151\1\163\2\172\1\166\1\145\2\172\1\162\1\163\1\151\1\143\1\164\1\172\1\160\1\uffff\1\145\1\143\3\172\1\166\1\145\2\172\1\uffff\1\172\1\uffff\1\145\1\156\2\uffff\1\172\1\160\1\157\1\164\1\151\1\uffff\1\141\1\162\1\145\1\172\3\uffff\1\145\1\156\3\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\146\1\172\1\uffff\1\162\1\164\2\172\1\143\1\172\1\157\1\156\1\145\1\141\1\uffff\3\172\1\uffff\1\172\1\uffff\1\145\1\172\1\uffff\1\156\2\172\1\143\4\uffff\1\172\1\uffff\2\172\2\uffff\1\145\1\uffff\1\172\2\uffff\1\172\2\uffff"; + "\1\uffff\1\162\1\157\1\uffff\1\141\4\uffff\1\157\1\164\3\162\1\157\1\163\1\165\1\171\1\141\1\151\1\156\1\145\2\157\1\141\1\145\1\141\1\145\1\71\1\145\1\172\1\uffff\2\uffff\1\57\2\uffff\1\141\1\157\1\uffff\1\163\1\154\1\uffff\1\155\4\uffff\1\172\2\162\1\164\2\162\1\151\1\157\2\155\1\172\1\141\1\160\1\165\1\154\1\163\1\164\1\146\1\165\1\157\1\163\1\162\1\uffff\1\71\2\uffff\1\154\3\145\4\uffff\1\160\1\142\2\123\1\141\1\145\1\151\1\uffff\1\166\1\165\1\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\154\2\145\1\165\1\164\1\145\1\141\1\142\1\154\1\145\1\164\1\71\1\uffff\1\163\2\145\1\150\1\141\1\171\1\157\1\165\1\143\2\165\1\154\1\164\1\172\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\172\1\157\1\172\1\151\2\172\1\145\1\172\1\147\1\165\1\154\1\145\1\66\1\163\1\55\2\145\1\116\1\154\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\172\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\164\2\uffff\1\172\1\uffff\1\145\1\154\1\145\1\141\1\64\1\172\1\uffff\1\172\1\141\1\116\1\164\1\163\1\123\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\172\1\103\1\uffff\1\164\1\145\1\163\1\145\1\171\1\uffff\1\162\1\164\1\172\1\156\1\172\1\uffff\1\155\1\141\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\1\101\2\172\1\uffff\1\172\1\uffff\1\145\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\2\164\3\uffff\1\172\1\145\1\172\1\151\1\166\3\145\1\150\1\164\1\123\1\150\1\164\1\151\2\172\1\141\1\172\1\145\2\156\1\172\1\155\1\144\1\123\1\164\1\uffff\1\163\1\uffff\1\142\1\145\1\156\1\123\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\172\1\156\1\uffff\2\145\1\164\1\156\1\162\1\160\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\172\1\141\1\164\1\151\1\141\1\162\2\163\1\162\1\151\1\163\2\172\1\166\1\145\2\172\1\162\1\163\1\151\1\143\1\164\1\172\1\160\1\uffff\1\143\1\145\1\142\1\143\3\172\1\166\1\145\1\172\1\164\1\172\1\uffff\1\172\1\uffff\1\145\1\156\2\uffff\1\172\1\160\1\157\1\164\1\151\1\uffff\1\141\1\153\1\162\1\165\1\145\1\172\3\uffff\1\145\1\156\1\uffff\1\141\2\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\172\1\146\1\164\1\172\1\uffff\1\162\1\164\1\143\2\172\1\143\1\172\1\157\1\156\1\145\1\uffff\1\141\1\145\1\uffff\2\172\1\153\1\172\1\uffff\1\172\1\uffff\1\145\1\172\1\uffff\1\156\2\172\1\143\1\172\2\uffff\1\163\2\uffff\1\172\1\uffff\2\172\2\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\172\2\uffff\1\172\4\uffff"; static final String DFA26_acceptS = - "\3\uffff\1\3\1\uffff\1\5\1\7\1\10\1\11\25\uffff\1\101\3\uffff\1\106\1\107\2\uffff\1\101\2\uffff\1\3\1\uffff\1\5\1\7\1\10\1\11\25\uffff\1\74\1\uffff\1\77\1\76\4\uffff\1\103\1\104\1\105\1\106\7\uffff\1\20\11\uffff\1\40\13\uffff\1\102\67\uffff\1\4\11\uffff\1\17\1\uffff\1\24\1\uffff\1\55\1\75\1\56\6\uffff\1\100\27\uffff\1\66\4\uffff\1\53\5\uffff\1\71\24\uffff\1\57\1\62\7\uffff\1\63\1\uffff\1\65\31\uffff\1\60\1\61\1\64\31\uffff\1\1\1\uffff\1\2\14\uffff\1\44\1\46\1\uffff\1\25\5\uffff\1\54\25\uffff\1\15\30\uffff\1\26\11\uffff\1\36\1\uffff\1\51\2\uffff\1\37\1\52\5\uffff\1\67\4\uffff\1\41\1\31\1\32\2\uffff\1\6\1\27\1\35\2\uffff\1\42\7\uffff\1\30\12\uffff\1\70\3\uffff\1\47\1\uffff\1\50\2\uffff\1\16\4\uffff\1\43\1\45\1\33\1\34\1\uffff\1\12\2\uffff\1\22\1\73\1\uffff\1\72\1\uffff\1\21\1\14\1\uffff\1\13\1\23"; + "\3\uffff\1\3\1\uffff\1\5\1\7\1\10\1\11\26\uffff\1\105\3\uffff\1\112\1\113\2\uffff\1\105\2\uffff\1\3\1\uffff\1\5\1\7\1\10\1\11\26\uffff\1\100\1\uffff\1\103\1\102\4\uffff\1\107\1\110\1\111\1\112\7\uffff\1\21\11\uffff\1\46\14\uffff\1\106\70\uffff\1\4\11\uffff\1\20\1\uffff\1\25\1\uffff\1\30\1\101\1\uffff\1\62\6\uffff\1\104\27\uffff\1\72\5\uffff\1\31\5\uffff\1\75\24\uffff\1\63\1\66\10\uffff\1\67\1\uffff\1\71\32\uffff\1\64\1\65\1\70\32\uffff\1\1\1\uffff\1\2\14\uffff\1\52\1\54\1\uffff\1\33\5\uffff\1\61\27\uffff\1\16\32\uffff\1\34\14\uffff\1\44\1\uffff\1\57\2\uffff\1\45\1\60\5\uffff\1\73\6\uffff\1\47\1\37\1\40\2\uffff\1\6\1\uffff\1\35\1\43\2\uffff\1\50\11\uffff\1\36\12\uffff\1\24\2\uffff\1\74\4\uffff\1\55\1\uffff\1\56\2\uffff\1\17\5\uffff\1\51\1\53\1\uffff\1\41\1\42\1\uffff\1\13\2\uffff\1\23\1\77\2\uffff\1\27\1\uffff\1\76\1\uffff\1\22\1\15\1\uffff\1\26\1\12\1\14\1\32"; static final String DFA26_specialS = - "\1\1\36\uffff\1\2\1\0\u01b3\uffff}>"; + "\1\0\37\uffff\1\2\1\1\u01d2\uffff}>"; static final String[] DFA26_transitionS = { - "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\1\6\1\7\2\43\1\10\1\33\1\43\1\41\1\30\2\32\7\34\7\43\1\13\1\26\1\16\1\25\1\36\1\15\1\1\1\36\1\23\2\36\1\22\1\36\1\4\1\36\1\14\1\36\1\2\1\12\1\11\6\36\3\43\1\35\1\36\1\43\3\36\1\24\1\36\1\31\7\36\1\17\1\36\1\27\3\36\1\21\1\36\1\20\4\36\1\3\1\43\1\5\uff82\43", - "\1\45\5\uffff\1\44", - "\1\50\11\uffff\1\47", + "\11\44\2\43\2\44\1\43\22\44\1\43\1\44\1\40\4\44\1\41\1\6\1\7\2\44\1\10\1\34\1\44\1\42\1\31\2\33\7\35\7\44\1\13\1\27\1\16\1\26\1\37\1\15\1\1\1\37\1\24\2\37\1\23\1\37\1\4\1\37\1\14\1\20\1\2\1\12\1\11\6\37\3\44\1\36\1\37\1\44\3\37\1\25\1\37\1\32\7\37\1\17\1\37\1\30\3\37\1\21\1\37\1\22\4\37\1\3\1\44\1\5\uff82\44", + "\1\46\5\uffff\1\45", + "\1\51\11\uffff\1\50", "", - "\1\52", + "\1\53", "", "", "", "", - "\1\57", - "\1\60\16\uffff\1\61", - "\1\62\16\uffff\1\63", - "\1\64\20\uffff\1\65", - "\1\66", + "\1\60", + "\1\61\16\uffff\1\62", + "\1\63\16\uffff\1\64", + "\1\65\20\uffff\1\66", "\1\67", - "\1\70\21\uffff\1\71", - "\1\72", - "\1\74\6\uffff\1\73", - "\1\75", + "\1\70", + "\1\71\21\uffff\1\72", + "\1\73", + "\1\75\6\uffff\1\74", "\1\76", "\1\77", "\1\100", - "\1\102\15\uffff\1\101", - "\1\103", - "\1\107\1\uffff\12\105\10\uffff\1\104\2\uffff\1\107\34\uffff\1\104\2\uffff\1\107", - "\1\110", - "\1\107\1\uffff\12\111\13\uffff\1\107\37\uffff\1\107", - "\12\112", - "\1\107\1\uffff\12\113\13\uffff\1\107\37\uffff\1\107", - "\32\46\4\uffff\1\46\1\uffff\32\46", - "", - "\0\114", - "\0\114", - "\1\115\4\uffff\1\116", + "\1\101", + "\1\102", + "\1\104\15\uffff\1\103", + "\1\105", + "\1\111\1\uffff\12\107\10\uffff\1\106\2\uffff\1\111\34\uffff\1\106\2\uffff\1\111", + "\1\112", + "\1\111\1\uffff\12\113\13\uffff\1\111\37\uffff\1\111", + "\12\114", + "\1\111\1\uffff\12\115\13\uffff\1\111\37\uffff\1\111", + "\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\0\116", + "\0\116", + "\1\117\4\uffff\1\120", "", "", - "\1\120", - "\1\121", - "", "\1\122", - "\1\123\5\uffff\1\124", + "\1\123", + "", + "\1\124", + "\1\125\5\uffff\1\126", "", - "\1\125", + "\1\127", "", "", "", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\17\46\1\126\12\46", - "\1\130", - "\1\131", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\130\12\47", "\1\132", "\1\133", "\1\134", @@ -3154,9 +3269,9 @@ public String getDescription() { "\1\136", "\1\137", "\1\140", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\141", "\1\142", - "\1\143", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\144", "\1\145", "\1\146", @@ -3165,39 +3280,39 @@ public String getDescription() { "\1\151", "\1\152", "\1\153", + "\1\154", + "\1\155", + "\1\156", "", - "\12\154", - "", + "\12\157", "", - "\1\156", - "\1\107\1\uffff\12\157\13\uffff\1\107\37\uffff\1\107", - "\1\107\1\uffff\12\160\13\uffff\1\107\37\uffff\1\107", - "\1\107\1\uffff\12\113\13\uffff\1\107\37\uffff\1\107", "", + "\1\161", + "\1\111\1\uffff\12\162\13\uffff\1\111\37\uffff\1\111", + "\1\111\1\uffff\12\163\13\uffff\1\111\37\uffff\1\111", + "\1\111\1\uffff\12\115\13\uffff\1\111\37\uffff\1\111", "", "", "", - "\1\161", - "\1\162", - "\1\166\1\uffff\1\164\14\uffff\1\165\2\uffff\1\163", - "\1\171\14\uffff\1\167\2\uffff\1\170", - "\1\172", - "\1\173", - "\1\174", "", + "\1\164", + "\1\165", + "\1\171\1\uffff\1\167\14\uffff\1\170\2\uffff\1\166", + "\1\174\14\uffff\1\172\2\uffff\1\173", "\1\175", - "\1\177\13\uffff\1\176", + "\1\176", + "\1\177", + "", "\1\u0080", - "\1\u0081", - "\1\u0082", + "\1\u0082\13\uffff\1\u0081", "\1\u0083", "\1\u0084", "\1\u0085", "\1\u0086", - "", "\1\u0087", "\1\u0088", "\1\u0089", + "", "\1\u008a", "\1\u008b", "\1\u008c", @@ -3205,51 +3320,51 @@ public String getDescription() { "\1\u008e", "\1\u008f", "\1\u0090", - "\12\u0091", - "", + "\1\u0091", "\1\u0092", - "\1\107\1\uffff\12\u0093\13\uffff\1\107\37\uffff\1\107", - "\1\107\1\uffff\12\160\13\uffff\1\107\37\uffff\1\107", + "\1\u0093", "\1\u0094", - "\1\u0095", - "\1\u0099\14\uffff\1\u0098\2\uffff\1\u0097\3\uffff\1\u0096", - "\1\u009a", - "\1\u009c\23\uffff\1\u009b", - "\1\u009d", - "\1\u009f\23\uffff\1\u009e", - "\1\u00a1\17\uffff\1\u00a0", - "\1\u00a2", - "\1\u00a3", - "\12\46\7\uffff\22\46\1\u00a4\7\46\4\uffff\1\46\1\uffff\32\46", + "\12\u0095", + "", + "\1\u0096", + "\1\111\1\uffff\12\u0097\13\uffff\1\111\37\uffff\1\111", + "\1\111\1\uffff\12\163\13\uffff\1\111\37\uffff\1\111", + "\1\u0098", + "\1\u0099", + "\1\u009d\14\uffff\1\u009c\2\uffff\1\u009b\3\uffff\1\u009a", + "\1\u009e", + "\1\u00a0\23\uffff\1\u009f", + "\1\u00a1", + "\1\u00a3\23\uffff\1\u00a2", + "\1\u00a5\17\uffff\1\u00a4", "\1\u00a6", "\1\u00a7", - "\1\u00a8", - "\1\u00a9", + "\12\47\7\uffff\22\47\1\u00a8\7\47\4\uffff\1\47\1\uffff\32\47", "\1\u00aa", "\1\u00ab", "\1\u00ac", "\1\u00ad", - "\12\46\7\uffff\21\46\1\u00ae\10\46\4\uffff\1\46\1\uffff\32\46", + "\1\u00ae", + "\1\u00af", "\1\u00b0", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u00b2", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u00b1", + "\12\47\7\uffff\21\47\1\u00b2\10\47\4\uffff\1\47\1\uffff\32\47", + "\1\u00b4", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00b6", - "\1\u00b7", - "\1\u00b8", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00b9", - "\1\u00ba", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00bb", "\1\u00bc", "\1\u00bd", - "\1\u00bc\1\107\1\uffff\12\113\13\uffff\1\107\37\uffff\1\107", "\1\u00be", "\1\u00bf", "\1\u00c0", "\1\u00c1", "\1\u00c2", + "\1\u00c1\1\111\1\uffff\12\115\13\uffff\1\111\37\uffff\1\111", "\1\u00c3", "\1\u00c4", "\1\u00c5", @@ -3262,42 +3377,42 @@ public String getDescription() { "\1\u00cc", "\1\u00cd", "\1\u00ce", - "", "\1\u00cf", "\1\u00d0", "\1\u00d1", "\1\u00d2", "\1\u00d3", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "", + "\1\u00d4", "\1\u00d5", "\1\u00d6", "\1\u00d7", - "", "\1\u00d8", - "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", - "", - "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00da", "\1\u00db", "\1\u00dc", + "", "\1\u00dd", + "", "\1\u00de", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", "\1\u00e0", "\1\u00e1", "\1\u00e2", "\1\u00e3", - "\1\u00e5\17\uffff\1\u00e4", + "\1\u00e4", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00e6", "\1\u00e7", "\1\u00e8", "\1\u00e9", - "\1\u00ea", - "\1\u00eb", + "\1\u00eb\17\uffff\1\u00ea", "\1\u00ec", "\1\u00ed", "\1\u00ee", @@ -3306,28 +3421,28 @@ public String getDescription() { "\1\u00f1", "\1\u00f2", "\1\u00f3", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u00f4", + "\1\u00f5", "\1\u00f6", - "", "\1\u00f7", "\1\u00f8", "\1\u00f9", - "\1\u00fa", - "", - "\1\u00fb", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00fc", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u00fe", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", + "\1\u00fd", + "\1\u00fe", + "\1\u00ff", "\1\u0100", "\1\u0101", + "", "\1\u0102", "\1\u0103", - "\1\u0104", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u0105", - "\1\u0106", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", "\1\u0107", "\1\u0108", "\1\u0109", @@ -3341,26 +3456,26 @@ public String getDescription() { "\1\u0111", "\1\u0112", "\1\u0113", - "", - "", "\1\u0114", "\1\u0115", "\1\u0116", "\1\u0117", "\1\u0118", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0119", + "\1\u011a", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", + "\1\u011b", "\1\u011c", "\1\u011d", "\1\u011e", "\1\u011f", "\1\u0120", - "\1\u0121", - "\1\u0122", - "\1\u0123", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", "\1\u0124", "\1\u0125", "\1\u0126", @@ -3378,70 +3493,69 @@ public String getDescription() { "\1\u0132", "\1\u0133", "\1\u0134", - "", - "", - "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0135", "\1\u0136", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0137", "\1\u0138", "\1\u0139", "\1\u013a", "\1\u013b", "\1\u013c", "\1\u013d", - "\1\u013e", - "\1\u0140\17\uffff\1\u013f", + "", + "", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u013f", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u0141", "\1\u0142", "\1\u0143", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0144", + "\1\u0145", "\1\u0146", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u0148", - "\1\u0149", + "\1\u0147", + "\1\u0149\17\uffff\1\u0148", "\1\u014a", - "\12\46\7\uffff\1\u014c\31\46\4\uffff\1\46\1\uffff\22\46\1\u014b\7\46", - "\1\u014e", + "\1\u014b", + "\1\u014c", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u014f", - "\1\u0150", - "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u0151", - "", "\1\u0152", "\1\u0153", - "\1\u0154", - "\1\u0156\17\uffff\1\u0155", + "\12\47\7\uffff\1\u0155\31\47\4\uffff\1\47\1\uffff\22\47\1\u0154\7\47", "\1\u0157", "\1\u0158", - "\1\u0159", - "\1\u015a", + "\1\u015a\11\uffff\1\u0159", "\1\u015b", + "", "\1\u015c", + "", "\1\u015d", "\1\u015e", - "", - "", "\1\u015f", - "", - "\1\u0160", - "\1\u0161", + "\1\u0161\17\uffff\1\u0160", "\1\u0162", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0163", "\1\u0164", - "", "\1\u0165", "\1\u0166", "\1\u0167", "\1\u0168", "\1\u0169", + "", + "", "\1\u016a", + "", "\1\u016b", "\1\u016c", "\1\u016d", - "\1\u016e", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u016f", + "", "\1\u0170", "\1\u0171", "\1\u0172", @@ -3452,10 +3566,9 @@ public String getDescription() { "\1\u0177", "\1\u0178", "\1\u0179", - "", "\1\u017a", "\1\u017b", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u017c", "\1\u017d", "\1\u017e", "\1\u017f", @@ -3464,105 +3577,140 @@ public String getDescription() { "\1\u0182", "\1\u0183", "\1\u0184", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0185\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0187\7\46", - "\1\u0189", + "\1\u0185", + "\1\u0186", + "", + "\1\u0187", + "\1\u0188", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u018a", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u018b", + "\1\u018c", "\1\u018d", "\1\u018e", "\1\u018f", "\1\u0190", "\1\u0191", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u0193", - "", - "\1\u0194", - "\1\u0195", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0196\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0192", + "\1\u0194\37\uffff\1\u0193", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u0195\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u0197\7\47", + "\1\u0199", "\1\u019a", - "\1\u019b", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u019d", + "\1\u019e", "\1\u019f", "\1\u01a0", - "", - "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u01a2", + "\1\u01a1", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01a3", + "", "\1\u01a4", "\1\u01a5", - "", "\1\u01a6", "\1\u01a7", - "\1\u01a8", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", - "", - "", - "\1\u01aa", - "\1\u01ab", - "", - "", - "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01a8\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01ac", "\1\u01ad", - "", - "\1\u01ae", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01af", - "\1\u01b0", - "\1\u01b1", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", "\1\u01b2", "\1\u01b3", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01b5", "\1\u01b6", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01b7\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01b9\7\46", + "\1\u01b7", + "\1\u01b8", + "", + "\1\u01b9", + "\1\u01ba", "\1\u01bb", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01bc\7\46", - "\1\u01be", + "\1\u01bc", + "\1\u01bd", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "", + "", "\1\u01bf", "\1\u01c0", + "", "\1\u01c1", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u01c2", + "\1\u01c3", "", + "\1\u01c4", + "\1\u01c5", "\1\u01c6", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", + "\1\u01c7", "\1\u01c8", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01c9\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u01cc", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u01ca", + "\1\u01cb", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\1\u01cd", + "\1\u01ce", + "\1\u01cf", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01d0\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01d2\7\47", + "\1\u01d4", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01d5\7\47", + "\1\u01d7", + "\1\u01d8", + "\1\u01d9", + "", + "\1\u01da", + "\1\u01db", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u01de", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\1\u01e1", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\1\u01e3", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01e4\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u01e7", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01e8\7\47", + "", + "", + "\1\u01ea", "", "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01ec\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01ce\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u01ef", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", - "\1\u01d1", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", "" }; @@ -3597,23 +3745,13 @@ public DFA26(BaseRecognizer recognizer) { this.transition = DFA26_transition; } public String getDescription() { - return "1:1: Tokens : ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + return "1:1: Tokens : ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; int _s = s; switch ( s ) { case 0 : - int LA26_32 = input.LA(1); - - s = -1; - if ( ((LA26_32>='\u0000' && LA26_32<='\uFFFF')) ) {s = 76;} - - else s = 35; - - if ( s>=0 ) return s; - break; - case 1 : int LA26_0 = input.LA(1); s = -1; @@ -3647,55 +3785,67 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA26_0=='n') ) {s = 15;} - else if ( (LA26_0=='v') ) {s = 16;} + else if ( (LA26_0=='Q') ) {s = 16;} else if ( (LA26_0=='t') ) {s = 17;} - else if ( (LA26_0=='L') ) {s = 18;} + else if ( (LA26_0=='v') ) {s = 18;} - else if ( (LA26_0=='I') ) {s = 19;} + else if ( (LA26_0=='L') ) {s = 19;} - else if ( (LA26_0=='d') ) {s = 20;} + else if ( (LA26_0=='I') ) {s = 20;} - else if ( (LA26_0=='D') ) {s = 21;} + else if ( (LA26_0=='d') ) {s = 21;} - else if ( (LA26_0=='B') ) {s = 22;} + else if ( (LA26_0=='D') ) {s = 22;} - else if ( (LA26_0=='p') ) {s = 23;} + else if ( (LA26_0=='B') ) {s = 23;} - else if ( (LA26_0=='0') ) {s = 24;} + else if ( (LA26_0=='p') ) {s = 24;} - else if ( (LA26_0=='f') ) {s = 25;} + else if ( (LA26_0=='0') ) {s = 25;} - else if ( ((LA26_0>='1' && LA26_0<='2')) ) {s = 26;} + else if ( (LA26_0=='f') ) {s = 26;} - else if ( (LA26_0=='-') ) {s = 27;} + else if ( ((LA26_0>='1' && LA26_0<='2')) ) {s = 27;} - else if ( ((LA26_0>='3' && LA26_0<='9')) ) {s = 28;} + else if ( (LA26_0=='-') ) {s = 28;} - else if ( (LA26_0=='^') ) {s = 29;} + else if ( ((LA26_0>='3' && LA26_0<='9')) ) {s = 29;} - else if ( (LA26_0=='E'||LA26_0=='H'||(LA26_0>='J' && LA26_0<='K')||LA26_0=='M'||LA26_0=='O'||LA26_0=='Q'||(LA26_0>='U' && LA26_0<='Z')||LA26_0=='_'||(LA26_0>='a' && LA26_0<='c')||LA26_0=='e'||(LA26_0>='g' && LA26_0<='m')||LA26_0=='o'||(LA26_0>='q' && LA26_0<='s')||LA26_0=='u'||(LA26_0>='w' && LA26_0<='z')) ) {s = 30;} + else if ( (LA26_0=='^') ) {s = 30;} - else if ( (LA26_0=='\"') ) {s = 31;} + else if ( (LA26_0=='E'||LA26_0=='H'||(LA26_0>='J' && LA26_0<='K')||LA26_0=='M'||LA26_0=='O'||(LA26_0>='U' && LA26_0<='Z')||LA26_0=='_'||(LA26_0>='a' && LA26_0<='c')||LA26_0=='e'||(LA26_0>='g' && LA26_0<='m')||LA26_0=='o'||(LA26_0>='q' && LA26_0<='s')||LA26_0=='u'||(LA26_0>='w' && LA26_0<='z')) ) {s = 31;} - else if ( (LA26_0=='\'') ) {s = 32;} + else if ( (LA26_0=='\"') ) {s = 32;} - else if ( (LA26_0=='/') ) {s = 33;} + else if ( (LA26_0=='\'') ) {s = 33;} - else if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0=='\r'||LA26_0==' ') ) {s = 34;} + else if ( (LA26_0=='/') ) {s = 34;} - else if ( ((LA26_0>='\u0000' && LA26_0<='\b')||(LA26_0>='\u000B' && LA26_0<='\f')||(LA26_0>='\u000E' && LA26_0<='\u001F')||LA26_0=='!'||(LA26_0>='#' && LA26_0<='&')||(LA26_0>='*' && LA26_0<='+')||LA26_0=='.'||(LA26_0>=':' && LA26_0<='@')||(LA26_0>='[' && LA26_0<=']')||LA26_0=='`'||LA26_0=='|'||(LA26_0>='~' && LA26_0<='\uFFFF')) ) {s = 35;} + else if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0=='\r'||LA26_0==' ') ) {s = 35;} + + else if ( ((LA26_0>='\u0000' && LA26_0<='\b')||(LA26_0>='\u000B' && LA26_0<='\f')||(LA26_0>='\u000E' && LA26_0<='\u001F')||LA26_0=='!'||(LA26_0>='#' && LA26_0<='&')||(LA26_0>='*' && LA26_0<='+')||LA26_0=='.'||(LA26_0>=':' && LA26_0<='@')||(LA26_0>='[' && LA26_0<=']')||LA26_0=='`'||LA26_0=='|'||(LA26_0>='~' && LA26_0<='\uFFFF')) ) {s = 36;} + + if ( s>=0 ) return s; + break; + case 1 : + int LA26_33 = input.LA(1); + + s = -1; + if ( ((LA26_33>='\u0000' && LA26_33<='\uFFFF')) ) {s = 78;} + + else s = 36; if ( s>=0 ) return s; break; case 2 : - int LA26_31 = input.LA(1); + int LA26_32 = input.LA(1); s = -1; - if ( ((LA26_31>='\u0000' && LA26_31<='\uFFFF')) ) {s = 76;} + if ( ((LA26_32>='\u0000' && LA26_32<='\uFFFF')) ) {s = 78;} - else s = 35; + else s = 36; if ( s>=0 ) return s; break; diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemParser.java b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemParser.java index b01a357a4..14adbbb62 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemParser.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/src-gen/de/fraunhofer/ipa/rossystem/ide/contentassist/antlr/internal/InternalRosSystemParser.java @@ -22,7 +22,7 @@ @SuppressWarnings("all") public class InternalRosSystemParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_STRING", "RULE_ID", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'GraphName'", "'RosSystem'", "'{'", "'Name'", "'}'", "'RosComponents'", "'('", "')'", "','", "'TopicConnections'", "'ServiceConnections'", "'ActionConnections'", "'Parameters'", "'TopicConnection'", "'From'", "'To'", "'ServiceConnection'", "'ActionConnection'", "'ComponentInterface'", "'name'", "'NameSpace'", "'FromRosNode'", "'RosPublishers'", "'RosSubscribers'", "'RosSrvServers'", "'RosSrvClients'", "'RosActionServers'", "'RosActionClients'", "'RosParameters'", "'RosPublisher'", "'RefPublisher'", "'ns'", "'RosSubscriber'", "'RefSubscriber'", "'RosServiceServer'", "'RefServer'", "'RosServiceClient'", "'RefClient'", "'RosActionServer'", "'RosActionClient'", "'RosParameter'", "'RefParameter'", "'value'", "'Parameter'", "'type'", "'List'", "'Struct'", "'Integer'", "'default'", "'String'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'" + "", "", "", "", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_STRING", "RULE_ID", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'GraphName'", "'RosSystem'", "'{'", "'Name'", "'}'", "'RosComponents'", "'('", "')'", "','", "'RosComponentStacks'", "'TopicConnections'", "'ServiceConnections'", "'ActionConnections'", "'Parameters'", "'TopicConnection'", "'From'", "'To'", "'ServiceConnection'", "'ActionConnection'", "'ComponentStack'", "'name'", "'QualityAttributes'", "'QualityAttribute'", "'type'", "'value'", "'ComponentInterface'", "'NameSpace'", "'FromRosNode'", "'RosPublishers'", "'RosSubscribers'", "'RosSrvServers'", "'RosSrvClients'", "'RosActionServers'", "'RosActionClients'", "'RosParameters'", "'RosPublisher'", "'RefPublisher'", "'ns'", "'RosSubscriber'", "'RefSubscriber'", "'RosServiceServer'", "'RefServer'", "'RosServiceClient'", "'RefClient'", "'RosActionServer'", "'RosActionClient'", "'RosParameter'", "'RefParameter'", "'Parameter'", "'List'", "'Struct'", "'Integer'", "'default'", "'String'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'" }; public static final int T__50=50; public static final int RULE_DAY=12; @@ -87,6 +87,9 @@ public class InternalRosSystemParser extends AbstractInternalContentAssistParser public static final int T__32=32; public static final int T__76=76; public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; public static final int RULE_HOUR=15; public static final int RULE_WS=20; public static final int RULE_ANY_OTHER=21; @@ -99,6 +102,7 @@ public class InternalRosSystemParser extends AbstractInternalContentAssistParser public static final int RULE_BINARY=4; public static final int T__47=47; public static final int T__40=40; + public static final int T__84=84; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; @@ -523,12 +527,166 @@ public final void ruleEString() throws RecognitionException { // $ANTLR end "ruleEString" + // $ANTLR start "entryRuleComponentStack" + // InternalRosSystem.g:178:1: entryRuleComponentStack : ruleComponentStack EOF ; + public final void entryRuleComponentStack() throws RecognitionException { + try { + // InternalRosSystem.g:179:1: ( ruleComponentStack EOF ) + // InternalRosSystem.g:180:1: ruleComponentStack EOF + { + before(grammarAccess.getComponentStackRule()); + pushFollow(FOLLOW_1); + ruleComponentStack(); + + state._fsp--; + + after(grammarAccess.getComponentStackRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComponentStack" + + + // $ANTLR start "ruleComponentStack" + // InternalRosSystem.g:187:1: ruleComponentStack : ( ( rule__ComponentStack__Group__0 ) ) ; + public final void ruleComponentStack() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:191:2: ( ( ( rule__ComponentStack__Group__0 ) ) ) + // InternalRosSystem.g:192:2: ( ( rule__ComponentStack__Group__0 ) ) + { + // InternalRosSystem.g:192:2: ( ( rule__ComponentStack__Group__0 ) ) + // InternalRosSystem.g:193:3: ( rule__ComponentStack__Group__0 ) + { + before(grammarAccess.getComponentStackAccess().getGroup()); + // InternalRosSystem.g:194:3: ( rule__ComponentStack__Group__0 ) + // InternalRosSystem.g:194:4: rule__ComponentStack__Group__0 + { + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentStackAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComponentStack" + + + // $ANTLR start "entryRuleQualityAttribute" + // InternalRosSystem.g:203:1: entryRuleQualityAttribute : ruleQualityAttribute EOF ; + public final void entryRuleQualityAttribute() throws RecognitionException { + try { + // InternalRosSystem.g:204:1: ( ruleQualityAttribute EOF ) + // InternalRosSystem.g:205:1: ruleQualityAttribute EOF + { + before(grammarAccess.getQualityAttributeRule()); + pushFollow(FOLLOW_1); + ruleQualityAttribute(); + + state._fsp--; + + after(grammarAccess.getQualityAttributeRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleQualityAttribute" + + + // $ANTLR start "ruleQualityAttribute" + // InternalRosSystem.g:212:1: ruleQualityAttribute : ( ( rule__QualityAttribute__Group__0 ) ) ; + public final void ruleQualityAttribute() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:216:2: ( ( ( rule__QualityAttribute__Group__0 ) ) ) + // InternalRosSystem.g:217:2: ( ( rule__QualityAttribute__Group__0 ) ) + { + // InternalRosSystem.g:217:2: ( ( rule__QualityAttribute__Group__0 ) ) + // InternalRosSystem.g:218:3: ( rule__QualityAttribute__Group__0 ) + { + before(grammarAccess.getQualityAttributeAccess().getGroup()); + // InternalRosSystem.g:219:3: ( rule__QualityAttribute__Group__0 ) + // InternalRosSystem.g:219:4: rule__QualityAttribute__Group__0 + { + pushFollow(FOLLOW_2); + rule__QualityAttribute__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getQualityAttributeAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleQualityAttribute" + + // $ANTLR start "entryRuleComponentInterface" - // InternalRosSystem.g:178:1: entryRuleComponentInterface : ruleComponentInterface EOF ; + // InternalRosSystem.g:228:1: entryRuleComponentInterface : ruleComponentInterface EOF ; public final void entryRuleComponentInterface() throws RecognitionException { try { - // InternalRosSystem.g:179:1: ( ruleComponentInterface EOF ) - // InternalRosSystem.g:180:1: ruleComponentInterface EOF + // InternalRosSystem.g:229:1: ( ruleComponentInterface EOF ) + // InternalRosSystem.g:230:1: ruleComponentInterface EOF { before(grammarAccess.getComponentInterfaceRule()); pushFollow(FOLLOW_1); @@ -554,21 +712,21 @@ public final void entryRuleComponentInterface() throws RecognitionException { // $ANTLR start "ruleComponentInterface" - // InternalRosSystem.g:187:1: ruleComponentInterface : ( ( rule__ComponentInterface__Group__0 ) ) ; + // InternalRosSystem.g:237:1: ruleComponentInterface : ( ( rule__ComponentInterface__Group__0 ) ) ; public final void ruleComponentInterface() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:191:2: ( ( ( rule__ComponentInterface__Group__0 ) ) ) - // InternalRosSystem.g:192:2: ( ( rule__ComponentInterface__Group__0 ) ) + // InternalRosSystem.g:241:2: ( ( ( rule__ComponentInterface__Group__0 ) ) ) + // InternalRosSystem.g:242:2: ( ( rule__ComponentInterface__Group__0 ) ) { - // InternalRosSystem.g:192:2: ( ( rule__ComponentInterface__Group__0 ) ) - // InternalRosSystem.g:193:3: ( rule__ComponentInterface__Group__0 ) + // InternalRosSystem.g:242:2: ( ( rule__ComponentInterface__Group__0 ) ) + // InternalRosSystem.g:243:3: ( rule__ComponentInterface__Group__0 ) { before(grammarAccess.getComponentInterfaceAccess().getGroup()); - // InternalRosSystem.g:194:3: ( rule__ComponentInterface__Group__0 ) - // InternalRosSystem.g:194:4: rule__ComponentInterface__Group__0 + // InternalRosSystem.g:244:3: ( rule__ComponentInterface__Group__0 ) + // InternalRosSystem.g:244:4: rule__ComponentInterface__Group__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group__0(); @@ -601,11 +759,11 @@ public final void ruleComponentInterface() throws RecognitionException { // $ANTLR start "entryRuleRosPublisher" - // InternalRosSystem.g:203:1: entryRuleRosPublisher : ruleRosPublisher EOF ; + // InternalRosSystem.g:253:1: entryRuleRosPublisher : ruleRosPublisher EOF ; public final void entryRuleRosPublisher() throws RecognitionException { try { - // InternalRosSystem.g:204:1: ( ruleRosPublisher EOF ) - // InternalRosSystem.g:205:1: ruleRosPublisher EOF + // InternalRosSystem.g:254:1: ( ruleRosPublisher EOF ) + // InternalRosSystem.g:255:1: ruleRosPublisher EOF { before(grammarAccess.getRosPublisherRule()); pushFollow(FOLLOW_1); @@ -631,21 +789,21 @@ public final void entryRuleRosPublisher() throws RecognitionException { // $ANTLR start "ruleRosPublisher" - // InternalRosSystem.g:212:1: ruleRosPublisher : ( ( rule__RosPublisher__Group__0 ) ) ; + // InternalRosSystem.g:262:1: ruleRosPublisher : ( ( rule__RosPublisher__Group__0 ) ) ; public final void ruleRosPublisher() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:216:2: ( ( ( rule__RosPublisher__Group__0 ) ) ) - // InternalRosSystem.g:217:2: ( ( rule__RosPublisher__Group__0 ) ) + // InternalRosSystem.g:266:2: ( ( ( rule__RosPublisher__Group__0 ) ) ) + // InternalRosSystem.g:267:2: ( ( rule__RosPublisher__Group__0 ) ) { - // InternalRosSystem.g:217:2: ( ( rule__RosPublisher__Group__0 ) ) - // InternalRosSystem.g:218:3: ( rule__RosPublisher__Group__0 ) + // InternalRosSystem.g:267:2: ( ( rule__RosPublisher__Group__0 ) ) + // InternalRosSystem.g:268:3: ( rule__RosPublisher__Group__0 ) { before(grammarAccess.getRosPublisherAccess().getGroup()); - // InternalRosSystem.g:219:3: ( rule__RosPublisher__Group__0 ) - // InternalRosSystem.g:219:4: rule__RosPublisher__Group__0 + // InternalRosSystem.g:269:3: ( rule__RosPublisher__Group__0 ) + // InternalRosSystem.g:269:4: rule__RosPublisher__Group__0 { pushFollow(FOLLOW_2); rule__RosPublisher__Group__0(); @@ -678,11 +836,11 @@ public final void ruleRosPublisher() throws RecognitionException { // $ANTLR start "entryRuleRosSubscriber" - // InternalRosSystem.g:228:1: entryRuleRosSubscriber : ruleRosSubscriber EOF ; + // InternalRosSystem.g:278:1: entryRuleRosSubscriber : ruleRosSubscriber EOF ; public final void entryRuleRosSubscriber() throws RecognitionException { try { - // InternalRosSystem.g:229:1: ( ruleRosSubscriber EOF ) - // InternalRosSystem.g:230:1: ruleRosSubscriber EOF + // InternalRosSystem.g:279:1: ( ruleRosSubscriber EOF ) + // InternalRosSystem.g:280:1: ruleRosSubscriber EOF { before(grammarAccess.getRosSubscriberRule()); pushFollow(FOLLOW_1); @@ -708,21 +866,21 @@ public final void entryRuleRosSubscriber() throws RecognitionException { // $ANTLR start "ruleRosSubscriber" - // InternalRosSystem.g:237:1: ruleRosSubscriber : ( ( rule__RosSubscriber__Group__0 ) ) ; + // InternalRosSystem.g:287:1: ruleRosSubscriber : ( ( rule__RosSubscriber__Group__0 ) ) ; public final void ruleRosSubscriber() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:241:2: ( ( ( rule__RosSubscriber__Group__0 ) ) ) - // InternalRosSystem.g:242:2: ( ( rule__RosSubscriber__Group__0 ) ) + // InternalRosSystem.g:291:2: ( ( ( rule__RosSubscriber__Group__0 ) ) ) + // InternalRosSystem.g:292:2: ( ( rule__RosSubscriber__Group__0 ) ) { - // InternalRosSystem.g:242:2: ( ( rule__RosSubscriber__Group__0 ) ) - // InternalRosSystem.g:243:3: ( rule__RosSubscriber__Group__0 ) + // InternalRosSystem.g:292:2: ( ( rule__RosSubscriber__Group__0 ) ) + // InternalRosSystem.g:293:3: ( rule__RosSubscriber__Group__0 ) { before(grammarAccess.getRosSubscriberAccess().getGroup()); - // InternalRosSystem.g:244:3: ( rule__RosSubscriber__Group__0 ) - // InternalRosSystem.g:244:4: rule__RosSubscriber__Group__0 + // InternalRosSystem.g:294:3: ( rule__RosSubscriber__Group__0 ) + // InternalRosSystem.g:294:4: rule__RosSubscriber__Group__0 { pushFollow(FOLLOW_2); rule__RosSubscriber__Group__0(); @@ -755,11 +913,11 @@ public final void ruleRosSubscriber() throws RecognitionException { // $ANTLR start "entryRuleRosServiceServer" - // InternalRosSystem.g:253:1: entryRuleRosServiceServer : ruleRosServiceServer EOF ; + // InternalRosSystem.g:303:1: entryRuleRosServiceServer : ruleRosServiceServer EOF ; public final void entryRuleRosServiceServer() throws RecognitionException { try { - // InternalRosSystem.g:254:1: ( ruleRosServiceServer EOF ) - // InternalRosSystem.g:255:1: ruleRosServiceServer EOF + // InternalRosSystem.g:304:1: ( ruleRosServiceServer EOF ) + // InternalRosSystem.g:305:1: ruleRosServiceServer EOF { before(grammarAccess.getRosServiceServerRule()); pushFollow(FOLLOW_1); @@ -785,21 +943,21 @@ public final void entryRuleRosServiceServer() throws RecognitionException { // $ANTLR start "ruleRosServiceServer" - // InternalRosSystem.g:262:1: ruleRosServiceServer : ( ( rule__RosServiceServer__Group__0 ) ) ; + // InternalRosSystem.g:312:1: ruleRosServiceServer : ( ( rule__RosServiceServer__Group__0 ) ) ; public final void ruleRosServiceServer() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:266:2: ( ( ( rule__RosServiceServer__Group__0 ) ) ) - // InternalRosSystem.g:267:2: ( ( rule__RosServiceServer__Group__0 ) ) + // InternalRosSystem.g:316:2: ( ( ( rule__RosServiceServer__Group__0 ) ) ) + // InternalRosSystem.g:317:2: ( ( rule__RosServiceServer__Group__0 ) ) { - // InternalRosSystem.g:267:2: ( ( rule__RosServiceServer__Group__0 ) ) - // InternalRosSystem.g:268:3: ( rule__RosServiceServer__Group__0 ) + // InternalRosSystem.g:317:2: ( ( rule__RosServiceServer__Group__0 ) ) + // InternalRosSystem.g:318:3: ( rule__RosServiceServer__Group__0 ) { before(grammarAccess.getRosServiceServerAccess().getGroup()); - // InternalRosSystem.g:269:3: ( rule__RosServiceServer__Group__0 ) - // InternalRosSystem.g:269:4: rule__RosServiceServer__Group__0 + // InternalRosSystem.g:319:3: ( rule__RosServiceServer__Group__0 ) + // InternalRosSystem.g:319:4: rule__RosServiceServer__Group__0 { pushFollow(FOLLOW_2); rule__RosServiceServer__Group__0(); @@ -832,11 +990,11 @@ public final void ruleRosServiceServer() throws RecognitionException { // $ANTLR start "entryRuleRosServiceClient" - // InternalRosSystem.g:278:1: entryRuleRosServiceClient : ruleRosServiceClient EOF ; + // InternalRosSystem.g:328:1: entryRuleRosServiceClient : ruleRosServiceClient EOF ; public final void entryRuleRosServiceClient() throws RecognitionException { try { - // InternalRosSystem.g:279:1: ( ruleRosServiceClient EOF ) - // InternalRosSystem.g:280:1: ruleRosServiceClient EOF + // InternalRosSystem.g:329:1: ( ruleRosServiceClient EOF ) + // InternalRosSystem.g:330:1: ruleRosServiceClient EOF { before(grammarAccess.getRosServiceClientRule()); pushFollow(FOLLOW_1); @@ -862,21 +1020,21 @@ public final void entryRuleRosServiceClient() throws RecognitionException { // $ANTLR start "ruleRosServiceClient" - // InternalRosSystem.g:287:1: ruleRosServiceClient : ( ( rule__RosServiceClient__Group__0 ) ) ; + // InternalRosSystem.g:337:1: ruleRosServiceClient : ( ( rule__RosServiceClient__Group__0 ) ) ; public final void ruleRosServiceClient() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:291:2: ( ( ( rule__RosServiceClient__Group__0 ) ) ) - // InternalRosSystem.g:292:2: ( ( rule__RosServiceClient__Group__0 ) ) + // InternalRosSystem.g:341:2: ( ( ( rule__RosServiceClient__Group__0 ) ) ) + // InternalRosSystem.g:342:2: ( ( rule__RosServiceClient__Group__0 ) ) { - // InternalRosSystem.g:292:2: ( ( rule__RosServiceClient__Group__0 ) ) - // InternalRosSystem.g:293:3: ( rule__RosServiceClient__Group__0 ) + // InternalRosSystem.g:342:2: ( ( rule__RosServiceClient__Group__0 ) ) + // InternalRosSystem.g:343:3: ( rule__RosServiceClient__Group__0 ) { before(grammarAccess.getRosServiceClientAccess().getGroup()); - // InternalRosSystem.g:294:3: ( rule__RosServiceClient__Group__0 ) - // InternalRosSystem.g:294:4: rule__RosServiceClient__Group__0 + // InternalRosSystem.g:344:3: ( rule__RosServiceClient__Group__0 ) + // InternalRosSystem.g:344:4: rule__RosServiceClient__Group__0 { pushFollow(FOLLOW_2); rule__RosServiceClient__Group__0(); @@ -909,11 +1067,11 @@ public final void ruleRosServiceClient() throws RecognitionException { // $ANTLR start "entryRuleRosActionServer" - // InternalRosSystem.g:303:1: entryRuleRosActionServer : ruleRosActionServer EOF ; + // InternalRosSystem.g:353:1: entryRuleRosActionServer : ruleRosActionServer EOF ; public final void entryRuleRosActionServer() throws RecognitionException { try { - // InternalRosSystem.g:304:1: ( ruleRosActionServer EOF ) - // InternalRosSystem.g:305:1: ruleRosActionServer EOF + // InternalRosSystem.g:354:1: ( ruleRosActionServer EOF ) + // InternalRosSystem.g:355:1: ruleRosActionServer EOF { before(grammarAccess.getRosActionServerRule()); pushFollow(FOLLOW_1); @@ -939,21 +1097,21 @@ public final void entryRuleRosActionServer() throws RecognitionException { // $ANTLR start "ruleRosActionServer" - // InternalRosSystem.g:312:1: ruleRosActionServer : ( ( rule__RosActionServer__Group__0 ) ) ; + // InternalRosSystem.g:362:1: ruleRosActionServer : ( ( rule__RosActionServer__Group__0 ) ) ; public final void ruleRosActionServer() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:316:2: ( ( ( rule__RosActionServer__Group__0 ) ) ) - // InternalRosSystem.g:317:2: ( ( rule__RosActionServer__Group__0 ) ) + // InternalRosSystem.g:366:2: ( ( ( rule__RosActionServer__Group__0 ) ) ) + // InternalRosSystem.g:367:2: ( ( rule__RosActionServer__Group__0 ) ) { - // InternalRosSystem.g:317:2: ( ( rule__RosActionServer__Group__0 ) ) - // InternalRosSystem.g:318:3: ( rule__RosActionServer__Group__0 ) + // InternalRosSystem.g:367:2: ( ( rule__RosActionServer__Group__0 ) ) + // InternalRosSystem.g:368:3: ( rule__RosActionServer__Group__0 ) { before(grammarAccess.getRosActionServerAccess().getGroup()); - // InternalRosSystem.g:319:3: ( rule__RosActionServer__Group__0 ) - // InternalRosSystem.g:319:4: rule__RosActionServer__Group__0 + // InternalRosSystem.g:369:3: ( rule__RosActionServer__Group__0 ) + // InternalRosSystem.g:369:4: rule__RosActionServer__Group__0 { pushFollow(FOLLOW_2); rule__RosActionServer__Group__0(); @@ -986,11 +1144,11 @@ public final void ruleRosActionServer() throws RecognitionException { // $ANTLR start "entryRuleRosActionClient" - // InternalRosSystem.g:328:1: entryRuleRosActionClient : ruleRosActionClient EOF ; + // InternalRosSystem.g:378:1: entryRuleRosActionClient : ruleRosActionClient EOF ; public final void entryRuleRosActionClient() throws RecognitionException { try { - // InternalRosSystem.g:329:1: ( ruleRosActionClient EOF ) - // InternalRosSystem.g:330:1: ruleRosActionClient EOF + // InternalRosSystem.g:379:1: ( ruleRosActionClient EOF ) + // InternalRosSystem.g:380:1: ruleRosActionClient EOF { before(grammarAccess.getRosActionClientRule()); pushFollow(FOLLOW_1); @@ -1016,21 +1174,21 @@ public final void entryRuleRosActionClient() throws RecognitionException { // $ANTLR start "ruleRosActionClient" - // InternalRosSystem.g:337:1: ruleRosActionClient : ( ( rule__RosActionClient__Group__0 ) ) ; + // InternalRosSystem.g:387:1: ruleRosActionClient : ( ( rule__RosActionClient__Group__0 ) ) ; public final void ruleRosActionClient() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:341:2: ( ( ( rule__RosActionClient__Group__0 ) ) ) - // InternalRosSystem.g:342:2: ( ( rule__RosActionClient__Group__0 ) ) + // InternalRosSystem.g:391:2: ( ( ( rule__RosActionClient__Group__0 ) ) ) + // InternalRosSystem.g:392:2: ( ( rule__RosActionClient__Group__0 ) ) { - // InternalRosSystem.g:342:2: ( ( rule__RosActionClient__Group__0 ) ) - // InternalRosSystem.g:343:3: ( rule__RosActionClient__Group__0 ) + // InternalRosSystem.g:392:2: ( ( rule__RosActionClient__Group__0 ) ) + // InternalRosSystem.g:393:3: ( rule__RosActionClient__Group__0 ) { before(grammarAccess.getRosActionClientAccess().getGroup()); - // InternalRosSystem.g:344:3: ( rule__RosActionClient__Group__0 ) - // InternalRosSystem.g:344:4: rule__RosActionClient__Group__0 + // InternalRosSystem.g:394:3: ( rule__RosActionClient__Group__0 ) + // InternalRosSystem.g:394:4: rule__RosActionClient__Group__0 { pushFollow(FOLLOW_2); rule__RosActionClient__Group__0(); @@ -1063,11 +1221,11 @@ public final void ruleRosActionClient() throws RecognitionException { // $ANTLR start "entryRuleRosParameter" - // InternalRosSystem.g:353:1: entryRuleRosParameter : ruleRosParameter EOF ; + // InternalRosSystem.g:403:1: entryRuleRosParameter : ruleRosParameter EOF ; public final void entryRuleRosParameter() throws RecognitionException { try { - // InternalRosSystem.g:354:1: ( ruleRosParameter EOF ) - // InternalRosSystem.g:355:1: ruleRosParameter EOF + // InternalRosSystem.g:404:1: ( ruleRosParameter EOF ) + // InternalRosSystem.g:405:1: ruleRosParameter EOF { before(grammarAccess.getRosParameterRule()); pushFollow(FOLLOW_1); @@ -1093,21 +1251,21 @@ public final void entryRuleRosParameter() throws RecognitionException { // $ANTLR start "ruleRosParameter" - // InternalRosSystem.g:362:1: ruleRosParameter : ( ( rule__RosParameter__Group__0 ) ) ; + // InternalRosSystem.g:412:1: ruleRosParameter : ( ( rule__RosParameter__Group__0 ) ) ; public final void ruleRosParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:366:2: ( ( ( rule__RosParameter__Group__0 ) ) ) - // InternalRosSystem.g:367:2: ( ( rule__RosParameter__Group__0 ) ) + // InternalRosSystem.g:416:2: ( ( ( rule__RosParameter__Group__0 ) ) ) + // InternalRosSystem.g:417:2: ( ( rule__RosParameter__Group__0 ) ) { - // InternalRosSystem.g:367:2: ( ( rule__RosParameter__Group__0 ) ) - // InternalRosSystem.g:368:3: ( rule__RosParameter__Group__0 ) + // InternalRosSystem.g:417:2: ( ( rule__RosParameter__Group__0 ) ) + // InternalRosSystem.g:418:3: ( rule__RosParameter__Group__0 ) { before(grammarAccess.getRosParameterAccess().getGroup()); - // InternalRosSystem.g:369:3: ( rule__RosParameter__Group__0 ) - // InternalRosSystem.g:369:4: rule__RosParameter__Group__0 + // InternalRosSystem.g:419:3: ( rule__RosParameter__Group__0 ) + // InternalRosSystem.g:419:4: rule__RosParameter__Group__0 { pushFollow(FOLLOW_2); rule__RosParameter__Group__0(); @@ -1140,11 +1298,11 @@ public final void ruleRosParameter() throws RecognitionException { // $ANTLR start "entryRuleParameter" - // InternalRosSystem.g:378:1: entryRuleParameter : ruleParameter EOF ; + // InternalRosSystem.g:428:1: entryRuleParameter : ruleParameter EOF ; public final void entryRuleParameter() throws RecognitionException { try { - // InternalRosSystem.g:379:1: ( ruleParameter EOF ) - // InternalRosSystem.g:380:1: ruleParameter EOF + // InternalRosSystem.g:429:1: ( ruleParameter EOF ) + // InternalRosSystem.g:430:1: ruleParameter EOF { before(grammarAccess.getParameterRule()); pushFollow(FOLLOW_1); @@ -1170,21 +1328,21 @@ public final void entryRuleParameter() throws RecognitionException { // $ANTLR start "ruleParameter" - // InternalRosSystem.g:387:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ; + // InternalRosSystem.g:437:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ; public final void ruleParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:391:2: ( ( ( rule__Parameter__Group__0 ) ) ) - // InternalRosSystem.g:392:2: ( ( rule__Parameter__Group__0 ) ) + // InternalRosSystem.g:441:2: ( ( ( rule__Parameter__Group__0 ) ) ) + // InternalRosSystem.g:442:2: ( ( rule__Parameter__Group__0 ) ) { - // InternalRosSystem.g:392:2: ( ( rule__Parameter__Group__0 ) ) - // InternalRosSystem.g:393:3: ( rule__Parameter__Group__0 ) + // InternalRosSystem.g:442:2: ( ( rule__Parameter__Group__0 ) ) + // InternalRosSystem.g:443:3: ( rule__Parameter__Group__0 ) { before(grammarAccess.getParameterAccess().getGroup()); - // InternalRosSystem.g:394:3: ( rule__Parameter__Group__0 ) - // InternalRosSystem.g:394:4: rule__Parameter__Group__0 + // InternalRosSystem.g:444:3: ( rule__Parameter__Group__0 ) + // InternalRosSystem.g:444:4: rule__Parameter__Group__0 { pushFollow(FOLLOW_2); rule__Parameter__Group__0(); @@ -1217,11 +1375,11 @@ public final void ruleParameter() throws RecognitionException { // $ANTLR start "entryRuleParameterType" - // InternalRosSystem.g:403:1: entryRuleParameterType : ruleParameterType EOF ; + // InternalRosSystem.g:453:1: entryRuleParameterType : ruleParameterType EOF ; public final void entryRuleParameterType() throws RecognitionException { try { - // InternalRosSystem.g:404:1: ( ruleParameterType EOF ) - // InternalRosSystem.g:405:1: ruleParameterType EOF + // InternalRosSystem.g:454:1: ( ruleParameterType EOF ) + // InternalRosSystem.g:455:1: ruleParameterType EOF { before(grammarAccess.getParameterTypeRule()); pushFollow(FOLLOW_1); @@ -1247,21 +1405,21 @@ public final void entryRuleParameterType() throws RecognitionException { // $ANTLR start "ruleParameterType" - // InternalRosSystem.g:412:1: ruleParameterType : ( ( rule__ParameterType__Alternatives ) ) ; + // InternalRosSystem.g:462:1: ruleParameterType : ( ( rule__ParameterType__Alternatives ) ) ; public final void ruleParameterType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:416:2: ( ( ( rule__ParameterType__Alternatives ) ) ) - // InternalRosSystem.g:417:2: ( ( rule__ParameterType__Alternatives ) ) + // InternalRosSystem.g:466:2: ( ( ( rule__ParameterType__Alternatives ) ) ) + // InternalRosSystem.g:467:2: ( ( rule__ParameterType__Alternatives ) ) { - // InternalRosSystem.g:417:2: ( ( rule__ParameterType__Alternatives ) ) - // InternalRosSystem.g:418:3: ( rule__ParameterType__Alternatives ) + // InternalRosSystem.g:467:2: ( ( rule__ParameterType__Alternatives ) ) + // InternalRosSystem.g:468:3: ( rule__ParameterType__Alternatives ) { before(grammarAccess.getParameterTypeAccess().getAlternatives()); - // InternalRosSystem.g:419:3: ( rule__ParameterType__Alternatives ) - // InternalRosSystem.g:419:4: rule__ParameterType__Alternatives + // InternalRosSystem.g:469:3: ( rule__ParameterType__Alternatives ) + // InternalRosSystem.g:469:4: rule__ParameterType__Alternatives { pushFollow(FOLLOW_2); rule__ParameterType__Alternatives(); @@ -1294,11 +1452,11 @@ public final void ruleParameterType() throws RecognitionException { // $ANTLR start "entryRuleParameterValue" - // InternalRosSystem.g:428:1: entryRuleParameterValue : ruleParameterValue EOF ; + // InternalRosSystem.g:478:1: entryRuleParameterValue : ruleParameterValue EOF ; public final void entryRuleParameterValue() throws RecognitionException { try { - // InternalRosSystem.g:429:1: ( ruleParameterValue EOF ) - // InternalRosSystem.g:430:1: ruleParameterValue EOF + // InternalRosSystem.g:479:1: ( ruleParameterValue EOF ) + // InternalRosSystem.g:480:1: ruleParameterValue EOF { before(grammarAccess.getParameterValueRule()); pushFollow(FOLLOW_1); @@ -1324,21 +1482,21 @@ public final void entryRuleParameterValue() throws RecognitionException { // $ANTLR start "ruleParameterValue" - // InternalRosSystem.g:437:1: ruleParameterValue : ( ( rule__ParameterValue__Alternatives ) ) ; + // InternalRosSystem.g:487:1: ruleParameterValue : ( ( rule__ParameterValue__Alternatives ) ) ; public final void ruleParameterValue() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:441:2: ( ( ( rule__ParameterValue__Alternatives ) ) ) - // InternalRosSystem.g:442:2: ( ( rule__ParameterValue__Alternatives ) ) + // InternalRosSystem.g:491:2: ( ( ( rule__ParameterValue__Alternatives ) ) ) + // InternalRosSystem.g:492:2: ( ( rule__ParameterValue__Alternatives ) ) { - // InternalRosSystem.g:442:2: ( ( rule__ParameterValue__Alternatives ) ) - // InternalRosSystem.g:443:3: ( rule__ParameterValue__Alternatives ) + // InternalRosSystem.g:492:2: ( ( rule__ParameterValue__Alternatives ) ) + // InternalRosSystem.g:493:3: ( rule__ParameterValue__Alternatives ) { before(grammarAccess.getParameterValueAccess().getAlternatives()); - // InternalRosSystem.g:444:3: ( rule__ParameterValue__Alternatives ) - // InternalRosSystem.g:444:4: rule__ParameterValue__Alternatives + // InternalRosSystem.g:494:3: ( rule__ParameterValue__Alternatives ) + // InternalRosSystem.g:494:4: rule__ParameterValue__Alternatives { pushFollow(FOLLOW_2); rule__ParameterValue__Alternatives(); @@ -1371,11 +1529,11 @@ public final void ruleParameterValue() throws RecognitionException { // $ANTLR start "entryRuleParameterListType" - // InternalRosSystem.g:453:1: entryRuleParameterListType : ruleParameterListType EOF ; + // InternalRosSystem.g:503:1: entryRuleParameterListType : ruleParameterListType EOF ; public final void entryRuleParameterListType() throws RecognitionException { try { - // InternalRosSystem.g:454:1: ( ruleParameterListType EOF ) - // InternalRosSystem.g:455:1: ruleParameterListType EOF + // InternalRosSystem.g:504:1: ( ruleParameterListType EOF ) + // InternalRosSystem.g:505:1: ruleParameterListType EOF { before(grammarAccess.getParameterListTypeRule()); pushFollow(FOLLOW_1); @@ -1401,21 +1559,21 @@ public final void entryRuleParameterListType() throws RecognitionException { // $ANTLR start "ruleParameterListType" - // InternalRosSystem.g:462:1: ruleParameterListType : ( ( rule__ParameterListType__Group__0 ) ) ; + // InternalRosSystem.g:512:1: ruleParameterListType : ( ( rule__ParameterListType__Group__0 ) ) ; public final void ruleParameterListType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:466:2: ( ( ( rule__ParameterListType__Group__0 ) ) ) - // InternalRosSystem.g:467:2: ( ( rule__ParameterListType__Group__0 ) ) + // InternalRosSystem.g:516:2: ( ( ( rule__ParameterListType__Group__0 ) ) ) + // InternalRosSystem.g:517:2: ( ( rule__ParameterListType__Group__0 ) ) { - // InternalRosSystem.g:467:2: ( ( rule__ParameterListType__Group__0 ) ) - // InternalRosSystem.g:468:3: ( rule__ParameterListType__Group__0 ) + // InternalRosSystem.g:517:2: ( ( rule__ParameterListType__Group__0 ) ) + // InternalRosSystem.g:518:3: ( rule__ParameterListType__Group__0 ) { before(grammarAccess.getParameterListTypeAccess().getGroup()); - // InternalRosSystem.g:469:3: ( rule__ParameterListType__Group__0 ) - // InternalRosSystem.g:469:4: rule__ParameterListType__Group__0 + // InternalRosSystem.g:519:3: ( rule__ParameterListType__Group__0 ) + // InternalRosSystem.g:519:4: rule__ParameterListType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterListType__Group__0(); @@ -1448,11 +1606,11 @@ public final void ruleParameterListType() throws RecognitionException { // $ANTLR start "entryRuleParameterStructType" - // InternalRosSystem.g:478:1: entryRuleParameterStructType : ruleParameterStructType EOF ; + // InternalRosSystem.g:528:1: entryRuleParameterStructType : ruleParameterStructType EOF ; public final void entryRuleParameterStructType() throws RecognitionException { try { - // InternalRosSystem.g:479:1: ( ruleParameterStructType EOF ) - // InternalRosSystem.g:480:1: ruleParameterStructType EOF + // InternalRosSystem.g:529:1: ( ruleParameterStructType EOF ) + // InternalRosSystem.g:530:1: ruleParameterStructType EOF { before(grammarAccess.getParameterStructTypeRule()); pushFollow(FOLLOW_1); @@ -1478,21 +1636,21 @@ public final void entryRuleParameterStructType() throws RecognitionException { // $ANTLR start "ruleParameterStructType" - // InternalRosSystem.g:487:1: ruleParameterStructType : ( ( rule__ParameterStructType__Group__0 ) ) ; + // InternalRosSystem.g:537:1: ruleParameterStructType : ( ( rule__ParameterStructType__Group__0 ) ) ; public final void ruleParameterStructType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:491:2: ( ( ( rule__ParameterStructType__Group__0 ) ) ) - // InternalRosSystem.g:492:2: ( ( rule__ParameterStructType__Group__0 ) ) + // InternalRosSystem.g:541:2: ( ( ( rule__ParameterStructType__Group__0 ) ) ) + // InternalRosSystem.g:542:2: ( ( rule__ParameterStructType__Group__0 ) ) { - // InternalRosSystem.g:492:2: ( ( rule__ParameterStructType__Group__0 ) ) - // InternalRosSystem.g:493:3: ( rule__ParameterStructType__Group__0 ) + // InternalRosSystem.g:542:2: ( ( rule__ParameterStructType__Group__0 ) ) + // InternalRosSystem.g:543:3: ( rule__ParameterStructType__Group__0 ) { before(grammarAccess.getParameterStructTypeAccess().getGroup()); - // InternalRosSystem.g:494:3: ( rule__ParameterStructType__Group__0 ) - // InternalRosSystem.g:494:4: rule__ParameterStructType__Group__0 + // InternalRosSystem.g:544:3: ( rule__ParameterStructType__Group__0 ) + // InternalRosSystem.g:544:4: rule__ParameterStructType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStructType__Group__0(); @@ -1525,11 +1683,11 @@ public final void ruleParameterStructType() throws RecognitionException { // $ANTLR start "entryRuleParameterIntegerType" - // InternalRosSystem.g:503:1: entryRuleParameterIntegerType : ruleParameterIntegerType EOF ; + // InternalRosSystem.g:553:1: entryRuleParameterIntegerType : ruleParameterIntegerType EOF ; public final void entryRuleParameterIntegerType() throws RecognitionException { try { - // InternalRosSystem.g:504:1: ( ruleParameterIntegerType EOF ) - // InternalRosSystem.g:505:1: ruleParameterIntegerType EOF + // InternalRosSystem.g:554:1: ( ruleParameterIntegerType EOF ) + // InternalRosSystem.g:555:1: ruleParameterIntegerType EOF { before(grammarAccess.getParameterIntegerTypeRule()); pushFollow(FOLLOW_1); @@ -1555,21 +1713,21 @@ public final void entryRuleParameterIntegerType() throws RecognitionException { // $ANTLR start "ruleParameterIntegerType" - // InternalRosSystem.g:512:1: ruleParameterIntegerType : ( ( rule__ParameterIntegerType__Group__0 ) ) ; + // InternalRosSystem.g:562:1: ruleParameterIntegerType : ( ( rule__ParameterIntegerType__Group__0 ) ) ; public final void ruleParameterIntegerType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:516:2: ( ( ( rule__ParameterIntegerType__Group__0 ) ) ) - // InternalRosSystem.g:517:2: ( ( rule__ParameterIntegerType__Group__0 ) ) + // InternalRosSystem.g:566:2: ( ( ( rule__ParameterIntegerType__Group__0 ) ) ) + // InternalRosSystem.g:567:2: ( ( rule__ParameterIntegerType__Group__0 ) ) { - // InternalRosSystem.g:517:2: ( ( rule__ParameterIntegerType__Group__0 ) ) - // InternalRosSystem.g:518:3: ( rule__ParameterIntegerType__Group__0 ) + // InternalRosSystem.g:567:2: ( ( rule__ParameterIntegerType__Group__0 ) ) + // InternalRosSystem.g:568:3: ( rule__ParameterIntegerType__Group__0 ) { before(grammarAccess.getParameterIntegerTypeAccess().getGroup()); - // InternalRosSystem.g:519:3: ( rule__ParameterIntegerType__Group__0 ) - // InternalRosSystem.g:519:4: rule__ParameterIntegerType__Group__0 + // InternalRosSystem.g:569:3: ( rule__ParameterIntegerType__Group__0 ) + // InternalRosSystem.g:569:4: rule__ParameterIntegerType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group__0(); @@ -1602,11 +1760,11 @@ public final void ruleParameterIntegerType() throws RecognitionException { // $ANTLR start "entryRuleParameterStringType" - // InternalRosSystem.g:528:1: entryRuleParameterStringType : ruleParameterStringType EOF ; + // InternalRosSystem.g:578:1: entryRuleParameterStringType : ruleParameterStringType EOF ; public final void entryRuleParameterStringType() throws RecognitionException { try { - // InternalRosSystem.g:529:1: ( ruleParameterStringType EOF ) - // InternalRosSystem.g:530:1: ruleParameterStringType EOF + // InternalRosSystem.g:579:1: ( ruleParameterStringType EOF ) + // InternalRosSystem.g:580:1: ruleParameterStringType EOF { before(grammarAccess.getParameterStringTypeRule()); pushFollow(FOLLOW_1); @@ -1632,21 +1790,21 @@ public final void entryRuleParameterStringType() throws RecognitionException { // $ANTLR start "ruleParameterStringType" - // InternalRosSystem.g:537:1: ruleParameterStringType : ( ( rule__ParameterStringType__Group__0 ) ) ; + // InternalRosSystem.g:587:1: ruleParameterStringType : ( ( rule__ParameterStringType__Group__0 ) ) ; public final void ruleParameterStringType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:541:2: ( ( ( rule__ParameterStringType__Group__0 ) ) ) - // InternalRosSystem.g:542:2: ( ( rule__ParameterStringType__Group__0 ) ) + // InternalRosSystem.g:591:2: ( ( ( rule__ParameterStringType__Group__0 ) ) ) + // InternalRosSystem.g:592:2: ( ( rule__ParameterStringType__Group__0 ) ) { - // InternalRosSystem.g:542:2: ( ( rule__ParameterStringType__Group__0 ) ) - // InternalRosSystem.g:543:3: ( rule__ParameterStringType__Group__0 ) + // InternalRosSystem.g:592:2: ( ( rule__ParameterStringType__Group__0 ) ) + // InternalRosSystem.g:593:3: ( rule__ParameterStringType__Group__0 ) { before(grammarAccess.getParameterStringTypeAccess().getGroup()); - // InternalRosSystem.g:544:3: ( rule__ParameterStringType__Group__0 ) - // InternalRosSystem.g:544:4: rule__ParameterStringType__Group__0 + // InternalRosSystem.g:594:3: ( rule__ParameterStringType__Group__0 ) + // InternalRosSystem.g:594:4: rule__ParameterStringType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStringType__Group__0(); @@ -1679,11 +1837,11 @@ public final void ruleParameterStringType() throws RecognitionException { // $ANTLR start "entryRuleParameterDoubleType" - // InternalRosSystem.g:553:1: entryRuleParameterDoubleType : ruleParameterDoubleType EOF ; + // InternalRosSystem.g:603:1: entryRuleParameterDoubleType : ruleParameterDoubleType EOF ; public final void entryRuleParameterDoubleType() throws RecognitionException { try { - // InternalRosSystem.g:554:1: ( ruleParameterDoubleType EOF ) - // InternalRosSystem.g:555:1: ruleParameterDoubleType EOF + // InternalRosSystem.g:604:1: ( ruleParameterDoubleType EOF ) + // InternalRosSystem.g:605:1: ruleParameterDoubleType EOF { before(grammarAccess.getParameterDoubleTypeRule()); pushFollow(FOLLOW_1); @@ -1709,21 +1867,21 @@ public final void entryRuleParameterDoubleType() throws RecognitionException { // $ANTLR start "ruleParameterDoubleType" - // InternalRosSystem.g:562:1: ruleParameterDoubleType : ( ( rule__ParameterDoubleType__Group__0 ) ) ; + // InternalRosSystem.g:612:1: ruleParameterDoubleType : ( ( rule__ParameterDoubleType__Group__0 ) ) ; public final void ruleParameterDoubleType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:566:2: ( ( ( rule__ParameterDoubleType__Group__0 ) ) ) - // InternalRosSystem.g:567:2: ( ( rule__ParameterDoubleType__Group__0 ) ) + // InternalRosSystem.g:616:2: ( ( ( rule__ParameterDoubleType__Group__0 ) ) ) + // InternalRosSystem.g:617:2: ( ( rule__ParameterDoubleType__Group__0 ) ) { - // InternalRosSystem.g:567:2: ( ( rule__ParameterDoubleType__Group__0 ) ) - // InternalRosSystem.g:568:3: ( rule__ParameterDoubleType__Group__0 ) + // InternalRosSystem.g:617:2: ( ( rule__ParameterDoubleType__Group__0 ) ) + // InternalRosSystem.g:618:3: ( rule__ParameterDoubleType__Group__0 ) { before(grammarAccess.getParameterDoubleTypeAccess().getGroup()); - // InternalRosSystem.g:569:3: ( rule__ParameterDoubleType__Group__0 ) - // InternalRosSystem.g:569:4: rule__ParameterDoubleType__Group__0 + // InternalRosSystem.g:619:3: ( rule__ParameterDoubleType__Group__0 ) + // InternalRosSystem.g:619:4: rule__ParameterDoubleType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group__0(); @@ -1756,11 +1914,11 @@ public final void ruleParameterDoubleType() throws RecognitionException { // $ANTLR start "entryRuleParameterBooleanType" - // InternalRosSystem.g:578:1: entryRuleParameterBooleanType : ruleParameterBooleanType EOF ; + // InternalRosSystem.g:628:1: entryRuleParameterBooleanType : ruleParameterBooleanType EOF ; public final void entryRuleParameterBooleanType() throws RecognitionException { try { - // InternalRosSystem.g:579:1: ( ruleParameterBooleanType EOF ) - // InternalRosSystem.g:580:1: ruleParameterBooleanType EOF + // InternalRosSystem.g:629:1: ( ruleParameterBooleanType EOF ) + // InternalRosSystem.g:630:1: ruleParameterBooleanType EOF { before(grammarAccess.getParameterBooleanTypeRule()); pushFollow(FOLLOW_1); @@ -1786,21 +1944,21 @@ public final void entryRuleParameterBooleanType() throws RecognitionException { // $ANTLR start "ruleParameterBooleanType" - // InternalRosSystem.g:587:1: ruleParameterBooleanType : ( ( rule__ParameterBooleanType__Group__0 ) ) ; + // InternalRosSystem.g:637:1: ruleParameterBooleanType : ( ( rule__ParameterBooleanType__Group__0 ) ) ; public final void ruleParameterBooleanType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:591:2: ( ( ( rule__ParameterBooleanType__Group__0 ) ) ) - // InternalRosSystem.g:592:2: ( ( rule__ParameterBooleanType__Group__0 ) ) + // InternalRosSystem.g:641:2: ( ( ( rule__ParameterBooleanType__Group__0 ) ) ) + // InternalRosSystem.g:642:2: ( ( rule__ParameterBooleanType__Group__0 ) ) { - // InternalRosSystem.g:592:2: ( ( rule__ParameterBooleanType__Group__0 ) ) - // InternalRosSystem.g:593:3: ( rule__ParameterBooleanType__Group__0 ) + // InternalRosSystem.g:642:2: ( ( rule__ParameterBooleanType__Group__0 ) ) + // InternalRosSystem.g:643:3: ( rule__ParameterBooleanType__Group__0 ) { before(grammarAccess.getParameterBooleanTypeAccess().getGroup()); - // InternalRosSystem.g:594:3: ( rule__ParameterBooleanType__Group__0 ) - // InternalRosSystem.g:594:4: rule__ParameterBooleanType__Group__0 + // InternalRosSystem.g:644:3: ( rule__ParameterBooleanType__Group__0 ) + // InternalRosSystem.g:644:4: rule__ParameterBooleanType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group__0(); @@ -1833,11 +1991,11 @@ public final void ruleParameterBooleanType() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64Type" - // InternalRosSystem.g:603:1: entryRuleParameterBase64Type : ruleParameterBase64Type EOF ; + // InternalRosSystem.g:653:1: entryRuleParameterBase64Type : ruleParameterBase64Type EOF ; public final void entryRuleParameterBase64Type() throws RecognitionException { try { - // InternalRosSystem.g:604:1: ( ruleParameterBase64Type EOF ) - // InternalRosSystem.g:605:1: ruleParameterBase64Type EOF + // InternalRosSystem.g:654:1: ( ruleParameterBase64Type EOF ) + // InternalRosSystem.g:655:1: ruleParameterBase64Type EOF { before(grammarAccess.getParameterBase64TypeRule()); pushFollow(FOLLOW_1); @@ -1863,21 +2021,21 @@ public final void entryRuleParameterBase64Type() throws RecognitionException { // $ANTLR start "ruleParameterBase64Type" - // InternalRosSystem.g:612:1: ruleParameterBase64Type : ( ( rule__ParameterBase64Type__Group__0 ) ) ; + // InternalRosSystem.g:662:1: ruleParameterBase64Type : ( ( rule__ParameterBase64Type__Group__0 ) ) ; public final void ruleParameterBase64Type() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:616:2: ( ( ( rule__ParameterBase64Type__Group__0 ) ) ) - // InternalRosSystem.g:617:2: ( ( rule__ParameterBase64Type__Group__0 ) ) + // InternalRosSystem.g:666:2: ( ( ( rule__ParameterBase64Type__Group__0 ) ) ) + // InternalRosSystem.g:667:2: ( ( rule__ParameterBase64Type__Group__0 ) ) { - // InternalRosSystem.g:617:2: ( ( rule__ParameterBase64Type__Group__0 ) ) - // InternalRosSystem.g:618:3: ( rule__ParameterBase64Type__Group__0 ) + // InternalRosSystem.g:667:2: ( ( rule__ParameterBase64Type__Group__0 ) ) + // InternalRosSystem.g:668:3: ( rule__ParameterBase64Type__Group__0 ) { before(grammarAccess.getParameterBase64TypeAccess().getGroup()); - // InternalRosSystem.g:619:3: ( rule__ParameterBase64Type__Group__0 ) - // InternalRosSystem.g:619:4: rule__ParameterBase64Type__Group__0 + // InternalRosSystem.g:669:3: ( rule__ParameterBase64Type__Group__0 ) + // InternalRosSystem.g:669:4: rule__ParameterBase64Type__Group__0 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group__0(); @@ -1910,11 +2068,11 @@ public final void ruleParameterBase64Type() throws RecognitionException { // $ANTLR start "entryRuleParameterArrayType" - // InternalRosSystem.g:628:1: entryRuleParameterArrayType : ruleParameterArrayType EOF ; + // InternalRosSystem.g:678:1: entryRuleParameterArrayType : ruleParameterArrayType EOF ; public final void entryRuleParameterArrayType() throws RecognitionException { try { - // InternalRosSystem.g:629:1: ( ruleParameterArrayType EOF ) - // InternalRosSystem.g:630:1: ruleParameterArrayType EOF + // InternalRosSystem.g:679:1: ( ruleParameterArrayType EOF ) + // InternalRosSystem.g:680:1: ruleParameterArrayType EOF { before(grammarAccess.getParameterArrayTypeRule()); pushFollow(FOLLOW_1); @@ -1940,21 +2098,21 @@ public final void entryRuleParameterArrayType() throws RecognitionException { // $ANTLR start "ruleParameterArrayType" - // InternalRosSystem.g:637:1: ruleParameterArrayType : ( ( rule__ParameterArrayType__Group__0 ) ) ; + // InternalRosSystem.g:687:1: ruleParameterArrayType : ( ( rule__ParameterArrayType__Group__0 ) ) ; public final void ruleParameterArrayType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:641:2: ( ( ( rule__ParameterArrayType__Group__0 ) ) ) - // InternalRosSystem.g:642:2: ( ( rule__ParameterArrayType__Group__0 ) ) + // InternalRosSystem.g:691:2: ( ( ( rule__ParameterArrayType__Group__0 ) ) ) + // InternalRosSystem.g:692:2: ( ( rule__ParameterArrayType__Group__0 ) ) { - // InternalRosSystem.g:642:2: ( ( rule__ParameterArrayType__Group__0 ) ) - // InternalRosSystem.g:643:3: ( rule__ParameterArrayType__Group__0 ) + // InternalRosSystem.g:692:2: ( ( rule__ParameterArrayType__Group__0 ) ) + // InternalRosSystem.g:693:3: ( rule__ParameterArrayType__Group__0 ) { before(grammarAccess.getParameterArrayTypeAccess().getGroup()); - // InternalRosSystem.g:644:3: ( rule__ParameterArrayType__Group__0 ) - // InternalRosSystem.g:644:4: rule__ParameterArrayType__Group__0 + // InternalRosSystem.g:694:3: ( rule__ParameterArrayType__Group__0 ) + // InternalRosSystem.g:694:4: rule__ParameterArrayType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group__0(); @@ -1987,11 +2145,11 @@ public final void ruleParameterArrayType() throws RecognitionException { // $ANTLR start "entryRuleParameterList" - // InternalRosSystem.g:653:1: entryRuleParameterList : ruleParameterList EOF ; + // InternalRosSystem.g:703:1: entryRuleParameterList : ruleParameterList EOF ; public final void entryRuleParameterList() throws RecognitionException { try { - // InternalRosSystem.g:654:1: ( ruleParameterList EOF ) - // InternalRosSystem.g:655:1: ruleParameterList EOF + // InternalRosSystem.g:704:1: ( ruleParameterList EOF ) + // InternalRosSystem.g:705:1: ruleParameterList EOF { before(grammarAccess.getParameterListRule()); pushFollow(FOLLOW_1); @@ -2017,21 +2175,21 @@ public final void entryRuleParameterList() throws RecognitionException { // $ANTLR start "ruleParameterList" - // InternalRosSystem.g:662:1: ruleParameterList : ( ( rule__ParameterList__Group__0 ) ) ; + // InternalRosSystem.g:712:1: ruleParameterList : ( ( rule__ParameterList__Group__0 ) ) ; public final void ruleParameterList() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:666:2: ( ( ( rule__ParameterList__Group__0 ) ) ) - // InternalRosSystem.g:667:2: ( ( rule__ParameterList__Group__0 ) ) + // InternalRosSystem.g:716:2: ( ( ( rule__ParameterList__Group__0 ) ) ) + // InternalRosSystem.g:717:2: ( ( rule__ParameterList__Group__0 ) ) { - // InternalRosSystem.g:667:2: ( ( rule__ParameterList__Group__0 ) ) - // InternalRosSystem.g:668:3: ( rule__ParameterList__Group__0 ) + // InternalRosSystem.g:717:2: ( ( rule__ParameterList__Group__0 ) ) + // InternalRosSystem.g:718:3: ( rule__ParameterList__Group__0 ) { before(grammarAccess.getParameterListAccess().getGroup()); - // InternalRosSystem.g:669:3: ( rule__ParameterList__Group__0 ) - // InternalRosSystem.g:669:4: rule__ParameterList__Group__0 + // InternalRosSystem.g:719:3: ( rule__ParameterList__Group__0 ) + // InternalRosSystem.g:719:4: rule__ParameterList__Group__0 { pushFollow(FOLLOW_2); rule__ParameterList__Group__0(); @@ -2064,11 +2222,11 @@ public final void ruleParameterList() throws RecognitionException { // $ANTLR start "entryRuleParameterAny" - // InternalRosSystem.g:678:1: entryRuleParameterAny : ruleParameterAny EOF ; + // InternalRosSystem.g:728:1: entryRuleParameterAny : ruleParameterAny EOF ; public final void entryRuleParameterAny() throws RecognitionException { try { - // InternalRosSystem.g:679:1: ( ruleParameterAny EOF ) - // InternalRosSystem.g:680:1: ruleParameterAny EOF + // InternalRosSystem.g:729:1: ( ruleParameterAny EOF ) + // InternalRosSystem.g:730:1: ruleParameterAny EOF { before(grammarAccess.getParameterAnyRule()); pushFollow(FOLLOW_1); @@ -2094,21 +2252,21 @@ public final void entryRuleParameterAny() throws RecognitionException { // $ANTLR start "ruleParameterAny" - // InternalRosSystem.g:687:1: ruleParameterAny : ( ( rule__ParameterAny__Group__0 ) ) ; + // InternalRosSystem.g:737:1: ruleParameterAny : ( ( rule__ParameterAny__Group__0 ) ) ; public final void ruleParameterAny() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:691:2: ( ( ( rule__ParameterAny__Group__0 ) ) ) - // InternalRosSystem.g:692:2: ( ( rule__ParameterAny__Group__0 ) ) + // InternalRosSystem.g:741:2: ( ( ( rule__ParameterAny__Group__0 ) ) ) + // InternalRosSystem.g:742:2: ( ( rule__ParameterAny__Group__0 ) ) { - // InternalRosSystem.g:692:2: ( ( rule__ParameterAny__Group__0 ) ) - // InternalRosSystem.g:693:3: ( rule__ParameterAny__Group__0 ) + // InternalRosSystem.g:742:2: ( ( rule__ParameterAny__Group__0 ) ) + // InternalRosSystem.g:743:3: ( rule__ParameterAny__Group__0 ) { before(grammarAccess.getParameterAnyAccess().getGroup()); - // InternalRosSystem.g:694:3: ( rule__ParameterAny__Group__0 ) - // InternalRosSystem.g:694:4: rule__ParameterAny__Group__0 + // InternalRosSystem.g:744:3: ( rule__ParameterAny__Group__0 ) + // InternalRosSystem.g:744:4: rule__ParameterAny__Group__0 { pushFollow(FOLLOW_2); rule__ParameterAny__Group__0(); @@ -2141,11 +2299,11 @@ public final void ruleParameterAny() throws RecognitionException { // $ANTLR start "entryRuleParameterString" - // InternalRosSystem.g:703:1: entryRuleParameterString : ruleParameterString EOF ; + // InternalRosSystem.g:753:1: entryRuleParameterString : ruleParameterString EOF ; public final void entryRuleParameterString() throws RecognitionException { try { - // InternalRosSystem.g:704:1: ( ruleParameterString EOF ) - // InternalRosSystem.g:705:1: ruleParameterString EOF + // InternalRosSystem.g:754:1: ( ruleParameterString EOF ) + // InternalRosSystem.g:755:1: ruleParameterString EOF { before(grammarAccess.getParameterStringRule()); pushFollow(FOLLOW_1); @@ -2171,21 +2329,21 @@ public final void entryRuleParameterString() throws RecognitionException { // $ANTLR start "ruleParameterString" - // InternalRosSystem.g:712:1: ruleParameterString : ( ( rule__ParameterString__ValueAssignment ) ) ; + // InternalRosSystem.g:762:1: ruleParameterString : ( ( rule__ParameterString__ValueAssignment ) ) ; public final void ruleParameterString() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:716:2: ( ( ( rule__ParameterString__ValueAssignment ) ) ) - // InternalRosSystem.g:717:2: ( ( rule__ParameterString__ValueAssignment ) ) + // InternalRosSystem.g:766:2: ( ( ( rule__ParameterString__ValueAssignment ) ) ) + // InternalRosSystem.g:767:2: ( ( rule__ParameterString__ValueAssignment ) ) { - // InternalRosSystem.g:717:2: ( ( rule__ParameterString__ValueAssignment ) ) - // InternalRosSystem.g:718:3: ( rule__ParameterString__ValueAssignment ) + // InternalRosSystem.g:767:2: ( ( rule__ParameterString__ValueAssignment ) ) + // InternalRosSystem.g:768:3: ( rule__ParameterString__ValueAssignment ) { before(grammarAccess.getParameterStringAccess().getValueAssignment()); - // InternalRosSystem.g:719:3: ( rule__ParameterString__ValueAssignment ) - // InternalRosSystem.g:719:4: rule__ParameterString__ValueAssignment + // InternalRosSystem.g:769:3: ( rule__ParameterString__ValueAssignment ) + // InternalRosSystem.g:769:4: rule__ParameterString__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterString__ValueAssignment(); @@ -2218,11 +2376,11 @@ public final void ruleParameterString() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64" - // InternalRosSystem.g:728:1: entryRuleParameterBase64 : ruleParameterBase64 EOF ; + // InternalRosSystem.g:778:1: entryRuleParameterBase64 : ruleParameterBase64 EOF ; public final void entryRuleParameterBase64() throws RecognitionException { try { - // InternalRosSystem.g:729:1: ( ruleParameterBase64 EOF ) - // InternalRosSystem.g:730:1: ruleParameterBase64 EOF + // InternalRosSystem.g:779:1: ( ruleParameterBase64 EOF ) + // InternalRosSystem.g:780:1: ruleParameterBase64 EOF { before(grammarAccess.getParameterBase64Rule()); pushFollow(FOLLOW_1); @@ -2248,21 +2406,21 @@ public final void entryRuleParameterBase64() throws RecognitionException { // $ANTLR start "ruleParameterBase64" - // InternalRosSystem.g:737:1: ruleParameterBase64 : ( ( rule__ParameterBase64__ValueAssignment ) ) ; + // InternalRosSystem.g:787:1: ruleParameterBase64 : ( ( rule__ParameterBase64__ValueAssignment ) ) ; public final void ruleParameterBase64() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:741:2: ( ( ( rule__ParameterBase64__ValueAssignment ) ) ) - // InternalRosSystem.g:742:2: ( ( rule__ParameterBase64__ValueAssignment ) ) + // InternalRosSystem.g:791:2: ( ( ( rule__ParameterBase64__ValueAssignment ) ) ) + // InternalRosSystem.g:792:2: ( ( rule__ParameterBase64__ValueAssignment ) ) { - // InternalRosSystem.g:742:2: ( ( rule__ParameterBase64__ValueAssignment ) ) - // InternalRosSystem.g:743:3: ( rule__ParameterBase64__ValueAssignment ) + // InternalRosSystem.g:792:2: ( ( rule__ParameterBase64__ValueAssignment ) ) + // InternalRosSystem.g:793:3: ( rule__ParameterBase64__ValueAssignment ) { before(grammarAccess.getParameterBase64Access().getValueAssignment()); - // InternalRosSystem.g:744:3: ( rule__ParameterBase64__ValueAssignment ) - // InternalRosSystem.g:744:4: rule__ParameterBase64__ValueAssignment + // InternalRosSystem.g:794:3: ( rule__ParameterBase64__ValueAssignment ) + // InternalRosSystem.g:794:4: rule__ParameterBase64__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterBase64__ValueAssignment(); @@ -2295,11 +2453,11 @@ public final void ruleParameterBase64() throws RecognitionException { // $ANTLR start "entryRuleParameterInteger" - // InternalRosSystem.g:753:1: entryRuleParameterInteger : ruleParameterInteger EOF ; + // InternalRosSystem.g:803:1: entryRuleParameterInteger : ruleParameterInteger EOF ; public final void entryRuleParameterInteger() throws RecognitionException { try { - // InternalRosSystem.g:754:1: ( ruleParameterInteger EOF ) - // InternalRosSystem.g:755:1: ruleParameterInteger EOF + // InternalRosSystem.g:804:1: ( ruleParameterInteger EOF ) + // InternalRosSystem.g:805:1: ruleParameterInteger EOF { before(grammarAccess.getParameterIntegerRule()); pushFollow(FOLLOW_1); @@ -2325,21 +2483,21 @@ public final void entryRuleParameterInteger() throws RecognitionException { // $ANTLR start "ruleParameterInteger" - // InternalRosSystem.g:762:1: ruleParameterInteger : ( ( rule__ParameterInteger__ValueAssignment ) ) ; + // InternalRosSystem.g:812:1: ruleParameterInteger : ( ( rule__ParameterInteger__ValueAssignment ) ) ; public final void ruleParameterInteger() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:766:2: ( ( ( rule__ParameterInteger__ValueAssignment ) ) ) - // InternalRosSystem.g:767:2: ( ( rule__ParameterInteger__ValueAssignment ) ) + // InternalRosSystem.g:816:2: ( ( ( rule__ParameterInteger__ValueAssignment ) ) ) + // InternalRosSystem.g:817:2: ( ( rule__ParameterInteger__ValueAssignment ) ) { - // InternalRosSystem.g:767:2: ( ( rule__ParameterInteger__ValueAssignment ) ) - // InternalRosSystem.g:768:3: ( rule__ParameterInteger__ValueAssignment ) + // InternalRosSystem.g:817:2: ( ( rule__ParameterInteger__ValueAssignment ) ) + // InternalRosSystem.g:818:3: ( rule__ParameterInteger__ValueAssignment ) { before(grammarAccess.getParameterIntegerAccess().getValueAssignment()); - // InternalRosSystem.g:769:3: ( rule__ParameterInteger__ValueAssignment ) - // InternalRosSystem.g:769:4: rule__ParameterInteger__ValueAssignment + // InternalRosSystem.g:819:3: ( rule__ParameterInteger__ValueAssignment ) + // InternalRosSystem.g:819:4: rule__ParameterInteger__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterInteger__ValueAssignment(); @@ -2372,11 +2530,11 @@ public final void ruleParameterInteger() throws RecognitionException { // $ANTLR start "entryRuleParameterDouble" - // InternalRosSystem.g:778:1: entryRuleParameterDouble : ruleParameterDouble EOF ; + // InternalRosSystem.g:828:1: entryRuleParameterDouble : ruleParameterDouble EOF ; public final void entryRuleParameterDouble() throws RecognitionException { try { - // InternalRosSystem.g:779:1: ( ruleParameterDouble EOF ) - // InternalRosSystem.g:780:1: ruleParameterDouble EOF + // InternalRosSystem.g:829:1: ( ruleParameterDouble EOF ) + // InternalRosSystem.g:830:1: ruleParameterDouble EOF { before(grammarAccess.getParameterDoubleRule()); pushFollow(FOLLOW_1); @@ -2402,21 +2560,21 @@ public final void entryRuleParameterDouble() throws RecognitionException { // $ANTLR start "ruleParameterDouble" - // InternalRosSystem.g:787:1: ruleParameterDouble : ( ( rule__ParameterDouble__ValueAssignment ) ) ; + // InternalRosSystem.g:837:1: ruleParameterDouble : ( ( rule__ParameterDouble__ValueAssignment ) ) ; public final void ruleParameterDouble() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:791:2: ( ( ( rule__ParameterDouble__ValueAssignment ) ) ) - // InternalRosSystem.g:792:2: ( ( rule__ParameterDouble__ValueAssignment ) ) + // InternalRosSystem.g:841:2: ( ( ( rule__ParameterDouble__ValueAssignment ) ) ) + // InternalRosSystem.g:842:2: ( ( rule__ParameterDouble__ValueAssignment ) ) { - // InternalRosSystem.g:792:2: ( ( rule__ParameterDouble__ValueAssignment ) ) - // InternalRosSystem.g:793:3: ( rule__ParameterDouble__ValueAssignment ) + // InternalRosSystem.g:842:2: ( ( rule__ParameterDouble__ValueAssignment ) ) + // InternalRosSystem.g:843:3: ( rule__ParameterDouble__ValueAssignment ) { before(grammarAccess.getParameterDoubleAccess().getValueAssignment()); - // InternalRosSystem.g:794:3: ( rule__ParameterDouble__ValueAssignment ) - // InternalRosSystem.g:794:4: rule__ParameterDouble__ValueAssignment + // InternalRosSystem.g:844:3: ( rule__ParameterDouble__ValueAssignment ) + // InternalRosSystem.g:844:4: rule__ParameterDouble__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterDouble__ValueAssignment(); @@ -2449,11 +2607,11 @@ public final void ruleParameterDouble() throws RecognitionException { // $ANTLR start "entryRuleParameterBoolean" - // InternalRosSystem.g:803:1: entryRuleParameterBoolean : ruleParameterBoolean EOF ; + // InternalRosSystem.g:853:1: entryRuleParameterBoolean : ruleParameterBoolean EOF ; public final void entryRuleParameterBoolean() throws RecognitionException { try { - // InternalRosSystem.g:804:1: ( ruleParameterBoolean EOF ) - // InternalRosSystem.g:805:1: ruleParameterBoolean EOF + // InternalRosSystem.g:854:1: ( ruleParameterBoolean EOF ) + // InternalRosSystem.g:855:1: ruleParameterBoolean EOF { before(grammarAccess.getParameterBooleanRule()); pushFollow(FOLLOW_1); @@ -2479,21 +2637,21 @@ public final void entryRuleParameterBoolean() throws RecognitionException { // $ANTLR start "ruleParameterBoolean" - // InternalRosSystem.g:812:1: ruleParameterBoolean : ( ( rule__ParameterBoolean__ValueAssignment ) ) ; + // InternalRosSystem.g:862:1: ruleParameterBoolean : ( ( rule__ParameterBoolean__ValueAssignment ) ) ; public final void ruleParameterBoolean() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:816:2: ( ( ( rule__ParameterBoolean__ValueAssignment ) ) ) - // InternalRosSystem.g:817:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) + // InternalRosSystem.g:866:2: ( ( ( rule__ParameterBoolean__ValueAssignment ) ) ) + // InternalRosSystem.g:867:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) { - // InternalRosSystem.g:817:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) - // InternalRosSystem.g:818:3: ( rule__ParameterBoolean__ValueAssignment ) + // InternalRosSystem.g:867:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) + // InternalRosSystem.g:868:3: ( rule__ParameterBoolean__ValueAssignment ) { before(grammarAccess.getParameterBooleanAccess().getValueAssignment()); - // InternalRosSystem.g:819:3: ( rule__ParameterBoolean__ValueAssignment ) - // InternalRosSystem.g:819:4: rule__ParameterBoolean__ValueAssignment + // InternalRosSystem.g:869:3: ( rule__ParameterBoolean__ValueAssignment ) + // InternalRosSystem.g:869:4: rule__ParameterBoolean__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterBoolean__ValueAssignment(); @@ -2526,11 +2684,11 @@ public final void ruleParameterBoolean() throws RecognitionException { // $ANTLR start "entryRuleParameterDate" - // InternalRosSystem.g:828:1: entryRuleParameterDate : ruleParameterDate EOF ; + // InternalRosSystem.g:878:1: entryRuleParameterDate : ruleParameterDate EOF ; public final void entryRuleParameterDate() throws RecognitionException { try { - // InternalRosSystem.g:829:1: ( ruleParameterDate EOF ) - // InternalRosSystem.g:830:1: ruleParameterDate EOF + // InternalRosSystem.g:879:1: ( ruleParameterDate EOF ) + // InternalRosSystem.g:880:1: ruleParameterDate EOF { before(grammarAccess.getParameterDateRule()); pushFollow(FOLLOW_1); @@ -2556,21 +2714,21 @@ public final void entryRuleParameterDate() throws RecognitionException { // $ANTLR start "ruleParameterDate" - // InternalRosSystem.g:837:1: ruleParameterDate : ( ( rule__ParameterDate__ValueAssignment ) ) ; + // InternalRosSystem.g:887:1: ruleParameterDate : ( ( rule__ParameterDate__ValueAssignment ) ) ; public final void ruleParameterDate() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:841:2: ( ( ( rule__ParameterDate__ValueAssignment ) ) ) - // InternalRosSystem.g:842:2: ( ( rule__ParameterDate__ValueAssignment ) ) + // InternalRosSystem.g:891:2: ( ( ( rule__ParameterDate__ValueAssignment ) ) ) + // InternalRosSystem.g:892:2: ( ( rule__ParameterDate__ValueAssignment ) ) { - // InternalRosSystem.g:842:2: ( ( rule__ParameterDate__ValueAssignment ) ) - // InternalRosSystem.g:843:3: ( rule__ParameterDate__ValueAssignment ) + // InternalRosSystem.g:892:2: ( ( rule__ParameterDate__ValueAssignment ) ) + // InternalRosSystem.g:893:3: ( rule__ParameterDate__ValueAssignment ) { before(grammarAccess.getParameterDateAccess().getValueAssignment()); - // InternalRosSystem.g:844:3: ( rule__ParameterDate__ValueAssignment ) - // InternalRosSystem.g:844:4: rule__ParameterDate__ValueAssignment + // InternalRosSystem.g:894:3: ( rule__ParameterDate__ValueAssignment ) + // InternalRosSystem.g:894:4: rule__ParameterDate__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterDate__ValueAssignment(); @@ -2603,11 +2761,11 @@ public final void ruleParameterDate() throws RecognitionException { // $ANTLR start "entryRuleParameterStruct" - // InternalRosSystem.g:853:1: entryRuleParameterStruct : ruleParameterStruct EOF ; + // InternalRosSystem.g:903:1: entryRuleParameterStruct : ruleParameterStruct EOF ; public final void entryRuleParameterStruct() throws RecognitionException { try { - // InternalRosSystem.g:854:1: ( ruleParameterStruct EOF ) - // InternalRosSystem.g:855:1: ruleParameterStruct EOF + // InternalRosSystem.g:904:1: ( ruleParameterStruct EOF ) + // InternalRosSystem.g:905:1: ruleParameterStruct EOF { before(grammarAccess.getParameterStructRule()); pushFollow(FOLLOW_1); @@ -2633,21 +2791,21 @@ public final void entryRuleParameterStruct() throws RecognitionException { // $ANTLR start "ruleParameterStruct" - // InternalRosSystem.g:862:1: ruleParameterStruct : ( ( rule__ParameterStruct__Group__0 ) ) ; + // InternalRosSystem.g:912:1: ruleParameterStruct : ( ( rule__ParameterStruct__Group__0 ) ) ; public final void ruleParameterStruct() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:866:2: ( ( ( rule__ParameterStruct__Group__0 ) ) ) - // InternalRosSystem.g:867:2: ( ( rule__ParameterStruct__Group__0 ) ) + // InternalRosSystem.g:916:2: ( ( ( rule__ParameterStruct__Group__0 ) ) ) + // InternalRosSystem.g:917:2: ( ( rule__ParameterStruct__Group__0 ) ) { - // InternalRosSystem.g:867:2: ( ( rule__ParameterStruct__Group__0 ) ) - // InternalRosSystem.g:868:3: ( rule__ParameterStruct__Group__0 ) + // InternalRosSystem.g:917:2: ( ( rule__ParameterStruct__Group__0 ) ) + // InternalRosSystem.g:918:3: ( rule__ParameterStruct__Group__0 ) { before(grammarAccess.getParameterStructAccess().getGroup()); - // InternalRosSystem.g:869:3: ( rule__ParameterStruct__Group__0 ) - // InternalRosSystem.g:869:4: rule__ParameterStruct__Group__0 + // InternalRosSystem.g:919:3: ( rule__ParameterStruct__Group__0 ) + // InternalRosSystem.g:919:4: rule__ParameterStruct__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStruct__Group__0(); @@ -2680,11 +2838,11 @@ public final void ruleParameterStruct() throws RecognitionException { // $ANTLR start "entryRuleParameterStructMember" - // InternalRosSystem.g:878:1: entryRuleParameterStructMember : ruleParameterStructMember EOF ; + // InternalRosSystem.g:928:1: entryRuleParameterStructMember : ruleParameterStructMember EOF ; public final void entryRuleParameterStructMember() throws RecognitionException { try { - // InternalRosSystem.g:879:1: ( ruleParameterStructMember EOF ) - // InternalRosSystem.g:880:1: ruleParameterStructMember EOF + // InternalRosSystem.g:929:1: ( ruleParameterStructMember EOF ) + // InternalRosSystem.g:930:1: ruleParameterStructMember EOF { before(grammarAccess.getParameterStructMemberRule()); pushFollow(FOLLOW_1); @@ -2710,21 +2868,21 @@ public final void entryRuleParameterStructMember() throws RecognitionException { // $ANTLR start "ruleParameterStructMember" - // InternalRosSystem.g:887:1: ruleParameterStructMember : ( ( rule__ParameterStructMember__Group__0 ) ) ; + // InternalRosSystem.g:937:1: ruleParameterStructMember : ( ( rule__ParameterStructMember__Group__0 ) ) ; public final void ruleParameterStructMember() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:891:2: ( ( ( rule__ParameterStructMember__Group__0 ) ) ) - // InternalRosSystem.g:892:2: ( ( rule__ParameterStructMember__Group__0 ) ) + // InternalRosSystem.g:941:2: ( ( ( rule__ParameterStructMember__Group__0 ) ) ) + // InternalRosSystem.g:942:2: ( ( rule__ParameterStructMember__Group__0 ) ) { - // InternalRosSystem.g:892:2: ( ( rule__ParameterStructMember__Group__0 ) ) - // InternalRosSystem.g:893:3: ( rule__ParameterStructMember__Group__0 ) + // InternalRosSystem.g:942:2: ( ( rule__ParameterStructMember__Group__0 ) ) + // InternalRosSystem.g:943:3: ( rule__ParameterStructMember__Group__0 ) { before(grammarAccess.getParameterStructMemberAccess().getGroup()); - // InternalRosSystem.g:894:3: ( rule__ParameterStructMember__Group__0 ) - // InternalRosSystem.g:894:4: rule__ParameterStructMember__Group__0 + // InternalRosSystem.g:944:3: ( rule__ParameterStructMember__Group__0 ) + // InternalRosSystem.g:944:4: rule__ParameterStructMember__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStructMember__Group__0(); @@ -2757,11 +2915,11 @@ public final void ruleParameterStructMember() throws RecognitionException { // $ANTLR start "entryRuleParameterStructTypeMember" - // InternalRosSystem.g:903:1: entryRuleParameterStructTypeMember : ruleParameterStructTypeMember EOF ; + // InternalRosSystem.g:953:1: entryRuleParameterStructTypeMember : ruleParameterStructTypeMember EOF ; public final void entryRuleParameterStructTypeMember() throws RecognitionException { try { - // InternalRosSystem.g:904:1: ( ruleParameterStructTypeMember EOF ) - // InternalRosSystem.g:905:1: ruleParameterStructTypeMember EOF + // InternalRosSystem.g:954:1: ( ruleParameterStructTypeMember EOF ) + // InternalRosSystem.g:955:1: ruleParameterStructTypeMember EOF { before(grammarAccess.getParameterStructTypeMemberRule()); pushFollow(FOLLOW_1); @@ -2787,21 +2945,21 @@ public final void entryRuleParameterStructTypeMember() throws RecognitionExcepti // $ANTLR start "ruleParameterStructTypeMember" - // InternalRosSystem.g:912:1: ruleParameterStructTypeMember : ( ( rule__ParameterStructTypeMember__Group__0 ) ) ; + // InternalRosSystem.g:962:1: ruleParameterStructTypeMember : ( ( rule__ParameterStructTypeMember__Group__0 ) ) ; public final void ruleParameterStructTypeMember() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:916:2: ( ( ( rule__ParameterStructTypeMember__Group__0 ) ) ) - // InternalRosSystem.g:917:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) + // InternalRosSystem.g:966:2: ( ( ( rule__ParameterStructTypeMember__Group__0 ) ) ) + // InternalRosSystem.g:967:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) { - // InternalRosSystem.g:917:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) - // InternalRosSystem.g:918:3: ( rule__ParameterStructTypeMember__Group__0 ) + // InternalRosSystem.g:967:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) + // InternalRosSystem.g:968:3: ( rule__ParameterStructTypeMember__Group__0 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getGroup()); - // InternalRosSystem.g:919:3: ( rule__ParameterStructTypeMember__Group__0 ) - // InternalRosSystem.g:919:4: rule__ParameterStructTypeMember__Group__0 + // InternalRosSystem.g:969:3: ( rule__ParameterStructTypeMember__Group__0 ) + // InternalRosSystem.g:969:4: rule__ParameterStructTypeMember__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__Group__0(); @@ -2834,11 +2992,11 @@ public final void ruleParameterStructTypeMember() throws RecognitionException { // $ANTLR start "entryRuleBase64Binary" - // InternalRosSystem.g:928:1: entryRuleBase64Binary : ruleBase64Binary EOF ; + // InternalRosSystem.g:978:1: entryRuleBase64Binary : ruleBase64Binary EOF ; public final void entryRuleBase64Binary() throws RecognitionException { try { - // InternalRosSystem.g:929:1: ( ruleBase64Binary EOF ) - // InternalRosSystem.g:930:1: ruleBase64Binary EOF + // InternalRosSystem.g:979:1: ( ruleBase64Binary EOF ) + // InternalRosSystem.g:980:1: ruleBase64Binary EOF { before(grammarAccess.getBase64BinaryRule()); pushFollow(FOLLOW_1); @@ -2864,17 +3022,17 @@ public final void entryRuleBase64Binary() throws RecognitionException { // $ANTLR start "ruleBase64Binary" - // InternalRosSystem.g:937:1: ruleBase64Binary : ( RULE_BINARY ) ; + // InternalRosSystem.g:987:1: ruleBase64Binary : ( RULE_BINARY ) ; public final void ruleBase64Binary() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:941:2: ( ( RULE_BINARY ) ) - // InternalRosSystem.g:942:2: ( RULE_BINARY ) + // InternalRosSystem.g:991:2: ( ( RULE_BINARY ) ) + // InternalRosSystem.g:992:2: ( RULE_BINARY ) { - // InternalRosSystem.g:942:2: ( RULE_BINARY ) - // InternalRosSystem.g:943:3: RULE_BINARY + // InternalRosSystem.g:992:2: ( RULE_BINARY ) + // InternalRosSystem.g:993:3: RULE_BINARY { before(grammarAccess.getBase64BinaryAccess().getBINARYTerminalRuleCall()); match(input,RULE_BINARY,FOLLOW_2); @@ -2901,11 +3059,11 @@ public final void ruleBase64Binary() throws RecognitionException { // $ANTLR start "entryRuleboolean0" - // InternalRosSystem.g:953:1: entryRuleboolean0 : ruleboolean0 EOF ; + // InternalRosSystem.g:1003:1: entryRuleboolean0 : ruleboolean0 EOF ; public final void entryRuleboolean0() throws RecognitionException { try { - // InternalRosSystem.g:954:1: ( ruleboolean0 EOF ) - // InternalRosSystem.g:955:1: ruleboolean0 EOF + // InternalRosSystem.g:1004:1: ( ruleboolean0 EOF ) + // InternalRosSystem.g:1005:1: ruleboolean0 EOF { before(grammarAccess.getBoolean0Rule()); pushFollow(FOLLOW_1); @@ -2931,17 +3089,17 @@ public final void entryRuleboolean0() throws RecognitionException { // $ANTLR start "ruleboolean0" - // InternalRosSystem.g:962:1: ruleboolean0 : ( RULE_BOOLEAN ) ; + // InternalRosSystem.g:1012:1: ruleboolean0 : ( RULE_BOOLEAN ) ; public final void ruleboolean0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:966:2: ( ( RULE_BOOLEAN ) ) - // InternalRosSystem.g:967:2: ( RULE_BOOLEAN ) + // InternalRosSystem.g:1016:2: ( ( RULE_BOOLEAN ) ) + // InternalRosSystem.g:1017:2: ( RULE_BOOLEAN ) { - // InternalRosSystem.g:967:2: ( RULE_BOOLEAN ) - // InternalRosSystem.g:968:3: RULE_BOOLEAN + // InternalRosSystem.g:1017:2: ( RULE_BOOLEAN ) + // InternalRosSystem.g:1018:3: RULE_BOOLEAN { before(grammarAccess.getBoolean0Access().getBOOLEANTerminalRuleCall()); match(input,RULE_BOOLEAN,FOLLOW_2); @@ -2968,11 +3126,11 @@ public final void ruleboolean0() throws RecognitionException { // $ANTLR start "entryRuleDouble0" - // InternalRosSystem.g:978:1: entryRuleDouble0 : ruleDouble0 EOF ; + // InternalRosSystem.g:1028:1: entryRuleDouble0 : ruleDouble0 EOF ; public final void entryRuleDouble0() throws RecognitionException { try { - // InternalRosSystem.g:979:1: ( ruleDouble0 EOF ) - // InternalRosSystem.g:980:1: ruleDouble0 EOF + // InternalRosSystem.g:1029:1: ( ruleDouble0 EOF ) + // InternalRosSystem.g:1030:1: ruleDouble0 EOF { before(grammarAccess.getDouble0Rule()); pushFollow(FOLLOW_1); @@ -2998,17 +3156,17 @@ public final void entryRuleDouble0() throws RecognitionException { // $ANTLR start "ruleDouble0" - // InternalRosSystem.g:987:1: ruleDouble0 : ( RULE_DOUBLE ) ; + // InternalRosSystem.g:1037:1: ruleDouble0 : ( RULE_DOUBLE ) ; public final void ruleDouble0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:991:2: ( ( RULE_DOUBLE ) ) - // InternalRosSystem.g:992:2: ( RULE_DOUBLE ) + // InternalRosSystem.g:1041:2: ( ( RULE_DOUBLE ) ) + // InternalRosSystem.g:1042:2: ( RULE_DOUBLE ) { - // InternalRosSystem.g:992:2: ( RULE_DOUBLE ) - // InternalRosSystem.g:993:3: RULE_DOUBLE + // InternalRosSystem.g:1042:2: ( RULE_DOUBLE ) + // InternalRosSystem.g:1043:3: RULE_DOUBLE { before(grammarAccess.getDouble0Access().getDOUBLETerminalRuleCall()); match(input,RULE_DOUBLE,FOLLOW_2); @@ -3035,11 +3193,11 @@ public final void ruleDouble0() throws RecognitionException { // $ANTLR start "entryRuleInteger0" - // InternalRosSystem.g:1003:1: entryRuleInteger0 : ruleInteger0 EOF ; + // InternalRosSystem.g:1053:1: entryRuleInteger0 : ruleInteger0 EOF ; public final void entryRuleInteger0() throws RecognitionException { try { - // InternalRosSystem.g:1004:1: ( ruleInteger0 EOF ) - // InternalRosSystem.g:1005:1: ruleInteger0 EOF + // InternalRosSystem.g:1054:1: ( ruleInteger0 EOF ) + // InternalRosSystem.g:1055:1: ruleInteger0 EOF { before(grammarAccess.getInteger0Rule()); pushFollow(FOLLOW_1); @@ -3065,17 +3223,17 @@ public final void entryRuleInteger0() throws RecognitionException { // $ANTLR start "ruleInteger0" - // InternalRosSystem.g:1012:1: ruleInteger0 : ( RULE_DECINT ) ; + // InternalRosSystem.g:1062:1: ruleInteger0 : ( RULE_DECINT ) ; public final void ruleInteger0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1016:2: ( ( RULE_DECINT ) ) - // InternalRosSystem.g:1017:2: ( RULE_DECINT ) + // InternalRosSystem.g:1066:2: ( ( RULE_DECINT ) ) + // InternalRosSystem.g:1067:2: ( RULE_DECINT ) { - // InternalRosSystem.g:1017:2: ( RULE_DECINT ) - // InternalRosSystem.g:1018:3: RULE_DECINT + // InternalRosSystem.g:1067:2: ( RULE_DECINT ) + // InternalRosSystem.g:1068:3: RULE_DECINT { before(grammarAccess.getInteger0Access().getDECINTTerminalRuleCall()); match(input,RULE_DECINT,FOLLOW_2); @@ -3102,11 +3260,11 @@ public final void ruleInteger0() throws RecognitionException { // $ANTLR start "entryRuleDateTime0" - // InternalRosSystem.g:1028:1: entryRuleDateTime0 : ruleDateTime0 EOF ; + // InternalRosSystem.g:1078:1: entryRuleDateTime0 : ruleDateTime0 EOF ; public final void entryRuleDateTime0() throws RecognitionException { try { - // InternalRosSystem.g:1029:1: ( ruleDateTime0 EOF ) - // InternalRosSystem.g:1030:1: ruleDateTime0 EOF + // InternalRosSystem.g:1079:1: ( ruleDateTime0 EOF ) + // InternalRosSystem.g:1080:1: ruleDateTime0 EOF { before(grammarAccess.getDateTime0Rule()); pushFollow(FOLLOW_1); @@ -3132,17 +3290,17 @@ public final void entryRuleDateTime0() throws RecognitionException { // $ANTLR start "ruleDateTime0" - // InternalRosSystem.g:1037:1: ruleDateTime0 : ( RULE_DATE_TIME ) ; + // InternalRosSystem.g:1087:1: ruleDateTime0 : ( RULE_DATE_TIME ) ; public final void ruleDateTime0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1041:2: ( ( RULE_DATE_TIME ) ) - // InternalRosSystem.g:1042:2: ( RULE_DATE_TIME ) + // InternalRosSystem.g:1091:2: ( ( RULE_DATE_TIME ) ) + // InternalRosSystem.g:1092:2: ( RULE_DATE_TIME ) { - // InternalRosSystem.g:1042:2: ( RULE_DATE_TIME ) - // InternalRosSystem.g:1043:3: RULE_DATE_TIME + // InternalRosSystem.g:1092:2: ( RULE_DATE_TIME ) + // InternalRosSystem.g:1093:3: RULE_DATE_TIME { before(grammarAccess.getDateTime0Access().getDATE_TIMETerminalRuleCall()); match(input,RULE_DATE_TIME,FOLLOW_2); @@ -3169,11 +3327,11 @@ public final void ruleDateTime0() throws RecognitionException { // $ANTLR start "entryRuleNamespace" - // InternalRosSystem.g:1053:1: entryRuleNamespace : ruleNamespace EOF ; + // InternalRosSystem.g:1103:1: entryRuleNamespace : ruleNamespace EOF ; public final void entryRuleNamespace() throws RecognitionException { try { - // InternalRosSystem.g:1054:1: ( ruleNamespace EOF ) - // InternalRosSystem.g:1055:1: ruleNamespace EOF + // InternalRosSystem.g:1104:1: ( ruleNamespace EOF ) + // InternalRosSystem.g:1105:1: ruleNamespace EOF { before(grammarAccess.getNamespaceRule()); pushFollow(FOLLOW_1); @@ -3199,21 +3357,21 @@ public final void entryRuleNamespace() throws RecognitionException { // $ANTLR start "ruleNamespace" - // InternalRosSystem.g:1062:1: ruleNamespace : ( ( rule__Namespace__Alternatives ) ) ; + // InternalRosSystem.g:1112:1: ruleNamespace : ( ( rule__Namespace__Alternatives ) ) ; public final void ruleNamespace() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1066:2: ( ( ( rule__Namespace__Alternatives ) ) ) - // InternalRosSystem.g:1067:2: ( ( rule__Namespace__Alternatives ) ) + // InternalRosSystem.g:1116:2: ( ( ( rule__Namespace__Alternatives ) ) ) + // InternalRosSystem.g:1117:2: ( ( rule__Namespace__Alternatives ) ) { - // InternalRosSystem.g:1067:2: ( ( rule__Namespace__Alternatives ) ) - // InternalRosSystem.g:1068:3: ( rule__Namespace__Alternatives ) + // InternalRosSystem.g:1117:2: ( ( rule__Namespace__Alternatives ) ) + // InternalRosSystem.g:1118:3: ( rule__Namespace__Alternatives ) { before(grammarAccess.getNamespaceAccess().getAlternatives()); - // InternalRosSystem.g:1069:3: ( rule__Namespace__Alternatives ) - // InternalRosSystem.g:1069:4: rule__Namespace__Alternatives + // InternalRosSystem.g:1119:3: ( rule__Namespace__Alternatives ) + // InternalRosSystem.g:1119:4: rule__Namespace__Alternatives { pushFollow(FOLLOW_2); rule__Namespace__Alternatives(); @@ -3246,11 +3404,11 @@ public final void ruleNamespace() throws RecognitionException { // $ANTLR start "entryRuleGlobalNamespace" - // InternalRosSystem.g:1078:1: entryRuleGlobalNamespace : ruleGlobalNamespace EOF ; + // InternalRosSystem.g:1128:1: entryRuleGlobalNamespace : ruleGlobalNamespace EOF ; public final void entryRuleGlobalNamespace() throws RecognitionException { try { - // InternalRosSystem.g:1079:1: ( ruleGlobalNamespace EOF ) - // InternalRosSystem.g:1080:1: ruleGlobalNamespace EOF + // InternalRosSystem.g:1129:1: ( ruleGlobalNamespace EOF ) + // InternalRosSystem.g:1130:1: ruleGlobalNamespace EOF { before(grammarAccess.getGlobalNamespaceRule()); pushFollow(FOLLOW_1); @@ -3276,21 +3434,21 @@ public final void entryRuleGlobalNamespace() throws RecognitionException { // $ANTLR start "ruleGlobalNamespace" - // InternalRosSystem.g:1087:1: ruleGlobalNamespace : ( ( rule__GlobalNamespace__Group__0 ) ) ; + // InternalRosSystem.g:1137:1: ruleGlobalNamespace : ( ( rule__GlobalNamespace__Group__0 ) ) ; public final void ruleGlobalNamespace() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1091:2: ( ( ( rule__GlobalNamespace__Group__0 ) ) ) - // InternalRosSystem.g:1092:2: ( ( rule__GlobalNamespace__Group__0 ) ) + // InternalRosSystem.g:1141:2: ( ( ( rule__GlobalNamespace__Group__0 ) ) ) + // InternalRosSystem.g:1142:2: ( ( rule__GlobalNamespace__Group__0 ) ) { - // InternalRosSystem.g:1092:2: ( ( rule__GlobalNamespace__Group__0 ) ) - // InternalRosSystem.g:1093:3: ( rule__GlobalNamespace__Group__0 ) + // InternalRosSystem.g:1142:2: ( ( rule__GlobalNamespace__Group__0 ) ) + // InternalRosSystem.g:1143:3: ( rule__GlobalNamespace__Group__0 ) { before(grammarAccess.getGlobalNamespaceAccess().getGroup()); - // InternalRosSystem.g:1094:3: ( rule__GlobalNamespace__Group__0 ) - // InternalRosSystem.g:1094:4: rule__GlobalNamespace__Group__0 + // InternalRosSystem.g:1144:3: ( rule__GlobalNamespace__Group__0 ) + // InternalRosSystem.g:1144:4: rule__GlobalNamespace__Group__0 { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group__0(); @@ -3323,11 +3481,11 @@ public final void ruleGlobalNamespace() throws RecognitionException { // $ANTLR start "entryRuleRelativeNamespace_Impl" - // InternalRosSystem.g:1103:1: entryRuleRelativeNamespace_Impl : ruleRelativeNamespace_Impl EOF ; + // InternalRosSystem.g:1153:1: entryRuleRelativeNamespace_Impl : ruleRelativeNamespace_Impl EOF ; public final void entryRuleRelativeNamespace_Impl() throws RecognitionException { try { - // InternalRosSystem.g:1104:1: ( ruleRelativeNamespace_Impl EOF ) - // InternalRosSystem.g:1105:1: ruleRelativeNamespace_Impl EOF + // InternalRosSystem.g:1154:1: ( ruleRelativeNamespace_Impl EOF ) + // InternalRosSystem.g:1155:1: ruleRelativeNamespace_Impl EOF { before(grammarAccess.getRelativeNamespace_ImplRule()); pushFollow(FOLLOW_1); @@ -3353,21 +3511,21 @@ public final void entryRuleRelativeNamespace_Impl() throws RecognitionException // $ANTLR start "ruleRelativeNamespace_Impl" - // InternalRosSystem.g:1112:1: ruleRelativeNamespace_Impl : ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ; + // InternalRosSystem.g:1162:1: ruleRelativeNamespace_Impl : ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ; public final void ruleRelativeNamespace_Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1116:2: ( ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ) - // InternalRosSystem.g:1117:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) + // InternalRosSystem.g:1166:2: ( ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ) + // InternalRosSystem.g:1167:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) { - // InternalRosSystem.g:1117:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) - // InternalRosSystem.g:1118:3: ( rule__RelativeNamespace_Impl__Group__0 ) + // InternalRosSystem.g:1167:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) + // InternalRosSystem.g:1168:3: ( rule__RelativeNamespace_Impl__Group__0 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup()); - // InternalRosSystem.g:1119:3: ( rule__RelativeNamespace_Impl__Group__0 ) - // InternalRosSystem.g:1119:4: rule__RelativeNamespace_Impl__Group__0 + // InternalRosSystem.g:1169:3: ( rule__RelativeNamespace_Impl__Group__0 ) + // InternalRosSystem.g:1169:4: rule__RelativeNamespace_Impl__Group__0 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group__0(); @@ -3400,11 +3558,11 @@ public final void ruleRelativeNamespace_Impl() throws RecognitionException { // $ANTLR start "entryRulePrivateNamespace" - // InternalRosSystem.g:1128:1: entryRulePrivateNamespace : rulePrivateNamespace EOF ; + // InternalRosSystem.g:1178:1: entryRulePrivateNamespace : rulePrivateNamespace EOF ; public final void entryRulePrivateNamespace() throws RecognitionException { try { - // InternalRosSystem.g:1129:1: ( rulePrivateNamespace EOF ) - // InternalRosSystem.g:1130:1: rulePrivateNamespace EOF + // InternalRosSystem.g:1179:1: ( rulePrivateNamespace EOF ) + // InternalRosSystem.g:1180:1: rulePrivateNamespace EOF { before(grammarAccess.getPrivateNamespaceRule()); pushFollow(FOLLOW_1); @@ -3430,21 +3588,21 @@ public final void entryRulePrivateNamespace() throws RecognitionException { // $ANTLR start "rulePrivateNamespace" - // InternalRosSystem.g:1137:1: rulePrivateNamespace : ( ( rule__PrivateNamespace__Group__0 ) ) ; + // InternalRosSystem.g:1187:1: rulePrivateNamespace : ( ( rule__PrivateNamespace__Group__0 ) ) ; public final void rulePrivateNamespace() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1141:2: ( ( ( rule__PrivateNamespace__Group__0 ) ) ) - // InternalRosSystem.g:1142:2: ( ( rule__PrivateNamespace__Group__0 ) ) + // InternalRosSystem.g:1191:2: ( ( ( rule__PrivateNamespace__Group__0 ) ) ) + // InternalRosSystem.g:1192:2: ( ( rule__PrivateNamespace__Group__0 ) ) { - // InternalRosSystem.g:1142:2: ( ( rule__PrivateNamespace__Group__0 ) ) - // InternalRosSystem.g:1143:3: ( rule__PrivateNamespace__Group__0 ) + // InternalRosSystem.g:1192:2: ( ( rule__PrivateNamespace__Group__0 ) ) + // InternalRosSystem.g:1193:3: ( rule__PrivateNamespace__Group__0 ) { before(grammarAccess.getPrivateNamespaceAccess().getGroup()); - // InternalRosSystem.g:1144:3: ( rule__PrivateNamespace__Group__0 ) - // InternalRosSystem.g:1144:4: rule__PrivateNamespace__Group__0 + // InternalRosSystem.g:1194:3: ( rule__PrivateNamespace__Group__0 ) + // InternalRosSystem.g:1194:4: rule__PrivateNamespace__Group__0 { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group__0(); @@ -3477,11 +3635,11 @@ public final void rulePrivateNamespace() throws RecognitionException { // $ANTLR start "entryRuleGraphName" - // InternalRosSystem.g:1153:1: entryRuleGraphName : ruleGraphName EOF ; + // InternalRosSystem.g:1203:1: entryRuleGraphName : ruleGraphName EOF ; public final void entryRuleGraphName() throws RecognitionException { try { - // InternalRosSystem.g:1154:1: ( ruleGraphName EOF ) - // InternalRosSystem.g:1155:1: ruleGraphName EOF + // InternalRosSystem.g:1204:1: ( ruleGraphName EOF ) + // InternalRosSystem.g:1205:1: ruleGraphName EOF { before(grammarAccess.getGraphNameRule()); pushFollow(FOLLOW_1); @@ -3507,17 +3665,17 @@ public final void entryRuleGraphName() throws RecognitionException { // $ANTLR start "ruleGraphName" - // InternalRosSystem.g:1162:1: ruleGraphName : ( 'GraphName' ) ; + // InternalRosSystem.g:1212:1: ruleGraphName : ( 'GraphName' ) ; public final void ruleGraphName() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1166:2: ( ( 'GraphName' ) ) - // InternalRosSystem.g:1167:2: ( 'GraphName' ) + // InternalRosSystem.g:1216:2: ( ( 'GraphName' ) ) + // InternalRosSystem.g:1217:2: ( 'GraphName' ) { - // InternalRosSystem.g:1167:2: ( 'GraphName' ) - // InternalRosSystem.g:1168:3: 'GraphName' + // InternalRosSystem.g:1217:2: ( 'GraphName' ) + // InternalRosSystem.g:1218:3: 'GraphName' { before(grammarAccess.getGraphNameAccess().getGraphNameKeyword()); match(input,22,FOLLOW_2); @@ -3544,13 +3702,13 @@ public final void ruleGraphName() throws RecognitionException { // $ANTLR start "rule__EString__Alternatives" - // InternalRosSystem.g:1177:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) ); + // InternalRosSystem.g:1227:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) ); public final void rule__EString__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1181:1: ( ( RULE_STRING ) | ( RULE_ID ) ) + // InternalRosSystem.g:1231:1: ( ( RULE_STRING ) | ( RULE_ID ) ) int alt1=2; int LA1_0 = input.LA(1); @@ -3568,10 +3726,10 @@ else if ( (LA1_0==RULE_ID) ) { } switch (alt1) { case 1 : - // InternalRosSystem.g:1182:2: ( RULE_STRING ) + // InternalRosSystem.g:1232:2: ( RULE_STRING ) { - // InternalRosSystem.g:1182:2: ( RULE_STRING ) - // InternalRosSystem.g:1183:3: RULE_STRING + // InternalRosSystem.g:1232:2: ( RULE_STRING ) + // InternalRosSystem.g:1233:3: RULE_STRING { before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); match(input,RULE_STRING,FOLLOW_2); @@ -3583,10 +3741,10 @@ else if ( (LA1_0==RULE_ID) ) { } break; case 2 : - // InternalRosSystem.g:1188:2: ( RULE_ID ) + // InternalRosSystem.g:1238:2: ( RULE_ID ) { - // InternalRosSystem.g:1188:2: ( RULE_ID ) - // InternalRosSystem.g:1189:3: RULE_ID + // InternalRosSystem.g:1238:2: ( RULE_ID ) + // InternalRosSystem.g:1239:3: RULE_ID { before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); match(input,RULE_ID,FOLLOW_2); @@ -3615,51 +3773,51 @@ else if ( (LA1_0==RULE_ID) ) { // $ANTLR start "rule__ParameterType__Alternatives" - // InternalRosSystem.g:1198:1: rule__ParameterType__Alternatives : ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ); + // InternalRosSystem.g:1248:1: rule__ParameterType__Alternatives : ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ); public final void rule__ParameterType__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1202:1: ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ) + // InternalRosSystem.g:1252:1: ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ) int alt2=8; switch ( input.LA(1) ) { - case 67: + case 71: { alt2=1; } break; - case 68: + case 72: { alt2=2; } break; - case 69: + case 73: { alt2=3; } break; - case 71: + case 75: { alt2=4; } break; - case 72: + case 76: { alt2=5; } break; - case 73: + case 77: { alt2=6; } break; - case 74: + case 78: { alt2=7; } break; - case 75: + case 79: { alt2=8; } @@ -3673,10 +3831,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio switch (alt2) { case 1 : - // InternalRosSystem.g:1203:2: ( ruleParameterListType ) + // InternalRosSystem.g:1253:2: ( ruleParameterListType ) { - // InternalRosSystem.g:1203:2: ( ruleParameterListType ) - // InternalRosSystem.g:1204:3: ruleParameterListType + // InternalRosSystem.g:1253:2: ( ruleParameterListType ) + // InternalRosSystem.g:1254:3: ruleParameterListType { before(grammarAccess.getParameterTypeAccess().getParameterListTypeParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -3692,10 +3850,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 2 : - // InternalRosSystem.g:1209:2: ( ruleParameterStructType ) + // InternalRosSystem.g:1259:2: ( ruleParameterStructType ) { - // InternalRosSystem.g:1209:2: ( ruleParameterStructType ) - // InternalRosSystem.g:1210:3: ruleParameterStructType + // InternalRosSystem.g:1259:2: ( ruleParameterStructType ) + // InternalRosSystem.g:1260:3: ruleParameterStructType { before(grammarAccess.getParameterTypeAccess().getParameterStructTypeParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -3711,10 +3869,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 3 : - // InternalRosSystem.g:1215:2: ( ruleParameterIntegerType ) + // InternalRosSystem.g:1265:2: ( ruleParameterIntegerType ) { - // InternalRosSystem.g:1215:2: ( ruleParameterIntegerType ) - // InternalRosSystem.g:1216:3: ruleParameterIntegerType + // InternalRosSystem.g:1265:2: ( ruleParameterIntegerType ) + // InternalRosSystem.g:1266:3: ruleParameterIntegerType { before(grammarAccess.getParameterTypeAccess().getParameterIntegerTypeParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -3730,10 +3888,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 4 : - // InternalRosSystem.g:1221:2: ( ruleParameterStringType ) + // InternalRosSystem.g:1271:2: ( ruleParameterStringType ) { - // InternalRosSystem.g:1221:2: ( ruleParameterStringType ) - // InternalRosSystem.g:1222:3: ruleParameterStringType + // InternalRosSystem.g:1271:2: ( ruleParameterStringType ) + // InternalRosSystem.g:1272:3: ruleParameterStringType { before(grammarAccess.getParameterTypeAccess().getParameterStringTypeParserRuleCall_3()); pushFollow(FOLLOW_2); @@ -3749,10 +3907,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 5 : - // InternalRosSystem.g:1227:2: ( ruleParameterDoubleType ) + // InternalRosSystem.g:1277:2: ( ruleParameterDoubleType ) { - // InternalRosSystem.g:1227:2: ( ruleParameterDoubleType ) - // InternalRosSystem.g:1228:3: ruleParameterDoubleType + // InternalRosSystem.g:1277:2: ( ruleParameterDoubleType ) + // InternalRosSystem.g:1278:3: ruleParameterDoubleType { before(grammarAccess.getParameterTypeAccess().getParameterDoubleTypeParserRuleCall_4()); pushFollow(FOLLOW_2); @@ -3768,10 +3926,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 6 : - // InternalRosSystem.g:1233:2: ( ruleParameterBooleanType ) + // InternalRosSystem.g:1283:2: ( ruleParameterBooleanType ) { - // InternalRosSystem.g:1233:2: ( ruleParameterBooleanType ) - // InternalRosSystem.g:1234:3: ruleParameterBooleanType + // InternalRosSystem.g:1283:2: ( ruleParameterBooleanType ) + // InternalRosSystem.g:1284:3: ruleParameterBooleanType { before(grammarAccess.getParameterTypeAccess().getParameterBooleanTypeParserRuleCall_5()); pushFollow(FOLLOW_2); @@ -3787,10 +3945,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 7 : - // InternalRosSystem.g:1239:2: ( ruleParameterBase64Type ) + // InternalRosSystem.g:1289:2: ( ruleParameterBase64Type ) { - // InternalRosSystem.g:1239:2: ( ruleParameterBase64Type ) - // InternalRosSystem.g:1240:3: ruleParameterBase64Type + // InternalRosSystem.g:1289:2: ( ruleParameterBase64Type ) + // InternalRosSystem.g:1290:3: ruleParameterBase64Type { before(grammarAccess.getParameterTypeAccess().getParameterBase64TypeParserRuleCall_6()); pushFollow(FOLLOW_2); @@ -3806,10 +3964,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 8 : - // InternalRosSystem.g:1245:2: ( ruleParameterArrayType ) + // InternalRosSystem.g:1295:2: ( ruleParameterArrayType ) { - // InternalRosSystem.g:1245:2: ( ruleParameterArrayType ) - // InternalRosSystem.g:1246:3: ruleParameterArrayType + // InternalRosSystem.g:1295:2: ( ruleParameterArrayType ) + // InternalRosSystem.g:1296:3: ruleParameterArrayType { before(grammarAccess.getParameterTypeAccess().getParameterArrayTypeParserRuleCall_7()); pushFollow(FOLLOW_2); @@ -3842,21 +4000,21 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio // $ANTLR start "rule__ParameterValue__Alternatives" - // InternalRosSystem.g:1255:1: rule__ParameterValue__Alternatives : ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ); + // InternalRosSystem.g:1305:1: rule__ParameterValue__Alternatives : ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ); public final void rule__ParameterValue__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1259:1: ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ) + // InternalRosSystem.g:1309:1: ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ) int alt3=7; alt3 = dfa3.predict(input); switch (alt3) { case 1 : - // InternalRosSystem.g:1260:2: ( ruleParameterString ) + // InternalRosSystem.g:1310:2: ( ruleParameterString ) { - // InternalRosSystem.g:1260:2: ( ruleParameterString ) - // InternalRosSystem.g:1261:3: ruleParameterString + // InternalRosSystem.g:1310:2: ( ruleParameterString ) + // InternalRosSystem.g:1311:3: ruleParameterString { before(grammarAccess.getParameterValueAccess().getParameterStringParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -3872,10 +4030,10 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti } break; case 2 : - // InternalRosSystem.g:1266:2: ( ruleParameterBase64 ) + // InternalRosSystem.g:1316:2: ( ruleParameterBase64 ) { - // InternalRosSystem.g:1266:2: ( ruleParameterBase64 ) - // InternalRosSystem.g:1267:3: ruleParameterBase64 + // InternalRosSystem.g:1316:2: ( ruleParameterBase64 ) + // InternalRosSystem.g:1317:3: ruleParameterBase64 { before(grammarAccess.getParameterValueAccess().getParameterBase64ParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -3891,10 +4049,10 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti } break; case 3 : - // InternalRosSystem.g:1272:2: ( ruleParameterInteger ) + // InternalRosSystem.g:1322:2: ( ruleParameterInteger ) { - // InternalRosSystem.g:1272:2: ( ruleParameterInteger ) - // InternalRosSystem.g:1273:3: ruleParameterInteger + // InternalRosSystem.g:1322:2: ( ruleParameterInteger ) + // InternalRosSystem.g:1323:3: ruleParameterInteger { before(grammarAccess.getParameterValueAccess().getParameterIntegerParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -3910,10 +4068,10 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti } break; case 4 : - // InternalRosSystem.g:1278:2: ( ruleParameterDouble ) + // InternalRosSystem.g:1328:2: ( ruleParameterDouble ) { - // InternalRosSystem.g:1278:2: ( ruleParameterDouble ) - // InternalRosSystem.g:1279:3: ruleParameterDouble + // InternalRosSystem.g:1328:2: ( ruleParameterDouble ) + // InternalRosSystem.g:1329:3: ruleParameterDouble { before(grammarAccess.getParameterValueAccess().getParameterDoubleParserRuleCall_3()); pushFollow(FOLLOW_2); @@ -3929,10 +4087,10 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti } break; case 5 : - // InternalRosSystem.g:1284:2: ( ruleParameterBoolean ) + // InternalRosSystem.g:1334:2: ( ruleParameterBoolean ) { - // InternalRosSystem.g:1284:2: ( ruleParameterBoolean ) - // InternalRosSystem.g:1285:3: ruleParameterBoolean + // InternalRosSystem.g:1334:2: ( ruleParameterBoolean ) + // InternalRosSystem.g:1335:3: ruleParameterBoolean { before(grammarAccess.getParameterValueAccess().getParameterBooleanParserRuleCall_4()); pushFollow(FOLLOW_2); @@ -3948,10 +4106,10 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti } break; case 6 : - // InternalRosSystem.g:1290:2: ( ruleParameterList ) + // InternalRosSystem.g:1340:2: ( ruleParameterList ) { - // InternalRosSystem.g:1290:2: ( ruleParameterList ) - // InternalRosSystem.g:1291:3: ruleParameterList + // InternalRosSystem.g:1340:2: ( ruleParameterList ) + // InternalRosSystem.g:1341:3: ruleParameterList { before(grammarAccess.getParameterValueAccess().getParameterListParserRuleCall_5()); pushFollow(FOLLOW_2); @@ -3967,10 +4125,10 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti } break; case 7 : - // InternalRosSystem.g:1296:2: ( ruleParameterStruct ) + // InternalRosSystem.g:1346:2: ( ruleParameterStruct ) { - // InternalRosSystem.g:1296:2: ( ruleParameterStruct ) - // InternalRosSystem.g:1297:3: ruleParameterStruct + // InternalRosSystem.g:1346:2: ( ruleParameterStruct ) + // InternalRosSystem.g:1347:3: ruleParameterStruct { before(grammarAccess.getParameterValueAccess().getParameterStructParserRuleCall_6()); pushFollow(FOLLOW_2); @@ -4003,26 +4161,26 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti // $ANTLR start "rule__Namespace__Alternatives" - // InternalRosSystem.g:1306:1: rule__Namespace__Alternatives : ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ); + // InternalRosSystem.g:1356:1: rule__Namespace__Alternatives : ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ); public final void rule__Namespace__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1310:1: ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ) + // InternalRosSystem.g:1360:1: ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ) int alt4=3; switch ( input.LA(1) ) { - case 77: + case 81: { alt4=1; } break; - case 79: + case 83: { alt4=2; } break; - case 80: + case 84: { alt4=3; } @@ -4036,10 +4194,10 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { switch (alt4) { case 1 : - // InternalRosSystem.g:1311:2: ( ruleGlobalNamespace ) + // InternalRosSystem.g:1361:2: ( ruleGlobalNamespace ) { - // InternalRosSystem.g:1311:2: ( ruleGlobalNamespace ) - // InternalRosSystem.g:1312:3: ruleGlobalNamespace + // InternalRosSystem.g:1361:2: ( ruleGlobalNamespace ) + // InternalRosSystem.g:1362:3: ruleGlobalNamespace { before(grammarAccess.getNamespaceAccess().getGlobalNamespaceParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -4055,10 +4213,10 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { } break; case 2 : - // InternalRosSystem.g:1317:2: ( ruleRelativeNamespace_Impl ) + // InternalRosSystem.g:1367:2: ( ruleRelativeNamespace_Impl ) { - // InternalRosSystem.g:1317:2: ( ruleRelativeNamespace_Impl ) - // InternalRosSystem.g:1318:3: ruleRelativeNamespace_Impl + // InternalRosSystem.g:1367:2: ( ruleRelativeNamespace_Impl ) + // InternalRosSystem.g:1368:3: ruleRelativeNamespace_Impl { before(grammarAccess.getNamespaceAccess().getRelativeNamespace_ImplParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -4074,10 +4232,10 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { } break; case 3 : - // InternalRosSystem.g:1323:2: ( rulePrivateNamespace ) + // InternalRosSystem.g:1373:2: ( rulePrivateNamespace ) { - // InternalRosSystem.g:1323:2: ( rulePrivateNamespace ) - // InternalRosSystem.g:1324:3: rulePrivateNamespace + // InternalRosSystem.g:1373:2: ( rulePrivateNamespace ) + // InternalRosSystem.g:1374:3: rulePrivateNamespace { before(grammarAccess.getNamespaceAccess().getPrivateNamespaceParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -4110,14 +4268,14 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__0" - // InternalRosSystem.g:1333:1: rule__RosSystem__Group__0 : rule__RosSystem__Group__0__Impl rule__RosSystem__Group__1 ; + // InternalRosSystem.g:1383:1: rule__RosSystem__Group__0 : rule__RosSystem__Group__0__Impl rule__RosSystem__Group__1 ; public final void rule__RosSystem__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1337:1: ( rule__RosSystem__Group__0__Impl rule__RosSystem__Group__1 ) - // InternalRosSystem.g:1338:2: rule__RosSystem__Group__0__Impl rule__RosSystem__Group__1 + // InternalRosSystem.g:1387:1: ( rule__RosSystem__Group__0__Impl rule__RosSystem__Group__1 ) + // InternalRosSystem.g:1388:2: rule__RosSystem__Group__0__Impl rule__RosSystem__Group__1 { pushFollow(FOLLOW_3); rule__RosSystem__Group__0__Impl(); @@ -4148,21 +4306,21 @@ public final void rule__RosSystem__Group__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__0__Impl" - // InternalRosSystem.g:1345:1: rule__RosSystem__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:1395:1: rule__RosSystem__Group__0__Impl : ( () ) ; public final void rule__RosSystem__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1349:1: ( ( () ) ) - // InternalRosSystem.g:1350:1: ( () ) + // InternalRosSystem.g:1399:1: ( ( () ) ) + // InternalRosSystem.g:1400:1: ( () ) { - // InternalRosSystem.g:1350:1: ( () ) - // InternalRosSystem.g:1351:2: () + // InternalRosSystem.g:1400:1: ( () ) + // InternalRosSystem.g:1401:2: () { before(grammarAccess.getRosSystemAccess().getRosSystemAction_0()); - // InternalRosSystem.g:1352:2: () - // InternalRosSystem.g:1352:3: + // InternalRosSystem.g:1402:2: () + // InternalRosSystem.g:1402:3: { } @@ -4185,14 +4343,14 @@ public final void rule__RosSystem__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__1" - // InternalRosSystem.g:1360:1: rule__RosSystem__Group__1 : rule__RosSystem__Group__1__Impl rule__RosSystem__Group__2 ; + // InternalRosSystem.g:1410:1: rule__RosSystem__Group__1 : rule__RosSystem__Group__1__Impl rule__RosSystem__Group__2 ; public final void rule__RosSystem__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1364:1: ( rule__RosSystem__Group__1__Impl rule__RosSystem__Group__2 ) - // InternalRosSystem.g:1365:2: rule__RosSystem__Group__1__Impl rule__RosSystem__Group__2 + // InternalRosSystem.g:1414:1: ( rule__RosSystem__Group__1__Impl rule__RosSystem__Group__2 ) + // InternalRosSystem.g:1415:2: rule__RosSystem__Group__1__Impl rule__RosSystem__Group__2 { pushFollow(FOLLOW_4); rule__RosSystem__Group__1__Impl(); @@ -4223,17 +4381,17 @@ public final void rule__RosSystem__Group__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__1__Impl" - // InternalRosSystem.g:1372:1: rule__RosSystem__Group__1__Impl : ( 'RosSystem' ) ; + // InternalRosSystem.g:1422:1: rule__RosSystem__Group__1__Impl : ( 'RosSystem' ) ; public final void rule__RosSystem__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1376:1: ( ( 'RosSystem' ) ) - // InternalRosSystem.g:1377:1: ( 'RosSystem' ) + // InternalRosSystem.g:1426:1: ( ( 'RosSystem' ) ) + // InternalRosSystem.g:1427:1: ( 'RosSystem' ) { - // InternalRosSystem.g:1377:1: ( 'RosSystem' ) - // InternalRosSystem.g:1378:2: 'RosSystem' + // InternalRosSystem.g:1427:1: ( 'RosSystem' ) + // InternalRosSystem.g:1428:2: 'RosSystem' { before(grammarAccess.getRosSystemAccess().getRosSystemKeyword_1()); match(input,23,FOLLOW_2); @@ -4260,14 +4418,14 @@ public final void rule__RosSystem__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__2" - // InternalRosSystem.g:1387:1: rule__RosSystem__Group__2 : rule__RosSystem__Group__2__Impl rule__RosSystem__Group__3 ; + // InternalRosSystem.g:1437:1: rule__RosSystem__Group__2 : rule__RosSystem__Group__2__Impl rule__RosSystem__Group__3 ; public final void rule__RosSystem__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1391:1: ( rule__RosSystem__Group__2__Impl rule__RosSystem__Group__3 ) - // InternalRosSystem.g:1392:2: rule__RosSystem__Group__2__Impl rule__RosSystem__Group__3 + // InternalRosSystem.g:1441:1: ( rule__RosSystem__Group__2__Impl rule__RosSystem__Group__3 ) + // InternalRosSystem.g:1442:2: rule__RosSystem__Group__2__Impl rule__RosSystem__Group__3 { pushFollow(FOLLOW_5); rule__RosSystem__Group__2__Impl(); @@ -4298,17 +4456,17 @@ public final void rule__RosSystem__Group__2() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__2__Impl" - // InternalRosSystem.g:1399:1: rule__RosSystem__Group__2__Impl : ( '{' ) ; + // InternalRosSystem.g:1449:1: rule__RosSystem__Group__2__Impl : ( '{' ) ; public final void rule__RosSystem__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1403:1: ( ( '{' ) ) - // InternalRosSystem.g:1404:1: ( '{' ) + // InternalRosSystem.g:1453:1: ( ( '{' ) ) + // InternalRosSystem.g:1454:1: ( '{' ) { - // InternalRosSystem.g:1404:1: ( '{' ) - // InternalRosSystem.g:1405:2: '{' + // InternalRosSystem.g:1454:1: ( '{' ) + // InternalRosSystem.g:1455:2: '{' { before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_2()); match(input,24,FOLLOW_2); @@ -4335,14 +4493,14 @@ public final void rule__RosSystem__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__3" - // InternalRosSystem.g:1414:1: rule__RosSystem__Group__3 : rule__RosSystem__Group__3__Impl rule__RosSystem__Group__4 ; + // InternalRosSystem.g:1464:1: rule__RosSystem__Group__3 : rule__RosSystem__Group__3__Impl rule__RosSystem__Group__4 ; public final void rule__RosSystem__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1418:1: ( rule__RosSystem__Group__3__Impl rule__RosSystem__Group__4 ) - // InternalRosSystem.g:1419:2: rule__RosSystem__Group__3__Impl rule__RosSystem__Group__4 + // InternalRosSystem.g:1468:1: ( rule__RosSystem__Group__3__Impl rule__RosSystem__Group__4 ) + // InternalRosSystem.g:1469:2: rule__RosSystem__Group__3__Impl rule__RosSystem__Group__4 { pushFollow(FOLLOW_6); rule__RosSystem__Group__3__Impl(); @@ -4373,17 +4531,17 @@ public final void rule__RosSystem__Group__3() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__3__Impl" - // InternalRosSystem.g:1426:1: rule__RosSystem__Group__3__Impl : ( 'Name' ) ; + // InternalRosSystem.g:1476:1: rule__RosSystem__Group__3__Impl : ( 'Name' ) ; public final void rule__RosSystem__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1430:1: ( ( 'Name' ) ) - // InternalRosSystem.g:1431:1: ( 'Name' ) + // InternalRosSystem.g:1480:1: ( ( 'Name' ) ) + // InternalRosSystem.g:1481:1: ( 'Name' ) { - // InternalRosSystem.g:1431:1: ( 'Name' ) - // InternalRosSystem.g:1432:2: 'Name' + // InternalRosSystem.g:1481:1: ( 'Name' ) + // InternalRosSystem.g:1482:2: 'Name' { before(grammarAccess.getRosSystemAccess().getNameKeyword_3()); match(input,25,FOLLOW_2); @@ -4410,14 +4568,14 @@ public final void rule__RosSystem__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__4" - // InternalRosSystem.g:1441:1: rule__RosSystem__Group__4 : rule__RosSystem__Group__4__Impl rule__RosSystem__Group__5 ; + // InternalRosSystem.g:1491:1: rule__RosSystem__Group__4 : rule__RosSystem__Group__4__Impl rule__RosSystem__Group__5 ; public final void rule__RosSystem__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1445:1: ( rule__RosSystem__Group__4__Impl rule__RosSystem__Group__5 ) - // InternalRosSystem.g:1446:2: rule__RosSystem__Group__4__Impl rule__RosSystem__Group__5 + // InternalRosSystem.g:1495:1: ( rule__RosSystem__Group__4__Impl rule__RosSystem__Group__5 ) + // InternalRosSystem.g:1496:2: rule__RosSystem__Group__4__Impl rule__RosSystem__Group__5 { pushFollow(FOLLOW_7); rule__RosSystem__Group__4__Impl(); @@ -4448,21 +4606,21 @@ public final void rule__RosSystem__Group__4() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__4__Impl" - // InternalRosSystem.g:1453:1: rule__RosSystem__Group__4__Impl : ( ( rule__RosSystem__NameAssignment_4 ) ) ; + // InternalRosSystem.g:1503:1: rule__RosSystem__Group__4__Impl : ( ( rule__RosSystem__NameAssignment_4 ) ) ; public final void rule__RosSystem__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1457:1: ( ( ( rule__RosSystem__NameAssignment_4 ) ) ) - // InternalRosSystem.g:1458:1: ( ( rule__RosSystem__NameAssignment_4 ) ) + // InternalRosSystem.g:1507:1: ( ( ( rule__RosSystem__NameAssignment_4 ) ) ) + // InternalRosSystem.g:1508:1: ( ( rule__RosSystem__NameAssignment_4 ) ) { - // InternalRosSystem.g:1458:1: ( ( rule__RosSystem__NameAssignment_4 ) ) - // InternalRosSystem.g:1459:2: ( rule__RosSystem__NameAssignment_4 ) + // InternalRosSystem.g:1508:1: ( ( rule__RosSystem__NameAssignment_4 ) ) + // InternalRosSystem.g:1509:2: ( rule__RosSystem__NameAssignment_4 ) { before(grammarAccess.getRosSystemAccess().getNameAssignment_4()); - // InternalRosSystem.g:1460:2: ( rule__RosSystem__NameAssignment_4 ) - // InternalRosSystem.g:1460:3: rule__RosSystem__NameAssignment_4 + // InternalRosSystem.g:1510:2: ( rule__RosSystem__NameAssignment_4 ) + // InternalRosSystem.g:1510:3: rule__RosSystem__NameAssignment_4 { pushFollow(FOLLOW_2); rule__RosSystem__NameAssignment_4(); @@ -4495,14 +4653,14 @@ public final void rule__RosSystem__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__5" - // InternalRosSystem.g:1468:1: rule__RosSystem__Group__5 : rule__RosSystem__Group__5__Impl rule__RosSystem__Group__6 ; + // InternalRosSystem.g:1518:1: rule__RosSystem__Group__5 : rule__RosSystem__Group__5__Impl rule__RosSystem__Group__6 ; public final void rule__RosSystem__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1472:1: ( rule__RosSystem__Group__5__Impl rule__RosSystem__Group__6 ) - // InternalRosSystem.g:1473:2: rule__RosSystem__Group__5__Impl rule__RosSystem__Group__6 + // InternalRosSystem.g:1522:1: ( rule__RosSystem__Group__5__Impl rule__RosSystem__Group__6 ) + // InternalRosSystem.g:1523:2: rule__RosSystem__Group__5__Impl rule__RosSystem__Group__6 { pushFollow(FOLLOW_7); rule__RosSystem__Group__5__Impl(); @@ -4533,20 +4691,20 @@ public final void rule__RosSystem__Group__5() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__5__Impl" - // InternalRosSystem.g:1480:1: rule__RosSystem__Group__5__Impl : ( ( rule__RosSystem__Group_5__0 )? ) ; + // InternalRosSystem.g:1530:1: rule__RosSystem__Group__5__Impl : ( ( rule__RosSystem__Group_5__0 )? ) ; public final void rule__RosSystem__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1484:1: ( ( ( rule__RosSystem__Group_5__0 )? ) ) - // InternalRosSystem.g:1485:1: ( ( rule__RosSystem__Group_5__0 )? ) + // InternalRosSystem.g:1534:1: ( ( ( rule__RosSystem__Group_5__0 )? ) ) + // InternalRosSystem.g:1535:1: ( ( rule__RosSystem__Group_5__0 )? ) { - // InternalRosSystem.g:1485:1: ( ( rule__RosSystem__Group_5__0 )? ) - // InternalRosSystem.g:1486:2: ( rule__RosSystem__Group_5__0 )? + // InternalRosSystem.g:1535:1: ( ( rule__RosSystem__Group_5__0 )? ) + // InternalRosSystem.g:1536:2: ( rule__RosSystem__Group_5__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_5()); - // InternalRosSystem.g:1487:2: ( rule__RosSystem__Group_5__0 )? + // InternalRosSystem.g:1537:2: ( rule__RosSystem__Group_5__0 )? int alt5=2; int LA5_0 = input.LA(1); @@ -4555,7 +4713,7 @@ public final void rule__RosSystem__Group__5__Impl() throws RecognitionException } switch (alt5) { case 1 : - // InternalRosSystem.g:1487:3: rule__RosSystem__Group_5__0 + // InternalRosSystem.g:1537:3: rule__RosSystem__Group_5__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_5__0(); @@ -4591,14 +4749,14 @@ public final void rule__RosSystem__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__6" - // InternalRosSystem.g:1495:1: rule__RosSystem__Group__6 : rule__RosSystem__Group__6__Impl rule__RosSystem__Group__7 ; + // InternalRosSystem.g:1545:1: rule__RosSystem__Group__6 : rule__RosSystem__Group__6__Impl rule__RosSystem__Group__7 ; public final void rule__RosSystem__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1499:1: ( rule__RosSystem__Group__6__Impl rule__RosSystem__Group__7 ) - // InternalRosSystem.g:1500:2: rule__RosSystem__Group__6__Impl rule__RosSystem__Group__7 + // InternalRosSystem.g:1549:1: ( rule__RosSystem__Group__6__Impl rule__RosSystem__Group__7 ) + // InternalRosSystem.g:1550:2: rule__RosSystem__Group__6__Impl rule__RosSystem__Group__7 { pushFollow(FOLLOW_7); rule__RosSystem__Group__6__Impl(); @@ -4629,20 +4787,20 @@ public final void rule__RosSystem__Group__6() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__6__Impl" - // InternalRosSystem.g:1507:1: rule__RosSystem__Group__6__Impl : ( ( rule__RosSystem__Group_6__0 )? ) ; + // InternalRosSystem.g:1557:1: rule__RosSystem__Group__6__Impl : ( ( rule__RosSystem__Group_6__0 )? ) ; public final void rule__RosSystem__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1511:1: ( ( ( rule__RosSystem__Group_6__0 )? ) ) - // InternalRosSystem.g:1512:1: ( ( rule__RosSystem__Group_6__0 )? ) + // InternalRosSystem.g:1561:1: ( ( ( rule__RosSystem__Group_6__0 )? ) ) + // InternalRosSystem.g:1562:1: ( ( rule__RosSystem__Group_6__0 )? ) { - // InternalRosSystem.g:1512:1: ( ( rule__RosSystem__Group_6__0 )? ) - // InternalRosSystem.g:1513:2: ( rule__RosSystem__Group_6__0 )? + // InternalRosSystem.g:1562:1: ( ( rule__RosSystem__Group_6__0 )? ) + // InternalRosSystem.g:1563:2: ( rule__RosSystem__Group_6__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_6()); - // InternalRosSystem.g:1514:2: ( rule__RosSystem__Group_6__0 )? + // InternalRosSystem.g:1564:2: ( rule__RosSystem__Group_6__0 )? int alt6=2; int LA6_0 = input.LA(1); @@ -4651,7 +4809,7 @@ public final void rule__RosSystem__Group__6__Impl() throws RecognitionException } switch (alt6) { case 1 : - // InternalRosSystem.g:1514:3: rule__RosSystem__Group_6__0 + // InternalRosSystem.g:1564:3: rule__RosSystem__Group_6__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_6__0(); @@ -4687,14 +4845,14 @@ public final void rule__RosSystem__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__7" - // InternalRosSystem.g:1522:1: rule__RosSystem__Group__7 : rule__RosSystem__Group__7__Impl rule__RosSystem__Group__8 ; + // InternalRosSystem.g:1572:1: rule__RosSystem__Group__7 : rule__RosSystem__Group__7__Impl rule__RosSystem__Group__8 ; public final void rule__RosSystem__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1526:1: ( rule__RosSystem__Group__7__Impl rule__RosSystem__Group__8 ) - // InternalRosSystem.g:1527:2: rule__RosSystem__Group__7__Impl rule__RosSystem__Group__8 + // InternalRosSystem.g:1576:1: ( rule__RosSystem__Group__7__Impl rule__RosSystem__Group__8 ) + // InternalRosSystem.g:1577:2: rule__RosSystem__Group__7__Impl rule__RosSystem__Group__8 { pushFollow(FOLLOW_7); rule__RosSystem__Group__7__Impl(); @@ -4725,20 +4883,20 @@ public final void rule__RosSystem__Group__7() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__7__Impl" - // InternalRosSystem.g:1534:1: rule__RosSystem__Group__7__Impl : ( ( rule__RosSystem__Group_7__0 )? ) ; + // InternalRosSystem.g:1584:1: rule__RosSystem__Group__7__Impl : ( ( rule__RosSystem__Group_7__0 )? ) ; public final void rule__RosSystem__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1538:1: ( ( ( rule__RosSystem__Group_7__0 )? ) ) - // InternalRosSystem.g:1539:1: ( ( rule__RosSystem__Group_7__0 )? ) + // InternalRosSystem.g:1588:1: ( ( ( rule__RosSystem__Group_7__0 )? ) ) + // InternalRosSystem.g:1589:1: ( ( rule__RosSystem__Group_7__0 )? ) { - // InternalRosSystem.g:1539:1: ( ( rule__RosSystem__Group_7__0 )? ) - // InternalRosSystem.g:1540:2: ( rule__RosSystem__Group_7__0 )? + // InternalRosSystem.g:1589:1: ( ( rule__RosSystem__Group_7__0 )? ) + // InternalRosSystem.g:1590:2: ( rule__RosSystem__Group_7__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_7()); - // InternalRosSystem.g:1541:2: ( rule__RosSystem__Group_7__0 )? + // InternalRosSystem.g:1591:2: ( rule__RosSystem__Group_7__0 )? int alt7=2; int LA7_0 = input.LA(1); @@ -4747,7 +4905,7 @@ public final void rule__RosSystem__Group__7__Impl() throws RecognitionException } switch (alt7) { case 1 : - // InternalRosSystem.g:1541:3: rule__RosSystem__Group_7__0 + // InternalRosSystem.g:1591:3: rule__RosSystem__Group_7__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_7__0(); @@ -4783,14 +4941,14 @@ public final void rule__RosSystem__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__8" - // InternalRosSystem.g:1549:1: rule__RosSystem__Group__8 : rule__RosSystem__Group__8__Impl rule__RosSystem__Group__9 ; + // InternalRosSystem.g:1599:1: rule__RosSystem__Group__8 : rule__RosSystem__Group__8__Impl rule__RosSystem__Group__9 ; public final void rule__RosSystem__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1553:1: ( rule__RosSystem__Group__8__Impl rule__RosSystem__Group__9 ) - // InternalRosSystem.g:1554:2: rule__RosSystem__Group__8__Impl rule__RosSystem__Group__9 + // InternalRosSystem.g:1603:1: ( rule__RosSystem__Group__8__Impl rule__RosSystem__Group__9 ) + // InternalRosSystem.g:1604:2: rule__RosSystem__Group__8__Impl rule__RosSystem__Group__9 { pushFollow(FOLLOW_7); rule__RosSystem__Group__8__Impl(); @@ -4821,20 +4979,20 @@ public final void rule__RosSystem__Group__8() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__8__Impl" - // InternalRosSystem.g:1561:1: rule__RosSystem__Group__8__Impl : ( ( rule__RosSystem__Group_8__0 )? ) ; + // InternalRosSystem.g:1611:1: rule__RosSystem__Group__8__Impl : ( ( rule__RosSystem__Group_8__0 )? ) ; public final void rule__RosSystem__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1565:1: ( ( ( rule__RosSystem__Group_8__0 )? ) ) - // InternalRosSystem.g:1566:1: ( ( rule__RosSystem__Group_8__0 )? ) + // InternalRosSystem.g:1615:1: ( ( ( rule__RosSystem__Group_8__0 )? ) ) + // InternalRosSystem.g:1616:1: ( ( rule__RosSystem__Group_8__0 )? ) { - // InternalRosSystem.g:1566:1: ( ( rule__RosSystem__Group_8__0 )? ) - // InternalRosSystem.g:1567:2: ( rule__RosSystem__Group_8__0 )? + // InternalRosSystem.g:1616:1: ( ( rule__RosSystem__Group_8__0 )? ) + // InternalRosSystem.g:1617:2: ( rule__RosSystem__Group_8__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_8()); - // InternalRosSystem.g:1568:2: ( rule__RosSystem__Group_8__0 )? + // InternalRosSystem.g:1618:2: ( rule__RosSystem__Group_8__0 )? int alt8=2; int LA8_0 = input.LA(1); @@ -4843,7 +5001,7 @@ public final void rule__RosSystem__Group__8__Impl() throws RecognitionException } switch (alt8) { case 1 : - // InternalRosSystem.g:1568:3: rule__RosSystem__Group_8__0 + // InternalRosSystem.g:1618:3: rule__RosSystem__Group_8__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_8__0(); @@ -4879,14 +5037,14 @@ public final void rule__RosSystem__Group__8__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__9" - // InternalRosSystem.g:1576:1: rule__RosSystem__Group__9 : rule__RosSystem__Group__9__Impl rule__RosSystem__Group__10 ; + // InternalRosSystem.g:1626:1: rule__RosSystem__Group__9 : rule__RosSystem__Group__9__Impl rule__RosSystem__Group__10 ; public final void rule__RosSystem__Group__9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1580:1: ( rule__RosSystem__Group__9__Impl rule__RosSystem__Group__10 ) - // InternalRosSystem.g:1581:2: rule__RosSystem__Group__9__Impl rule__RosSystem__Group__10 + // InternalRosSystem.g:1630:1: ( rule__RosSystem__Group__9__Impl rule__RosSystem__Group__10 ) + // InternalRosSystem.g:1631:2: rule__RosSystem__Group__9__Impl rule__RosSystem__Group__10 { pushFollow(FOLLOW_7); rule__RosSystem__Group__9__Impl(); @@ -4917,20 +5075,20 @@ public final void rule__RosSystem__Group__9() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__9__Impl" - // InternalRosSystem.g:1588:1: rule__RosSystem__Group__9__Impl : ( ( rule__RosSystem__Group_9__0 )? ) ; + // InternalRosSystem.g:1638:1: rule__RosSystem__Group__9__Impl : ( ( rule__RosSystem__Group_9__0 )? ) ; public final void rule__RosSystem__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1592:1: ( ( ( rule__RosSystem__Group_9__0 )? ) ) - // InternalRosSystem.g:1593:1: ( ( rule__RosSystem__Group_9__0 )? ) + // InternalRosSystem.g:1642:1: ( ( ( rule__RosSystem__Group_9__0 )? ) ) + // InternalRosSystem.g:1643:1: ( ( rule__RosSystem__Group_9__0 )? ) { - // InternalRosSystem.g:1593:1: ( ( rule__RosSystem__Group_9__0 )? ) - // InternalRosSystem.g:1594:2: ( rule__RosSystem__Group_9__0 )? + // InternalRosSystem.g:1643:1: ( ( rule__RosSystem__Group_9__0 )? ) + // InternalRosSystem.g:1644:2: ( rule__RosSystem__Group_9__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_9()); - // InternalRosSystem.g:1595:2: ( rule__RosSystem__Group_9__0 )? + // InternalRosSystem.g:1645:2: ( rule__RosSystem__Group_9__0 )? int alt9=2; int LA9_0 = input.LA(1); @@ -4939,7 +5097,7 @@ public final void rule__RosSystem__Group__9__Impl() throws RecognitionException } switch (alt9) { case 1 : - // InternalRosSystem.g:1595:3: rule__RosSystem__Group_9__0 + // InternalRosSystem.g:1645:3: rule__RosSystem__Group_9__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_9__0(); @@ -4975,20 +5133,25 @@ public final void rule__RosSystem__Group__9__Impl() throws RecognitionException // $ANTLR start "rule__RosSystem__Group__10" - // InternalRosSystem.g:1603:1: rule__RosSystem__Group__10 : rule__RosSystem__Group__10__Impl ; + // InternalRosSystem.g:1653:1: rule__RosSystem__Group__10 : rule__RosSystem__Group__10__Impl rule__RosSystem__Group__11 ; public final void rule__RosSystem__Group__10() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1607:1: ( rule__RosSystem__Group__10__Impl ) - // InternalRosSystem.g:1608:2: rule__RosSystem__Group__10__Impl + // InternalRosSystem.g:1657:1: ( rule__RosSystem__Group__10__Impl rule__RosSystem__Group__11 ) + // InternalRosSystem.g:1658:2: rule__RosSystem__Group__10__Impl rule__RosSystem__Group__11 { - pushFollow(FOLLOW_2); + pushFollow(FOLLOW_7); rule__RosSystem__Group__10__Impl(); state._fsp--; + pushFollow(FOLLOW_2); + rule__RosSystem__Group__11(); + + state._fsp--; + } @@ -5008,21 +5171,42 @@ public final void rule__RosSystem__Group__10() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group__10__Impl" - // InternalRosSystem.g:1614:1: rule__RosSystem__Group__10__Impl : ( '}' ) ; + // InternalRosSystem.g:1665:1: rule__RosSystem__Group__10__Impl : ( ( rule__RosSystem__Group_10__0 )? ) ; public final void rule__RosSystem__Group__10__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1618:1: ( ( '}' ) ) - // InternalRosSystem.g:1619:1: ( '}' ) + // InternalRosSystem.g:1669:1: ( ( ( rule__RosSystem__Group_10__0 )? ) ) + // InternalRosSystem.g:1670:1: ( ( rule__RosSystem__Group_10__0 )? ) { - // InternalRosSystem.g:1619:1: ( '}' ) - // InternalRosSystem.g:1620:2: '}' + // InternalRosSystem.g:1670:1: ( ( rule__RosSystem__Group_10__0 )? ) + // InternalRosSystem.g:1671:2: ( rule__RosSystem__Group_10__0 )? { - before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10()); - match(input,26,FOLLOW_2); - after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10()); + before(grammarAccess.getRosSystemAccess().getGroup_10()); + // InternalRosSystem.g:1672:2: ( rule__RosSystem__Group_10__0 )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==35) ) { + alt10=1; + } + switch (alt10) { + case 1 : + // InternalRosSystem.g:1672:3: rule__RosSystem__Group_10__0 + { + pushFollow(FOLLOW_2); + rule__RosSystem__Group_10__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getRosSystemAccess().getGroup_10()); } @@ -5044,15 +5228,85 @@ public final void rule__RosSystem__Group__10__Impl() throws RecognitionException // $ANTLR end "rule__RosSystem__Group__10__Impl" + // $ANTLR start "rule__RosSystem__Group__11" + // InternalRosSystem.g:1680:1: rule__RosSystem__Group__11 : rule__RosSystem__Group__11__Impl ; + public final void rule__RosSystem__Group__11() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:1684:1: ( rule__RosSystem__Group__11__Impl ) + // InternalRosSystem.g:1685:2: rule__RosSystem__Group__11__Impl + { + pushFollow(FOLLOW_2); + rule__RosSystem__Group__11__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__Group__11" + + + // $ANTLR start "rule__RosSystem__Group__11__Impl" + // InternalRosSystem.g:1691:1: rule__RosSystem__Group__11__Impl : ( '}' ) ; + public final void rule__RosSystem__Group__11__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:1695:1: ( ( '}' ) ) + // InternalRosSystem.g:1696:1: ( '}' ) + { + // InternalRosSystem.g:1696:1: ( '}' ) + // InternalRosSystem.g:1697:2: '}' + { + before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_11()); + match(input,26,FOLLOW_2); + after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_11()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__Group__11__Impl" + + // $ANTLR start "rule__RosSystem__Group_5__0" - // InternalRosSystem.g:1630:1: rule__RosSystem__Group_5__0 : rule__RosSystem__Group_5__0__Impl rule__RosSystem__Group_5__1 ; + // InternalRosSystem.g:1707:1: rule__RosSystem__Group_5__0 : rule__RosSystem__Group_5__0__Impl rule__RosSystem__Group_5__1 ; public final void rule__RosSystem__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1634:1: ( rule__RosSystem__Group_5__0__Impl rule__RosSystem__Group_5__1 ) - // InternalRosSystem.g:1635:2: rule__RosSystem__Group_5__0__Impl rule__RosSystem__Group_5__1 + // InternalRosSystem.g:1711:1: ( rule__RosSystem__Group_5__0__Impl rule__RosSystem__Group_5__1 ) + // InternalRosSystem.g:1712:2: rule__RosSystem__Group_5__0__Impl rule__RosSystem__Group_5__1 { pushFollow(FOLLOW_8); rule__RosSystem__Group_5__0__Impl(); @@ -5083,17 +5337,17 @@ public final void rule__RosSystem__Group_5__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_5__0__Impl" - // InternalRosSystem.g:1642:1: rule__RosSystem__Group_5__0__Impl : ( 'RosComponents' ) ; + // InternalRosSystem.g:1719:1: rule__RosSystem__Group_5__0__Impl : ( 'RosComponents' ) ; public final void rule__RosSystem__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1646:1: ( ( 'RosComponents' ) ) - // InternalRosSystem.g:1647:1: ( 'RosComponents' ) + // InternalRosSystem.g:1723:1: ( ( 'RosComponents' ) ) + // InternalRosSystem.g:1724:1: ( 'RosComponents' ) { - // InternalRosSystem.g:1647:1: ( 'RosComponents' ) - // InternalRosSystem.g:1648:2: 'RosComponents' + // InternalRosSystem.g:1724:1: ( 'RosComponents' ) + // InternalRosSystem.g:1725:2: 'RosComponents' { before(grammarAccess.getRosSystemAccess().getRosComponentsKeyword_5_0()); match(input,27,FOLLOW_2); @@ -5120,14 +5374,14 @@ public final void rule__RosSystem__Group_5__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_5__1" - // InternalRosSystem.g:1657:1: rule__RosSystem__Group_5__1 : rule__RosSystem__Group_5__1__Impl rule__RosSystem__Group_5__2 ; + // InternalRosSystem.g:1734:1: rule__RosSystem__Group_5__1 : rule__RosSystem__Group_5__1__Impl rule__RosSystem__Group_5__2 ; public final void rule__RosSystem__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1661:1: ( rule__RosSystem__Group_5__1__Impl rule__RosSystem__Group_5__2 ) - // InternalRosSystem.g:1662:2: rule__RosSystem__Group_5__1__Impl rule__RosSystem__Group_5__2 + // InternalRosSystem.g:1738:1: ( rule__RosSystem__Group_5__1__Impl rule__RosSystem__Group_5__2 ) + // InternalRosSystem.g:1739:2: rule__RosSystem__Group_5__1__Impl rule__RosSystem__Group_5__2 { pushFollow(FOLLOW_9); rule__RosSystem__Group_5__1__Impl(); @@ -5158,17 +5412,17 @@ public final void rule__RosSystem__Group_5__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_5__1__Impl" - // InternalRosSystem.g:1669:1: rule__RosSystem__Group_5__1__Impl : ( '(' ) ; + // InternalRosSystem.g:1746:1: rule__RosSystem__Group_5__1__Impl : ( '(' ) ; public final void rule__RosSystem__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1673:1: ( ( '(' ) ) - // InternalRosSystem.g:1674:1: ( '(' ) + // InternalRosSystem.g:1750:1: ( ( '(' ) ) + // InternalRosSystem.g:1751:1: ( '(' ) { - // InternalRosSystem.g:1674:1: ( '(' ) - // InternalRosSystem.g:1675:2: '(' + // InternalRosSystem.g:1751:1: ( '(' ) + // InternalRosSystem.g:1752:2: '(' { before(grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_5_1()); match(input,28,FOLLOW_2); @@ -5195,14 +5449,14 @@ public final void rule__RosSystem__Group_5__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_5__2" - // InternalRosSystem.g:1684:1: rule__RosSystem__Group_5__2 : rule__RosSystem__Group_5__2__Impl rule__RosSystem__Group_5__3 ; + // InternalRosSystem.g:1761:1: rule__RosSystem__Group_5__2 : rule__RosSystem__Group_5__2__Impl rule__RosSystem__Group_5__3 ; public final void rule__RosSystem__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1688:1: ( rule__RosSystem__Group_5__2__Impl rule__RosSystem__Group_5__3 ) - // InternalRosSystem.g:1689:2: rule__RosSystem__Group_5__2__Impl rule__RosSystem__Group_5__3 + // InternalRosSystem.g:1765:1: ( rule__RosSystem__Group_5__2__Impl rule__RosSystem__Group_5__3 ) + // InternalRosSystem.g:1766:2: rule__RosSystem__Group_5__2__Impl rule__RosSystem__Group_5__3 { pushFollow(FOLLOW_9); rule__RosSystem__Group_5__2__Impl(); @@ -5233,29 +5487,29 @@ public final void rule__RosSystem__Group_5__2() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_5__2__Impl" - // InternalRosSystem.g:1696:1: rule__RosSystem__Group_5__2__Impl : ( ( rule__RosSystem__Group_5_2__0 )? ) ; + // InternalRosSystem.g:1773:1: rule__RosSystem__Group_5__2__Impl : ( ( rule__RosSystem__Group_5_2__0 )? ) ; public final void rule__RosSystem__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1700:1: ( ( ( rule__RosSystem__Group_5_2__0 )? ) ) - // InternalRosSystem.g:1701:1: ( ( rule__RosSystem__Group_5_2__0 )? ) + // InternalRosSystem.g:1777:1: ( ( ( rule__RosSystem__Group_5_2__0 )? ) ) + // InternalRosSystem.g:1778:1: ( ( rule__RosSystem__Group_5_2__0 )? ) { - // InternalRosSystem.g:1701:1: ( ( rule__RosSystem__Group_5_2__0 )? ) - // InternalRosSystem.g:1702:2: ( rule__RosSystem__Group_5_2__0 )? + // InternalRosSystem.g:1778:1: ( ( rule__RosSystem__Group_5_2__0 )? ) + // InternalRosSystem.g:1779:2: ( rule__RosSystem__Group_5_2__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_5_2()); - // InternalRosSystem.g:1703:2: ( rule__RosSystem__Group_5_2__0 )? - int alt10=2; - int LA10_0 = input.LA(1); + // InternalRosSystem.g:1780:2: ( rule__RosSystem__Group_5_2__0 )? + int alt11=2; + int LA11_0 = input.LA(1); - if ( (LA10_0==40) ) { - alt10=1; + if ( (LA11_0==47) ) { + alt11=1; } - switch (alt10) { + switch (alt11) { case 1 : - // InternalRosSystem.g:1703:3: rule__RosSystem__Group_5_2__0 + // InternalRosSystem.g:1780:3: rule__RosSystem__Group_5_2__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_5_2__0(); @@ -5291,14 +5545,14 @@ public final void rule__RosSystem__Group_5__2__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_5__3" - // InternalRosSystem.g:1711:1: rule__RosSystem__Group_5__3 : rule__RosSystem__Group_5__3__Impl ; + // InternalRosSystem.g:1788:1: rule__RosSystem__Group_5__3 : rule__RosSystem__Group_5__3__Impl ; public final void rule__RosSystem__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1715:1: ( rule__RosSystem__Group_5__3__Impl ) - // InternalRosSystem.g:1716:2: rule__RosSystem__Group_5__3__Impl + // InternalRosSystem.g:1792:1: ( rule__RosSystem__Group_5__3__Impl ) + // InternalRosSystem.g:1793:2: rule__RosSystem__Group_5__3__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_5__3__Impl(); @@ -5324,17 +5578,17 @@ public final void rule__RosSystem__Group_5__3() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_5__3__Impl" - // InternalRosSystem.g:1722:1: rule__RosSystem__Group_5__3__Impl : ( ')' ) ; + // InternalRosSystem.g:1799:1: rule__RosSystem__Group_5__3__Impl : ( ')' ) ; public final void rule__RosSystem__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1726:1: ( ( ')' ) ) - // InternalRosSystem.g:1727:1: ( ')' ) + // InternalRosSystem.g:1803:1: ( ( ')' ) ) + // InternalRosSystem.g:1804:1: ( ')' ) { - // InternalRosSystem.g:1727:1: ( ')' ) - // InternalRosSystem.g:1728:2: ')' + // InternalRosSystem.g:1804:1: ( ')' ) + // InternalRosSystem.g:1805:2: ')' { before(grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_5_3()); match(input,29,FOLLOW_2); @@ -5361,14 +5615,14 @@ public final void rule__RosSystem__Group_5__3__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_5_2__0" - // InternalRosSystem.g:1738:1: rule__RosSystem__Group_5_2__0 : rule__RosSystem__Group_5_2__0__Impl rule__RosSystem__Group_5_2__1 ; + // InternalRosSystem.g:1815:1: rule__RosSystem__Group_5_2__0 : rule__RosSystem__Group_5_2__0__Impl rule__RosSystem__Group_5_2__1 ; public final void rule__RosSystem__Group_5_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1742:1: ( rule__RosSystem__Group_5_2__0__Impl rule__RosSystem__Group_5_2__1 ) - // InternalRosSystem.g:1743:2: rule__RosSystem__Group_5_2__0__Impl rule__RosSystem__Group_5_2__1 + // InternalRosSystem.g:1819:1: ( rule__RosSystem__Group_5_2__0__Impl rule__RosSystem__Group_5_2__1 ) + // InternalRosSystem.g:1820:2: rule__RosSystem__Group_5_2__0__Impl rule__RosSystem__Group_5_2__1 { pushFollow(FOLLOW_10); rule__RosSystem__Group_5_2__0__Impl(); @@ -5399,21 +5653,21 @@ public final void rule__RosSystem__Group_5_2__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_5_2__0__Impl" - // InternalRosSystem.g:1750:1: rule__RosSystem__Group_5_2__0__Impl : ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) ; + // InternalRosSystem.g:1827:1: rule__RosSystem__Group_5_2__0__Impl : ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) ; public final void rule__RosSystem__Group_5_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1754:1: ( ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) ) - // InternalRosSystem.g:1755:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) + // InternalRosSystem.g:1831:1: ( ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) ) + // InternalRosSystem.g:1832:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) { - // InternalRosSystem.g:1755:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) - // InternalRosSystem.g:1756:2: ( rule__RosSystem__RosComponentAssignment_5_2_0 ) + // InternalRosSystem.g:1832:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_0 ) ) + // InternalRosSystem.g:1833:2: ( rule__RosSystem__RosComponentAssignment_5_2_0 ) { before(grammarAccess.getRosSystemAccess().getRosComponentAssignment_5_2_0()); - // InternalRosSystem.g:1757:2: ( rule__RosSystem__RosComponentAssignment_5_2_0 ) - // InternalRosSystem.g:1757:3: rule__RosSystem__RosComponentAssignment_5_2_0 + // InternalRosSystem.g:1834:2: ( rule__RosSystem__RosComponentAssignment_5_2_0 ) + // InternalRosSystem.g:1834:3: rule__RosSystem__RosComponentAssignment_5_2_0 { pushFollow(FOLLOW_2); rule__RosSystem__RosComponentAssignment_5_2_0(); @@ -5446,14 +5700,14 @@ public final void rule__RosSystem__Group_5_2__0__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_5_2__1" - // InternalRosSystem.g:1765:1: rule__RosSystem__Group_5_2__1 : rule__RosSystem__Group_5_2__1__Impl ; + // InternalRosSystem.g:1842:1: rule__RosSystem__Group_5_2__1 : rule__RosSystem__Group_5_2__1__Impl ; public final void rule__RosSystem__Group_5_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1769:1: ( rule__RosSystem__Group_5_2__1__Impl ) - // InternalRosSystem.g:1770:2: rule__RosSystem__Group_5_2__1__Impl + // InternalRosSystem.g:1846:1: ( rule__RosSystem__Group_5_2__1__Impl ) + // InternalRosSystem.g:1847:2: rule__RosSystem__Group_5_2__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_5_2__1__Impl(); @@ -5479,33 +5733,33 @@ public final void rule__RosSystem__Group_5_2__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_5_2__1__Impl" - // InternalRosSystem.g:1776:1: rule__RosSystem__Group_5_2__1__Impl : ( ( rule__RosSystem__Group_5_2_1__0 )* ) ; + // InternalRosSystem.g:1853:1: rule__RosSystem__Group_5_2__1__Impl : ( ( rule__RosSystem__Group_5_2_1__0 )* ) ; public final void rule__RosSystem__Group_5_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1780:1: ( ( ( rule__RosSystem__Group_5_2_1__0 )* ) ) - // InternalRosSystem.g:1781:1: ( ( rule__RosSystem__Group_5_2_1__0 )* ) + // InternalRosSystem.g:1857:1: ( ( ( rule__RosSystem__Group_5_2_1__0 )* ) ) + // InternalRosSystem.g:1858:1: ( ( rule__RosSystem__Group_5_2_1__0 )* ) { - // InternalRosSystem.g:1781:1: ( ( rule__RosSystem__Group_5_2_1__0 )* ) - // InternalRosSystem.g:1782:2: ( rule__RosSystem__Group_5_2_1__0 )* + // InternalRosSystem.g:1858:1: ( ( rule__RosSystem__Group_5_2_1__0 )* ) + // InternalRosSystem.g:1859:2: ( rule__RosSystem__Group_5_2_1__0 )* { before(grammarAccess.getRosSystemAccess().getGroup_5_2_1()); - // InternalRosSystem.g:1783:2: ( rule__RosSystem__Group_5_2_1__0 )* - loop11: + // InternalRosSystem.g:1860:2: ( rule__RosSystem__Group_5_2_1__0 )* + loop12: do { - int alt11=2; - int LA11_0 = input.LA(1); + int alt12=2; + int LA12_0 = input.LA(1); - if ( (LA11_0==30) ) { - alt11=1; + if ( (LA12_0==30) ) { + alt12=1; } - switch (alt11) { + switch (alt12) { case 1 : - // InternalRosSystem.g:1783:3: rule__RosSystem__Group_5_2_1__0 + // InternalRosSystem.g:1860:3: rule__RosSystem__Group_5_2_1__0 { pushFollow(FOLLOW_11); rule__RosSystem__Group_5_2_1__0(); @@ -5517,7 +5771,7 @@ public final void rule__RosSystem__Group_5_2__1__Impl() throws RecognitionExcept break; default : - break loop11; + break loop12; } } while (true); @@ -5544,14 +5798,14 @@ public final void rule__RosSystem__Group_5_2__1__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_5_2_1__0" - // InternalRosSystem.g:1792:1: rule__RosSystem__Group_5_2_1__0 : rule__RosSystem__Group_5_2_1__0__Impl rule__RosSystem__Group_5_2_1__1 ; + // InternalRosSystem.g:1869:1: rule__RosSystem__Group_5_2_1__0 : rule__RosSystem__Group_5_2_1__0__Impl rule__RosSystem__Group_5_2_1__1 ; public final void rule__RosSystem__Group_5_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1796:1: ( rule__RosSystem__Group_5_2_1__0__Impl rule__RosSystem__Group_5_2_1__1 ) - // InternalRosSystem.g:1797:2: rule__RosSystem__Group_5_2_1__0__Impl rule__RosSystem__Group_5_2_1__1 + // InternalRosSystem.g:1873:1: ( rule__RosSystem__Group_5_2_1__0__Impl rule__RosSystem__Group_5_2_1__1 ) + // InternalRosSystem.g:1874:2: rule__RosSystem__Group_5_2_1__0__Impl rule__RosSystem__Group_5_2_1__1 { pushFollow(FOLLOW_12); rule__RosSystem__Group_5_2_1__0__Impl(); @@ -5582,17 +5836,17 @@ public final void rule__RosSystem__Group_5_2_1__0() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_5_2_1__0__Impl" - // InternalRosSystem.g:1804:1: rule__RosSystem__Group_5_2_1__0__Impl : ( ',' ) ; + // InternalRosSystem.g:1881:1: rule__RosSystem__Group_5_2_1__0__Impl : ( ',' ) ; public final void rule__RosSystem__Group_5_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1808:1: ( ( ',' ) ) - // InternalRosSystem.g:1809:1: ( ',' ) + // InternalRosSystem.g:1885:1: ( ( ',' ) ) + // InternalRosSystem.g:1886:1: ( ',' ) { - // InternalRosSystem.g:1809:1: ( ',' ) - // InternalRosSystem.g:1810:2: ',' + // InternalRosSystem.g:1886:1: ( ',' ) + // InternalRosSystem.g:1887:2: ',' { before(grammarAccess.getRosSystemAccess().getCommaKeyword_5_2_1_0()); match(input,30,FOLLOW_2); @@ -5619,14 +5873,14 @@ public final void rule__RosSystem__Group_5_2_1__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_5_2_1__1" - // InternalRosSystem.g:1819:1: rule__RosSystem__Group_5_2_1__1 : rule__RosSystem__Group_5_2_1__1__Impl ; + // InternalRosSystem.g:1896:1: rule__RosSystem__Group_5_2_1__1 : rule__RosSystem__Group_5_2_1__1__Impl ; public final void rule__RosSystem__Group_5_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1823:1: ( rule__RosSystem__Group_5_2_1__1__Impl ) - // InternalRosSystem.g:1824:2: rule__RosSystem__Group_5_2_1__1__Impl + // InternalRosSystem.g:1900:1: ( rule__RosSystem__Group_5_2_1__1__Impl ) + // InternalRosSystem.g:1901:2: rule__RosSystem__Group_5_2_1__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_5_2_1__1__Impl(); @@ -5652,21 +5906,21 @@ public final void rule__RosSystem__Group_5_2_1__1() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_5_2_1__1__Impl" - // InternalRosSystem.g:1830:1: rule__RosSystem__Group_5_2_1__1__Impl : ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) ; + // InternalRosSystem.g:1907:1: rule__RosSystem__Group_5_2_1__1__Impl : ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) ; public final void rule__RosSystem__Group_5_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1834:1: ( ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) ) - // InternalRosSystem.g:1835:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) + // InternalRosSystem.g:1911:1: ( ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) ) + // InternalRosSystem.g:1912:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) { - // InternalRosSystem.g:1835:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) - // InternalRosSystem.g:1836:2: ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) + // InternalRosSystem.g:1912:1: ( ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) ) + // InternalRosSystem.g:1913:2: ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) { before(grammarAccess.getRosSystemAccess().getRosComponentAssignment_5_2_1_1()); - // InternalRosSystem.g:1837:2: ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) - // InternalRosSystem.g:1837:3: rule__RosSystem__RosComponentAssignment_5_2_1_1 + // InternalRosSystem.g:1914:2: ( rule__RosSystem__RosComponentAssignment_5_2_1_1 ) + // InternalRosSystem.g:1914:3: rule__RosSystem__RosComponentAssignment_5_2_1_1 { pushFollow(FOLLOW_2); rule__RosSystem__RosComponentAssignment_5_2_1_1(); @@ -5699,16 +5953,16 @@ public final void rule__RosSystem__Group_5_2_1__1__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_6__0" - // InternalRosSystem.g:1846:1: rule__RosSystem__Group_6__0 : rule__RosSystem__Group_6__0__Impl rule__RosSystem__Group_6__1 ; + // InternalRosSystem.g:1923:1: rule__RosSystem__Group_6__0 : rule__RosSystem__Group_6__0__Impl rule__RosSystem__Group_6__1 ; public final void rule__RosSystem__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1850:1: ( rule__RosSystem__Group_6__0__Impl rule__RosSystem__Group_6__1 ) - // InternalRosSystem.g:1851:2: rule__RosSystem__Group_6__0__Impl rule__RosSystem__Group_6__1 + // InternalRosSystem.g:1927:1: ( rule__RosSystem__Group_6__0__Impl rule__RosSystem__Group_6__1 ) + // InternalRosSystem.g:1928:2: rule__RosSystem__Group_6__0__Impl rule__RosSystem__Group_6__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_8); rule__RosSystem__Group_6__0__Impl(); state._fsp--; @@ -5737,21 +5991,21 @@ public final void rule__RosSystem__Group_6__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_6__0__Impl" - // InternalRosSystem.g:1858:1: rule__RosSystem__Group_6__0__Impl : ( 'TopicConnections' ) ; + // InternalRosSystem.g:1935:1: rule__RosSystem__Group_6__0__Impl : ( 'RosComponentStacks' ) ; public final void rule__RosSystem__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1862:1: ( ( 'TopicConnections' ) ) - // InternalRosSystem.g:1863:1: ( 'TopicConnections' ) + // InternalRosSystem.g:1939:1: ( ( 'RosComponentStacks' ) ) + // InternalRosSystem.g:1940:1: ( 'RosComponentStacks' ) { - // InternalRosSystem.g:1863:1: ( 'TopicConnections' ) - // InternalRosSystem.g:1864:2: 'TopicConnections' + // InternalRosSystem.g:1940:1: ( 'RosComponentStacks' ) + // InternalRosSystem.g:1941:2: 'RosComponentStacks' { - before(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_6_0()); + before(grammarAccess.getRosSystemAccess().getRosComponentStacksKeyword_6_0()); match(input,31,FOLLOW_2); - after(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_6_0()); + after(grammarAccess.getRosSystemAccess().getRosComponentStacksKeyword_6_0()); } @@ -5774,14 +6028,14 @@ public final void rule__RosSystem__Group_6__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_6__1" - // InternalRosSystem.g:1873:1: rule__RosSystem__Group_6__1 : rule__RosSystem__Group_6__1__Impl rule__RosSystem__Group_6__2 ; + // InternalRosSystem.g:1950:1: rule__RosSystem__Group_6__1 : rule__RosSystem__Group_6__1__Impl rule__RosSystem__Group_6__2 ; public final void rule__RosSystem__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1877:1: ( rule__RosSystem__Group_6__1__Impl rule__RosSystem__Group_6__2 ) - // InternalRosSystem.g:1878:2: rule__RosSystem__Group_6__1__Impl rule__RosSystem__Group_6__2 + // InternalRosSystem.g:1954:1: ( rule__RosSystem__Group_6__1__Impl rule__RosSystem__Group_6__2 ) + // InternalRosSystem.g:1955:2: rule__RosSystem__Group_6__1__Impl rule__RosSystem__Group_6__2 { pushFollow(FOLLOW_13); rule__RosSystem__Group_6__1__Impl(); @@ -5812,21 +6066,21 @@ public final void rule__RosSystem__Group_6__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_6__1__Impl" - // InternalRosSystem.g:1885:1: rule__RosSystem__Group_6__1__Impl : ( '{' ) ; + // InternalRosSystem.g:1962:1: rule__RosSystem__Group_6__1__Impl : ( '(' ) ; public final void rule__RosSystem__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1889:1: ( ( '{' ) ) - // InternalRosSystem.g:1890:1: ( '{' ) + // InternalRosSystem.g:1966:1: ( ( '(' ) ) + // InternalRosSystem.g:1967:1: ( '(' ) { - // InternalRosSystem.g:1890:1: ( '{' ) - // InternalRosSystem.g:1891:2: '{' + // InternalRosSystem.g:1967:1: ( '(' ) + // InternalRosSystem.g:1968:2: '(' { - before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_6_1()); - match(input,24,FOLLOW_2); - after(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_6_1()); + before(grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_6_1()); + match(input,28,FOLLOW_2); + after(grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_6_1()); } @@ -5849,14 +6103,14 @@ public final void rule__RosSystem__Group_6__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_6__2" - // InternalRosSystem.g:1900:1: rule__RosSystem__Group_6__2 : rule__RosSystem__Group_6__2__Impl rule__RosSystem__Group_6__3 ; + // InternalRosSystem.g:1977:1: rule__RosSystem__Group_6__2 : rule__RosSystem__Group_6__2__Impl rule__RosSystem__Group_6__3 ; public final void rule__RosSystem__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1904:1: ( rule__RosSystem__Group_6__2__Impl rule__RosSystem__Group_6__3 ) - // InternalRosSystem.g:1905:2: rule__RosSystem__Group_6__2__Impl rule__RosSystem__Group_6__3 + // InternalRosSystem.g:1981:1: ( rule__RosSystem__Group_6__2__Impl rule__RosSystem__Group_6__3 ) + // InternalRosSystem.g:1982:2: rule__RosSystem__Group_6__2__Impl rule__RosSystem__Group_6__3 { pushFollow(FOLLOW_13); rule__RosSystem__Group_6__2__Impl(); @@ -5887,29 +6141,29 @@ public final void rule__RosSystem__Group_6__2() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_6__2__Impl" - // InternalRosSystem.g:1912:1: rule__RosSystem__Group_6__2__Impl : ( ( rule__RosSystem__Group_6_2__0 )? ) ; + // InternalRosSystem.g:1989:1: rule__RosSystem__Group_6__2__Impl : ( ( rule__RosSystem__Group_6_2__0 )? ) ; public final void rule__RosSystem__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1916:1: ( ( ( rule__RosSystem__Group_6_2__0 )? ) ) - // InternalRosSystem.g:1917:1: ( ( rule__RosSystem__Group_6_2__0 )? ) + // InternalRosSystem.g:1993:1: ( ( ( rule__RosSystem__Group_6_2__0 )? ) ) + // InternalRosSystem.g:1994:1: ( ( rule__RosSystem__Group_6_2__0 )? ) { - // InternalRosSystem.g:1917:1: ( ( rule__RosSystem__Group_6_2__0 )? ) - // InternalRosSystem.g:1918:2: ( rule__RosSystem__Group_6_2__0 )? + // InternalRosSystem.g:1994:1: ( ( rule__RosSystem__Group_6_2__0 )? ) + // InternalRosSystem.g:1995:2: ( rule__RosSystem__Group_6_2__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_6_2()); - // InternalRosSystem.g:1919:2: ( rule__RosSystem__Group_6_2__0 )? - int alt12=2; - int LA12_0 = input.LA(1); + // InternalRosSystem.g:1996:2: ( rule__RosSystem__Group_6_2__0 )? + int alt13=2; + int LA13_0 = input.LA(1); - if ( (LA12_0==35) ) { - alt12=1; + if ( (LA13_0==41) ) { + alt13=1; } - switch (alt12) { + switch (alt13) { case 1 : - // InternalRosSystem.g:1919:3: rule__RosSystem__Group_6_2__0 + // InternalRosSystem.g:1996:3: rule__RosSystem__Group_6_2__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_6_2__0(); @@ -5945,14 +6199,14 @@ public final void rule__RosSystem__Group_6__2__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_6__3" - // InternalRosSystem.g:1927:1: rule__RosSystem__Group_6__3 : rule__RosSystem__Group_6__3__Impl ; + // InternalRosSystem.g:2004:1: rule__RosSystem__Group_6__3 : rule__RosSystem__Group_6__3__Impl ; public final void rule__RosSystem__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1931:1: ( rule__RosSystem__Group_6__3__Impl ) - // InternalRosSystem.g:1932:2: rule__RosSystem__Group_6__3__Impl + // InternalRosSystem.g:2008:1: ( rule__RosSystem__Group_6__3__Impl ) + // InternalRosSystem.g:2009:2: rule__RosSystem__Group_6__3__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_6__3__Impl(); @@ -5978,21 +6232,21 @@ public final void rule__RosSystem__Group_6__3() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_6__3__Impl" - // InternalRosSystem.g:1938:1: rule__RosSystem__Group_6__3__Impl : ( '}' ) ; + // InternalRosSystem.g:2015:1: rule__RosSystem__Group_6__3__Impl : ( ')' ) ; public final void rule__RosSystem__Group_6__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1942:1: ( ( '}' ) ) - // InternalRosSystem.g:1943:1: ( '}' ) + // InternalRosSystem.g:2019:1: ( ( ')' ) ) + // InternalRosSystem.g:2020:1: ( ')' ) { - // InternalRosSystem.g:1943:1: ( '}' ) - // InternalRosSystem.g:1944:2: '}' + // InternalRosSystem.g:2020:1: ( ')' ) + // InternalRosSystem.g:2021:2: ')' { - before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_6_3()); - match(input,26,FOLLOW_2); - after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_6_3()); + before(grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_6_3()); + match(input,29,FOLLOW_2); + after(grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_6_3()); } @@ -6015,14 +6269,14 @@ public final void rule__RosSystem__Group_6__3__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_6_2__0" - // InternalRosSystem.g:1954:1: rule__RosSystem__Group_6_2__0 : rule__RosSystem__Group_6_2__0__Impl rule__RosSystem__Group_6_2__1 ; + // InternalRosSystem.g:2031:1: rule__RosSystem__Group_6_2__0 : rule__RosSystem__Group_6_2__0__Impl rule__RosSystem__Group_6_2__1 ; public final void rule__RosSystem__Group_6_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1958:1: ( rule__RosSystem__Group_6_2__0__Impl rule__RosSystem__Group_6_2__1 ) - // InternalRosSystem.g:1959:2: rule__RosSystem__Group_6_2__0__Impl rule__RosSystem__Group_6_2__1 + // InternalRosSystem.g:2035:1: ( rule__RosSystem__Group_6_2__0__Impl rule__RosSystem__Group_6_2__1 ) + // InternalRosSystem.g:2036:2: rule__RosSystem__Group_6_2__0__Impl rule__RosSystem__Group_6_2__1 { pushFollow(FOLLOW_10); rule__RosSystem__Group_6_2__0__Impl(); @@ -6053,31 +6307,31 @@ public final void rule__RosSystem__Group_6_2__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_6_2__0__Impl" - // InternalRosSystem.g:1966:1: rule__RosSystem__Group_6_2__0__Impl : ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_0 ) ) ; + // InternalRosSystem.g:2043:1: rule__RosSystem__Group_6_2__0__Impl : ( ( rule__RosSystem__ComponentStackAssignment_6_2_0 ) ) ; public final void rule__RosSystem__Group_6_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1970:1: ( ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_0 ) ) ) - // InternalRosSystem.g:1971:1: ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_0 ) ) + // InternalRosSystem.g:2047:1: ( ( ( rule__RosSystem__ComponentStackAssignment_6_2_0 ) ) ) + // InternalRosSystem.g:2048:1: ( ( rule__RosSystem__ComponentStackAssignment_6_2_0 ) ) { - // InternalRosSystem.g:1971:1: ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_0 ) ) - // InternalRosSystem.g:1972:2: ( rule__RosSystem__TopicConnectionsAssignment_6_2_0 ) + // InternalRosSystem.g:2048:1: ( ( rule__RosSystem__ComponentStackAssignment_6_2_0 ) ) + // InternalRosSystem.g:2049:2: ( rule__RosSystem__ComponentStackAssignment_6_2_0 ) { - before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_0()); - // InternalRosSystem.g:1973:2: ( rule__RosSystem__TopicConnectionsAssignment_6_2_0 ) - // InternalRosSystem.g:1973:3: rule__RosSystem__TopicConnectionsAssignment_6_2_0 + before(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_0()); + // InternalRosSystem.g:2050:2: ( rule__RosSystem__ComponentStackAssignment_6_2_0 ) + // InternalRosSystem.g:2050:3: rule__RosSystem__ComponentStackAssignment_6_2_0 { pushFollow(FOLLOW_2); - rule__RosSystem__TopicConnectionsAssignment_6_2_0(); + rule__RosSystem__ComponentStackAssignment_6_2_0(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_0()); + after(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_0()); } @@ -6100,14 +6354,14 @@ public final void rule__RosSystem__Group_6_2__0__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_6_2__1" - // InternalRosSystem.g:1981:1: rule__RosSystem__Group_6_2__1 : rule__RosSystem__Group_6_2__1__Impl ; + // InternalRosSystem.g:2058:1: rule__RosSystem__Group_6_2__1 : rule__RosSystem__Group_6_2__1__Impl ; public final void rule__RosSystem__Group_6_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1985:1: ( rule__RosSystem__Group_6_2__1__Impl ) - // InternalRosSystem.g:1986:2: rule__RosSystem__Group_6_2__1__Impl + // InternalRosSystem.g:2062:1: ( rule__RosSystem__Group_6_2__1__Impl ) + // InternalRosSystem.g:2063:2: rule__RosSystem__Group_6_2__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_6_2__1__Impl(); @@ -6133,33 +6387,33 @@ public final void rule__RosSystem__Group_6_2__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_6_2__1__Impl" - // InternalRosSystem.g:1992:1: rule__RosSystem__Group_6_2__1__Impl : ( ( rule__RosSystem__Group_6_2_1__0 )* ) ; + // InternalRosSystem.g:2069:1: rule__RosSystem__Group_6_2__1__Impl : ( ( rule__RosSystem__Group_6_2_1__0 )* ) ; public final void rule__RosSystem__Group_6_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:1996:1: ( ( ( rule__RosSystem__Group_6_2_1__0 )* ) ) - // InternalRosSystem.g:1997:1: ( ( rule__RosSystem__Group_6_2_1__0 )* ) + // InternalRosSystem.g:2073:1: ( ( ( rule__RosSystem__Group_6_2_1__0 )* ) ) + // InternalRosSystem.g:2074:1: ( ( rule__RosSystem__Group_6_2_1__0 )* ) { - // InternalRosSystem.g:1997:1: ( ( rule__RosSystem__Group_6_2_1__0 )* ) - // InternalRosSystem.g:1998:2: ( rule__RosSystem__Group_6_2_1__0 )* + // InternalRosSystem.g:2074:1: ( ( rule__RosSystem__Group_6_2_1__0 )* ) + // InternalRosSystem.g:2075:2: ( rule__RosSystem__Group_6_2_1__0 )* { before(grammarAccess.getRosSystemAccess().getGroup_6_2_1()); - // InternalRosSystem.g:1999:2: ( rule__RosSystem__Group_6_2_1__0 )* - loop13: + // InternalRosSystem.g:2076:2: ( rule__RosSystem__Group_6_2_1__0 )* + loop14: do { - int alt13=2; - int LA13_0 = input.LA(1); + int alt14=2; + int LA14_0 = input.LA(1); - if ( (LA13_0==30) ) { - alt13=1; + if ( (LA14_0==30) ) { + alt14=1; } - switch (alt13) { + switch (alt14) { case 1 : - // InternalRosSystem.g:1999:3: rule__RosSystem__Group_6_2_1__0 + // InternalRosSystem.g:2076:3: rule__RosSystem__Group_6_2_1__0 { pushFollow(FOLLOW_11); rule__RosSystem__Group_6_2_1__0(); @@ -6171,7 +6425,7 @@ public final void rule__RosSystem__Group_6_2__1__Impl() throws RecognitionExcept break; default : - break loop13; + break loop14; } } while (true); @@ -6198,14 +6452,14 @@ public final void rule__RosSystem__Group_6_2__1__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_6_2_1__0" - // InternalRosSystem.g:2008:1: rule__RosSystem__Group_6_2_1__0 : rule__RosSystem__Group_6_2_1__0__Impl rule__RosSystem__Group_6_2_1__1 ; + // InternalRosSystem.g:2085:1: rule__RosSystem__Group_6_2_1__0 : rule__RosSystem__Group_6_2_1__0__Impl rule__RosSystem__Group_6_2_1__1 ; public final void rule__RosSystem__Group_6_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2012:1: ( rule__RosSystem__Group_6_2_1__0__Impl rule__RosSystem__Group_6_2_1__1 ) - // InternalRosSystem.g:2013:2: rule__RosSystem__Group_6_2_1__0__Impl rule__RosSystem__Group_6_2_1__1 + // InternalRosSystem.g:2089:1: ( rule__RosSystem__Group_6_2_1__0__Impl rule__RosSystem__Group_6_2_1__1 ) + // InternalRosSystem.g:2090:2: rule__RosSystem__Group_6_2_1__0__Impl rule__RosSystem__Group_6_2_1__1 { pushFollow(FOLLOW_14); rule__RosSystem__Group_6_2_1__0__Impl(); @@ -6236,17 +6490,17 @@ public final void rule__RosSystem__Group_6_2_1__0() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_6_2_1__0__Impl" - // InternalRosSystem.g:2020:1: rule__RosSystem__Group_6_2_1__0__Impl : ( ',' ) ; + // InternalRosSystem.g:2097:1: rule__RosSystem__Group_6_2_1__0__Impl : ( ',' ) ; public final void rule__RosSystem__Group_6_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2024:1: ( ( ',' ) ) - // InternalRosSystem.g:2025:1: ( ',' ) + // InternalRosSystem.g:2101:1: ( ( ',' ) ) + // InternalRosSystem.g:2102:1: ( ',' ) { - // InternalRosSystem.g:2025:1: ( ',' ) - // InternalRosSystem.g:2026:2: ',' + // InternalRosSystem.g:2102:1: ( ',' ) + // InternalRosSystem.g:2103:2: ',' { before(grammarAccess.getRosSystemAccess().getCommaKeyword_6_2_1_0()); match(input,30,FOLLOW_2); @@ -6273,14 +6527,14 @@ public final void rule__RosSystem__Group_6_2_1__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_6_2_1__1" - // InternalRosSystem.g:2035:1: rule__RosSystem__Group_6_2_1__1 : rule__RosSystem__Group_6_2_1__1__Impl ; + // InternalRosSystem.g:2112:1: rule__RosSystem__Group_6_2_1__1 : rule__RosSystem__Group_6_2_1__1__Impl ; public final void rule__RosSystem__Group_6_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2039:1: ( rule__RosSystem__Group_6_2_1__1__Impl ) - // InternalRosSystem.g:2040:2: rule__RosSystem__Group_6_2_1__1__Impl + // InternalRosSystem.g:2116:1: ( rule__RosSystem__Group_6_2_1__1__Impl ) + // InternalRosSystem.g:2117:2: rule__RosSystem__Group_6_2_1__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_6_2_1__1__Impl(); @@ -6306,31 +6560,31 @@ public final void rule__RosSystem__Group_6_2_1__1() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_6_2_1__1__Impl" - // InternalRosSystem.g:2046:1: rule__RosSystem__Group_6_2_1__1__Impl : ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 ) ) ; + // InternalRosSystem.g:2123:1: rule__RosSystem__Group_6_2_1__1__Impl : ( ( rule__RosSystem__ComponentStackAssignment_6_2_1_1 ) ) ; public final void rule__RosSystem__Group_6_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2050:1: ( ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 ) ) ) - // InternalRosSystem.g:2051:1: ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 ) ) + // InternalRosSystem.g:2127:1: ( ( ( rule__RosSystem__ComponentStackAssignment_6_2_1_1 ) ) ) + // InternalRosSystem.g:2128:1: ( ( rule__RosSystem__ComponentStackAssignment_6_2_1_1 ) ) { - // InternalRosSystem.g:2051:1: ( ( rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 ) ) - // InternalRosSystem.g:2052:2: ( rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 ) + // InternalRosSystem.g:2128:1: ( ( rule__RosSystem__ComponentStackAssignment_6_2_1_1 ) ) + // InternalRosSystem.g:2129:2: ( rule__RosSystem__ComponentStackAssignment_6_2_1_1 ) { - before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_1_1()); - // InternalRosSystem.g:2053:2: ( rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 ) - // InternalRosSystem.g:2053:3: rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 + before(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_1_1()); + // InternalRosSystem.g:2130:2: ( rule__RosSystem__ComponentStackAssignment_6_2_1_1 ) + // InternalRosSystem.g:2130:3: rule__RosSystem__ComponentStackAssignment_6_2_1_1 { pushFollow(FOLLOW_2); - rule__RosSystem__TopicConnectionsAssignment_6_2_1_1(); + rule__RosSystem__ComponentStackAssignment_6_2_1_1(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_6_2_1_1()); + after(grammarAccess.getRosSystemAccess().getComponentStackAssignment_6_2_1_1()); } @@ -6353,14 +6607,14 @@ public final void rule__RosSystem__Group_6_2_1__1__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_7__0" - // InternalRosSystem.g:2062:1: rule__RosSystem__Group_7__0 : rule__RosSystem__Group_7__0__Impl rule__RosSystem__Group_7__1 ; + // InternalRosSystem.g:2139:1: rule__RosSystem__Group_7__0 : rule__RosSystem__Group_7__0__Impl rule__RosSystem__Group_7__1 ; public final void rule__RosSystem__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2066:1: ( rule__RosSystem__Group_7__0__Impl rule__RosSystem__Group_7__1 ) - // InternalRosSystem.g:2067:2: rule__RosSystem__Group_7__0__Impl rule__RosSystem__Group_7__1 + // InternalRosSystem.g:2143:1: ( rule__RosSystem__Group_7__0__Impl rule__RosSystem__Group_7__1 ) + // InternalRosSystem.g:2144:2: rule__RosSystem__Group_7__0__Impl rule__RosSystem__Group_7__1 { pushFollow(FOLLOW_4); rule__RosSystem__Group_7__0__Impl(); @@ -6391,21 +6645,21 @@ public final void rule__RosSystem__Group_7__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_7__0__Impl" - // InternalRosSystem.g:2074:1: rule__RosSystem__Group_7__0__Impl : ( 'ServiceConnections' ) ; + // InternalRosSystem.g:2151:1: rule__RosSystem__Group_7__0__Impl : ( 'TopicConnections' ) ; public final void rule__RosSystem__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2078:1: ( ( 'ServiceConnections' ) ) - // InternalRosSystem.g:2079:1: ( 'ServiceConnections' ) + // InternalRosSystem.g:2155:1: ( ( 'TopicConnections' ) ) + // InternalRosSystem.g:2156:1: ( 'TopicConnections' ) { - // InternalRosSystem.g:2079:1: ( 'ServiceConnections' ) - // InternalRosSystem.g:2080:2: 'ServiceConnections' + // InternalRosSystem.g:2156:1: ( 'TopicConnections' ) + // InternalRosSystem.g:2157:2: 'TopicConnections' { - before(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_7_0()); + before(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_7_0()); match(input,32,FOLLOW_2); - after(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_7_0()); + after(grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_7_0()); } @@ -6428,14 +6682,14 @@ public final void rule__RosSystem__Group_7__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_7__1" - // InternalRosSystem.g:2089:1: rule__RosSystem__Group_7__1 : rule__RosSystem__Group_7__1__Impl rule__RosSystem__Group_7__2 ; + // InternalRosSystem.g:2166:1: rule__RosSystem__Group_7__1 : rule__RosSystem__Group_7__1__Impl rule__RosSystem__Group_7__2 ; public final void rule__RosSystem__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2093:1: ( rule__RosSystem__Group_7__1__Impl rule__RosSystem__Group_7__2 ) - // InternalRosSystem.g:2094:2: rule__RosSystem__Group_7__1__Impl rule__RosSystem__Group_7__2 + // InternalRosSystem.g:2170:1: ( rule__RosSystem__Group_7__1__Impl rule__RosSystem__Group_7__2 ) + // InternalRosSystem.g:2171:2: rule__RosSystem__Group_7__1__Impl rule__RosSystem__Group_7__2 { pushFollow(FOLLOW_15); rule__RosSystem__Group_7__1__Impl(); @@ -6466,17 +6720,17 @@ public final void rule__RosSystem__Group_7__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_7__1__Impl" - // InternalRosSystem.g:2101:1: rule__RosSystem__Group_7__1__Impl : ( '{' ) ; + // InternalRosSystem.g:2178:1: rule__RosSystem__Group_7__1__Impl : ( '{' ) ; public final void rule__RosSystem__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2105:1: ( ( '{' ) ) - // InternalRosSystem.g:2106:1: ( '{' ) + // InternalRosSystem.g:2182:1: ( ( '{' ) ) + // InternalRosSystem.g:2183:1: ( '{' ) { - // InternalRosSystem.g:2106:1: ( '{' ) - // InternalRosSystem.g:2107:2: '{' + // InternalRosSystem.g:2183:1: ( '{' ) + // InternalRosSystem.g:2184:2: '{' { before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_7_1()); match(input,24,FOLLOW_2); @@ -6503,14 +6757,14 @@ public final void rule__RosSystem__Group_7__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_7__2" - // InternalRosSystem.g:2116:1: rule__RosSystem__Group_7__2 : rule__RosSystem__Group_7__2__Impl rule__RosSystem__Group_7__3 ; + // InternalRosSystem.g:2193:1: rule__RosSystem__Group_7__2 : rule__RosSystem__Group_7__2__Impl rule__RosSystem__Group_7__3 ; public final void rule__RosSystem__Group_7__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2120:1: ( rule__RosSystem__Group_7__2__Impl rule__RosSystem__Group_7__3 ) - // InternalRosSystem.g:2121:2: rule__RosSystem__Group_7__2__Impl rule__RosSystem__Group_7__3 + // InternalRosSystem.g:2197:1: ( rule__RosSystem__Group_7__2__Impl rule__RosSystem__Group_7__3 ) + // InternalRosSystem.g:2198:2: rule__RosSystem__Group_7__2__Impl rule__RosSystem__Group_7__3 { pushFollow(FOLLOW_15); rule__RosSystem__Group_7__2__Impl(); @@ -6541,29 +6795,29 @@ public final void rule__RosSystem__Group_7__2() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_7__2__Impl" - // InternalRosSystem.g:2128:1: rule__RosSystem__Group_7__2__Impl : ( ( rule__RosSystem__Group_7_2__0 )? ) ; + // InternalRosSystem.g:2205:1: rule__RosSystem__Group_7__2__Impl : ( ( rule__RosSystem__Group_7_2__0 )? ) ; public final void rule__RosSystem__Group_7__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2132:1: ( ( ( rule__RosSystem__Group_7_2__0 )? ) ) - // InternalRosSystem.g:2133:1: ( ( rule__RosSystem__Group_7_2__0 )? ) + // InternalRosSystem.g:2209:1: ( ( ( rule__RosSystem__Group_7_2__0 )? ) ) + // InternalRosSystem.g:2210:1: ( ( rule__RosSystem__Group_7_2__0 )? ) { - // InternalRosSystem.g:2133:1: ( ( rule__RosSystem__Group_7_2__0 )? ) - // InternalRosSystem.g:2134:2: ( rule__RosSystem__Group_7_2__0 )? + // InternalRosSystem.g:2210:1: ( ( rule__RosSystem__Group_7_2__0 )? ) + // InternalRosSystem.g:2211:2: ( rule__RosSystem__Group_7_2__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_7_2()); - // InternalRosSystem.g:2135:2: ( rule__RosSystem__Group_7_2__0 )? - int alt14=2; - int LA14_0 = input.LA(1); + // InternalRosSystem.g:2212:2: ( rule__RosSystem__Group_7_2__0 )? + int alt15=2; + int LA15_0 = input.LA(1); - if ( (LA14_0==38) ) { - alt14=1; + if ( (LA15_0==36) ) { + alt15=1; } - switch (alt14) { + switch (alt15) { case 1 : - // InternalRosSystem.g:2135:3: rule__RosSystem__Group_7_2__0 + // InternalRosSystem.g:2212:3: rule__RosSystem__Group_7_2__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_7_2__0(); @@ -6599,14 +6853,14 @@ public final void rule__RosSystem__Group_7__2__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_7__3" - // InternalRosSystem.g:2143:1: rule__RosSystem__Group_7__3 : rule__RosSystem__Group_7__3__Impl ; + // InternalRosSystem.g:2220:1: rule__RosSystem__Group_7__3 : rule__RosSystem__Group_7__3__Impl ; public final void rule__RosSystem__Group_7__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2147:1: ( rule__RosSystem__Group_7__3__Impl ) - // InternalRosSystem.g:2148:2: rule__RosSystem__Group_7__3__Impl + // InternalRosSystem.g:2224:1: ( rule__RosSystem__Group_7__3__Impl ) + // InternalRosSystem.g:2225:2: rule__RosSystem__Group_7__3__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_7__3__Impl(); @@ -6632,17 +6886,17 @@ public final void rule__RosSystem__Group_7__3() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_7__3__Impl" - // InternalRosSystem.g:2154:1: rule__RosSystem__Group_7__3__Impl : ( '}' ) ; + // InternalRosSystem.g:2231:1: rule__RosSystem__Group_7__3__Impl : ( '}' ) ; public final void rule__RosSystem__Group_7__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2158:1: ( ( '}' ) ) - // InternalRosSystem.g:2159:1: ( '}' ) + // InternalRosSystem.g:2235:1: ( ( '}' ) ) + // InternalRosSystem.g:2236:1: ( '}' ) { - // InternalRosSystem.g:2159:1: ( '}' ) - // InternalRosSystem.g:2160:2: '}' + // InternalRosSystem.g:2236:1: ( '}' ) + // InternalRosSystem.g:2237:2: '}' { before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_7_3()); match(input,26,FOLLOW_2); @@ -6669,14 +6923,14 @@ public final void rule__RosSystem__Group_7__3__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_7_2__0" - // InternalRosSystem.g:2170:1: rule__RosSystem__Group_7_2__0 : rule__RosSystem__Group_7_2__0__Impl rule__RosSystem__Group_7_2__1 ; + // InternalRosSystem.g:2247:1: rule__RosSystem__Group_7_2__0 : rule__RosSystem__Group_7_2__0__Impl rule__RosSystem__Group_7_2__1 ; public final void rule__RosSystem__Group_7_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2174:1: ( rule__RosSystem__Group_7_2__0__Impl rule__RosSystem__Group_7_2__1 ) - // InternalRosSystem.g:2175:2: rule__RosSystem__Group_7_2__0__Impl rule__RosSystem__Group_7_2__1 + // InternalRosSystem.g:2251:1: ( rule__RosSystem__Group_7_2__0__Impl rule__RosSystem__Group_7_2__1 ) + // InternalRosSystem.g:2252:2: rule__RosSystem__Group_7_2__0__Impl rule__RosSystem__Group_7_2__1 { pushFollow(FOLLOW_10); rule__RosSystem__Group_7_2__0__Impl(); @@ -6707,31 +6961,31 @@ public final void rule__RosSystem__Group_7_2__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_7_2__0__Impl" - // InternalRosSystem.g:2182:1: rule__RosSystem__Group_7_2__0__Impl : ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_0 ) ) ; + // InternalRosSystem.g:2259:1: rule__RosSystem__Group_7_2__0__Impl : ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_0 ) ) ; public final void rule__RosSystem__Group_7_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2186:1: ( ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_0 ) ) ) - // InternalRosSystem.g:2187:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_0 ) ) + // InternalRosSystem.g:2263:1: ( ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_0 ) ) ) + // InternalRosSystem.g:2264:1: ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_0 ) ) { - // InternalRosSystem.g:2187:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_0 ) ) - // InternalRosSystem.g:2188:2: ( rule__RosSystem__ServiceConnectionsAssignment_7_2_0 ) + // InternalRosSystem.g:2264:1: ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_0 ) ) + // InternalRosSystem.g:2265:2: ( rule__RosSystem__TopicConnectionsAssignment_7_2_0 ) { - before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_0()); - // InternalRosSystem.g:2189:2: ( rule__RosSystem__ServiceConnectionsAssignment_7_2_0 ) - // InternalRosSystem.g:2189:3: rule__RosSystem__ServiceConnectionsAssignment_7_2_0 + before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_0()); + // InternalRosSystem.g:2266:2: ( rule__RosSystem__TopicConnectionsAssignment_7_2_0 ) + // InternalRosSystem.g:2266:3: rule__RosSystem__TopicConnectionsAssignment_7_2_0 { pushFollow(FOLLOW_2); - rule__RosSystem__ServiceConnectionsAssignment_7_2_0(); + rule__RosSystem__TopicConnectionsAssignment_7_2_0(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_0()); + after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_0()); } @@ -6754,14 +7008,14 @@ public final void rule__RosSystem__Group_7_2__0__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_7_2__1" - // InternalRosSystem.g:2197:1: rule__RosSystem__Group_7_2__1 : rule__RosSystem__Group_7_2__1__Impl ; + // InternalRosSystem.g:2274:1: rule__RosSystem__Group_7_2__1 : rule__RosSystem__Group_7_2__1__Impl ; public final void rule__RosSystem__Group_7_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2201:1: ( rule__RosSystem__Group_7_2__1__Impl ) - // InternalRosSystem.g:2202:2: rule__RosSystem__Group_7_2__1__Impl + // InternalRosSystem.g:2278:1: ( rule__RosSystem__Group_7_2__1__Impl ) + // InternalRosSystem.g:2279:2: rule__RosSystem__Group_7_2__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_7_2__1__Impl(); @@ -6787,33 +7041,33 @@ public final void rule__RosSystem__Group_7_2__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_7_2__1__Impl" - // InternalRosSystem.g:2208:1: rule__RosSystem__Group_7_2__1__Impl : ( ( rule__RosSystem__Group_7_2_1__0 )* ) ; + // InternalRosSystem.g:2285:1: rule__RosSystem__Group_7_2__1__Impl : ( ( rule__RosSystem__Group_7_2_1__0 )* ) ; public final void rule__RosSystem__Group_7_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2212:1: ( ( ( rule__RosSystem__Group_7_2_1__0 )* ) ) - // InternalRosSystem.g:2213:1: ( ( rule__RosSystem__Group_7_2_1__0 )* ) + // InternalRosSystem.g:2289:1: ( ( ( rule__RosSystem__Group_7_2_1__0 )* ) ) + // InternalRosSystem.g:2290:1: ( ( rule__RosSystem__Group_7_2_1__0 )* ) { - // InternalRosSystem.g:2213:1: ( ( rule__RosSystem__Group_7_2_1__0 )* ) - // InternalRosSystem.g:2214:2: ( rule__RosSystem__Group_7_2_1__0 )* + // InternalRosSystem.g:2290:1: ( ( rule__RosSystem__Group_7_2_1__0 )* ) + // InternalRosSystem.g:2291:2: ( rule__RosSystem__Group_7_2_1__0 )* { before(grammarAccess.getRosSystemAccess().getGroup_7_2_1()); - // InternalRosSystem.g:2215:2: ( rule__RosSystem__Group_7_2_1__0 )* - loop15: + // InternalRosSystem.g:2292:2: ( rule__RosSystem__Group_7_2_1__0 )* + loop16: do { - int alt15=2; - int LA15_0 = input.LA(1); + int alt16=2; + int LA16_0 = input.LA(1); - if ( (LA15_0==30) ) { - alt15=1; + if ( (LA16_0==30) ) { + alt16=1; } - switch (alt15) { + switch (alt16) { case 1 : - // InternalRosSystem.g:2215:3: rule__RosSystem__Group_7_2_1__0 + // InternalRosSystem.g:2292:3: rule__RosSystem__Group_7_2_1__0 { pushFollow(FOLLOW_11); rule__RosSystem__Group_7_2_1__0(); @@ -6825,7 +7079,7 @@ public final void rule__RosSystem__Group_7_2__1__Impl() throws RecognitionExcept break; default : - break loop15; + break loop16; } } while (true); @@ -6852,14 +7106,14 @@ public final void rule__RosSystem__Group_7_2__1__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_7_2_1__0" - // InternalRosSystem.g:2224:1: rule__RosSystem__Group_7_2_1__0 : rule__RosSystem__Group_7_2_1__0__Impl rule__RosSystem__Group_7_2_1__1 ; + // InternalRosSystem.g:2301:1: rule__RosSystem__Group_7_2_1__0 : rule__RosSystem__Group_7_2_1__0__Impl rule__RosSystem__Group_7_2_1__1 ; public final void rule__RosSystem__Group_7_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2228:1: ( rule__RosSystem__Group_7_2_1__0__Impl rule__RosSystem__Group_7_2_1__1 ) - // InternalRosSystem.g:2229:2: rule__RosSystem__Group_7_2_1__0__Impl rule__RosSystem__Group_7_2_1__1 + // InternalRosSystem.g:2305:1: ( rule__RosSystem__Group_7_2_1__0__Impl rule__RosSystem__Group_7_2_1__1 ) + // InternalRosSystem.g:2306:2: rule__RosSystem__Group_7_2_1__0__Impl rule__RosSystem__Group_7_2_1__1 { pushFollow(FOLLOW_16); rule__RosSystem__Group_7_2_1__0__Impl(); @@ -6890,17 +7144,17 @@ public final void rule__RosSystem__Group_7_2_1__0() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_7_2_1__0__Impl" - // InternalRosSystem.g:2236:1: rule__RosSystem__Group_7_2_1__0__Impl : ( ',' ) ; + // InternalRosSystem.g:2313:1: rule__RosSystem__Group_7_2_1__0__Impl : ( ',' ) ; public final void rule__RosSystem__Group_7_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2240:1: ( ( ',' ) ) - // InternalRosSystem.g:2241:1: ( ',' ) + // InternalRosSystem.g:2317:1: ( ( ',' ) ) + // InternalRosSystem.g:2318:1: ( ',' ) { - // InternalRosSystem.g:2241:1: ( ',' ) - // InternalRosSystem.g:2242:2: ',' + // InternalRosSystem.g:2318:1: ( ',' ) + // InternalRosSystem.g:2319:2: ',' { before(grammarAccess.getRosSystemAccess().getCommaKeyword_7_2_1_0()); match(input,30,FOLLOW_2); @@ -6927,14 +7181,14 @@ public final void rule__RosSystem__Group_7_2_1__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_7_2_1__1" - // InternalRosSystem.g:2251:1: rule__RosSystem__Group_7_2_1__1 : rule__RosSystem__Group_7_2_1__1__Impl ; + // InternalRosSystem.g:2328:1: rule__RosSystem__Group_7_2_1__1 : rule__RosSystem__Group_7_2_1__1__Impl ; public final void rule__RosSystem__Group_7_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2255:1: ( rule__RosSystem__Group_7_2_1__1__Impl ) - // InternalRosSystem.g:2256:2: rule__RosSystem__Group_7_2_1__1__Impl + // InternalRosSystem.g:2332:1: ( rule__RosSystem__Group_7_2_1__1__Impl ) + // InternalRosSystem.g:2333:2: rule__RosSystem__Group_7_2_1__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_7_2_1__1__Impl(); @@ -6960,31 +7214,31 @@ public final void rule__RosSystem__Group_7_2_1__1() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_7_2_1__1__Impl" - // InternalRosSystem.g:2262:1: rule__RosSystem__Group_7_2_1__1__Impl : ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 ) ) ; + // InternalRosSystem.g:2339:1: rule__RosSystem__Group_7_2_1__1__Impl : ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 ) ) ; public final void rule__RosSystem__Group_7_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2266:1: ( ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 ) ) ) - // InternalRosSystem.g:2267:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 ) ) + // InternalRosSystem.g:2343:1: ( ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 ) ) ) + // InternalRosSystem.g:2344:1: ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 ) ) { - // InternalRosSystem.g:2267:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 ) ) - // InternalRosSystem.g:2268:2: ( rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 ) + // InternalRosSystem.g:2344:1: ( ( rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 ) ) + // InternalRosSystem.g:2345:2: ( rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 ) { - before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_1_1()); - // InternalRosSystem.g:2269:2: ( rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 ) - // InternalRosSystem.g:2269:3: rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 + before(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_1_1()); + // InternalRosSystem.g:2346:2: ( rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 ) + // InternalRosSystem.g:2346:3: rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 { pushFollow(FOLLOW_2); - rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1(); + rule__RosSystem__TopicConnectionsAssignment_7_2_1_1(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_7_2_1_1()); + after(grammarAccess.getRosSystemAccess().getTopicConnectionsAssignment_7_2_1_1()); } @@ -7007,14 +7261,14 @@ public final void rule__RosSystem__Group_7_2_1__1__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_8__0" - // InternalRosSystem.g:2278:1: rule__RosSystem__Group_8__0 : rule__RosSystem__Group_8__0__Impl rule__RosSystem__Group_8__1 ; + // InternalRosSystem.g:2355:1: rule__RosSystem__Group_8__0 : rule__RosSystem__Group_8__0__Impl rule__RosSystem__Group_8__1 ; public final void rule__RosSystem__Group_8__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2282:1: ( rule__RosSystem__Group_8__0__Impl rule__RosSystem__Group_8__1 ) - // InternalRosSystem.g:2283:2: rule__RosSystem__Group_8__0__Impl rule__RosSystem__Group_8__1 + // InternalRosSystem.g:2359:1: ( rule__RosSystem__Group_8__0__Impl rule__RosSystem__Group_8__1 ) + // InternalRosSystem.g:2360:2: rule__RosSystem__Group_8__0__Impl rule__RosSystem__Group_8__1 { pushFollow(FOLLOW_4); rule__RosSystem__Group_8__0__Impl(); @@ -7045,21 +7299,21 @@ public final void rule__RosSystem__Group_8__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_8__0__Impl" - // InternalRosSystem.g:2290:1: rule__RosSystem__Group_8__0__Impl : ( 'ActionConnections' ) ; + // InternalRosSystem.g:2367:1: rule__RosSystem__Group_8__0__Impl : ( 'ServiceConnections' ) ; public final void rule__RosSystem__Group_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2294:1: ( ( 'ActionConnections' ) ) - // InternalRosSystem.g:2295:1: ( 'ActionConnections' ) + // InternalRosSystem.g:2371:1: ( ( 'ServiceConnections' ) ) + // InternalRosSystem.g:2372:1: ( 'ServiceConnections' ) { - // InternalRosSystem.g:2295:1: ( 'ActionConnections' ) - // InternalRosSystem.g:2296:2: 'ActionConnections' + // InternalRosSystem.g:2372:1: ( 'ServiceConnections' ) + // InternalRosSystem.g:2373:2: 'ServiceConnections' { - before(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_8_0()); + before(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_8_0()); match(input,33,FOLLOW_2); - after(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_8_0()); + after(grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_8_0()); } @@ -7082,14 +7336,14 @@ public final void rule__RosSystem__Group_8__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_8__1" - // InternalRosSystem.g:2305:1: rule__RosSystem__Group_8__1 : rule__RosSystem__Group_8__1__Impl rule__RosSystem__Group_8__2 ; + // InternalRosSystem.g:2382:1: rule__RosSystem__Group_8__1 : rule__RosSystem__Group_8__1__Impl rule__RosSystem__Group_8__2 ; public final void rule__RosSystem__Group_8__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2309:1: ( rule__RosSystem__Group_8__1__Impl rule__RosSystem__Group_8__2 ) - // InternalRosSystem.g:2310:2: rule__RosSystem__Group_8__1__Impl rule__RosSystem__Group_8__2 + // InternalRosSystem.g:2386:1: ( rule__RosSystem__Group_8__1__Impl rule__RosSystem__Group_8__2 ) + // InternalRosSystem.g:2387:2: rule__RosSystem__Group_8__1__Impl rule__RosSystem__Group_8__2 { pushFollow(FOLLOW_17); rule__RosSystem__Group_8__1__Impl(); @@ -7120,17 +7374,17 @@ public final void rule__RosSystem__Group_8__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_8__1__Impl" - // InternalRosSystem.g:2317:1: rule__RosSystem__Group_8__1__Impl : ( '{' ) ; + // InternalRosSystem.g:2394:1: rule__RosSystem__Group_8__1__Impl : ( '{' ) ; public final void rule__RosSystem__Group_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2321:1: ( ( '{' ) ) - // InternalRosSystem.g:2322:1: ( '{' ) + // InternalRosSystem.g:2398:1: ( ( '{' ) ) + // InternalRosSystem.g:2399:1: ( '{' ) { - // InternalRosSystem.g:2322:1: ( '{' ) - // InternalRosSystem.g:2323:2: '{' + // InternalRosSystem.g:2399:1: ( '{' ) + // InternalRosSystem.g:2400:2: '{' { before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_8_1()); match(input,24,FOLLOW_2); @@ -7157,14 +7411,14 @@ public final void rule__RosSystem__Group_8__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_8__2" - // InternalRosSystem.g:2332:1: rule__RosSystem__Group_8__2 : rule__RosSystem__Group_8__2__Impl rule__RosSystem__Group_8__3 ; + // InternalRosSystem.g:2409:1: rule__RosSystem__Group_8__2 : rule__RosSystem__Group_8__2__Impl rule__RosSystem__Group_8__3 ; public final void rule__RosSystem__Group_8__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2336:1: ( rule__RosSystem__Group_8__2__Impl rule__RosSystem__Group_8__3 ) - // InternalRosSystem.g:2337:2: rule__RosSystem__Group_8__2__Impl rule__RosSystem__Group_8__3 + // InternalRosSystem.g:2413:1: ( rule__RosSystem__Group_8__2__Impl rule__RosSystem__Group_8__3 ) + // InternalRosSystem.g:2414:2: rule__RosSystem__Group_8__2__Impl rule__RosSystem__Group_8__3 { pushFollow(FOLLOW_17); rule__RosSystem__Group_8__2__Impl(); @@ -7195,29 +7449,29 @@ public final void rule__RosSystem__Group_8__2() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_8__2__Impl" - // InternalRosSystem.g:2344:1: rule__RosSystem__Group_8__2__Impl : ( ( rule__RosSystem__Group_8_2__0 )? ) ; + // InternalRosSystem.g:2421:1: rule__RosSystem__Group_8__2__Impl : ( ( rule__RosSystem__Group_8_2__0 )? ) ; public final void rule__RosSystem__Group_8__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2348:1: ( ( ( rule__RosSystem__Group_8_2__0 )? ) ) - // InternalRosSystem.g:2349:1: ( ( rule__RosSystem__Group_8_2__0 )? ) + // InternalRosSystem.g:2425:1: ( ( ( rule__RosSystem__Group_8_2__0 )? ) ) + // InternalRosSystem.g:2426:1: ( ( rule__RosSystem__Group_8_2__0 )? ) { - // InternalRosSystem.g:2349:1: ( ( rule__RosSystem__Group_8_2__0 )? ) - // InternalRosSystem.g:2350:2: ( rule__RosSystem__Group_8_2__0 )? + // InternalRosSystem.g:2426:1: ( ( rule__RosSystem__Group_8_2__0 )? ) + // InternalRosSystem.g:2427:2: ( rule__RosSystem__Group_8_2__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_8_2()); - // InternalRosSystem.g:2351:2: ( rule__RosSystem__Group_8_2__0 )? - int alt16=2; - int LA16_0 = input.LA(1); + // InternalRosSystem.g:2428:2: ( rule__RosSystem__Group_8_2__0 )? + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA16_0==39) ) { - alt16=1; + if ( (LA17_0==39) ) { + alt17=1; } - switch (alt16) { + switch (alt17) { case 1 : - // InternalRosSystem.g:2351:3: rule__RosSystem__Group_8_2__0 + // InternalRosSystem.g:2428:3: rule__RosSystem__Group_8_2__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_8_2__0(); @@ -7253,14 +7507,14 @@ public final void rule__RosSystem__Group_8__2__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_8__3" - // InternalRosSystem.g:2359:1: rule__RosSystem__Group_8__3 : rule__RosSystem__Group_8__3__Impl ; + // InternalRosSystem.g:2436:1: rule__RosSystem__Group_8__3 : rule__RosSystem__Group_8__3__Impl ; public final void rule__RosSystem__Group_8__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2363:1: ( rule__RosSystem__Group_8__3__Impl ) - // InternalRosSystem.g:2364:2: rule__RosSystem__Group_8__3__Impl + // InternalRosSystem.g:2440:1: ( rule__RosSystem__Group_8__3__Impl ) + // InternalRosSystem.g:2441:2: rule__RosSystem__Group_8__3__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_8__3__Impl(); @@ -7286,17 +7540,17 @@ public final void rule__RosSystem__Group_8__3() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_8__3__Impl" - // InternalRosSystem.g:2370:1: rule__RosSystem__Group_8__3__Impl : ( '}' ) ; + // InternalRosSystem.g:2447:1: rule__RosSystem__Group_8__3__Impl : ( '}' ) ; public final void rule__RosSystem__Group_8__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2374:1: ( ( '}' ) ) - // InternalRosSystem.g:2375:1: ( '}' ) + // InternalRosSystem.g:2451:1: ( ( '}' ) ) + // InternalRosSystem.g:2452:1: ( '}' ) { - // InternalRosSystem.g:2375:1: ( '}' ) - // InternalRosSystem.g:2376:2: '}' + // InternalRosSystem.g:2452:1: ( '}' ) + // InternalRosSystem.g:2453:2: '}' { before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_8_3()); match(input,26,FOLLOW_2); @@ -7323,14 +7577,14 @@ public final void rule__RosSystem__Group_8__3__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_8_2__0" - // InternalRosSystem.g:2386:1: rule__RosSystem__Group_8_2__0 : rule__RosSystem__Group_8_2__0__Impl rule__RosSystem__Group_8_2__1 ; + // InternalRosSystem.g:2463:1: rule__RosSystem__Group_8_2__0 : rule__RosSystem__Group_8_2__0__Impl rule__RosSystem__Group_8_2__1 ; public final void rule__RosSystem__Group_8_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2390:1: ( rule__RosSystem__Group_8_2__0__Impl rule__RosSystem__Group_8_2__1 ) - // InternalRosSystem.g:2391:2: rule__RosSystem__Group_8_2__0__Impl rule__RosSystem__Group_8_2__1 + // InternalRosSystem.g:2467:1: ( rule__RosSystem__Group_8_2__0__Impl rule__RosSystem__Group_8_2__1 ) + // InternalRosSystem.g:2468:2: rule__RosSystem__Group_8_2__0__Impl rule__RosSystem__Group_8_2__1 { pushFollow(FOLLOW_10); rule__RosSystem__Group_8_2__0__Impl(); @@ -7361,31 +7615,31 @@ public final void rule__RosSystem__Group_8_2__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_8_2__0__Impl" - // InternalRosSystem.g:2398:1: rule__RosSystem__Group_8_2__0__Impl : ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_0 ) ) ; + // InternalRosSystem.g:2475:1: rule__RosSystem__Group_8_2__0__Impl : ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_0 ) ) ; public final void rule__RosSystem__Group_8_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2402:1: ( ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_0 ) ) ) - // InternalRosSystem.g:2403:1: ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_0 ) ) + // InternalRosSystem.g:2479:1: ( ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_0 ) ) ) + // InternalRosSystem.g:2480:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_0 ) ) { - // InternalRosSystem.g:2403:1: ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_0 ) ) - // InternalRosSystem.g:2404:2: ( rule__RosSystem__ActionConnectionsAssignment_8_2_0 ) + // InternalRosSystem.g:2480:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_0 ) ) + // InternalRosSystem.g:2481:2: ( rule__RosSystem__ServiceConnectionsAssignment_8_2_0 ) { - before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_0()); - // InternalRosSystem.g:2405:2: ( rule__RosSystem__ActionConnectionsAssignment_8_2_0 ) - // InternalRosSystem.g:2405:3: rule__RosSystem__ActionConnectionsAssignment_8_2_0 + before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_0()); + // InternalRosSystem.g:2482:2: ( rule__RosSystem__ServiceConnectionsAssignment_8_2_0 ) + // InternalRosSystem.g:2482:3: rule__RosSystem__ServiceConnectionsAssignment_8_2_0 { pushFollow(FOLLOW_2); - rule__RosSystem__ActionConnectionsAssignment_8_2_0(); + rule__RosSystem__ServiceConnectionsAssignment_8_2_0(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_0()); + after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_0()); } @@ -7408,14 +7662,14 @@ public final void rule__RosSystem__Group_8_2__0__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_8_2__1" - // InternalRosSystem.g:2413:1: rule__RosSystem__Group_8_2__1 : rule__RosSystem__Group_8_2__1__Impl ; + // InternalRosSystem.g:2490:1: rule__RosSystem__Group_8_2__1 : rule__RosSystem__Group_8_2__1__Impl ; public final void rule__RosSystem__Group_8_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2417:1: ( rule__RosSystem__Group_8_2__1__Impl ) - // InternalRosSystem.g:2418:2: rule__RosSystem__Group_8_2__1__Impl + // InternalRosSystem.g:2494:1: ( rule__RosSystem__Group_8_2__1__Impl ) + // InternalRosSystem.g:2495:2: rule__RosSystem__Group_8_2__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_8_2__1__Impl(); @@ -7441,33 +7695,33 @@ public final void rule__RosSystem__Group_8_2__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_8_2__1__Impl" - // InternalRosSystem.g:2424:1: rule__RosSystem__Group_8_2__1__Impl : ( ( rule__RosSystem__Group_8_2_1__0 )* ) ; + // InternalRosSystem.g:2501:1: rule__RosSystem__Group_8_2__1__Impl : ( ( rule__RosSystem__Group_8_2_1__0 )* ) ; public final void rule__RosSystem__Group_8_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2428:1: ( ( ( rule__RosSystem__Group_8_2_1__0 )* ) ) - // InternalRosSystem.g:2429:1: ( ( rule__RosSystem__Group_8_2_1__0 )* ) + // InternalRosSystem.g:2505:1: ( ( ( rule__RosSystem__Group_8_2_1__0 )* ) ) + // InternalRosSystem.g:2506:1: ( ( rule__RosSystem__Group_8_2_1__0 )* ) { - // InternalRosSystem.g:2429:1: ( ( rule__RosSystem__Group_8_2_1__0 )* ) - // InternalRosSystem.g:2430:2: ( rule__RosSystem__Group_8_2_1__0 )* + // InternalRosSystem.g:2506:1: ( ( rule__RosSystem__Group_8_2_1__0 )* ) + // InternalRosSystem.g:2507:2: ( rule__RosSystem__Group_8_2_1__0 )* { before(grammarAccess.getRosSystemAccess().getGroup_8_2_1()); - // InternalRosSystem.g:2431:2: ( rule__RosSystem__Group_8_2_1__0 )* - loop17: + // InternalRosSystem.g:2508:2: ( rule__RosSystem__Group_8_2_1__0 )* + loop18: do { - int alt17=2; - int LA17_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA17_0==30) ) { - alt17=1; + if ( (LA18_0==30) ) { + alt18=1; } - switch (alt17) { + switch (alt18) { case 1 : - // InternalRosSystem.g:2431:3: rule__RosSystem__Group_8_2_1__0 + // InternalRosSystem.g:2508:3: rule__RosSystem__Group_8_2_1__0 { pushFollow(FOLLOW_11); rule__RosSystem__Group_8_2_1__0(); @@ -7479,7 +7733,7 @@ public final void rule__RosSystem__Group_8_2__1__Impl() throws RecognitionExcept break; default : - break loop17; + break loop18; } } while (true); @@ -7506,14 +7760,14 @@ public final void rule__RosSystem__Group_8_2__1__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_8_2_1__0" - // InternalRosSystem.g:2440:1: rule__RosSystem__Group_8_2_1__0 : rule__RosSystem__Group_8_2_1__0__Impl rule__RosSystem__Group_8_2_1__1 ; + // InternalRosSystem.g:2517:1: rule__RosSystem__Group_8_2_1__0 : rule__RosSystem__Group_8_2_1__0__Impl rule__RosSystem__Group_8_2_1__1 ; public final void rule__RosSystem__Group_8_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2444:1: ( rule__RosSystem__Group_8_2_1__0__Impl rule__RosSystem__Group_8_2_1__1 ) - // InternalRosSystem.g:2445:2: rule__RosSystem__Group_8_2_1__0__Impl rule__RosSystem__Group_8_2_1__1 + // InternalRosSystem.g:2521:1: ( rule__RosSystem__Group_8_2_1__0__Impl rule__RosSystem__Group_8_2_1__1 ) + // InternalRosSystem.g:2522:2: rule__RosSystem__Group_8_2_1__0__Impl rule__RosSystem__Group_8_2_1__1 { pushFollow(FOLLOW_18); rule__RosSystem__Group_8_2_1__0__Impl(); @@ -7544,17 +7798,17 @@ public final void rule__RosSystem__Group_8_2_1__0() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_8_2_1__0__Impl" - // InternalRosSystem.g:2452:1: rule__RosSystem__Group_8_2_1__0__Impl : ( ',' ) ; + // InternalRosSystem.g:2529:1: rule__RosSystem__Group_8_2_1__0__Impl : ( ',' ) ; public final void rule__RosSystem__Group_8_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2456:1: ( ( ',' ) ) - // InternalRosSystem.g:2457:1: ( ',' ) + // InternalRosSystem.g:2533:1: ( ( ',' ) ) + // InternalRosSystem.g:2534:1: ( ',' ) { - // InternalRosSystem.g:2457:1: ( ',' ) - // InternalRosSystem.g:2458:2: ',' + // InternalRosSystem.g:2534:1: ( ',' ) + // InternalRosSystem.g:2535:2: ',' { before(grammarAccess.getRosSystemAccess().getCommaKeyword_8_2_1_0()); match(input,30,FOLLOW_2); @@ -7581,14 +7835,14 @@ public final void rule__RosSystem__Group_8_2_1__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_8_2_1__1" - // InternalRosSystem.g:2467:1: rule__RosSystem__Group_8_2_1__1 : rule__RosSystem__Group_8_2_1__1__Impl ; + // InternalRosSystem.g:2544:1: rule__RosSystem__Group_8_2_1__1 : rule__RosSystem__Group_8_2_1__1__Impl ; public final void rule__RosSystem__Group_8_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2471:1: ( rule__RosSystem__Group_8_2_1__1__Impl ) - // InternalRosSystem.g:2472:2: rule__RosSystem__Group_8_2_1__1__Impl + // InternalRosSystem.g:2548:1: ( rule__RosSystem__Group_8_2_1__1__Impl ) + // InternalRosSystem.g:2549:2: rule__RosSystem__Group_8_2_1__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_8_2_1__1__Impl(); @@ -7614,31 +7868,31 @@ public final void rule__RosSystem__Group_8_2_1__1() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_8_2_1__1__Impl" - // InternalRosSystem.g:2478:1: rule__RosSystem__Group_8_2_1__1__Impl : ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 ) ) ; + // InternalRosSystem.g:2555:1: rule__RosSystem__Group_8_2_1__1__Impl : ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 ) ) ; public final void rule__RosSystem__Group_8_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2482:1: ( ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 ) ) ) - // InternalRosSystem.g:2483:1: ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 ) ) + // InternalRosSystem.g:2559:1: ( ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 ) ) ) + // InternalRosSystem.g:2560:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 ) ) { - // InternalRosSystem.g:2483:1: ( ( rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 ) ) - // InternalRosSystem.g:2484:2: ( rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 ) + // InternalRosSystem.g:2560:1: ( ( rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 ) ) + // InternalRosSystem.g:2561:2: ( rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 ) { - before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_1_1()); - // InternalRosSystem.g:2485:2: ( rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 ) - // InternalRosSystem.g:2485:3: rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 + before(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_1_1()); + // InternalRosSystem.g:2562:2: ( rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 ) + // InternalRosSystem.g:2562:3: rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 { pushFollow(FOLLOW_2); - rule__RosSystem__ActionConnectionsAssignment_8_2_1_1(); + rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_8_2_1_1()); + after(grammarAccess.getRosSystemAccess().getServiceConnectionsAssignment_8_2_1_1()); } @@ -7661,14 +7915,14 @@ public final void rule__RosSystem__Group_8_2_1__1__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_9__0" - // InternalRosSystem.g:2494:1: rule__RosSystem__Group_9__0 : rule__RosSystem__Group_9__0__Impl rule__RosSystem__Group_9__1 ; + // InternalRosSystem.g:2571:1: rule__RosSystem__Group_9__0 : rule__RosSystem__Group_9__0__Impl rule__RosSystem__Group_9__1 ; public final void rule__RosSystem__Group_9__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2498:1: ( rule__RosSystem__Group_9__0__Impl rule__RosSystem__Group_9__1 ) - // InternalRosSystem.g:2499:2: rule__RosSystem__Group_9__0__Impl rule__RosSystem__Group_9__1 + // InternalRosSystem.g:2575:1: ( rule__RosSystem__Group_9__0__Impl rule__RosSystem__Group_9__1 ) + // InternalRosSystem.g:2576:2: rule__RosSystem__Group_9__0__Impl rule__RosSystem__Group_9__1 { pushFollow(FOLLOW_4); rule__RosSystem__Group_9__0__Impl(); @@ -7699,21 +7953,21 @@ public final void rule__RosSystem__Group_9__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_9__0__Impl" - // InternalRosSystem.g:2506:1: rule__RosSystem__Group_9__0__Impl : ( 'Parameters' ) ; + // InternalRosSystem.g:2583:1: rule__RosSystem__Group_9__0__Impl : ( 'ActionConnections' ) ; public final void rule__RosSystem__Group_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2510:1: ( ( 'Parameters' ) ) - // InternalRosSystem.g:2511:1: ( 'Parameters' ) + // InternalRosSystem.g:2587:1: ( ( 'ActionConnections' ) ) + // InternalRosSystem.g:2588:1: ( 'ActionConnections' ) { - // InternalRosSystem.g:2511:1: ( 'Parameters' ) - // InternalRosSystem.g:2512:2: 'Parameters' + // InternalRosSystem.g:2588:1: ( 'ActionConnections' ) + // InternalRosSystem.g:2589:2: 'ActionConnections' { - before(grammarAccess.getRosSystemAccess().getParametersKeyword_9_0()); + before(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_9_0()); match(input,34,FOLLOW_2); - after(grammarAccess.getRosSystemAccess().getParametersKeyword_9_0()); + after(grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_9_0()); } @@ -7736,14 +7990,14 @@ public final void rule__RosSystem__Group_9__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_9__1" - // InternalRosSystem.g:2521:1: rule__RosSystem__Group_9__1 : rule__RosSystem__Group_9__1__Impl rule__RosSystem__Group_9__2 ; + // InternalRosSystem.g:2598:1: rule__RosSystem__Group_9__1 : rule__RosSystem__Group_9__1__Impl rule__RosSystem__Group_9__2 ; public final void rule__RosSystem__Group_9__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2525:1: ( rule__RosSystem__Group_9__1__Impl rule__RosSystem__Group_9__2 ) - // InternalRosSystem.g:2526:2: rule__RosSystem__Group_9__1__Impl rule__RosSystem__Group_9__2 + // InternalRosSystem.g:2602:1: ( rule__RosSystem__Group_9__1__Impl rule__RosSystem__Group_9__2 ) + // InternalRosSystem.g:2603:2: rule__RosSystem__Group_9__1__Impl rule__RosSystem__Group_9__2 { pushFollow(FOLLOW_19); rule__RosSystem__Group_9__1__Impl(); @@ -7774,17 +8028,17 @@ public final void rule__RosSystem__Group_9__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_9__1__Impl" - // InternalRosSystem.g:2533:1: rule__RosSystem__Group_9__1__Impl : ( '{' ) ; + // InternalRosSystem.g:2610:1: rule__RosSystem__Group_9__1__Impl : ( '{' ) ; public final void rule__RosSystem__Group_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2537:1: ( ( '{' ) ) - // InternalRosSystem.g:2538:1: ( '{' ) + // InternalRosSystem.g:2614:1: ( ( '{' ) ) + // InternalRosSystem.g:2615:1: ( '{' ) { - // InternalRosSystem.g:2538:1: ( '{' ) - // InternalRosSystem.g:2539:2: '{' + // InternalRosSystem.g:2615:1: ( '{' ) + // InternalRosSystem.g:2616:2: '{' { before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_9_1()); match(input,24,FOLLOW_2); @@ -7811,14 +8065,14 @@ public final void rule__RosSystem__Group_9__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_9__2" - // InternalRosSystem.g:2548:1: rule__RosSystem__Group_9__2 : rule__RosSystem__Group_9__2__Impl rule__RosSystem__Group_9__3 ; + // InternalRosSystem.g:2625:1: rule__RosSystem__Group_9__2 : rule__RosSystem__Group_9__2__Impl rule__RosSystem__Group_9__3 ; public final void rule__RosSystem__Group_9__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2552:1: ( rule__RosSystem__Group_9__2__Impl rule__RosSystem__Group_9__3 ) - // InternalRosSystem.g:2553:2: rule__RosSystem__Group_9__2__Impl rule__RosSystem__Group_9__3 + // InternalRosSystem.g:2629:1: ( rule__RosSystem__Group_9__2__Impl rule__RosSystem__Group_9__3 ) + // InternalRosSystem.g:2630:2: rule__RosSystem__Group_9__2__Impl rule__RosSystem__Group_9__3 { pushFollow(FOLLOW_19); rule__RosSystem__Group_9__2__Impl(); @@ -7849,29 +8103,29 @@ public final void rule__RosSystem__Group_9__2() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_9__2__Impl" - // InternalRosSystem.g:2560:1: rule__RosSystem__Group_9__2__Impl : ( ( rule__RosSystem__Group_9_2__0 )? ) ; + // InternalRosSystem.g:2637:1: rule__RosSystem__Group_9__2__Impl : ( ( rule__RosSystem__Group_9_2__0 )? ) ; public final void rule__RosSystem__Group_9__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2564:1: ( ( ( rule__RosSystem__Group_9_2__0 )? ) ) - // InternalRosSystem.g:2565:1: ( ( rule__RosSystem__Group_9_2__0 )? ) + // InternalRosSystem.g:2641:1: ( ( ( rule__RosSystem__Group_9_2__0 )? ) ) + // InternalRosSystem.g:2642:1: ( ( rule__RosSystem__Group_9_2__0 )? ) { - // InternalRosSystem.g:2565:1: ( ( rule__RosSystem__Group_9_2__0 )? ) - // InternalRosSystem.g:2566:2: ( rule__RosSystem__Group_9_2__0 )? + // InternalRosSystem.g:2642:1: ( ( rule__RosSystem__Group_9_2__0 )? ) + // InternalRosSystem.g:2643:2: ( rule__RosSystem__Group_9_2__0 )? { before(grammarAccess.getRosSystemAccess().getGroup_9_2()); - // InternalRosSystem.g:2567:2: ( rule__RosSystem__Group_9_2__0 )? - int alt18=2; - int LA18_0 = input.LA(1); + // InternalRosSystem.g:2644:2: ( rule__RosSystem__Group_9_2__0 )? + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA18_0==65) ) { - alt18=1; + if ( (LA19_0==40) ) { + alt19=1; } - switch (alt18) { + switch (alt19) { case 1 : - // InternalRosSystem.g:2567:3: rule__RosSystem__Group_9_2__0 + // InternalRosSystem.g:2644:3: rule__RosSystem__Group_9_2__0 { pushFollow(FOLLOW_2); rule__RosSystem__Group_9_2__0(); @@ -7907,14 +8161,14 @@ public final void rule__RosSystem__Group_9__2__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_9__3" - // InternalRosSystem.g:2575:1: rule__RosSystem__Group_9__3 : rule__RosSystem__Group_9__3__Impl ; + // InternalRosSystem.g:2652:1: rule__RosSystem__Group_9__3 : rule__RosSystem__Group_9__3__Impl ; public final void rule__RosSystem__Group_9__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2579:1: ( rule__RosSystem__Group_9__3__Impl ) - // InternalRosSystem.g:2580:2: rule__RosSystem__Group_9__3__Impl + // InternalRosSystem.g:2656:1: ( rule__RosSystem__Group_9__3__Impl ) + // InternalRosSystem.g:2657:2: rule__RosSystem__Group_9__3__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_9__3__Impl(); @@ -7940,17 +8194,17 @@ public final void rule__RosSystem__Group_9__3() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_9__3__Impl" - // InternalRosSystem.g:2586:1: rule__RosSystem__Group_9__3__Impl : ( '}' ) ; + // InternalRosSystem.g:2663:1: rule__RosSystem__Group_9__3__Impl : ( '}' ) ; public final void rule__RosSystem__Group_9__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2590:1: ( ( '}' ) ) - // InternalRosSystem.g:2591:1: ( '}' ) + // InternalRosSystem.g:2667:1: ( ( '}' ) ) + // InternalRosSystem.g:2668:1: ( '}' ) { - // InternalRosSystem.g:2591:1: ( '}' ) - // InternalRosSystem.g:2592:2: '}' + // InternalRosSystem.g:2668:1: ( '}' ) + // InternalRosSystem.g:2669:2: '}' { before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_9_3()); match(input,26,FOLLOW_2); @@ -7977,14 +8231,14 @@ public final void rule__RosSystem__Group_9__3__Impl() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__Group_9_2__0" - // InternalRosSystem.g:2602:1: rule__RosSystem__Group_9_2__0 : rule__RosSystem__Group_9_2__0__Impl rule__RosSystem__Group_9_2__1 ; + // InternalRosSystem.g:2679:1: rule__RosSystem__Group_9_2__0 : rule__RosSystem__Group_9_2__0__Impl rule__RosSystem__Group_9_2__1 ; public final void rule__RosSystem__Group_9_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2606:1: ( rule__RosSystem__Group_9_2__0__Impl rule__RosSystem__Group_9_2__1 ) - // InternalRosSystem.g:2607:2: rule__RosSystem__Group_9_2__0__Impl rule__RosSystem__Group_9_2__1 + // InternalRosSystem.g:2683:1: ( rule__RosSystem__Group_9_2__0__Impl rule__RosSystem__Group_9_2__1 ) + // InternalRosSystem.g:2684:2: rule__RosSystem__Group_9_2__0__Impl rule__RosSystem__Group_9_2__1 { pushFollow(FOLLOW_10); rule__RosSystem__Group_9_2__0__Impl(); @@ -8015,31 +8269,31 @@ public final void rule__RosSystem__Group_9_2__0() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_9_2__0__Impl" - // InternalRosSystem.g:2614:1: rule__RosSystem__Group_9_2__0__Impl : ( ( rule__RosSystem__ParameterAssignment_9_2_0 ) ) ; + // InternalRosSystem.g:2691:1: rule__RosSystem__Group_9_2__0__Impl : ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_0 ) ) ; public final void rule__RosSystem__Group_9_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2618:1: ( ( ( rule__RosSystem__ParameterAssignment_9_2_0 ) ) ) - // InternalRosSystem.g:2619:1: ( ( rule__RosSystem__ParameterAssignment_9_2_0 ) ) + // InternalRosSystem.g:2695:1: ( ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_0 ) ) ) + // InternalRosSystem.g:2696:1: ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_0 ) ) { - // InternalRosSystem.g:2619:1: ( ( rule__RosSystem__ParameterAssignment_9_2_0 ) ) - // InternalRosSystem.g:2620:2: ( rule__RosSystem__ParameterAssignment_9_2_0 ) + // InternalRosSystem.g:2696:1: ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_0 ) ) + // InternalRosSystem.g:2697:2: ( rule__RosSystem__ActionConnectionsAssignment_9_2_0 ) { - before(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_0()); - // InternalRosSystem.g:2621:2: ( rule__RosSystem__ParameterAssignment_9_2_0 ) - // InternalRosSystem.g:2621:3: rule__RosSystem__ParameterAssignment_9_2_0 + before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_0()); + // InternalRosSystem.g:2698:2: ( rule__RosSystem__ActionConnectionsAssignment_9_2_0 ) + // InternalRosSystem.g:2698:3: rule__RosSystem__ActionConnectionsAssignment_9_2_0 { pushFollow(FOLLOW_2); - rule__RosSystem__ParameterAssignment_9_2_0(); + rule__RosSystem__ActionConnectionsAssignment_9_2_0(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_0()); + after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_0()); } @@ -8062,14 +8316,14 @@ public final void rule__RosSystem__Group_9_2__0__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_9_2__1" - // InternalRosSystem.g:2629:1: rule__RosSystem__Group_9_2__1 : rule__RosSystem__Group_9_2__1__Impl ; + // InternalRosSystem.g:2706:1: rule__RosSystem__Group_9_2__1 : rule__RosSystem__Group_9_2__1__Impl ; public final void rule__RosSystem__Group_9_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2633:1: ( rule__RosSystem__Group_9_2__1__Impl ) - // InternalRosSystem.g:2634:2: rule__RosSystem__Group_9_2__1__Impl + // InternalRosSystem.g:2710:1: ( rule__RosSystem__Group_9_2__1__Impl ) + // InternalRosSystem.g:2711:2: rule__RosSystem__Group_9_2__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_9_2__1__Impl(); @@ -8095,33 +8349,33 @@ public final void rule__RosSystem__Group_9_2__1() throws RecognitionException { // $ANTLR start "rule__RosSystem__Group_9_2__1__Impl" - // InternalRosSystem.g:2640:1: rule__RosSystem__Group_9_2__1__Impl : ( ( rule__RosSystem__Group_9_2_1__0 )* ) ; + // InternalRosSystem.g:2717:1: rule__RosSystem__Group_9_2__1__Impl : ( ( rule__RosSystem__Group_9_2_1__0 )* ) ; public final void rule__RosSystem__Group_9_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2644:1: ( ( ( rule__RosSystem__Group_9_2_1__0 )* ) ) - // InternalRosSystem.g:2645:1: ( ( rule__RosSystem__Group_9_2_1__0 )* ) + // InternalRosSystem.g:2721:1: ( ( ( rule__RosSystem__Group_9_2_1__0 )* ) ) + // InternalRosSystem.g:2722:1: ( ( rule__RosSystem__Group_9_2_1__0 )* ) { - // InternalRosSystem.g:2645:1: ( ( rule__RosSystem__Group_9_2_1__0 )* ) - // InternalRosSystem.g:2646:2: ( rule__RosSystem__Group_9_2_1__0 )* + // InternalRosSystem.g:2722:1: ( ( rule__RosSystem__Group_9_2_1__0 )* ) + // InternalRosSystem.g:2723:2: ( rule__RosSystem__Group_9_2_1__0 )* { before(grammarAccess.getRosSystemAccess().getGroup_9_2_1()); - // InternalRosSystem.g:2647:2: ( rule__RosSystem__Group_9_2_1__0 )* - loop19: + // InternalRosSystem.g:2724:2: ( rule__RosSystem__Group_9_2_1__0 )* + loop20: do { - int alt19=2; - int LA19_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA19_0==30) ) { - alt19=1; + if ( (LA20_0==30) ) { + alt20=1; } - switch (alt19) { + switch (alt20) { case 1 : - // InternalRosSystem.g:2647:3: rule__RosSystem__Group_9_2_1__0 + // InternalRosSystem.g:2724:3: rule__RosSystem__Group_9_2_1__0 { pushFollow(FOLLOW_11); rule__RosSystem__Group_9_2_1__0(); @@ -8133,7 +8387,7 @@ public final void rule__RosSystem__Group_9_2__1__Impl() throws RecognitionExcept break; default : - break loop19; + break loop20; } } while (true); @@ -8160,14 +8414,14 @@ public final void rule__RosSystem__Group_9_2__1__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSystem__Group_9_2_1__0" - // InternalRosSystem.g:2656:1: rule__RosSystem__Group_9_2_1__0 : rule__RosSystem__Group_9_2_1__0__Impl rule__RosSystem__Group_9_2_1__1 ; + // InternalRosSystem.g:2733:1: rule__RosSystem__Group_9_2_1__0 : rule__RosSystem__Group_9_2_1__0__Impl rule__RosSystem__Group_9_2_1__1 ; public final void rule__RosSystem__Group_9_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2660:1: ( rule__RosSystem__Group_9_2_1__0__Impl rule__RosSystem__Group_9_2_1__1 ) - // InternalRosSystem.g:2661:2: rule__RosSystem__Group_9_2_1__0__Impl rule__RosSystem__Group_9_2_1__1 + // InternalRosSystem.g:2737:1: ( rule__RosSystem__Group_9_2_1__0__Impl rule__RosSystem__Group_9_2_1__1 ) + // InternalRosSystem.g:2738:2: rule__RosSystem__Group_9_2_1__0__Impl rule__RosSystem__Group_9_2_1__1 { pushFollow(FOLLOW_20); rule__RosSystem__Group_9_2_1__0__Impl(); @@ -8198,17 +8452,17 @@ public final void rule__RosSystem__Group_9_2_1__0() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_9_2_1__0__Impl" - // InternalRosSystem.g:2668:1: rule__RosSystem__Group_9_2_1__0__Impl : ( ',' ) ; + // InternalRosSystem.g:2745:1: rule__RosSystem__Group_9_2_1__0__Impl : ( ',' ) ; public final void rule__RosSystem__Group_9_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2672:1: ( ( ',' ) ) - // InternalRosSystem.g:2673:1: ( ',' ) + // InternalRosSystem.g:2749:1: ( ( ',' ) ) + // InternalRosSystem.g:2750:1: ( ',' ) { - // InternalRosSystem.g:2673:1: ( ',' ) - // InternalRosSystem.g:2674:2: ',' + // InternalRosSystem.g:2750:1: ( ',' ) + // InternalRosSystem.g:2751:2: ',' { before(grammarAccess.getRosSystemAccess().getCommaKeyword_9_2_1_0()); match(input,30,FOLLOW_2); @@ -8235,14 +8489,14 @@ public final void rule__RosSystem__Group_9_2_1__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosSystem__Group_9_2_1__1" - // InternalRosSystem.g:2683:1: rule__RosSystem__Group_9_2_1__1 : rule__RosSystem__Group_9_2_1__1__Impl ; + // InternalRosSystem.g:2760:1: rule__RosSystem__Group_9_2_1__1 : rule__RosSystem__Group_9_2_1__1__Impl ; public final void rule__RosSystem__Group_9_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2687:1: ( rule__RosSystem__Group_9_2_1__1__Impl ) - // InternalRosSystem.g:2688:2: rule__RosSystem__Group_9_2_1__1__Impl + // InternalRosSystem.g:2764:1: ( rule__RosSystem__Group_9_2_1__1__Impl ) + // InternalRosSystem.g:2765:2: rule__RosSystem__Group_9_2_1__1__Impl { pushFollow(FOLLOW_2); rule__RosSystem__Group_9_2_1__1__Impl(); @@ -8268,31 +8522,31 @@ public final void rule__RosSystem__Group_9_2_1__1() throws RecognitionException // $ANTLR start "rule__RosSystem__Group_9_2_1__1__Impl" - // InternalRosSystem.g:2694:1: rule__RosSystem__Group_9_2_1__1__Impl : ( ( rule__RosSystem__ParameterAssignment_9_2_1_1 ) ) ; + // InternalRosSystem.g:2771:1: rule__RosSystem__Group_9_2_1__1__Impl : ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 ) ) ; public final void rule__RosSystem__Group_9_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2698:1: ( ( ( rule__RosSystem__ParameterAssignment_9_2_1_1 ) ) ) - // InternalRosSystem.g:2699:1: ( ( rule__RosSystem__ParameterAssignment_9_2_1_1 ) ) + // InternalRosSystem.g:2775:1: ( ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 ) ) ) + // InternalRosSystem.g:2776:1: ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 ) ) { - // InternalRosSystem.g:2699:1: ( ( rule__RosSystem__ParameterAssignment_9_2_1_1 ) ) - // InternalRosSystem.g:2700:2: ( rule__RosSystem__ParameterAssignment_9_2_1_1 ) + // InternalRosSystem.g:2776:1: ( ( rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 ) ) + // InternalRosSystem.g:2777:2: ( rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 ) { - before(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_1_1()); - // InternalRosSystem.g:2701:2: ( rule__RosSystem__ParameterAssignment_9_2_1_1 ) - // InternalRosSystem.g:2701:3: rule__RosSystem__ParameterAssignment_9_2_1_1 + before(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_1_1()); + // InternalRosSystem.g:2778:2: ( rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 ) + // InternalRosSystem.g:2778:3: rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 { pushFollow(FOLLOW_2); - rule__RosSystem__ParameterAssignment_9_2_1_1(); + rule__RosSystem__ActionConnectionsAssignment_9_2_1_1(); state._fsp--; } - after(grammarAccess.getRosSystemAccess().getParameterAssignment_9_2_1_1()); + after(grammarAccess.getRosSystemAccess().getActionConnectionsAssignment_9_2_1_1()); } @@ -8314,23 +8568,23 @@ public final void rule__RosSystem__Group_9_2_1__1__Impl() throws RecognitionExce // $ANTLR end "rule__RosSystem__Group_9_2_1__1__Impl" - // $ANTLR start "rule__TopicConnection__Group__0" - // InternalRosSystem.g:2710:1: rule__TopicConnection__Group__0 : rule__TopicConnection__Group__0__Impl rule__TopicConnection__Group__1 ; - public final void rule__TopicConnection__Group__0() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__0" + // InternalRosSystem.g:2787:1: rule__RosSystem__Group_10__0 : rule__RosSystem__Group_10__0__Impl rule__RosSystem__Group_10__1 ; + public final void rule__RosSystem__Group_10__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2714:1: ( rule__TopicConnection__Group__0__Impl rule__TopicConnection__Group__1 ) - // InternalRosSystem.g:2715:2: rule__TopicConnection__Group__0__Impl rule__TopicConnection__Group__1 + // InternalRosSystem.g:2791:1: ( rule__RosSystem__Group_10__0__Impl rule__RosSystem__Group_10__1 ) + // InternalRosSystem.g:2792:2: rule__RosSystem__Group_10__0__Impl rule__RosSystem__Group_10__1 { - pushFollow(FOLLOW_6); - rule__TopicConnection__Group__0__Impl(); + pushFollow(FOLLOW_4); + rule__RosSystem__Group_10__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__1(); + rule__RosSystem__Group_10__1(); state._fsp--; @@ -8349,25 +8603,25 @@ public final void rule__TopicConnection__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__0" + // $ANTLR end "rule__RosSystem__Group_10__0" - // $ANTLR start "rule__TopicConnection__Group__0__Impl" - // InternalRosSystem.g:2722:1: rule__TopicConnection__Group__0__Impl : ( 'TopicConnection' ) ; - public final void rule__TopicConnection__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__0__Impl" + // InternalRosSystem.g:2799:1: rule__RosSystem__Group_10__0__Impl : ( 'Parameters' ) ; + public final void rule__RosSystem__Group_10__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2726:1: ( ( 'TopicConnection' ) ) - // InternalRosSystem.g:2727:1: ( 'TopicConnection' ) + // InternalRosSystem.g:2803:1: ( ( 'Parameters' ) ) + // InternalRosSystem.g:2804:1: ( 'Parameters' ) { - // InternalRosSystem.g:2727:1: ( 'TopicConnection' ) - // InternalRosSystem.g:2728:2: 'TopicConnection' + // InternalRosSystem.g:2804:1: ( 'Parameters' ) + // InternalRosSystem.g:2805:2: 'Parameters' { - before(grammarAccess.getTopicConnectionAccess().getTopicConnectionKeyword_0()); + before(grammarAccess.getRosSystemAccess().getParametersKeyword_10_0()); match(input,35,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getTopicConnectionKeyword_0()); + after(grammarAccess.getRosSystemAccess().getParametersKeyword_10_0()); } @@ -8386,26 +8640,26 @@ public final void rule__TopicConnection__Group__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__0__Impl" + // $ANTLR end "rule__RosSystem__Group_10__0__Impl" - // $ANTLR start "rule__TopicConnection__Group__1" - // InternalRosSystem.g:2737:1: rule__TopicConnection__Group__1 : rule__TopicConnection__Group__1__Impl rule__TopicConnection__Group__2 ; - public final void rule__TopicConnection__Group__1() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__1" + // InternalRosSystem.g:2814:1: rule__RosSystem__Group_10__1 : rule__RosSystem__Group_10__1__Impl rule__RosSystem__Group_10__2 ; + public final void rule__RosSystem__Group_10__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2741:1: ( rule__TopicConnection__Group__1__Impl rule__TopicConnection__Group__2 ) - // InternalRosSystem.g:2742:2: rule__TopicConnection__Group__1__Impl rule__TopicConnection__Group__2 + // InternalRosSystem.g:2818:1: ( rule__RosSystem__Group_10__1__Impl rule__RosSystem__Group_10__2 ) + // InternalRosSystem.g:2819:2: rule__RosSystem__Group_10__1__Impl rule__RosSystem__Group_10__2 { - pushFollow(FOLLOW_4); - rule__TopicConnection__Group__1__Impl(); + pushFollow(FOLLOW_21); + rule__RosSystem__Group_10__1__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__2(); + rule__RosSystem__Group_10__2(); state._fsp--; @@ -8424,35 +8678,25 @@ public final void rule__TopicConnection__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__1" + // $ANTLR end "rule__RosSystem__Group_10__1" - // $ANTLR start "rule__TopicConnection__Group__1__Impl" - // InternalRosSystem.g:2749:1: rule__TopicConnection__Group__1__Impl : ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) ; - public final void rule__TopicConnection__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__1__Impl" + // InternalRosSystem.g:2826:1: rule__RosSystem__Group_10__1__Impl : ( '{' ) ; + public final void rule__RosSystem__Group_10__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2753:1: ( ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) ) - // InternalRosSystem.g:2754:1: ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) + // InternalRosSystem.g:2830:1: ( ( '{' ) ) + // InternalRosSystem.g:2831:1: ( '{' ) { - // InternalRosSystem.g:2754:1: ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) - // InternalRosSystem.g:2755:2: ( rule__TopicConnection__TopicNameAssignment_1 ) - { - before(grammarAccess.getTopicConnectionAccess().getTopicNameAssignment_1()); - // InternalRosSystem.g:2756:2: ( rule__TopicConnection__TopicNameAssignment_1 ) - // InternalRosSystem.g:2756:3: rule__TopicConnection__TopicNameAssignment_1 + // InternalRosSystem.g:2831:1: ( '{' ) + // InternalRosSystem.g:2832:2: '{' { - pushFollow(FOLLOW_2); - rule__TopicConnection__TopicNameAssignment_1(); - - state._fsp--; - - - } - - after(grammarAccess.getTopicConnectionAccess().getTopicNameAssignment_1()); + before(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_10_1()); + match(input,24,FOLLOW_2); + after(grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_10_1()); } @@ -8471,26 +8715,26 @@ public final void rule__TopicConnection__Group__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__1__Impl" + // $ANTLR end "rule__RosSystem__Group_10__1__Impl" - // $ANTLR start "rule__TopicConnection__Group__2" - // InternalRosSystem.g:2764:1: rule__TopicConnection__Group__2 : rule__TopicConnection__Group__2__Impl rule__TopicConnection__Group__3 ; - public final void rule__TopicConnection__Group__2() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__2" + // InternalRosSystem.g:2841:1: rule__RosSystem__Group_10__2 : rule__RosSystem__Group_10__2__Impl rule__RosSystem__Group_10__3 ; + public final void rule__RosSystem__Group_10__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2768:1: ( rule__TopicConnection__Group__2__Impl rule__TopicConnection__Group__3 ) - // InternalRosSystem.g:2769:2: rule__TopicConnection__Group__2__Impl rule__TopicConnection__Group__3 + // InternalRosSystem.g:2845:1: ( rule__RosSystem__Group_10__2__Impl rule__RosSystem__Group_10__3 ) + // InternalRosSystem.g:2846:2: rule__RosSystem__Group_10__2__Impl rule__RosSystem__Group_10__3 { pushFollow(FOLLOW_21); - rule__TopicConnection__Group__2__Impl(); + rule__RosSystem__Group_10__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__3(); + rule__RosSystem__Group_10__3(); state._fsp--; @@ -8509,100 +8753,46 @@ public final void rule__TopicConnection__Group__2() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__2" + // $ANTLR end "rule__RosSystem__Group_10__2" - // $ANTLR start "rule__TopicConnection__Group__2__Impl" - // InternalRosSystem.g:2776:1: rule__TopicConnection__Group__2__Impl : ( '{' ) ; - public final void rule__TopicConnection__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__2__Impl" + // InternalRosSystem.g:2853:1: rule__RosSystem__Group_10__2__Impl : ( ( rule__RosSystem__Group_10_2__0 )? ) ; + public final void rule__RosSystem__Group_10__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2780:1: ( ( '{' ) ) - // InternalRosSystem.g:2781:1: ( '{' ) + // InternalRosSystem.g:2857:1: ( ( ( rule__RosSystem__Group_10_2__0 )? ) ) + // InternalRosSystem.g:2858:1: ( ( rule__RosSystem__Group_10_2__0 )? ) { - // InternalRosSystem.g:2781:1: ( '{' ) - // InternalRosSystem.g:2782:2: '{' + // InternalRosSystem.g:2858:1: ( ( rule__RosSystem__Group_10_2__0 )? ) + // InternalRosSystem.g:2859:2: ( rule__RosSystem__Group_10_2__0 )? { - before(grammarAccess.getTopicConnectionAccess().getLeftCurlyBracketKeyword_2()); - match(input,24,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getLeftCurlyBracketKeyword_2()); - - } - + before(grammarAccess.getRosSystemAccess().getGroup_10_2()); + // InternalRosSystem.g:2860:2: ( rule__RosSystem__Group_10_2__0 )? + int alt21=2; + int LA21_0 = input.LA(1); + if ( (LA21_0==70) ) { + alt21=1; } + switch (alt21) { + case 1 : + // InternalRosSystem.g:2860:3: rule__RosSystem__Group_10_2__0 + { + pushFollow(FOLLOW_2); + rule__RosSystem__Group_10_2__0(); - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__TopicConnection__Group__2__Impl" - - - // $ANTLR start "rule__TopicConnection__Group__3" - // InternalRosSystem.g:2791:1: rule__TopicConnection__Group__3 : rule__TopicConnection__Group__3__Impl rule__TopicConnection__Group__4 ; - public final void rule__TopicConnection__Group__3() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalRosSystem.g:2795:1: ( rule__TopicConnection__Group__3__Impl rule__TopicConnection__Group__4 ) - // InternalRosSystem.g:2796:2: rule__TopicConnection__Group__3__Impl rule__TopicConnection__Group__4 - { - pushFollow(FOLLOW_8); - rule__TopicConnection__Group__3__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_2); - rule__TopicConnection__Group__4(); + state._fsp--; - state._fsp--; + } + break; } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__TopicConnection__Group__3" - - - // $ANTLR start "rule__TopicConnection__Group__3__Impl" - // InternalRosSystem.g:2803:1: rule__TopicConnection__Group__3__Impl : ( 'From' ) ; - public final void rule__TopicConnection__Group__3__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalRosSystem.g:2807:1: ( ( 'From' ) ) - // InternalRosSystem.g:2808:1: ( 'From' ) - { - // InternalRosSystem.g:2808:1: ( 'From' ) - // InternalRosSystem.g:2809:2: 'From' - { - before(grammarAccess.getTopicConnectionAccess().getFromKeyword_3()); - match(input,36,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getFromKeyword_3()); + after(grammarAccess.getRosSystemAccess().getGroup_10_2()); } @@ -8621,26 +8811,21 @@ public final void rule__TopicConnection__Group__3__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__3__Impl" + // $ANTLR end "rule__RosSystem__Group_10__2__Impl" - // $ANTLR start "rule__TopicConnection__Group__4" - // InternalRosSystem.g:2818:1: rule__TopicConnection__Group__4 : rule__TopicConnection__Group__4__Impl rule__TopicConnection__Group__5 ; - public final void rule__TopicConnection__Group__4() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__3" + // InternalRosSystem.g:2868:1: rule__RosSystem__Group_10__3 : rule__RosSystem__Group_10__3__Impl ; + public final void rule__RosSystem__Group_10__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2822:1: ( rule__TopicConnection__Group__4__Impl rule__TopicConnection__Group__5 ) - // InternalRosSystem.g:2823:2: rule__TopicConnection__Group__4__Impl rule__TopicConnection__Group__5 + // InternalRosSystem.g:2872:1: ( rule__RosSystem__Group_10__3__Impl ) + // InternalRosSystem.g:2873:2: rule__RosSystem__Group_10__3__Impl { - pushFollow(FOLLOW_6); - rule__TopicConnection__Group__4__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__TopicConnection__Group__5(); + rule__RosSystem__Group_10__3__Impl(); state._fsp--; @@ -8659,25 +8844,25 @@ public final void rule__TopicConnection__Group__4() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__4" + // $ANTLR end "rule__RosSystem__Group_10__3" - // $ANTLR start "rule__TopicConnection__Group__4__Impl" - // InternalRosSystem.g:2830:1: rule__TopicConnection__Group__4__Impl : ( '(' ) ; - public final void rule__TopicConnection__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10__3__Impl" + // InternalRosSystem.g:2879:1: rule__RosSystem__Group_10__3__Impl : ( '}' ) ; + public final void rule__RosSystem__Group_10__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2834:1: ( ( '(' ) ) - // InternalRosSystem.g:2835:1: ( '(' ) + // InternalRosSystem.g:2883:1: ( ( '}' ) ) + // InternalRosSystem.g:2884:1: ( '}' ) { - // InternalRosSystem.g:2835:1: ( '(' ) - // InternalRosSystem.g:2836:2: '(' + // InternalRosSystem.g:2884:1: ( '}' ) + // InternalRosSystem.g:2885:2: '}' { - before(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_4()); - match(input,28,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_4()); + before(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10_3()); + match(input,26,FOLLOW_2); + after(grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10_3()); } @@ -8696,26 +8881,26 @@ public final void rule__TopicConnection__Group__4__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__4__Impl" + // $ANTLR end "rule__RosSystem__Group_10__3__Impl" - // $ANTLR start "rule__TopicConnection__Group__5" - // InternalRosSystem.g:2845:1: rule__TopicConnection__Group__5 : rule__TopicConnection__Group__5__Impl rule__TopicConnection__Group__6 ; - public final void rule__TopicConnection__Group__5() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2__0" + // InternalRosSystem.g:2895:1: rule__RosSystem__Group_10_2__0 : rule__RosSystem__Group_10_2__0__Impl rule__RosSystem__Group_10_2__1 ; + public final void rule__RosSystem__Group_10_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2849:1: ( rule__TopicConnection__Group__5__Impl rule__TopicConnection__Group__6 ) - // InternalRosSystem.g:2850:2: rule__TopicConnection__Group__5__Impl rule__TopicConnection__Group__6 + // InternalRosSystem.g:2899:1: ( rule__RosSystem__Group_10_2__0__Impl rule__RosSystem__Group_10_2__1 ) + // InternalRosSystem.g:2900:2: rule__RosSystem__Group_10_2__0__Impl rule__RosSystem__Group_10_2__1 { - pushFollow(FOLLOW_22); - rule__TopicConnection__Group__5__Impl(); + pushFollow(FOLLOW_10); + rule__RosSystem__Group_10_2__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__6(); + rule__RosSystem__Group_10_2__1(); state._fsp--; @@ -8734,35 +8919,35 @@ public final void rule__TopicConnection__Group__5() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__5" + // $ANTLR end "rule__RosSystem__Group_10_2__0" - // $ANTLR start "rule__TopicConnection__Group__5__Impl" - // InternalRosSystem.g:2857:1: rule__TopicConnection__Group__5__Impl : ( ( rule__TopicConnection__FromAssignment_5 ) ) ; - public final void rule__TopicConnection__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2__0__Impl" + // InternalRosSystem.g:2907:1: rule__RosSystem__Group_10_2__0__Impl : ( ( rule__RosSystem__ParameterAssignment_10_2_0 ) ) ; + public final void rule__RosSystem__Group_10_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2861:1: ( ( ( rule__TopicConnection__FromAssignment_5 ) ) ) - // InternalRosSystem.g:2862:1: ( ( rule__TopicConnection__FromAssignment_5 ) ) + // InternalRosSystem.g:2911:1: ( ( ( rule__RosSystem__ParameterAssignment_10_2_0 ) ) ) + // InternalRosSystem.g:2912:1: ( ( rule__RosSystem__ParameterAssignment_10_2_0 ) ) { - // InternalRosSystem.g:2862:1: ( ( rule__TopicConnection__FromAssignment_5 ) ) - // InternalRosSystem.g:2863:2: ( rule__TopicConnection__FromAssignment_5 ) + // InternalRosSystem.g:2912:1: ( ( rule__RosSystem__ParameterAssignment_10_2_0 ) ) + // InternalRosSystem.g:2913:2: ( rule__RosSystem__ParameterAssignment_10_2_0 ) { - before(grammarAccess.getTopicConnectionAccess().getFromAssignment_5()); - // InternalRosSystem.g:2864:2: ( rule__TopicConnection__FromAssignment_5 ) - // InternalRosSystem.g:2864:3: rule__TopicConnection__FromAssignment_5 + before(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_0()); + // InternalRosSystem.g:2914:2: ( rule__RosSystem__ParameterAssignment_10_2_0 ) + // InternalRosSystem.g:2914:3: rule__RosSystem__ParameterAssignment_10_2_0 { pushFollow(FOLLOW_2); - rule__TopicConnection__FromAssignment_5(); + rule__RosSystem__ParameterAssignment_10_2_0(); state._fsp--; } - after(grammarAccess.getTopicConnectionAccess().getFromAssignment_5()); + after(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_0()); } @@ -8781,26 +8966,21 @@ public final void rule__TopicConnection__Group__5__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__5__Impl" + // $ANTLR end "rule__RosSystem__Group_10_2__0__Impl" - // $ANTLR start "rule__TopicConnection__Group__6" - // InternalRosSystem.g:2872:1: rule__TopicConnection__Group__6 : rule__TopicConnection__Group__6__Impl rule__TopicConnection__Group__7 ; - public final void rule__TopicConnection__Group__6() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2__1" + // InternalRosSystem.g:2922:1: rule__RosSystem__Group_10_2__1 : rule__RosSystem__Group_10_2__1__Impl ; + public final void rule__RosSystem__Group_10_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2876:1: ( rule__TopicConnection__Group__6__Impl rule__TopicConnection__Group__7 ) - // InternalRosSystem.g:2877:2: rule__TopicConnection__Group__6__Impl rule__TopicConnection__Group__7 + // InternalRosSystem.g:2926:1: ( rule__RosSystem__Group_10_2__1__Impl ) + // InternalRosSystem.g:2927:2: rule__RosSystem__Group_10_2__1__Impl { - pushFollow(FOLLOW_22); - rule__TopicConnection__Group__6__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__TopicConnection__Group__7(); + rule__RosSystem__Group_10_2__1__Impl(); state._fsp--; @@ -8819,40 +8999,40 @@ public final void rule__TopicConnection__Group__6() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__6" + // $ANTLR end "rule__RosSystem__Group_10_2__1" - // $ANTLR start "rule__TopicConnection__Group__6__Impl" - // InternalRosSystem.g:2884:1: rule__TopicConnection__Group__6__Impl : ( ( rule__TopicConnection__Group_6__0 )* ) ; - public final void rule__TopicConnection__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2__1__Impl" + // InternalRosSystem.g:2933:1: rule__RosSystem__Group_10_2__1__Impl : ( ( rule__RosSystem__Group_10_2_1__0 )* ) ; + public final void rule__RosSystem__Group_10_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2888:1: ( ( ( rule__TopicConnection__Group_6__0 )* ) ) - // InternalRosSystem.g:2889:1: ( ( rule__TopicConnection__Group_6__0 )* ) + // InternalRosSystem.g:2937:1: ( ( ( rule__RosSystem__Group_10_2_1__0 )* ) ) + // InternalRosSystem.g:2938:1: ( ( rule__RosSystem__Group_10_2_1__0 )* ) { - // InternalRosSystem.g:2889:1: ( ( rule__TopicConnection__Group_6__0 )* ) - // InternalRosSystem.g:2890:2: ( rule__TopicConnection__Group_6__0 )* + // InternalRosSystem.g:2938:1: ( ( rule__RosSystem__Group_10_2_1__0 )* ) + // InternalRosSystem.g:2939:2: ( rule__RosSystem__Group_10_2_1__0 )* { - before(grammarAccess.getTopicConnectionAccess().getGroup_6()); - // InternalRosSystem.g:2891:2: ( rule__TopicConnection__Group_6__0 )* - loop20: + before(grammarAccess.getRosSystemAccess().getGroup_10_2_1()); + // InternalRosSystem.g:2940:2: ( rule__RosSystem__Group_10_2_1__0 )* + loop22: do { - int alt20=2; - int LA20_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA20_0==30) ) { - alt20=1; + if ( (LA22_0==30) ) { + alt22=1; } - switch (alt20) { + switch (alt22) { case 1 : - // InternalRosSystem.g:2891:3: rule__TopicConnection__Group_6__0 + // InternalRosSystem.g:2940:3: rule__RosSystem__Group_10_2_1__0 { pushFollow(FOLLOW_11); - rule__TopicConnection__Group_6__0(); + rule__RosSystem__Group_10_2_1__0(); state._fsp--; @@ -8861,11 +9041,11 @@ public final void rule__TopicConnection__Group__6__Impl() throws RecognitionExce break; default : - break loop20; + break loop22; } } while (true); - after(grammarAccess.getTopicConnectionAccess().getGroup_6()); + after(grammarAccess.getRosSystemAccess().getGroup_10_2_1()); } @@ -8884,26 +9064,26 @@ public final void rule__TopicConnection__Group__6__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__6__Impl" + // $ANTLR end "rule__RosSystem__Group_10_2__1__Impl" - // $ANTLR start "rule__TopicConnection__Group__7" - // InternalRosSystem.g:2899:1: rule__TopicConnection__Group__7 : rule__TopicConnection__Group__7__Impl rule__TopicConnection__Group__8 ; - public final void rule__TopicConnection__Group__7() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2_1__0" + // InternalRosSystem.g:2949:1: rule__RosSystem__Group_10_2_1__0 : rule__RosSystem__Group_10_2_1__0__Impl rule__RosSystem__Group_10_2_1__1 ; + public final void rule__RosSystem__Group_10_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2903:1: ( rule__TopicConnection__Group__7__Impl rule__TopicConnection__Group__8 ) - // InternalRosSystem.g:2904:2: rule__TopicConnection__Group__7__Impl rule__TopicConnection__Group__8 + // InternalRosSystem.g:2953:1: ( rule__RosSystem__Group_10_2_1__0__Impl rule__RosSystem__Group_10_2_1__1 ) + // InternalRosSystem.g:2954:2: rule__RosSystem__Group_10_2_1__0__Impl rule__RosSystem__Group_10_2_1__1 { - pushFollow(FOLLOW_23); - rule__TopicConnection__Group__7__Impl(); + pushFollow(FOLLOW_22); + rule__RosSystem__Group_10_2_1__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__8(); + rule__RosSystem__Group_10_2_1__1(); state._fsp--; @@ -8922,25 +9102,25 @@ public final void rule__TopicConnection__Group__7() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__7" + // $ANTLR end "rule__RosSystem__Group_10_2_1__0" - // $ANTLR start "rule__TopicConnection__Group__7__Impl" - // InternalRosSystem.g:2911:1: rule__TopicConnection__Group__7__Impl : ( ')' ) ; - public final void rule__TopicConnection__Group__7__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2_1__0__Impl" + // InternalRosSystem.g:2961:1: rule__RosSystem__Group_10_2_1__0__Impl : ( ',' ) ; + public final void rule__RosSystem__Group_10_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2915:1: ( ( ')' ) ) - // InternalRosSystem.g:2916:1: ( ')' ) + // InternalRosSystem.g:2965:1: ( ( ',' ) ) + // InternalRosSystem.g:2966:1: ( ',' ) { - // InternalRosSystem.g:2916:1: ( ')' ) - // InternalRosSystem.g:2917:2: ')' + // InternalRosSystem.g:2966:1: ( ',' ) + // InternalRosSystem.g:2967:2: ',' { - before(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_7()); - match(input,29,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_7()); + before(grammarAccess.getRosSystemAccess().getCommaKeyword_10_2_1_0()); + match(input,30,FOLLOW_2); + after(grammarAccess.getRosSystemAccess().getCommaKeyword_10_2_1_0()); } @@ -8959,26 +9139,21 @@ public final void rule__TopicConnection__Group__7__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__7__Impl" + // $ANTLR end "rule__RosSystem__Group_10_2_1__0__Impl" - // $ANTLR start "rule__TopicConnection__Group__8" - // InternalRosSystem.g:2926:1: rule__TopicConnection__Group__8 : rule__TopicConnection__Group__8__Impl rule__TopicConnection__Group__9 ; - public final void rule__TopicConnection__Group__8() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2_1__1" + // InternalRosSystem.g:2976:1: rule__RosSystem__Group_10_2_1__1 : rule__RosSystem__Group_10_2_1__1__Impl ; + public final void rule__RosSystem__Group_10_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2930:1: ( rule__TopicConnection__Group__8__Impl rule__TopicConnection__Group__9 ) - // InternalRosSystem.g:2931:2: rule__TopicConnection__Group__8__Impl rule__TopicConnection__Group__9 + // InternalRosSystem.g:2980:1: ( rule__RosSystem__Group_10_2_1__1__Impl ) + // InternalRosSystem.g:2981:2: rule__RosSystem__Group_10_2_1__1__Impl { - pushFollow(FOLLOW_8); - rule__TopicConnection__Group__8__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__TopicConnection__Group__9(); + rule__RosSystem__Group_10_2_1__1__Impl(); state._fsp--; @@ -8997,25 +9172,35 @@ public final void rule__TopicConnection__Group__8() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__8" + // $ANTLR end "rule__RosSystem__Group_10_2_1__1" - // $ANTLR start "rule__TopicConnection__Group__8__Impl" - // InternalRosSystem.g:2938:1: rule__TopicConnection__Group__8__Impl : ( 'To' ) ; - public final void rule__TopicConnection__Group__8__Impl() throws RecognitionException { + // $ANTLR start "rule__RosSystem__Group_10_2_1__1__Impl" + // InternalRosSystem.g:2987:1: rule__RosSystem__Group_10_2_1__1__Impl : ( ( rule__RosSystem__ParameterAssignment_10_2_1_1 ) ) ; + public final void rule__RosSystem__Group_10_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2942:1: ( ( 'To' ) ) - // InternalRosSystem.g:2943:1: ( 'To' ) + // InternalRosSystem.g:2991:1: ( ( ( rule__RosSystem__ParameterAssignment_10_2_1_1 ) ) ) + // InternalRosSystem.g:2992:1: ( ( rule__RosSystem__ParameterAssignment_10_2_1_1 ) ) { - // InternalRosSystem.g:2943:1: ( 'To' ) - // InternalRosSystem.g:2944:2: 'To' + // InternalRosSystem.g:2992:1: ( ( rule__RosSystem__ParameterAssignment_10_2_1_1 ) ) + // InternalRosSystem.g:2993:2: ( rule__RosSystem__ParameterAssignment_10_2_1_1 ) { - before(grammarAccess.getTopicConnectionAccess().getToKeyword_8()); - match(input,37,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getToKeyword_8()); + before(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_1_1()); + // InternalRosSystem.g:2994:2: ( rule__RosSystem__ParameterAssignment_10_2_1_1 ) + // InternalRosSystem.g:2994:3: rule__RosSystem__ParameterAssignment_10_2_1_1 + { + pushFollow(FOLLOW_2); + rule__RosSystem__ParameterAssignment_10_2_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getRosSystemAccess().getParameterAssignment_10_2_1_1()); } @@ -9034,26 +9219,26 @@ public final void rule__TopicConnection__Group__8__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__8__Impl" + // $ANTLR end "rule__RosSystem__Group_10_2_1__1__Impl" - // $ANTLR start "rule__TopicConnection__Group__9" - // InternalRosSystem.g:2953:1: rule__TopicConnection__Group__9 : rule__TopicConnection__Group__9__Impl rule__TopicConnection__Group__10 ; - public final void rule__TopicConnection__Group__9() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__0" + // InternalRosSystem.g:3003:1: rule__TopicConnection__Group__0 : rule__TopicConnection__Group__0__Impl rule__TopicConnection__Group__1 ; + public final void rule__TopicConnection__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2957:1: ( rule__TopicConnection__Group__9__Impl rule__TopicConnection__Group__10 ) - // InternalRosSystem.g:2958:2: rule__TopicConnection__Group__9__Impl rule__TopicConnection__Group__10 + // InternalRosSystem.g:3007:1: ( rule__TopicConnection__Group__0__Impl rule__TopicConnection__Group__1 ) + // InternalRosSystem.g:3008:2: rule__TopicConnection__Group__0__Impl rule__TopicConnection__Group__1 { pushFollow(FOLLOW_6); - rule__TopicConnection__Group__9__Impl(); + rule__TopicConnection__Group__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__10(); + rule__TopicConnection__Group__1(); state._fsp--; @@ -9072,25 +9257,25 @@ public final void rule__TopicConnection__Group__9() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__9" + // $ANTLR end "rule__TopicConnection__Group__0" - // $ANTLR start "rule__TopicConnection__Group__9__Impl" - // InternalRosSystem.g:2965:1: rule__TopicConnection__Group__9__Impl : ( '(' ) ; - public final void rule__TopicConnection__Group__9__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__0__Impl" + // InternalRosSystem.g:3015:1: rule__TopicConnection__Group__0__Impl : ( 'TopicConnection' ) ; + public final void rule__TopicConnection__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2969:1: ( ( '(' ) ) - // InternalRosSystem.g:2970:1: ( '(' ) + // InternalRosSystem.g:3019:1: ( ( 'TopicConnection' ) ) + // InternalRosSystem.g:3020:1: ( 'TopicConnection' ) { - // InternalRosSystem.g:2970:1: ( '(' ) - // InternalRosSystem.g:2971:2: '(' + // InternalRosSystem.g:3020:1: ( 'TopicConnection' ) + // InternalRosSystem.g:3021:2: 'TopicConnection' { - before(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_9()); - match(input,28,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_9()); + before(grammarAccess.getTopicConnectionAccess().getTopicConnectionKeyword_0()); + match(input,36,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getTopicConnectionKeyword_0()); } @@ -9109,26 +9294,26 @@ public final void rule__TopicConnection__Group__9__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__TopicConnection__Group__9__Impl" + // $ANTLR end "rule__TopicConnection__Group__0__Impl" - // $ANTLR start "rule__TopicConnection__Group__10" - // InternalRosSystem.g:2980:1: rule__TopicConnection__Group__10 : rule__TopicConnection__Group__10__Impl rule__TopicConnection__Group__11 ; - public final void rule__TopicConnection__Group__10() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__1" + // InternalRosSystem.g:3030:1: rule__TopicConnection__Group__1 : rule__TopicConnection__Group__1__Impl rule__TopicConnection__Group__2 ; + public final void rule__TopicConnection__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2984:1: ( rule__TopicConnection__Group__10__Impl rule__TopicConnection__Group__11 ) - // InternalRosSystem.g:2985:2: rule__TopicConnection__Group__10__Impl rule__TopicConnection__Group__11 + // InternalRosSystem.g:3034:1: ( rule__TopicConnection__Group__1__Impl rule__TopicConnection__Group__2 ) + // InternalRosSystem.g:3035:2: rule__TopicConnection__Group__1__Impl rule__TopicConnection__Group__2 { - pushFollow(FOLLOW_22); - rule__TopicConnection__Group__10__Impl(); + pushFollow(FOLLOW_4); + rule__TopicConnection__Group__1__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__11(); + rule__TopicConnection__Group__2(); state._fsp--; @@ -9147,35 +9332,35 @@ public final void rule__TopicConnection__Group__10() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__10" + // $ANTLR end "rule__TopicConnection__Group__1" - // $ANTLR start "rule__TopicConnection__Group__10__Impl" - // InternalRosSystem.g:2992:1: rule__TopicConnection__Group__10__Impl : ( ( rule__TopicConnection__ToAssignment_10 ) ) ; - public final void rule__TopicConnection__Group__10__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__1__Impl" + // InternalRosSystem.g:3042:1: rule__TopicConnection__Group__1__Impl : ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) ; + public final void rule__TopicConnection__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:2996:1: ( ( ( rule__TopicConnection__ToAssignment_10 ) ) ) - // InternalRosSystem.g:2997:1: ( ( rule__TopicConnection__ToAssignment_10 ) ) + // InternalRosSystem.g:3046:1: ( ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) ) + // InternalRosSystem.g:3047:1: ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) { - // InternalRosSystem.g:2997:1: ( ( rule__TopicConnection__ToAssignment_10 ) ) - // InternalRosSystem.g:2998:2: ( rule__TopicConnection__ToAssignment_10 ) + // InternalRosSystem.g:3047:1: ( ( rule__TopicConnection__TopicNameAssignment_1 ) ) + // InternalRosSystem.g:3048:2: ( rule__TopicConnection__TopicNameAssignment_1 ) { - before(grammarAccess.getTopicConnectionAccess().getToAssignment_10()); - // InternalRosSystem.g:2999:2: ( rule__TopicConnection__ToAssignment_10 ) - // InternalRosSystem.g:2999:3: rule__TopicConnection__ToAssignment_10 + before(grammarAccess.getTopicConnectionAccess().getTopicNameAssignment_1()); + // InternalRosSystem.g:3049:2: ( rule__TopicConnection__TopicNameAssignment_1 ) + // InternalRosSystem.g:3049:3: rule__TopicConnection__TopicNameAssignment_1 { pushFollow(FOLLOW_2); - rule__TopicConnection__ToAssignment_10(); + rule__TopicConnection__TopicNameAssignment_1(); state._fsp--; } - after(grammarAccess.getTopicConnectionAccess().getToAssignment_10()); + after(grammarAccess.getTopicConnectionAccess().getTopicNameAssignment_1()); } @@ -9194,26 +9379,26 @@ public final void rule__TopicConnection__Group__10__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__TopicConnection__Group__10__Impl" + // $ANTLR end "rule__TopicConnection__Group__1__Impl" - // $ANTLR start "rule__TopicConnection__Group__11" - // InternalRosSystem.g:3007:1: rule__TopicConnection__Group__11 : rule__TopicConnection__Group__11__Impl rule__TopicConnection__Group__12 ; - public final void rule__TopicConnection__Group__11() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__2" + // InternalRosSystem.g:3057:1: rule__TopicConnection__Group__2 : rule__TopicConnection__Group__2__Impl rule__TopicConnection__Group__3 ; + public final void rule__TopicConnection__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3011:1: ( rule__TopicConnection__Group__11__Impl rule__TopicConnection__Group__12 ) - // InternalRosSystem.g:3012:2: rule__TopicConnection__Group__11__Impl rule__TopicConnection__Group__12 + // InternalRosSystem.g:3061:1: ( rule__TopicConnection__Group__2__Impl rule__TopicConnection__Group__3 ) + // InternalRosSystem.g:3062:2: rule__TopicConnection__Group__2__Impl rule__TopicConnection__Group__3 { - pushFollow(FOLLOW_22); - rule__TopicConnection__Group__11__Impl(); + pushFollow(FOLLOW_23); + rule__TopicConnection__Group__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__12(); + rule__TopicConnection__Group__3(); state._fsp--; @@ -9232,53 +9417,25 @@ public final void rule__TopicConnection__Group__11() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__11" + // $ANTLR end "rule__TopicConnection__Group__2" - // $ANTLR start "rule__TopicConnection__Group__11__Impl" - // InternalRosSystem.g:3019:1: rule__TopicConnection__Group__11__Impl : ( ( rule__TopicConnection__Group_11__0 )* ) ; - public final void rule__TopicConnection__Group__11__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__2__Impl" + // InternalRosSystem.g:3069:1: rule__TopicConnection__Group__2__Impl : ( '{' ) ; + public final void rule__TopicConnection__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3023:1: ( ( ( rule__TopicConnection__Group_11__0 )* ) ) - // InternalRosSystem.g:3024:1: ( ( rule__TopicConnection__Group_11__0 )* ) + // InternalRosSystem.g:3073:1: ( ( '{' ) ) + // InternalRosSystem.g:3074:1: ( '{' ) { - // InternalRosSystem.g:3024:1: ( ( rule__TopicConnection__Group_11__0 )* ) - // InternalRosSystem.g:3025:2: ( rule__TopicConnection__Group_11__0 )* + // InternalRosSystem.g:3074:1: ( '{' ) + // InternalRosSystem.g:3075:2: '{' { - before(grammarAccess.getTopicConnectionAccess().getGroup_11()); - // InternalRosSystem.g:3026:2: ( rule__TopicConnection__Group_11__0 )* - loop21: - do { - int alt21=2; - int LA21_0 = input.LA(1); - - if ( (LA21_0==30) ) { - alt21=1; - } - - - switch (alt21) { - case 1 : - // InternalRosSystem.g:3026:3: rule__TopicConnection__Group_11__0 - { - pushFollow(FOLLOW_11); - rule__TopicConnection__Group_11__0(); - - state._fsp--; - - - } - break; - - default : - break loop21; - } - } while (true); - - after(grammarAccess.getTopicConnectionAccess().getGroup_11()); + before(grammarAccess.getTopicConnectionAccess().getLeftCurlyBracketKeyword_2()); + match(input,24,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getLeftCurlyBracketKeyword_2()); } @@ -9297,26 +9454,176 @@ public final void rule__TopicConnection__Group__11__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__TopicConnection__Group__11__Impl" + // $ANTLR end "rule__TopicConnection__Group__2__Impl" - // $ANTLR start "rule__TopicConnection__Group__12" - // InternalRosSystem.g:3034:1: rule__TopicConnection__Group__12 : rule__TopicConnection__Group__12__Impl rule__TopicConnection__Group__13 ; - public final void rule__TopicConnection__Group__12() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__3" + // InternalRosSystem.g:3084:1: rule__TopicConnection__Group__3 : rule__TopicConnection__Group__3__Impl rule__TopicConnection__Group__4 ; + public final void rule__TopicConnection__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3088:1: ( rule__TopicConnection__Group__3__Impl rule__TopicConnection__Group__4 ) + // InternalRosSystem.g:3089:2: rule__TopicConnection__Group__3__Impl rule__TopicConnection__Group__4 + { + pushFollow(FOLLOW_8); + rule__TopicConnection__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicConnection__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__3" + + + // $ANTLR start "rule__TopicConnection__Group__3__Impl" + // InternalRosSystem.g:3096:1: rule__TopicConnection__Group__3__Impl : ( 'From' ) ; + public final void rule__TopicConnection__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3100:1: ( ( 'From' ) ) + // InternalRosSystem.g:3101:1: ( 'From' ) + { + // InternalRosSystem.g:3101:1: ( 'From' ) + // InternalRosSystem.g:3102:2: 'From' + { + before(grammarAccess.getTopicConnectionAccess().getFromKeyword_3()); + match(input,37,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getFromKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__3__Impl" + + + // $ANTLR start "rule__TopicConnection__Group__4" + // InternalRosSystem.g:3111:1: rule__TopicConnection__Group__4 : rule__TopicConnection__Group__4__Impl rule__TopicConnection__Group__5 ; + public final void rule__TopicConnection__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3115:1: ( rule__TopicConnection__Group__4__Impl rule__TopicConnection__Group__5 ) + // InternalRosSystem.g:3116:2: rule__TopicConnection__Group__4__Impl rule__TopicConnection__Group__5 + { + pushFollow(FOLLOW_6); + rule__TopicConnection__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicConnection__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__4" + + + // $ANTLR start "rule__TopicConnection__Group__4__Impl" + // InternalRosSystem.g:3123:1: rule__TopicConnection__Group__4__Impl : ( '(' ) ; + public final void rule__TopicConnection__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3127:1: ( ( '(' ) ) + // InternalRosSystem.g:3128:1: ( '(' ) + { + // InternalRosSystem.g:3128:1: ( '(' ) + // InternalRosSystem.g:3129:2: '(' + { + before(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_4()); + match(input,28,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__4__Impl" + + + // $ANTLR start "rule__TopicConnection__Group__5" + // InternalRosSystem.g:3138:1: rule__TopicConnection__Group__5 : rule__TopicConnection__Group__5__Impl rule__TopicConnection__Group__6 ; + public final void rule__TopicConnection__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3038:1: ( rule__TopicConnection__Group__12__Impl rule__TopicConnection__Group__13 ) - // InternalRosSystem.g:3039:2: rule__TopicConnection__Group__12__Impl rule__TopicConnection__Group__13 + // InternalRosSystem.g:3142:1: ( rule__TopicConnection__Group__5__Impl rule__TopicConnection__Group__6 ) + // InternalRosSystem.g:3143:2: rule__TopicConnection__Group__5__Impl rule__TopicConnection__Group__6 { pushFollow(FOLLOW_24); - rule__TopicConnection__Group__12__Impl(); + rule__TopicConnection__Group__5__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group__13(); + rule__TopicConnection__Group__6(); state._fsp--; @@ -9335,25 +9642,213 @@ public final void rule__TopicConnection__Group__12() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__12" + // $ANTLR end "rule__TopicConnection__Group__5" - // $ANTLR start "rule__TopicConnection__Group__12__Impl" - // InternalRosSystem.g:3046:1: rule__TopicConnection__Group__12__Impl : ( ')' ) ; - public final void rule__TopicConnection__Group__12__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__5__Impl" + // InternalRosSystem.g:3150:1: rule__TopicConnection__Group__5__Impl : ( ( rule__TopicConnection__FromAssignment_5 ) ) ; + public final void rule__TopicConnection__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3050:1: ( ( ')' ) ) - // InternalRosSystem.g:3051:1: ( ')' ) + // InternalRosSystem.g:3154:1: ( ( ( rule__TopicConnection__FromAssignment_5 ) ) ) + // InternalRosSystem.g:3155:1: ( ( rule__TopicConnection__FromAssignment_5 ) ) { - // InternalRosSystem.g:3051:1: ( ')' ) - // InternalRosSystem.g:3052:2: ')' + // InternalRosSystem.g:3155:1: ( ( rule__TopicConnection__FromAssignment_5 ) ) + // InternalRosSystem.g:3156:2: ( rule__TopicConnection__FromAssignment_5 ) { - before(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_12()); + before(grammarAccess.getTopicConnectionAccess().getFromAssignment_5()); + // InternalRosSystem.g:3157:2: ( rule__TopicConnection__FromAssignment_5 ) + // InternalRosSystem.g:3157:3: rule__TopicConnection__FromAssignment_5 + { + pushFollow(FOLLOW_2); + rule__TopicConnection__FromAssignment_5(); + + state._fsp--; + + + } + + after(grammarAccess.getTopicConnectionAccess().getFromAssignment_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__5__Impl" + + + // $ANTLR start "rule__TopicConnection__Group__6" + // InternalRosSystem.g:3165:1: rule__TopicConnection__Group__6 : rule__TopicConnection__Group__6__Impl rule__TopicConnection__Group__7 ; + public final void rule__TopicConnection__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3169:1: ( rule__TopicConnection__Group__6__Impl rule__TopicConnection__Group__7 ) + // InternalRosSystem.g:3170:2: rule__TopicConnection__Group__6__Impl rule__TopicConnection__Group__7 + { + pushFollow(FOLLOW_24); + rule__TopicConnection__Group__6__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicConnection__Group__7(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__6" + + + // $ANTLR start "rule__TopicConnection__Group__6__Impl" + // InternalRosSystem.g:3177:1: rule__TopicConnection__Group__6__Impl : ( ( rule__TopicConnection__Group_6__0 )* ) ; + public final void rule__TopicConnection__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3181:1: ( ( ( rule__TopicConnection__Group_6__0 )* ) ) + // InternalRosSystem.g:3182:1: ( ( rule__TopicConnection__Group_6__0 )* ) + { + // InternalRosSystem.g:3182:1: ( ( rule__TopicConnection__Group_6__0 )* ) + // InternalRosSystem.g:3183:2: ( rule__TopicConnection__Group_6__0 )* + { + before(grammarAccess.getTopicConnectionAccess().getGroup_6()); + // InternalRosSystem.g:3184:2: ( rule__TopicConnection__Group_6__0 )* + loop23: + do { + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==30) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // InternalRosSystem.g:3184:3: rule__TopicConnection__Group_6__0 + { + pushFollow(FOLLOW_11); + rule__TopicConnection__Group_6__0(); + + state._fsp--; + + + } + break; + + default : + break loop23; + } + } while (true); + + after(grammarAccess.getTopicConnectionAccess().getGroup_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__6__Impl" + + + // $ANTLR start "rule__TopicConnection__Group__7" + // InternalRosSystem.g:3192:1: rule__TopicConnection__Group__7 : rule__TopicConnection__Group__7__Impl rule__TopicConnection__Group__8 ; + public final void rule__TopicConnection__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3196:1: ( rule__TopicConnection__Group__7__Impl rule__TopicConnection__Group__8 ) + // InternalRosSystem.g:3197:2: rule__TopicConnection__Group__7__Impl rule__TopicConnection__Group__8 + { + pushFollow(FOLLOW_25); + rule__TopicConnection__Group__7__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicConnection__Group__8(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__7" + + + // $ANTLR start "rule__TopicConnection__Group__7__Impl" + // InternalRosSystem.g:3204:1: rule__TopicConnection__Group__7__Impl : ( ')' ) ; + public final void rule__TopicConnection__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3208:1: ( ( ')' ) ) + // InternalRosSystem.g:3209:1: ( ')' ) + { + // InternalRosSystem.g:3209:1: ( ')' ) + // InternalRosSystem.g:3210:2: ')' + { + before(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_7()); match(input,29,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_12()); + after(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_7()); } @@ -9372,21 +9867,26 @@ public final void rule__TopicConnection__Group__12__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__TopicConnection__Group__12__Impl" + // $ANTLR end "rule__TopicConnection__Group__7__Impl" - // $ANTLR start "rule__TopicConnection__Group__13" - // InternalRosSystem.g:3061:1: rule__TopicConnection__Group__13 : rule__TopicConnection__Group__13__Impl ; - public final void rule__TopicConnection__Group__13() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__8" + // InternalRosSystem.g:3219:1: rule__TopicConnection__Group__8 : rule__TopicConnection__Group__8__Impl rule__TopicConnection__Group__9 ; + public final void rule__TopicConnection__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3065:1: ( rule__TopicConnection__Group__13__Impl ) - // InternalRosSystem.g:3066:2: rule__TopicConnection__Group__13__Impl + // InternalRosSystem.g:3223:1: ( rule__TopicConnection__Group__8__Impl rule__TopicConnection__Group__9 ) + // InternalRosSystem.g:3224:2: rule__TopicConnection__Group__8__Impl rule__TopicConnection__Group__9 { + pushFollow(FOLLOW_8); + rule__TopicConnection__Group__8__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__TopicConnection__Group__13__Impl(); + rule__TopicConnection__Group__9(); state._fsp--; @@ -9405,25 +9905,25 @@ public final void rule__TopicConnection__Group__13() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicConnection__Group__13" + // $ANTLR end "rule__TopicConnection__Group__8" - // $ANTLR start "rule__TopicConnection__Group__13__Impl" - // InternalRosSystem.g:3072:1: rule__TopicConnection__Group__13__Impl : ( '}' ) ; - public final void rule__TopicConnection__Group__13__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__8__Impl" + // InternalRosSystem.g:3231:1: rule__TopicConnection__Group__8__Impl : ( 'To' ) ; + public final void rule__TopicConnection__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3076:1: ( ( '}' ) ) - // InternalRosSystem.g:3077:1: ( '}' ) + // InternalRosSystem.g:3235:1: ( ( 'To' ) ) + // InternalRosSystem.g:3236:1: ( 'To' ) { - // InternalRosSystem.g:3077:1: ( '}' ) - // InternalRosSystem.g:3078:2: '}' + // InternalRosSystem.g:3236:1: ( 'To' ) + // InternalRosSystem.g:3237:2: 'To' { - before(grammarAccess.getTopicConnectionAccess().getRightCurlyBracketKeyword_13()); - match(input,26,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getRightCurlyBracketKeyword_13()); + before(grammarAccess.getTopicConnectionAccess().getToKeyword_8()); + match(input,38,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getToKeyword_8()); } @@ -9442,26 +9942,26 @@ public final void rule__TopicConnection__Group__13__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__TopicConnection__Group__13__Impl" + // $ANTLR end "rule__TopicConnection__Group__8__Impl" - // $ANTLR start "rule__TopicConnection__Group_6__0" - // InternalRosSystem.g:3088:1: rule__TopicConnection__Group_6__0 : rule__TopicConnection__Group_6__0__Impl rule__TopicConnection__Group_6__1 ; - public final void rule__TopicConnection__Group_6__0() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__9" + // InternalRosSystem.g:3246:1: rule__TopicConnection__Group__9 : rule__TopicConnection__Group__9__Impl rule__TopicConnection__Group__10 ; + public final void rule__TopicConnection__Group__9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3092:1: ( rule__TopicConnection__Group_6__0__Impl rule__TopicConnection__Group_6__1 ) - // InternalRosSystem.g:3093:2: rule__TopicConnection__Group_6__0__Impl rule__TopicConnection__Group_6__1 + // InternalRosSystem.g:3250:1: ( rule__TopicConnection__Group__9__Impl rule__TopicConnection__Group__10 ) + // InternalRosSystem.g:3251:2: rule__TopicConnection__Group__9__Impl rule__TopicConnection__Group__10 { pushFollow(FOLLOW_6); - rule__TopicConnection__Group_6__0__Impl(); + rule__TopicConnection__Group__9__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group_6__1(); + rule__TopicConnection__Group__10(); state._fsp--; @@ -9480,25 +9980,25 @@ public final void rule__TopicConnection__Group_6__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__TopicConnection__Group_6__0" + // $ANTLR end "rule__TopicConnection__Group__9" - // $ANTLR start "rule__TopicConnection__Group_6__0__Impl" - // InternalRosSystem.g:3100:1: rule__TopicConnection__Group_6__0__Impl : ( ',' ) ; - public final void rule__TopicConnection__Group_6__0__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__9__Impl" + // InternalRosSystem.g:3258:1: rule__TopicConnection__Group__9__Impl : ( '(' ) ; + public final void rule__TopicConnection__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3104:1: ( ( ',' ) ) - // InternalRosSystem.g:3105:1: ( ',' ) + // InternalRosSystem.g:3262:1: ( ( '(' ) ) + // InternalRosSystem.g:3263:1: ( '(' ) { - // InternalRosSystem.g:3105:1: ( ',' ) - // InternalRosSystem.g:3106:2: ',' + // InternalRosSystem.g:3263:1: ( '(' ) + // InternalRosSystem.g:3264:2: '(' { - before(grammarAccess.getTopicConnectionAccess().getCommaKeyword_6_0()); - match(input,30,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getCommaKeyword_6_0()); + before(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_9()); + match(input,28,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_9()); } @@ -9517,21 +10017,26 @@ public final void rule__TopicConnection__Group_6__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__TopicConnection__Group_6__0__Impl" + // $ANTLR end "rule__TopicConnection__Group__9__Impl" - // $ANTLR start "rule__TopicConnection__Group_6__1" - // InternalRosSystem.g:3115:1: rule__TopicConnection__Group_6__1 : rule__TopicConnection__Group_6__1__Impl ; - public final void rule__TopicConnection__Group_6__1() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__10" + // InternalRosSystem.g:3273:1: rule__TopicConnection__Group__10 : rule__TopicConnection__Group__10__Impl rule__TopicConnection__Group__11 ; + public final void rule__TopicConnection__Group__10() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3119:1: ( rule__TopicConnection__Group_6__1__Impl ) - // InternalRosSystem.g:3120:2: rule__TopicConnection__Group_6__1__Impl + // InternalRosSystem.g:3277:1: ( rule__TopicConnection__Group__10__Impl rule__TopicConnection__Group__11 ) + // InternalRosSystem.g:3278:2: rule__TopicConnection__Group__10__Impl rule__TopicConnection__Group__11 { + pushFollow(FOLLOW_24); + rule__TopicConnection__Group__10__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__TopicConnection__Group_6__1__Impl(); + rule__TopicConnection__Group__11(); state._fsp--; @@ -9550,35 +10055,35 @@ public final void rule__TopicConnection__Group_6__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__TopicConnection__Group_6__1" + // $ANTLR end "rule__TopicConnection__Group__10" - // $ANTLR start "rule__TopicConnection__Group_6__1__Impl" - // InternalRosSystem.g:3126:1: rule__TopicConnection__Group_6__1__Impl : ( ( rule__TopicConnection__FromAssignment_6_1 ) ) ; - public final void rule__TopicConnection__Group_6__1__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__10__Impl" + // InternalRosSystem.g:3285:1: rule__TopicConnection__Group__10__Impl : ( ( rule__TopicConnection__ToAssignment_10 ) ) ; + public final void rule__TopicConnection__Group__10__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3130:1: ( ( ( rule__TopicConnection__FromAssignment_6_1 ) ) ) - // InternalRosSystem.g:3131:1: ( ( rule__TopicConnection__FromAssignment_6_1 ) ) + // InternalRosSystem.g:3289:1: ( ( ( rule__TopicConnection__ToAssignment_10 ) ) ) + // InternalRosSystem.g:3290:1: ( ( rule__TopicConnection__ToAssignment_10 ) ) { - // InternalRosSystem.g:3131:1: ( ( rule__TopicConnection__FromAssignment_6_1 ) ) - // InternalRosSystem.g:3132:2: ( rule__TopicConnection__FromAssignment_6_1 ) + // InternalRosSystem.g:3290:1: ( ( rule__TopicConnection__ToAssignment_10 ) ) + // InternalRosSystem.g:3291:2: ( rule__TopicConnection__ToAssignment_10 ) { - before(grammarAccess.getTopicConnectionAccess().getFromAssignment_6_1()); - // InternalRosSystem.g:3133:2: ( rule__TopicConnection__FromAssignment_6_1 ) - // InternalRosSystem.g:3133:3: rule__TopicConnection__FromAssignment_6_1 + before(grammarAccess.getTopicConnectionAccess().getToAssignment_10()); + // InternalRosSystem.g:3292:2: ( rule__TopicConnection__ToAssignment_10 ) + // InternalRosSystem.g:3292:3: rule__TopicConnection__ToAssignment_10 { pushFollow(FOLLOW_2); - rule__TopicConnection__FromAssignment_6_1(); + rule__TopicConnection__ToAssignment_10(); state._fsp--; } - after(grammarAccess.getTopicConnectionAccess().getFromAssignment_6_1()); + after(grammarAccess.getTopicConnectionAccess().getToAssignment_10()); } @@ -9597,26 +10102,26 @@ public final void rule__TopicConnection__Group_6__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__TopicConnection__Group_6__1__Impl" + // $ANTLR end "rule__TopicConnection__Group__10__Impl" - // $ANTLR start "rule__TopicConnection__Group_11__0" - // InternalRosSystem.g:3142:1: rule__TopicConnection__Group_11__0 : rule__TopicConnection__Group_11__0__Impl rule__TopicConnection__Group_11__1 ; - public final void rule__TopicConnection__Group_11__0() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__11" + // InternalRosSystem.g:3300:1: rule__TopicConnection__Group__11 : rule__TopicConnection__Group__11__Impl rule__TopicConnection__Group__12 ; + public final void rule__TopicConnection__Group__11() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3146:1: ( rule__TopicConnection__Group_11__0__Impl rule__TopicConnection__Group_11__1 ) - // InternalRosSystem.g:3147:2: rule__TopicConnection__Group_11__0__Impl rule__TopicConnection__Group_11__1 + // InternalRosSystem.g:3304:1: ( rule__TopicConnection__Group__11__Impl rule__TopicConnection__Group__12 ) + // InternalRosSystem.g:3305:2: rule__TopicConnection__Group__11__Impl rule__TopicConnection__Group__12 { - pushFollow(FOLLOW_6); - rule__TopicConnection__Group_11__0__Impl(); + pushFollow(FOLLOW_24); + rule__TopicConnection__Group__11__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicConnection__Group_11__1(); + rule__TopicConnection__Group__12(); state._fsp--; @@ -9635,25 +10140,53 @@ public final void rule__TopicConnection__Group_11__0() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__TopicConnection__Group_11__0" + // $ANTLR end "rule__TopicConnection__Group__11" - // $ANTLR start "rule__TopicConnection__Group_11__0__Impl" - // InternalRosSystem.g:3154:1: rule__TopicConnection__Group_11__0__Impl : ( ',' ) ; - public final void rule__TopicConnection__Group_11__0__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__11__Impl" + // InternalRosSystem.g:3312:1: rule__TopicConnection__Group__11__Impl : ( ( rule__TopicConnection__Group_11__0 )* ) ; + public final void rule__TopicConnection__Group__11__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3158:1: ( ( ',' ) ) - // InternalRosSystem.g:3159:1: ( ',' ) + // InternalRosSystem.g:3316:1: ( ( ( rule__TopicConnection__Group_11__0 )* ) ) + // InternalRosSystem.g:3317:1: ( ( rule__TopicConnection__Group_11__0 )* ) { - // InternalRosSystem.g:3159:1: ( ',' ) - // InternalRosSystem.g:3160:2: ',' + // InternalRosSystem.g:3317:1: ( ( rule__TopicConnection__Group_11__0 )* ) + // InternalRosSystem.g:3318:2: ( rule__TopicConnection__Group_11__0 )* { - before(grammarAccess.getTopicConnectionAccess().getCommaKeyword_11_0()); - match(input,30,FOLLOW_2); - after(grammarAccess.getTopicConnectionAccess().getCommaKeyword_11_0()); + before(grammarAccess.getTopicConnectionAccess().getGroup_11()); + // InternalRosSystem.g:3319:2: ( rule__TopicConnection__Group_11__0 )* + loop24: + do { + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==30) ) { + alt24=1; + } + + + switch (alt24) { + case 1 : + // InternalRosSystem.g:3319:3: rule__TopicConnection__Group_11__0 + { + pushFollow(FOLLOW_11); + rule__TopicConnection__Group_11__0(); + + state._fsp--; + + + } + break; + + default : + break loop24; + } + } while (true); + + after(grammarAccess.getTopicConnectionAccess().getGroup_11()); } @@ -9672,21 +10205,26 @@ public final void rule__TopicConnection__Group_11__0__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__TopicConnection__Group_11__0__Impl" + // $ANTLR end "rule__TopicConnection__Group__11__Impl" - // $ANTLR start "rule__TopicConnection__Group_11__1" - // InternalRosSystem.g:3169:1: rule__TopicConnection__Group_11__1 : rule__TopicConnection__Group_11__1__Impl ; - public final void rule__TopicConnection__Group_11__1() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__12" + // InternalRosSystem.g:3327:1: rule__TopicConnection__Group__12 : rule__TopicConnection__Group__12__Impl rule__TopicConnection__Group__13 ; + public final void rule__TopicConnection__Group__12() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3173:1: ( rule__TopicConnection__Group_11__1__Impl ) - // InternalRosSystem.g:3174:2: rule__TopicConnection__Group_11__1__Impl + // InternalRosSystem.g:3331:1: ( rule__TopicConnection__Group__12__Impl rule__TopicConnection__Group__13 ) + // InternalRosSystem.g:3332:2: rule__TopicConnection__Group__12__Impl rule__TopicConnection__Group__13 { + pushFollow(FOLLOW_26); + rule__TopicConnection__Group__12__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__TopicConnection__Group_11__1__Impl(); + rule__TopicConnection__Group__13(); state._fsp--; @@ -9705,35 +10243,95 @@ public final void rule__TopicConnection__Group_11__1() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__TopicConnection__Group_11__1" + // $ANTLR end "rule__TopicConnection__Group__12" - // $ANTLR start "rule__TopicConnection__Group_11__1__Impl" - // InternalRosSystem.g:3180:1: rule__TopicConnection__Group_11__1__Impl : ( ( rule__TopicConnection__ToAssignment_11_1 ) ) ; - public final void rule__TopicConnection__Group_11__1__Impl() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__Group__12__Impl" + // InternalRosSystem.g:3339:1: rule__TopicConnection__Group__12__Impl : ( ')' ) ; + public final void rule__TopicConnection__Group__12__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3184:1: ( ( ( rule__TopicConnection__ToAssignment_11_1 ) ) ) - // InternalRosSystem.g:3185:1: ( ( rule__TopicConnection__ToAssignment_11_1 ) ) + // InternalRosSystem.g:3343:1: ( ( ')' ) ) + // InternalRosSystem.g:3344:1: ( ')' ) { - // InternalRosSystem.g:3185:1: ( ( rule__TopicConnection__ToAssignment_11_1 ) ) - // InternalRosSystem.g:3186:2: ( rule__TopicConnection__ToAssignment_11_1 ) + // InternalRosSystem.g:3344:1: ( ')' ) + // InternalRosSystem.g:3345:2: ')' { - before(grammarAccess.getTopicConnectionAccess().getToAssignment_11_1()); - // InternalRosSystem.g:3187:2: ( rule__TopicConnection__ToAssignment_11_1 ) - // InternalRosSystem.g:3187:3: rule__TopicConnection__ToAssignment_11_1 + before(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_12()); + match(input,29,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_12()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__12__Impl" + + + // $ANTLR start "rule__TopicConnection__Group__13" + // InternalRosSystem.g:3354:1: rule__TopicConnection__Group__13 : rule__TopicConnection__Group__13__Impl ; + public final void rule__TopicConnection__Group__13() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3358:1: ( rule__TopicConnection__Group__13__Impl ) + // InternalRosSystem.g:3359:2: rule__TopicConnection__Group__13__Impl { pushFollow(FOLLOW_2); - rule__TopicConnection__ToAssignment_11_1(); + rule__TopicConnection__Group__13__Impl(); state._fsp--; } - after(grammarAccess.getTopicConnectionAccess().getToAssignment_11_1()); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group__13" + + + // $ANTLR start "rule__TopicConnection__Group__13__Impl" + // InternalRosSystem.g:3365:1: rule__TopicConnection__Group__13__Impl : ( '}' ) ; + public final void rule__TopicConnection__Group__13__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3369:1: ( ( '}' ) ) + // InternalRosSystem.g:3370:1: ( '}' ) + { + // InternalRosSystem.g:3370:1: ( '}' ) + // InternalRosSystem.g:3371:2: '}' + { + before(grammarAccess.getTopicConnectionAccess().getRightCurlyBracketKeyword_13()); + match(input,26,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getRightCurlyBracketKeyword_13()); } @@ -9752,26 +10350,2807 @@ public final void rule__TopicConnection__Group_11__1__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__TopicConnection__Group_11__1__Impl" + // $ANTLR end "rule__TopicConnection__Group__13__Impl" + + + // $ANTLR start "rule__TopicConnection__Group_6__0" + // InternalRosSystem.g:3381:1: rule__TopicConnection__Group_6__0 : rule__TopicConnection__Group_6__0__Impl rule__TopicConnection__Group_6__1 ; + public final void rule__TopicConnection__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3385:1: ( rule__TopicConnection__Group_6__0__Impl rule__TopicConnection__Group_6__1 ) + // InternalRosSystem.g:3386:2: rule__TopicConnection__Group_6__0__Impl rule__TopicConnection__Group_6__1 + { + pushFollow(FOLLOW_6); + rule__TopicConnection__Group_6__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicConnection__Group_6__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_6__0" + + + // $ANTLR start "rule__TopicConnection__Group_6__0__Impl" + // InternalRosSystem.g:3393:1: rule__TopicConnection__Group_6__0__Impl : ( ',' ) ; + public final void rule__TopicConnection__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3397:1: ( ( ',' ) ) + // InternalRosSystem.g:3398:1: ( ',' ) + { + // InternalRosSystem.g:3398:1: ( ',' ) + // InternalRosSystem.g:3399:2: ',' + { + before(grammarAccess.getTopicConnectionAccess().getCommaKeyword_6_0()); + match(input,30,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getCommaKeyword_6_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_6__0__Impl" + + + // $ANTLR start "rule__TopicConnection__Group_6__1" + // InternalRosSystem.g:3408:1: rule__TopicConnection__Group_6__1 : rule__TopicConnection__Group_6__1__Impl ; + public final void rule__TopicConnection__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3412:1: ( rule__TopicConnection__Group_6__1__Impl ) + // InternalRosSystem.g:3413:2: rule__TopicConnection__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__TopicConnection__Group_6__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_6__1" + + + // $ANTLR start "rule__TopicConnection__Group_6__1__Impl" + // InternalRosSystem.g:3419:1: rule__TopicConnection__Group_6__1__Impl : ( ( rule__TopicConnection__FromAssignment_6_1 ) ) ; + public final void rule__TopicConnection__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3423:1: ( ( ( rule__TopicConnection__FromAssignment_6_1 ) ) ) + // InternalRosSystem.g:3424:1: ( ( rule__TopicConnection__FromAssignment_6_1 ) ) + { + // InternalRosSystem.g:3424:1: ( ( rule__TopicConnection__FromAssignment_6_1 ) ) + // InternalRosSystem.g:3425:2: ( rule__TopicConnection__FromAssignment_6_1 ) + { + before(grammarAccess.getTopicConnectionAccess().getFromAssignment_6_1()); + // InternalRosSystem.g:3426:2: ( rule__TopicConnection__FromAssignment_6_1 ) + // InternalRosSystem.g:3426:3: rule__TopicConnection__FromAssignment_6_1 + { + pushFollow(FOLLOW_2); + rule__TopicConnection__FromAssignment_6_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTopicConnectionAccess().getFromAssignment_6_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_6__1__Impl" + + + // $ANTLR start "rule__TopicConnection__Group_11__0" + // InternalRosSystem.g:3435:1: rule__TopicConnection__Group_11__0 : rule__TopicConnection__Group_11__0__Impl rule__TopicConnection__Group_11__1 ; + public final void rule__TopicConnection__Group_11__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3439:1: ( rule__TopicConnection__Group_11__0__Impl rule__TopicConnection__Group_11__1 ) + // InternalRosSystem.g:3440:2: rule__TopicConnection__Group_11__0__Impl rule__TopicConnection__Group_11__1 + { + pushFollow(FOLLOW_6); + rule__TopicConnection__Group_11__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicConnection__Group_11__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_11__0" + + + // $ANTLR start "rule__TopicConnection__Group_11__0__Impl" + // InternalRosSystem.g:3447:1: rule__TopicConnection__Group_11__0__Impl : ( ',' ) ; + public final void rule__TopicConnection__Group_11__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3451:1: ( ( ',' ) ) + // InternalRosSystem.g:3452:1: ( ',' ) + { + // InternalRosSystem.g:3452:1: ( ',' ) + // InternalRosSystem.g:3453:2: ',' + { + before(grammarAccess.getTopicConnectionAccess().getCommaKeyword_11_0()); + match(input,30,FOLLOW_2); + after(grammarAccess.getTopicConnectionAccess().getCommaKeyword_11_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_11__0__Impl" + + + // $ANTLR start "rule__TopicConnection__Group_11__1" + // InternalRosSystem.g:3462:1: rule__TopicConnection__Group_11__1 : rule__TopicConnection__Group_11__1__Impl ; + public final void rule__TopicConnection__Group_11__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3466:1: ( rule__TopicConnection__Group_11__1__Impl ) + // InternalRosSystem.g:3467:2: rule__TopicConnection__Group_11__1__Impl + { + pushFollow(FOLLOW_2); + rule__TopicConnection__Group_11__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_11__1" + + + // $ANTLR start "rule__TopicConnection__Group_11__1__Impl" + // InternalRosSystem.g:3473:1: rule__TopicConnection__Group_11__1__Impl : ( ( rule__TopicConnection__ToAssignment_11_1 ) ) ; + public final void rule__TopicConnection__Group_11__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3477:1: ( ( ( rule__TopicConnection__ToAssignment_11_1 ) ) ) + // InternalRosSystem.g:3478:1: ( ( rule__TopicConnection__ToAssignment_11_1 ) ) + { + // InternalRosSystem.g:3478:1: ( ( rule__TopicConnection__ToAssignment_11_1 ) ) + // InternalRosSystem.g:3479:2: ( rule__TopicConnection__ToAssignment_11_1 ) + { + before(grammarAccess.getTopicConnectionAccess().getToAssignment_11_1()); + // InternalRosSystem.g:3480:2: ( rule__TopicConnection__ToAssignment_11_1 ) + // InternalRosSystem.g:3480:3: rule__TopicConnection__ToAssignment_11_1 + { + pushFollow(FOLLOW_2); + rule__TopicConnection__ToAssignment_11_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTopicConnectionAccess().getToAssignment_11_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicConnection__Group_11__1__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__0" + // InternalRosSystem.g:3489:1: rule__ServiceConnection__Group__0 : rule__ServiceConnection__Group__0__Impl rule__ServiceConnection__Group__1 ; + public final void rule__ServiceConnection__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3493:1: ( rule__ServiceConnection__Group__0__Impl rule__ServiceConnection__Group__1 ) + // InternalRosSystem.g:3494:2: rule__ServiceConnection__Group__0__Impl rule__ServiceConnection__Group__1 + { + pushFollow(FOLLOW_6); + rule__ServiceConnection__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__0" + + + // $ANTLR start "rule__ServiceConnection__Group__0__Impl" + // InternalRosSystem.g:3501:1: rule__ServiceConnection__Group__0__Impl : ( 'ServiceConnection' ) ; + public final void rule__ServiceConnection__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3505:1: ( ( 'ServiceConnection' ) ) + // InternalRosSystem.g:3506:1: ( 'ServiceConnection' ) + { + // InternalRosSystem.g:3506:1: ( 'ServiceConnection' ) + // InternalRosSystem.g:3507:2: 'ServiceConnection' + { + before(grammarAccess.getServiceConnectionAccess().getServiceConnectionKeyword_0()); + match(input,39,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getServiceConnectionKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__0__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__1" + // InternalRosSystem.g:3516:1: rule__ServiceConnection__Group__1 : rule__ServiceConnection__Group__1__Impl rule__ServiceConnection__Group__2 ; + public final void rule__ServiceConnection__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3520:1: ( rule__ServiceConnection__Group__1__Impl rule__ServiceConnection__Group__2 ) + // InternalRosSystem.g:3521:2: rule__ServiceConnection__Group__1__Impl rule__ServiceConnection__Group__2 + { + pushFollow(FOLLOW_4); + rule__ServiceConnection__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__1" + + + // $ANTLR start "rule__ServiceConnection__Group__1__Impl" + // InternalRosSystem.g:3528:1: rule__ServiceConnection__Group__1__Impl : ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) ; + public final void rule__ServiceConnection__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3532:1: ( ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) ) + // InternalRosSystem.g:3533:1: ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) + { + // InternalRosSystem.g:3533:1: ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) + // InternalRosSystem.g:3534:2: ( rule__ServiceConnection__ServiceNameAssignment_1 ) + { + before(grammarAccess.getServiceConnectionAccess().getServiceNameAssignment_1()); + // InternalRosSystem.g:3535:2: ( rule__ServiceConnection__ServiceNameAssignment_1 ) + // InternalRosSystem.g:3535:3: rule__ServiceConnection__ServiceNameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ServiceConnection__ServiceNameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getServiceConnectionAccess().getServiceNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__1__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__2" + // InternalRosSystem.g:3543:1: rule__ServiceConnection__Group__2 : rule__ServiceConnection__Group__2__Impl rule__ServiceConnection__Group__3 ; + public final void rule__ServiceConnection__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3547:1: ( rule__ServiceConnection__Group__2__Impl rule__ServiceConnection__Group__3 ) + // InternalRosSystem.g:3548:2: rule__ServiceConnection__Group__2__Impl rule__ServiceConnection__Group__3 + { + pushFollow(FOLLOW_23); + rule__ServiceConnection__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__2" + + + // $ANTLR start "rule__ServiceConnection__Group__2__Impl" + // InternalRosSystem.g:3555:1: rule__ServiceConnection__Group__2__Impl : ( '{' ) ; + public final void rule__ServiceConnection__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3559:1: ( ( '{' ) ) + // InternalRosSystem.g:3560:1: ( '{' ) + { + // InternalRosSystem.g:3560:1: ( '{' ) + // InternalRosSystem.g:3561:2: '{' + { + before(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); + match(input,24,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__2__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__3" + // InternalRosSystem.g:3570:1: rule__ServiceConnection__Group__3 : rule__ServiceConnection__Group__3__Impl rule__ServiceConnection__Group__4 ; + public final void rule__ServiceConnection__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3574:1: ( rule__ServiceConnection__Group__3__Impl rule__ServiceConnection__Group__4 ) + // InternalRosSystem.g:3575:2: rule__ServiceConnection__Group__3__Impl rule__ServiceConnection__Group__4 + { + pushFollow(FOLLOW_8); + rule__ServiceConnection__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__3" + + + // $ANTLR start "rule__ServiceConnection__Group__3__Impl" + // InternalRosSystem.g:3582:1: rule__ServiceConnection__Group__3__Impl : ( 'From' ) ; + public final void rule__ServiceConnection__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3586:1: ( ( 'From' ) ) + // InternalRosSystem.g:3587:1: ( 'From' ) + { + // InternalRosSystem.g:3587:1: ( 'From' ) + // InternalRosSystem.g:3588:2: 'From' + { + before(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); + match(input,37,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__3__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__4" + // InternalRosSystem.g:3597:1: rule__ServiceConnection__Group__4 : rule__ServiceConnection__Group__4__Impl rule__ServiceConnection__Group__5 ; + public final void rule__ServiceConnection__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3601:1: ( rule__ServiceConnection__Group__4__Impl rule__ServiceConnection__Group__5 ) + // InternalRosSystem.g:3602:2: rule__ServiceConnection__Group__4__Impl rule__ServiceConnection__Group__5 + { + pushFollow(FOLLOW_6); + rule__ServiceConnection__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__4" + + + // $ANTLR start "rule__ServiceConnection__Group__4__Impl" + // InternalRosSystem.g:3609:1: rule__ServiceConnection__Group__4__Impl : ( '(' ) ; + public final void rule__ServiceConnection__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3613:1: ( ( '(' ) ) + // InternalRosSystem.g:3614:1: ( '(' ) + { + // InternalRosSystem.g:3614:1: ( '(' ) + // InternalRosSystem.g:3615:2: '(' + { + before(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); + match(input,28,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__4__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__5" + // InternalRosSystem.g:3624:1: rule__ServiceConnection__Group__5 : rule__ServiceConnection__Group__5__Impl rule__ServiceConnection__Group__6 ; + public final void rule__ServiceConnection__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3628:1: ( rule__ServiceConnection__Group__5__Impl rule__ServiceConnection__Group__6 ) + // InternalRosSystem.g:3629:2: rule__ServiceConnection__Group__5__Impl rule__ServiceConnection__Group__6 + { + pushFollow(FOLLOW_24); + rule__ServiceConnection__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__5" + + + // $ANTLR start "rule__ServiceConnection__Group__5__Impl" + // InternalRosSystem.g:3636:1: rule__ServiceConnection__Group__5__Impl : ( ( rule__ServiceConnection__FromAssignment_5 ) ) ; + public final void rule__ServiceConnection__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3640:1: ( ( ( rule__ServiceConnection__FromAssignment_5 ) ) ) + // InternalRosSystem.g:3641:1: ( ( rule__ServiceConnection__FromAssignment_5 ) ) + { + // InternalRosSystem.g:3641:1: ( ( rule__ServiceConnection__FromAssignment_5 ) ) + // InternalRosSystem.g:3642:2: ( rule__ServiceConnection__FromAssignment_5 ) + { + before(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); + // InternalRosSystem.g:3643:2: ( rule__ServiceConnection__FromAssignment_5 ) + // InternalRosSystem.g:3643:3: rule__ServiceConnection__FromAssignment_5 + { + pushFollow(FOLLOW_2); + rule__ServiceConnection__FromAssignment_5(); + + state._fsp--; + + + } + + after(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__5__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__6" + // InternalRosSystem.g:3651:1: rule__ServiceConnection__Group__6 : rule__ServiceConnection__Group__6__Impl rule__ServiceConnection__Group__7 ; + public final void rule__ServiceConnection__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3655:1: ( rule__ServiceConnection__Group__6__Impl rule__ServiceConnection__Group__7 ) + // InternalRosSystem.g:3656:2: rule__ServiceConnection__Group__6__Impl rule__ServiceConnection__Group__7 + { + pushFollow(FOLLOW_24); + rule__ServiceConnection__Group__6__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__7(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__6" + + + // $ANTLR start "rule__ServiceConnection__Group__6__Impl" + // InternalRosSystem.g:3663:1: rule__ServiceConnection__Group__6__Impl : ( ( rule__ServiceConnection__Group_6__0 )* ) ; + public final void rule__ServiceConnection__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3667:1: ( ( ( rule__ServiceConnection__Group_6__0 )* ) ) + // InternalRosSystem.g:3668:1: ( ( rule__ServiceConnection__Group_6__0 )* ) + { + // InternalRosSystem.g:3668:1: ( ( rule__ServiceConnection__Group_6__0 )* ) + // InternalRosSystem.g:3669:2: ( rule__ServiceConnection__Group_6__0 )* + { + before(grammarAccess.getServiceConnectionAccess().getGroup_6()); + // InternalRosSystem.g:3670:2: ( rule__ServiceConnection__Group_6__0 )* + loop25: + do { + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==30) ) { + alt25=1; + } + + + switch (alt25) { + case 1 : + // InternalRosSystem.g:3670:3: rule__ServiceConnection__Group_6__0 + { + pushFollow(FOLLOW_11); + rule__ServiceConnection__Group_6__0(); + + state._fsp--; + + + } + break; + + default : + break loop25; + } + } while (true); + + after(grammarAccess.getServiceConnectionAccess().getGroup_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__6__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__7" + // InternalRosSystem.g:3678:1: rule__ServiceConnection__Group__7 : rule__ServiceConnection__Group__7__Impl rule__ServiceConnection__Group__8 ; + public final void rule__ServiceConnection__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3682:1: ( rule__ServiceConnection__Group__7__Impl rule__ServiceConnection__Group__8 ) + // InternalRosSystem.g:3683:2: rule__ServiceConnection__Group__7__Impl rule__ServiceConnection__Group__8 + { + pushFollow(FOLLOW_25); + rule__ServiceConnection__Group__7__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__8(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__7" + + + // $ANTLR start "rule__ServiceConnection__Group__7__Impl" + // InternalRosSystem.g:3690:1: rule__ServiceConnection__Group__7__Impl : ( ')' ) ; + public final void rule__ServiceConnection__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3694:1: ( ( ')' ) ) + // InternalRosSystem.g:3695:1: ( ')' ) + { + // InternalRosSystem.g:3695:1: ( ')' ) + // InternalRosSystem.g:3696:2: ')' + { + before(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); + match(input,29,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__7__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__8" + // InternalRosSystem.g:3705:1: rule__ServiceConnection__Group__8 : rule__ServiceConnection__Group__8__Impl rule__ServiceConnection__Group__9 ; + public final void rule__ServiceConnection__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3709:1: ( rule__ServiceConnection__Group__8__Impl rule__ServiceConnection__Group__9 ) + // InternalRosSystem.g:3710:2: rule__ServiceConnection__Group__8__Impl rule__ServiceConnection__Group__9 + { + pushFollow(FOLLOW_6); + rule__ServiceConnection__Group__8__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__9(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__8" + + + // $ANTLR start "rule__ServiceConnection__Group__8__Impl" + // InternalRosSystem.g:3717:1: rule__ServiceConnection__Group__8__Impl : ( 'To' ) ; + public final void rule__ServiceConnection__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3721:1: ( ( 'To' ) ) + // InternalRosSystem.g:3722:1: ( 'To' ) + { + // InternalRosSystem.g:3722:1: ( 'To' ) + // InternalRosSystem.g:3723:2: 'To' + { + before(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); + match(input,38,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__8__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__9" + // InternalRosSystem.g:3732:1: rule__ServiceConnection__Group__9 : rule__ServiceConnection__Group__9__Impl rule__ServiceConnection__Group__10 ; + public final void rule__ServiceConnection__Group__9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3736:1: ( rule__ServiceConnection__Group__9__Impl rule__ServiceConnection__Group__10 ) + // InternalRosSystem.g:3737:2: rule__ServiceConnection__Group__9__Impl rule__ServiceConnection__Group__10 + { + pushFollow(FOLLOW_26); + rule__ServiceConnection__Group__9__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__10(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__9" + + + // $ANTLR start "rule__ServiceConnection__Group__9__Impl" + // InternalRosSystem.g:3744:1: rule__ServiceConnection__Group__9__Impl : ( ( rule__ServiceConnection__ToAssignment_9 ) ) ; + public final void rule__ServiceConnection__Group__9__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3748:1: ( ( ( rule__ServiceConnection__ToAssignment_9 ) ) ) + // InternalRosSystem.g:3749:1: ( ( rule__ServiceConnection__ToAssignment_9 ) ) + { + // InternalRosSystem.g:3749:1: ( ( rule__ServiceConnection__ToAssignment_9 ) ) + // InternalRosSystem.g:3750:2: ( rule__ServiceConnection__ToAssignment_9 ) + { + before(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); + // InternalRosSystem.g:3751:2: ( rule__ServiceConnection__ToAssignment_9 ) + // InternalRosSystem.g:3751:3: rule__ServiceConnection__ToAssignment_9 + { + pushFollow(FOLLOW_2); + rule__ServiceConnection__ToAssignment_9(); + + state._fsp--; + + + } + + after(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__9__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group__10" + // InternalRosSystem.g:3759:1: rule__ServiceConnection__Group__10 : rule__ServiceConnection__Group__10__Impl ; + public final void rule__ServiceConnection__Group__10() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3763:1: ( rule__ServiceConnection__Group__10__Impl ) + // InternalRosSystem.g:3764:2: rule__ServiceConnection__Group__10__Impl + { + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group__10__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__10" + + + // $ANTLR start "rule__ServiceConnection__Group__10__Impl" + // InternalRosSystem.g:3770:1: rule__ServiceConnection__Group__10__Impl : ( '}' ) ; + public final void rule__ServiceConnection__Group__10__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3774:1: ( ( '}' ) ) + // InternalRosSystem.g:3775:1: ( '}' ) + { + // InternalRosSystem.g:3775:1: ( '}' ) + // InternalRosSystem.g:3776:2: '}' + { + before(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); + match(input,26,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group__10__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group_6__0" + // InternalRosSystem.g:3786:1: rule__ServiceConnection__Group_6__0 : rule__ServiceConnection__Group_6__0__Impl rule__ServiceConnection__Group_6__1 ; + public final void rule__ServiceConnection__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3790:1: ( rule__ServiceConnection__Group_6__0__Impl rule__ServiceConnection__Group_6__1 ) + // InternalRosSystem.g:3791:2: rule__ServiceConnection__Group_6__0__Impl rule__ServiceConnection__Group_6__1 + { + pushFollow(FOLLOW_6); + rule__ServiceConnection__Group_6__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group_6__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group_6__0" + + + // $ANTLR start "rule__ServiceConnection__Group_6__0__Impl" + // InternalRosSystem.g:3798:1: rule__ServiceConnection__Group_6__0__Impl : ( ',' ) ; + public final void rule__ServiceConnection__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3802:1: ( ( ',' ) ) + // InternalRosSystem.g:3803:1: ( ',' ) + { + // InternalRosSystem.g:3803:1: ( ',' ) + // InternalRosSystem.g:3804:2: ',' + { + before(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); + match(input,30,FOLLOW_2); + after(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group_6__0__Impl" + + + // $ANTLR start "rule__ServiceConnection__Group_6__1" + // InternalRosSystem.g:3813:1: rule__ServiceConnection__Group_6__1 : rule__ServiceConnection__Group_6__1__Impl ; + public final void rule__ServiceConnection__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3817:1: ( rule__ServiceConnection__Group_6__1__Impl ) + // InternalRosSystem.g:3818:2: rule__ServiceConnection__Group_6__1__Impl + { + pushFollow(FOLLOW_2); + rule__ServiceConnection__Group_6__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group_6__1" + + + // $ANTLR start "rule__ServiceConnection__Group_6__1__Impl" + // InternalRosSystem.g:3824:1: rule__ServiceConnection__Group_6__1__Impl : ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) ; + public final void rule__ServiceConnection__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3828:1: ( ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) ) + // InternalRosSystem.g:3829:1: ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) + { + // InternalRosSystem.g:3829:1: ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) + // InternalRosSystem.g:3830:2: ( rule__ServiceConnection__FromAssignment_6_1 ) + { + before(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); + // InternalRosSystem.g:3831:2: ( rule__ServiceConnection__FromAssignment_6_1 ) + // InternalRosSystem.g:3831:3: rule__ServiceConnection__FromAssignment_6_1 + { + pushFollow(FOLLOW_2); + rule__ServiceConnection__FromAssignment_6_1(); + + state._fsp--; + + + } + + after(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceConnection__Group_6__1__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__0" + // InternalRosSystem.g:3840:1: rule__ActionConnection__Group__0 : rule__ActionConnection__Group__0__Impl rule__ActionConnection__Group__1 ; + public final void rule__ActionConnection__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3844:1: ( rule__ActionConnection__Group__0__Impl rule__ActionConnection__Group__1 ) + // InternalRosSystem.g:3845:2: rule__ActionConnection__Group__0__Impl rule__ActionConnection__Group__1 + { + pushFollow(FOLLOW_6); + rule__ActionConnection__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__0" + + + // $ANTLR start "rule__ActionConnection__Group__0__Impl" + // InternalRosSystem.g:3852:1: rule__ActionConnection__Group__0__Impl : ( 'ActionConnection' ) ; + public final void rule__ActionConnection__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3856:1: ( ( 'ActionConnection' ) ) + // InternalRosSystem.g:3857:1: ( 'ActionConnection' ) + { + // InternalRosSystem.g:3857:1: ( 'ActionConnection' ) + // InternalRosSystem.g:3858:2: 'ActionConnection' + { + before(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); + match(input,40,FOLLOW_2); + after(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__0__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__1" + // InternalRosSystem.g:3867:1: rule__ActionConnection__Group__1 : rule__ActionConnection__Group__1__Impl rule__ActionConnection__Group__2 ; + public final void rule__ActionConnection__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3871:1: ( rule__ActionConnection__Group__1__Impl rule__ActionConnection__Group__2 ) + // InternalRosSystem.g:3872:2: rule__ActionConnection__Group__1__Impl rule__ActionConnection__Group__2 + { + pushFollow(FOLLOW_4); + rule__ActionConnection__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__1" + + + // $ANTLR start "rule__ActionConnection__Group__1__Impl" + // InternalRosSystem.g:3879:1: rule__ActionConnection__Group__1__Impl : ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) ; + public final void rule__ActionConnection__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3883:1: ( ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) ) + // InternalRosSystem.g:3884:1: ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) + { + // InternalRosSystem.g:3884:1: ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) + // InternalRosSystem.g:3885:2: ( rule__ActionConnection__ActionNameAssignment_1 ) + { + before(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); + // InternalRosSystem.g:3886:2: ( rule__ActionConnection__ActionNameAssignment_1 ) + // InternalRosSystem.g:3886:3: rule__ActionConnection__ActionNameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ActionConnection__ActionNameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__1__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__2" + // InternalRosSystem.g:3894:1: rule__ActionConnection__Group__2 : rule__ActionConnection__Group__2__Impl rule__ActionConnection__Group__3 ; + public final void rule__ActionConnection__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3898:1: ( rule__ActionConnection__Group__2__Impl rule__ActionConnection__Group__3 ) + // InternalRosSystem.g:3899:2: rule__ActionConnection__Group__2__Impl rule__ActionConnection__Group__3 + { + pushFollow(FOLLOW_23); + rule__ActionConnection__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__2" + + + // $ANTLR start "rule__ActionConnection__Group__2__Impl" + // InternalRosSystem.g:3906:1: rule__ActionConnection__Group__2__Impl : ( '{' ) ; + public final void rule__ActionConnection__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3910:1: ( ( '{' ) ) + // InternalRosSystem.g:3911:1: ( '{' ) + { + // InternalRosSystem.g:3911:1: ( '{' ) + // InternalRosSystem.g:3912:2: '{' + { + before(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); + match(input,24,FOLLOW_2); + after(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__2__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__3" + // InternalRosSystem.g:3921:1: rule__ActionConnection__Group__3 : rule__ActionConnection__Group__3__Impl rule__ActionConnection__Group__4 ; + public final void rule__ActionConnection__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3925:1: ( rule__ActionConnection__Group__3__Impl rule__ActionConnection__Group__4 ) + // InternalRosSystem.g:3926:2: rule__ActionConnection__Group__3__Impl rule__ActionConnection__Group__4 + { + pushFollow(FOLLOW_6); + rule__ActionConnection__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__3" + + + // $ANTLR start "rule__ActionConnection__Group__3__Impl" + // InternalRosSystem.g:3933:1: rule__ActionConnection__Group__3__Impl : ( 'From' ) ; + public final void rule__ActionConnection__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3937:1: ( ( 'From' ) ) + // InternalRosSystem.g:3938:1: ( 'From' ) + { + // InternalRosSystem.g:3938:1: ( 'From' ) + // InternalRosSystem.g:3939:2: 'From' + { + before(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); + match(input,37,FOLLOW_2); + after(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__3__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__4" + // InternalRosSystem.g:3948:1: rule__ActionConnection__Group__4 : rule__ActionConnection__Group__4__Impl rule__ActionConnection__Group__5 ; + public final void rule__ActionConnection__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3952:1: ( rule__ActionConnection__Group__4__Impl rule__ActionConnection__Group__5 ) + // InternalRosSystem.g:3953:2: rule__ActionConnection__Group__4__Impl rule__ActionConnection__Group__5 + { + pushFollow(FOLLOW_25); + rule__ActionConnection__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__4" + + + // $ANTLR start "rule__ActionConnection__Group__4__Impl" + // InternalRosSystem.g:3960:1: rule__ActionConnection__Group__4__Impl : ( ( rule__ActionConnection__FromAssignment_4 ) ) ; + public final void rule__ActionConnection__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3964:1: ( ( ( rule__ActionConnection__FromAssignment_4 ) ) ) + // InternalRosSystem.g:3965:1: ( ( rule__ActionConnection__FromAssignment_4 ) ) + { + // InternalRosSystem.g:3965:1: ( ( rule__ActionConnection__FromAssignment_4 ) ) + // InternalRosSystem.g:3966:2: ( rule__ActionConnection__FromAssignment_4 ) + { + before(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); + // InternalRosSystem.g:3967:2: ( rule__ActionConnection__FromAssignment_4 ) + // InternalRosSystem.g:3967:3: rule__ActionConnection__FromAssignment_4 + { + pushFollow(FOLLOW_2); + rule__ActionConnection__FromAssignment_4(); + + state._fsp--; + + + } + + after(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__4__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__5" + // InternalRosSystem.g:3975:1: rule__ActionConnection__Group__5 : rule__ActionConnection__Group__5__Impl rule__ActionConnection__Group__6 ; + public final void rule__ActionConnection__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3979:1: ( rule__ActionConnection__Group__5__Impl rule__ActionConnection__Group__6 ) + // InternalRosSystem.g:3980:2: rule__ActionConnection__Group__5__Impl rule__ActionConnection__Group__6 + { + pushFollow(FOLLOW_6); + rule__ActionConnection__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__5" + + + // $ANTLR start "rule__ActionConnection__Group__5__Impl" + // InternalRosSystem.g:3987:1: rule__ActionConnection__Group__5__Impl : ( 'To' ) ; + public final void rule__ActionConnection__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:3991:1: ( ( 'To' ) ) + // InternalRosSystem.g:3992:1: ( 'To' ) + { + // InternalRosSystem.g:3992:1: ( 'To' ) + // InternalRosSystem.g:3993:2: 'To' + { + before(grammarAccess.getActionConnectionAccess().getToKeyword_5()); + match(input,38,FOLLOW_2); + after(grammarAccess.getActionConnectionAccess().getToKeyword_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__5__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__6" + // InternalRosSystem.g:4002:1: rule__ActionConnection__Group__6 : rule__ActionConnection__Group__6__Impl rule__ActionConnection__Group__7 ; + public final void rule__ActionConnection__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4006:1: ( rule__ActionConnection__Group__6__Impl rule__ActionConnection__Group__7 ) + // InternalRosSystem.g:4007:2: rule__ActionConnection__Group__6__Impl rule__ActionConnection__Group__7 + { + pushFollow(FOLLOW_26); + rule__ActionConnection__Group__6__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__7(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__6" + + + // $ANTLR start "rule__ActionConnection__Group__6__Impl" + // InternalRosSystem.g:4014:1: rule__ActionConnection__Group__6__Impl : ( ( rule__ActionConnection__ToAssignment_6 ) ) ; + public final void rule__ActionConnection__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4018:1: ( ( ( rule__ActionConnection__ToAssignment_6 ) ) ) + // InternalRosSystem.g:4019:1: ( ( rule__ActionConnection__ToAssignment_6 ) ) + { + // InternalRosSystem.g:4019:1: ( ( rule__ActionConnection__ToAssignment_6 ) ) + // InternalRosSystem.g:4020:2: ( rule__ActionConnection__ToAssignment_6 ) + { + before(grammarAccess.getActionConnectionAccess().getToAssignment_6()); + // InternalRosSystem.g:4021:2: ( rule__ActionConnection__ToAssignment_6 ) + // InternalRosSystem.g:4021:3: rule__ActionConnection__ToAssignment_6 + { + pushFollow(FOLLOW_2); + rule__ActionConnection__ToAssignment_6(); + + state._fsp--; + + + } + + after(grammarAccess.getActionConnectionAccess().getToAssignment_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__6__Impl" + + + // $ANTLR start "rule__ActionConnection__Group__7" + // InternalRosSystem.g:4029:1: rule__ActionConnection__Group__7 : rule__ActionConnection__Group__7__Impl ; + public final void rule__ActionConnection__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4033:1: ( rule__ActionConnection__Group__7__Impl ) + // InternalRosSystem.g:4034:2: rule__ActionConnection__Group__7__Impl + { + pushFollow(FOLLOW_2); + rule__ActionConnection__Group__7__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__7" + + + // $ANTLR start "rule__ActionConnection__Group__7__Impl" + // InternalRosSystem.g:4040:1: rule__ActionConnection__Group__7__Impl : ( '}' ) ; + public final void rule__ActionConnection__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4044:1: ( ( '}' ) ) + // InternalRosSystem.g:4045:1: ( '}' ) + { + // InternalRosSystem.g:4045:1: ( '}' ) + // InternalRosSystem.g:4046:2: '}' + { + before(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); + match(input,26,FOLLOW_2); + after(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionConnection__Group__7__Impl" + + + // $ANTLR start "rule__ComponentStack__Group__0" + // InternalRosSystem.g:4056:1: rule__ComponentStack__Group__0 : rule__ComponentStack__Group__0__Impl rule__ComponentStack__Group__1 ; + public final void rule__ComponentStack__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4060:1: ( rule__ComponentStack__Group__0__Impl rule__ComponentStack__Group__1 ) + // InternalRosSystem.g:4061:2: rule__ComponentStack__Group__0__Impl rule__ComponentStack__Group__1 + { + pushFollow(FOLLOW_4); + rule__ComponentStack__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__0" + + + // $ANTLR start "rule__ComponentStack__Group__0__Impl" + // InternalRosSystem.g:4068:1: rule__ComponentStack__Group__0__Impl : ( 'ComponentStack' ) ; + public final void rule__ComponentStack__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4072:1: ( ( 'ComponentStack' ) ) + // InternalRosSystem.g:4073:1: ( 'ComponentStack' ) + { + // InternalRosSystem.g:4073:1: ( 'ComponentStack' ) + // InternalRosSystem.g:4074:2: 'ComponentStack' + { + before(grammarAccess.getComponentStackAccess().getComponentStackKeyword_0()); + match(input,41,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getComponentStackKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__0__Impl" + + + // $ANTLR start "rule__ComponentStack__Group__1" + // InternalRosSystem.g:4083:1: rule__ComponentStack__Group__1 : rule__ComponentStack__Group__1__Impl rule__ComponentStack__Group__2 ; + public final void rule__ComponentStack__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4087:1: ( rule__ComponentStack__Group__1__Impl rule__ComponentStack__Group__2 ) + // InternalRosSystem.g:4088:2: rule__ComponentStack__Group__1__Impl rule__ComponentStack__Group__2 + { + pushFollow(FOLLOW_27); + rule__ComponentStack__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__1" + + + // $ANTLR start "rule__ComponentStack__Group__1__Impl" + // InternalRosSystem.g:4095:1: rule__ComponentStack__Group__1__Impl : ( '{' ) ; + public final void rule__ComponentStack__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4099:1: ( ( '{' ) ) + // InternalRosSystem.g:4100:1: ( '{' ) + { + // InternalRosSystem.g:4100:1: ( '{' ) + // InternalRosSystem.g:4101:2: '{' + { + before(grammarAccess.getComponentStackAccess().getLeftCurlyBracketKeyword_1()); + match(input,24,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getLeftCurlyBracketKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__1__Impl" + + + // $ANTLR start "rule__ComponentStack__Group__2" + // InternalRosSystem.g:4110:1: rule__ComponentStack__Group__2 : rule__ComponentStack__Group__2__Impl rule__ComponentStack__Group__3 ; + public final void rule__ComponentStack__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4114:1: ( rule__ComponentStack__Group__2__Impl rule__ComponentStack__Group__3 ) + // InternalRosSystem.g:4115:2: rule__ComponentStack__Group__2__Impl rule__ComponentStack__Group__3 + { + pushFollow(FOLLOW_6); + rule__ComponentStack__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__2" + + + // $ANTLR start "rule__ComponentStack__Group__2__Impl" + // InternalRosSystem.g:4122:1: rule__ComponentStack__Group__2__Impl : ( 'name' ) ; + public final void rule__ComponentStack__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4126:1: ( ( 'name' ) ) + // InternalRosSystem.g:4127:1: ( 'name' ) + { + // InternalRosSystem.g:4127:1: ( 'name' ) + // InternalRosSystem.g:4128:2: 'name' + { + before(grammarAccess.getComponentStackAccess().getNameKeyword_2()); + match(input,42,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getNameKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__2__Impl" + + + // $ANTLR start "rule__ComponentStack__Group__3" + // InternalRosSystem.g:4137:1: rule__ComponentStack__Group__3 : rule__ComponentStack__Group__3__Impl rule__ComponentStack__Group__4 ; + public final void rule__ComponentStack__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4141:1: ( rule__ComponentStack__Group__3__Impl rule__ComponentStack__Group__4 ) + // InternalRosSystem.g:4142:2: rule__ComponentStack__Group__3__Impl rule__ComponentStack__Group__4 + { + pushFollow(FOLLOW_28); + rule__ComponentStack__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__3" + + + // $ANTLR start "rule__ComponentStack__Group__3__Impl" + // InternalRosSystem.g:4149:1: rule__ComponentStack__Group__3__Impl : ( ( rule__ComponentStack__NameAssignment_3 ) ) ; + public final void rule__ComponentStack__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4153:1: ( ( ( rule__ComponentStack__NameAssignment_3 ) ) ) + // InternalRosSystem.g:4154:1: ( ( rule__ComponentStack__NameAssignment_3 ) ) + { + // InternalRosSystem.g:4154:1: ( ( rule__ComponentStack__NameAssignment_3 ) ) + // InternalRosSystem.g:4155:2: ( rule__ComponentStack__NameAssignment_3 ) + { + before(grammarAccess.getComponentStackAccess().getNameAssignment_3()); + // InternalRosSystem.g:4156:2: ( rule__ComponentStack__NameAssignment_3 ) + // InternalRosSystem.g:4156:3: rule__ComponentStack__NameAssignment_3 + { + pushFollow(FOLLOW_2); + rule__ComponentStack__NameAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentStackAccess().getNameAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__3__Impl" + + + // $ANTLR start "rule__ComponentStack__Group__4" + // InternalRosSystem.g:4164:1: rule__ComponentStack__Group__4 : rule__ComponentStack__Group__4__Impl rule__ComponentStack__Group__5 ; + public final void rule__ComponentStack__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4168:1: ( rule__ComponentStack__Group__4__Impl rule__ComponentStack__Group__5 ) + // InternalRosSystem.g:4169:2: rule__ComponentStack__Group__4__Impl rule__ComponentStack__Group__5 + { + pushFollow(FOLLOW_28); + rule__ComponentStack__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__4" + + + // $ANTLR start "rule__ComponentStack__Group__4__Impl" + // InternalRosSystem.g:4176:1: rule__ComponentStack__Group__4__Impl : ( ( rule__ComponentStack__Group_4__0 )? ) ; + public final void rule__ComponentStack__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4180:1: ( ( ( rule__ComponentStack__Group_4__0 )? ) ) + // InternalRosSystem.g:4181:1: ( ( rule__ComponentStack__Group_4__0 )? ) + { + // InternalRosSystem.g:4181:1: ( ( rule__ComponentStack__Group_4__0 )? ) + // InternalRosSystem.g:4182:2: ( rule__ComponentStack__Group_4__0 )? + { + before(grammarAccess.getComponentStackAccess().getGroup_4()); + // InternalRosSystem.g:4183:2: ( rule__ComponentStack__Group_4__0 )? + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==27) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // InternalRosSystem.g:4183:3: rule__ComponentStack__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__ComponentStack__Group_4__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getComponentStackAccess().getGroup_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__4__Impl" + + + // $ANTLR start "rule__ComponentStack__Group__5" + // InternalRosSystem.g:4191:1: rule__ComponentStack__Group__5 : rule__ComponentStack__Group__5__Impl rule__ComponentStack__Group__6 ; + public final void rule__ComponentStack__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4195:1: ( rule__ComponentStack__Group__5__Impl rule__ComponentStack__Group__6 ) + // InternalRosSystem.g:4196:2: rule__ComponentStack__Group__5__Impl rule__ComponentStack__Group__6 + { + pushFollow(FOLLOW_28); + rule__ComponentStack__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__5" + + + // $ANTLR start "rule__ComponentStack__Group__5__Impl" + // InternalRosSystem.g:4203:1: rule__ComponentStack__Group__5__Impl : ( ( rule__ComponentStack__Group_5__0 )? ) ; + public final void rule__ComponentStack__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4207:1: ( ( ( rule__ComponentStack__Group_5__0 )? ) ) + // InternalRosSystem.g:4208:1: ( ( rule__ComponentStack__Group_5__0 )? ) + { + // InternalRosSystem.g:4208:1: ( ( rule__ComponentStack__Group_5__0 )? ) + // InternalRosSystem.g:4209:2: ( rule__ComponentStack__Group_5__0 )? + { + before(grammarAccess.getComponentStackAccess().getGroup_5()); + // InternalRosSystem.g:4210:2: ( rule__ComponentStack__Group_5__0 )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==43) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalRosSystem.g:4210:3: rule__ComponentStack__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__ComponentStack__Group_5__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getComponentStackAccess().getGroup_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__5__Impl" + + + // $ANTLR start "rule__ComponentStack__Group__6" + // InternalRosSystem.g:4218:1: rule__ComponentStack__Group__6 : rule__ComponentStack__Group__6__Impl ; + public final void rule__ComponentStack__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4222:1: ( rule__ComponentStack__Group__6__Impl ) + // InternalRosSystem.g:4223:2: rule__ComponentStack__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__ComponentStack__Group__6__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__6" + + + // $ANTLR start "rule__ComponentStack__Group__6__Impl" + // InternalRosSystem.g:4229:1: rule__ComponentStack__Group__6__Impl : ( '}' ) ; + public final void rule__ComponentStack__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4233:1: ( ( '}' ) ) + // InternalRosSystem.g:4234:1: ( '}' ) + { + // InternalRosSystem.g:4234:1: ( '}' ) + // InternalRosSystem.g:4235:2: '}' + { + before(grammarAccess.getComponentStackAccess().getRightCurlyBracketKeyword_6()); + match(input,26,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getRightCurlyBracketKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group__6__Impl" + + + // $ANTLR start "rule__ComponentStack__Group_4__0" + // InternalRosSystem.g:4245:1: rule__ComponentStack__Group_4__0 : rule__ComponentStack__Group_4__0__Impl rule__ComponentStack__Group_4__1 ; + public final void rule__ComponentStack__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4249:1: ( rule__ComponentStack__Group_4__0__Impl rule__ComponentStack__Group_4__1 ) + // InternalRosSystem.g:4250:2: rule__ComponentStack__Group_4__0__Impl rule__ComponentStack__Group_4__1 + { + pushFollow(FOLLOW_8); + rule__ComponentStack__Group_4__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group_4__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group_4__0" + + + // $ANTLR start "rule__ComponentStack__Group_4__0__Impl" + // InternalRosSystem.g:4257:1: rule__ComponentStack__Group_4__0__Impl : ( 'RosComponents' ) ; + public final void rule__ComponentStack__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4261:1: ( ( 'RosComponents' ) ) + // InternalRosSystem.g:4262:1: ( 'RosComponents' ) + { + // InternalRosSystem.g:4262:1: ( 'RosComponents' ) + // InternalRosSystem.g:4263:2: 'RosComponents' + { + before(grammarAccess.getComponentStackAccess().getRosComponentsKeyword_4_0()); + match(input,27,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getRosComponentsKeyword_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group_4__0__Impl" + + + // $ANTLR start "rule__ComponentStack__Group_4__1" + // InternalRosSystem.g:4272:1: rule__ComponentStack__Group_4__1 : rule__ComponentStack__Group_4__1__Impl rule__ComponentStack__Group_4__2 ; + public final void rule__ComponentStack__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4276:1: ( rule__ComponentStack__Group_4__1__Impl rule__ComponentStack__Group_4__2 ) + // InternalRosSystem.g:4277:2: rule__ComponentStack__Group_4__1__Impl rule__ComponentStack__Group_4__2 + { + pushFollow(FOLLOW_9); + rule__ComponentStack__Group_4__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group_4__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group_4__1" + + + // $ANTLR start "rule__ComponentStack__Group_4__1__Impl" + // InternalRosSystem.g:4284:1: rule__ComponentStack__Group_4__1__Impl : ( '(' ) ; + public final void rule__ComponentStack__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4288:1: ( ( '(' ) ) + // InternalRosSystem.g:4289:1: ( '(' ) + { + // InternalRosSystem.g:4289:1: ( '(' ) + // InternalRosSystem.g:4290:2: '(' + { + before(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_4_1()); + match(input,28,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_4_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group_4__1__Impl" + + + // $ANTLR start "rule__ComponentStack__Group_4__2" + // InternalRosSystem.g:4299:1: rule__ComponentStack__Group_4__2 : rule__ComponentStack__Group_4__2__Impl rule__ComponentStack__Group_4__3 ; + public final void rule__ComponentStack__Group_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4303:1: ( rule__ComponentStack__Group_4__2__Impl rule__ComponentStack__Group_4__3 ) + // InternalRosSystem.g:4304:2: rule__ComponentStack__Group_4__2__Impl rule__ComponentStack__Group_4__3 + { + pushFollow(FOLLOW_9); + rule__ComponentStack__Group_4__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentStack__Group_4__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group_4__2" + + + // $ANTLR start "rule__ComponentStack__Group_4__2__Impl" + // InternalRosSystem.g:4311:1: rule__ComponentStack__Group_4__2__Impl : ( ( rule__ComponentStack__Group_4_2__0 )? ) ; + public final void rule__ComponentStack__Group_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:4315:1: ( ( ( rule__ComponentStack__Group_4_2__0 )? ) ) + // InternalRosSystem.g:4316:1: ( ( rule__ComponentStack__Group_4_2__0 )? ) + { + // InternalRosSystem.g:4316:1: ( ( rule__ComponentStack__Group_4_2__0 )? ) + // InternalRosSystem.g:4317:2: ( rule__ComponentStack__Group_4_2__0 )? + { + before(grammarAccess.getComponentStackAccess().getGroup_4_2()); + // InternalRosSystem.g:4318:2: ( rule__ComponentStack__Group_4_2__0 )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==47) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalRosSystem.g:4318:3: rule__ComponentStack__Group_4_2__0 + { + pushFollow(FOLLOW_2); + rule__ComponentStack__Group_4_2__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getComponentStackAccess().getGroup_4_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__Group_4__2__Impl" - // $ANTLR start "rule__ServiceConnection__Group__0" - // InternalRosSystem.g:3196:1: rule__ServiceConnection__Group__0 : rule__ServiceConnection__Group__0__Impl rule__ServiceConnection__Group__1 ; - public final void rule__ServiceConnection__Group__0() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4__3" + // InternalRosSystem.g:4326:1: rule__ComponentStack__Group_4__3 : rule__ComponentStack__Group_4__3__Impl ; + public final void rule__ComponentStack__Group_4__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3200:1: ( rule__ServiceConnection__Group__0__Impl rule__ServiceConnection__Group__1 ) - // InternalRosSystem.g:3201:2: rule__ServiceConnection__Group__0__Impl rule__ServiceConnection__Group__1 + // InternalRosSystem.g:4330:1: ( rule__ComponentStack__Group_4__3__Impl ) + // InternalRosSystem.g:4331:2: rule__ComponentStack__Group_4__3__Impl { - pushFollow(FOLLOW_6); - rule__ServiceConnection__Group__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__1(); + rule__ComponentStack__Group_4__3__Impl(); state._fsp--; @@ -9790,25 +13169,25 @@ public final void rule__ServiceConnection__Group__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__0" + // $ANTLR end "rule__ComponentStack__Group_4__3" - // $ANTLR start "rule__ServiceConnection__Group__0__Impl" - // InternalRosSystem.g:3208:1: rule__ServiceConnection__Group__0__Impl : ( 'ServiceConnection' ) ; - public final void rule__ServiceConnection__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4__3__Impl" + // InternalRosSystem.g:4337:1: rule__ComponentStack__Group_4__3__Impl : ( ')' ) ; + public final void rule__ComponentStack__Group_4__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3212:1: ( ( 'ServiceConnection' ) ) - // InternalRosSystem.g:3213:1: ( 'ServiceConnection' ) + // InternalRosSystem.g:4341:1: ( ( ')' ) ) + // InternalRosSystem.g:4342:1: ( ')' ) { - // InternalRosSystem.g:3213:1: ( 'ServiceConnection' ) - // InternalRosSystem.g:3214:2: 'ServiceConnection' + // InternalRosSystem.g:4342:1: ( ')' ) + // InternalRosSystem.g:4343:2: ')' { - before(grammarAccess.getServiceConnectionAccess().getServiceConnectionKeyword_0()); - match(input,38,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getServiceConnectionKeyword_0()); + before(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_4_3()); + match(input,29,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_4_3()); } @@ -9827,26 +13206,26 @@ public final void rule__ServiceConnection__Group__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__0__Impl" + // $ANTLR end "rule__ComponentStack__Group_4__3__Impl" - // $ANTLR start "rule__ServiceConnection__Group__1" - // InternalRosSystem.g:3223:1: rule__ServiceConnection__Group__1 : rule__ServiceConnection__Group__1__Impl rule__ServiceConnection__Group__2 ; - public final void rule__ServiceConnection__Group__1() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2__0" + // InternalRosSystem.g:4353:1: rule__ComponentStack__Group_4_2__0 : rule__ComponentStack__Group_4_2__0__Impl rule__ComponentStack__Group_4_2__1 ; + public final void rule__ComponentStack__Group_4_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3227:1: ( rule__ServiceConnection__Group__1__Impl rule__ServiceConnection__Group__2 ) - // InternalRosSystem.g:3228:2: rule__ServiceConnection__Group__1__Impl rule__ServiceConnection__Group__2 + // InternalRosSystem.g:4357:1: ( rule__ComponentStack__Group_4_2__0__Impl rule__ComponentStack__Group_4_2__1 ) + // InternalRosSystem.g:4358:2: rule__ComponentStack__Group_4_2__0__Impl rule__ComponentStack__Group_4_2__1 { - pushFollow(FOLLOW_4); - rule__ServiceConnection__Group__1__Impl(); + pushFollow(FOLLOW_10); + rule__ComponentStack__Group_4_2__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__2(); + rule__ComponentStack__Group_4_2__1(); state._fsp--; @@ -9865,35 +13244,35 @@ public final void rule__ServiceConnection__Group__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__1" + // $ANTLR end "rule__ComponentStack__Group_4_2__0" - // $ANTLR start "rule__ServiceConnection__Group__1__Impl" - // InternalRosSystem.g:3235:1: rule__ServiceConnection__Group__1__Impl : ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) ; - public final void rule__ServiceConnection__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2__0__Impl" + // InternalRosSystem.g:4365:1: rule__ComponentStack__Group_4_2__0__Impl : ( ( rule__ComponentStack__RosComponentAssignment_4_2_0 ) ) ; + public final void rule__ComponentStack__Group_4_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3239:1: ( ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) ) - // InternalRosSystem.g:3240:1: ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) + // InternalRosSystem.g:4369:1: ( ( ( rule__ComponentStack__RosComponentAssignment_4_2_0 ) ) ) + // InternalRosSystem.g:4370:1: ( ( rule__ComponentStack__RosComponentAssignment_4_2_0 ) ) { - // InternalRosSystem.g:3240:1: ( ( rule__ServiceConnection__ServiceNameAssignment_1 ) ) - // InternalRosSystem.g:3241:2: ( rule__ServiceConnection__ServiceNameAssignment_1 ) + // InternalRosSystem.g:4370:1: ( ( rule__ComponentStack__RosComponentAssignment_4_2_0 ) ) + // InternalRosSystem.g:4371:2: ( rule__ComponentStack__RosComponentAssignment_4_2_0 ) { - before(grammarAccess.getServiceConnectionAccess().getServiceNameAssignment_1()); - // InternalRosSystem.g:3242:2: ( rule__ServiceConnection__ServiceNameAssignment_1 ) - // InternalRosSystem.g:3242:3: rule__ServiceConnection__ServiceNameAssignment_1 + before(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_0()); + // InternalRosSystem.g:4372:2: ( rule__ComponentStack__RosComponentAssignment_4_2_0 ) + // InternalRosSystem.g:4372:3: rule__ComponentStack__RosComponentAssignment_4_2_0 { pushFollow(FOLLOW_2); - rule__ServiceConnection__ServiceNameAssignment_1(); + rule__ComponentStack__RosComponentAssignment_4_2_0(); state._fsp--; } - after(grammarAccess.getServiceConnectionAccess().getServiceNameAssignment_1()); + after(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_0()); } @@ -9912,26 +13291,21 @@ public final void rule__ServiceConnection__Group__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__1__Impl" + // $ANTLR end "rule__ComponentStack__Group_4_2__0__Impl" - // $ANTLR start "rule__ServiceConnection__Group__2" - // InternalRosSystem.g:3250:1: rule__ServiceConnection__Group__2 : rule__ServiceConnection__Group__2__Impl rule__ServiceConnection__Group__3 ; - public final void rule__ServiceConnection__Group__2() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2__1" + // InternalRosSystem.g:4380:1: rule__ComponentStack__Group_4_2__1 : rule__ComponentStack__Group_4_2__1__Impl ; + public final void rule__ComponentStack__Group_4_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3254:1: ( rule__ServiceConnection__Group__2__Impl rule__ServiceConnection__Group__3 ) - // InternalRosSystem.g:3255:2: rule__ServiceConnection__Group__2__Impl rule__ServiceConnection__Group__3 + // InternalRosSystem.g:4384:1: ( rule__ComponentStack__Group_4_2__1__Impl ) + // InternalRosSystem.g:4385:2: rule__ComponentStack__Group_4_2__1__Impl { - pushFollow(FOLLOW_21); - rule__ServiceConnection__Group__2__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__3(); + rule__ComponentStack__Group_4_2__1__Impl(); state._fsp--; @@ -9950,25 +13324,53 @@ public final void rule__ServiceConnection__Group__2() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__2" + // $ANTLR end "rule__ComponentStack__Group_4_2__1" - // $ANTLR start "rule__ServiceConnection__Group__2__Impl" - // InternalRosSystem.g:3262:1: rule__ServiceConnection__Group__2__Impl : ( '{' ) ; - public final void rule__ServiceConnection__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2__1__Impl" + // InternalRosSystem.g:4391:1: rule__ComponentStack__Group_4_2__1__Impl : ( ( rule__ComponentStack__Group_4_2_1__0 )* ) ; + public final void rule__ComponentStack__Group_4_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3266:1: ( ( '{' ) ) - // InternalRosSystem.g:3267:1: ( '{' ) + // InternalRosSystem.g:4395:1: ( ( ( rule__ComponentStack__Group_4_2_1__0 )* ) ) + // InternalRosSystem.g:4396:1: ( ( rule__ComponentStack__Group_4_2_1__0 )* ) { - // InternalRosSystem.g:3267:1: ( '{' ) - // InternalRosSystem.g:3268:2: '{' + // InternalRosSystem.g:4396:1: ( ( rule__ComponentStack__Group_4_2_1__0 )* ) + // InternalRosSystem.g:4397:2: ( rule__ComponentStack__Group_4_2_1__0 )* { - before(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); - match(input,24,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); + before(grammarAccess.getComponentStackAccess().getGroup_4_2_1()); + // InternalRosSystem.g:4398:2: ( rule__ComponentStack__Group_4_2_1__0 )* + loop29: + do { + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==30) ) { + alt29=1; + } + + + switch (alt29) { + case 1 : + // InternalRosSystem.g:4398:3: rule__ComponentStack__Group_4_2_1__0 + { + pushFollow(FOLLOW_11); + rule__ComponentStack__Group_4_2_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop29; + } + } while (true); + + after(grammarAccess.getComponentStackAccess().getGroup_4_2_1()); } @@ -9987,26 +13389,26 @@ public final void rule__ServiceConnection__Group__2__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__2__Impl" + // $ANTLR end "rule__ComponentStack__Group_4_2__1__Impl" - // $ANTLR start "rule__ServiceConnection__Group__3" - // InternalRosSystem.g:3277:1: rule__ServiceConnection__Group__3 : rule__ServiceConnection__Group__3__Impl rule__ServiceConnection__Group__4 ; - public final void rule__ServiceConnection__Group__3() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2_1__0" + // InternalRosSystem.g:4407:1: rule__ComponentStack__Group_4_2_1__0 : rule__ComponentStack__Group_4_2_1__0__Impl rule__ComponentStack__Group_4_2_1__1 ; + public final void rule__ComponentStack__Group_4_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3281:1: ( rule__ServiceConnection__Group__3__Impl rule__ServiceConnection__Group__4 ) - // InternalRosSystem.g:3282:2: rule__ServiceConnection__Group__3__Impl rule__ServiceConnection__Group__4 + // InternalRosSystem.g:4411:1: ( rule__ComponentStack__Group_4_2_1__0__Impl rule__ComponentStack__Group_4_2_1__1 ) + // InternalRosSystem.g:4412:2: rule__ComponentStack__Group_4_2_1__0__Impl rule__ComponentStack__Group_4_2_1__1 { - pushFollow(FOLLOW_8); - rule__ServiceConnection__Group__3__Impl(); + pushFollow(FOLLOW_12); + rule__ComponentStack__Group_4_2_1__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__4(); + rule__ComponentStack__Group_4_2_1__1(); state._fsp--; @@ -10025,25 +13427,25 @@ public final void rule__ServiceConnection__Group__3() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__3" + // $ANTLR end "rule__ComponentStack__Group_4_2_1__0" - // $ANTLR start "rule__ServiceConnection__Group__3__Impl" - // InternalRosSystem.g:3289:1: rule__ServiceConnection__Group__3__Impl : ( 'From' ) ; - public final void rule__ServiceConnection__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2_1__0__Impl" + // InternalRosSystem.g:4419:1: rule__ComponentStack__Group_4_2_1__0__Impl : ( ',' ) ; + public final void rule__ComponentStack__Group_4_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3293:1: ( ( 'From' ) ) - // InternalRosSystem.g:3294:1: ( 'From' ) + // InternalRosSystem.g:4423:1: ( ( ',' ) ) + // InternalRosSystem.g:4424:1: ( ',' ) { - // InternalRosSystem.g:3294:1: ( 'From' ) - // InternalRosSystem.g:3295:2: 'From' + // InternalRosSystem.g:4424:1: ( ',' ) + // InternalRosSystem.g:4425:2: ',' { - before(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); - match(input,36,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); + before(grammarAccess.getComponentStackAccess().getCommaKeyword_4_2_1_0()); + match(input,30,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getCommaKeyword_4_2_1_0()); } @@ -10062,26 +13464,21 @@ public final void rule__ServiceConnection__Group__3__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__3__Impl" + // $ANTLR end "rule__ComponentStack__Group_4_2_1__0__Impl" - // $ANTLR start "rule__ServiceConnection__Group__4" - // InternalRosSystem.g:3304:1: rule__ServiceConnection__Group__4 : rule__ServiceConnection__Group__4__Impl rule__ServiceConnection__Group__5 ; - public final void rule__ServiceConnection__Group__4() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2_1__1" + // InternalRosSystem.g:4434:1: rule__ComponentStack__Group_4_2_1__1 : rule__ComponentStack__Group_4_2_1__1__Impl ; + public final void rule__ComponentStack__Group_4_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3308:1: ( rule__ServiceConnection__Group__4__Impl rule__ServiceConnection__Group__5 ) - // InternalRosSystem.g:3309:2: rule__ServiceConnection__Group__4__Impl rule__ServiceConnection__Group__5 + // InternalRosSystem.g:4438:1: ( rule__ComponentStack__Group_4_2_1__1__Impl ) + // InternalRosSystem.g:4439:2: rule__ComponentStack__Group_4_2_1__1__Impl { - pushFollow(FOLLOW_6); - rule__ServiceConnection__Group__4__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__5(); + rule__ComponentStack__Group_4_2_1__1__Impl(); state._fsp--; @@ -10100,25 +13497,35 @@ public final void rule__ServiceConnection__Group__4() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__4" + // $ANTLR end "rule__ComponentStack__Group_4_2_1__1" - // $ANTLR start "rule__ServiceConnection__Group__4__Impl" - // InternalRosSystem.g:3316:1: rule__ServiceConnection__Group__4__Impl : ( '(' ) ; - public final void rule__ServiceConnection__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_4_2_1__1__Impl" + // InternalRosSystem.g:4445:1: rule__ComponentStack__Group_4_2_1__1__Impl : ( ( rule__ComponentStack__RosComponentAssignment_4_2_1_1 ) ) ; + public final void rule__ComponentStack__Group_4_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3320:1: ( ( '(' ) ) - // InternalRosSystem.g:3321:1: ( '(' ) + // InternalRosSystem.g:4449:1: ( ( ( rule__ComponentStack__RosComponentAssignment_4_2_1_1 ) ) ) + // InternalRosSystem.g:4450:1: ( ( rule__ComponentStack__RosComponentAssignment_4_2_1_1 ) ) { - // InternalRosSystem.g:3321:1: ( '(' ) - // InternalRosSystem.g:3322:2: '(' + // InternalRosSystem.g:4450:1: ( ( rule__ComponentStack__RosComponentAssignment_4_2_1_1 ) ) + // InternalRosSystem.g:4451:2: ( rule__ComponentStack__RosComponentAssignment_4_2_1_1 ) { - before(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); - match(input,28,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); + before(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_1_1()); + // InternalRosSystem.g:4452:2: ( rule__ComponentStack__RosComponentAssignment_4_2_1_1 ) + // InternalRosSystem.g:4452:3: rule__ComponentStack__RosComponentAssignment_4_2_1_1 + { + pushFollow(FOLLOW_2); + rule__ComponentStack__RosComponentAssignment_4_2_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentStackAccess().getRosComponentAssignment_4_2_1_1()); } @@ -10137,26 +13544,26 @@ public final void rule__ServiceConnection__Group__4__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__4__Impl" + // $ANTLR end "rule__ComponentStack__Group_4_2_1__1__Impl" - // $ANTLR start "rule__ServiceConnection__Group__5" - // InternalRosSystem.g:3331:1: rule__ServiceConnection__Group__5 : rule__ServiceConnection__Group__5__Impl rule__ServiceConnection__Group__6 ; - public final void rule__ServiceConnection__Group__5() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__0" + // InternalRosSystem.g:4461:1: rule__ComponentStack__Group_5__0 : rule__ComponentStack__Group_5__0__Impl rule__ComponentStack__Group_5__1 ; + public final void rule__ComponentStack__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3335:1: ( rule__ServiceConnection__Group__5__Impl rule__ServiceConnection__Group__6 ) - // InternalRosSystem.g:3336:2: rule__ServiceConnection__Group__5__Impl rule__ServiceConnection__Group__6 + // InternalRosSystem.g:4465:1: ( rule__ComponentStack__Group_5__0__Impl rule__ComponentStack__Group_5__1 ) + // InternalRosSystem.g:4466:2: rule__ComponentStack__Group_5__0__Impl rule__ComponentStack__Group_5__1 { - pushFollow(FOLLOW_22); - rule__ServiceConnection__Group__5__Impl(); + pushFollow(FOLLOW_8); + rule__ComponentStack__Group_5__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__6(); + rule__ComponentStack__Group_5__1(); state._fsp--; @@ -10175,35 +13582,25 @@ public final void rule__ServiceConnection__Group__5() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__5" + // $ANTLR end "rule__ComponentStack__Group_5__0" - // $ANTLR start "rule__ServiceConnection__Group__5__Impl" - // InternalRosSystem.g:3343:1: rule__ServiceConnection__Group__5__Impl : ( ( rule__ServiceConnection__FromAssignment_5 ) ) ; - public final void rule__ServiceConnection__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__0__Impl" + // InternalRosSystem.g:4473:1: rule__ComponentStack__Group_5__0__Impl : ( 'QualityAttributes' ) ; + public final void rule__ComponentStack__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3347:1: ( ( ( rule__ServiceConnection__FromAssignment_5 ) ) ) - // InternalRosSystem.g:3348:1: ( ( rule__ServiceConnection__FromAssignment_5 ) ) - { - // InternalRosSystem.g:3348:1: ( ( rule__ServiceConnection__FromAssignment_5 ) ) - // InternalRosSystem.g:3349:2: ( rule__ServiceConnection__FromAssignment_5 ) + // InternalRosSystem.g:4477:1: ( ( 'QualityAttributes' ) ) + // InternalRosSystem.g:4478:1: ( 'QualityAttributes' ) { - before(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); - // InternalRosSystem.g:3350:2: ( rule__ServiceConnection__FromAssignment_5 ) - // InternalRosSystem.g:3350:3: rule__ServiceConnection__FromAssignment_5 + // InternalRosSystem.g:4478:1: ( 'QualityAttributes' ) + // InternalRosSystem.g:4479:2: 'QualityAttributes' { - pushFollow(FOLLOW_2); - rule__ServiceConnection__FromAssignment_5(); - - state._fsp--; - - - } - - after(grammarAccess.getServiceConnectionAccess().getFromAssignment_5()); + before(grammarAccess.getComponentStackAccess().getQualityAttributesKeyword_5_0()); + match(input,43,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getQualityAttributesKeyword_5_0()); } @@ -10222,26 +13619,26 @@ public final void rule__ServiceConnection__Group__5__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__5__Impl" + // $ANTLR end "rule__ComponentStack__Group_5__0__Impl" - // $ANTLR start "rule__ServiceConnection__Group__6" - // InternalRosSystem.g:3358:1: rule__ServiceConnection__Group__6 : rule__ServiceConnection__Group__6__Impl rule__ServiceConnection__Group__7 ; - public final void rule__ServiceConnection__Group__6() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__1" + // InternalRosSystem.g:4488:1: rule__ComponentStack__Group_5__1 : rule__ComponentStack__Group_5__1__Impl rule__ComponentStack__Group_5__2 ; + public final void rule__ComponentStack__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3362:1: ( rule__ServiceConnection__Group__6__Impl rule__ServiceConnection__Group__7 ) - // InternalRosSystem.g:3363:2: rule__ServiceConnection__Group__6__Impl rule__ServiceConnection__Group__7 + // InternalRosSystem.g:4492:1: ( rule__ComponentStack__Group_5__1__Impl rule__ComponentStack__Group_5__2 ) + // InternalRosSystem.g:4493:2: rule__ComponentStack__Group_5__1__Impl rule__ComponentStack__Group_5__2 { - pushFollow(FOLLOW_22); - rule__ServiceConnection__Group__6__Impl(); + pushFollow(FOLLOW_29); + rule__ComponentStack__Group_5__1__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__7(); + rule__ComponentStack__Group_5__2(); state._fsp--; @@ -10260,53 +13657,25 @@ public final void rule__ServiceConnection__Group__6() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__6" + // $ANTLR end "rule__ComponentStack__Group_5__1" - // $ANTLR start "rule__ServiceConnection__Group__6__Impl" - // InternalRosSystem.g:3370:1: rule__ServiceConnection__Group__6__Impl : ( ( rule__ServiceConnection__Group_6__0 )* ) ; - public final void rule__ServiceConnection__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__1__Impl" + // InternalRosSystem.g:4500:1: rule__ComponentStack__Group_5__1__Impl : ( '(' ) ; + public final void rule__ComponentStack__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3374:1: ( ( ( rule__ServiceConnection__Group_6__0 )* ) ) - // InternalRosSystem.g:3375:1: ( ( rule__ServiceConnection__Group_6__0 )* ) + // InternalRosSystem.g:4504:1: ( ( '(' ) ) + // InternalRosSystem.g:4505:1: ( '(' ) { - // InternalRosSystem.g:3375:1: ( ( rule__ServiceConnection__Group_6__0 )* ) - // InternalRosSystem.g:3376:2: ( rule__ServiceConnection__Group_6__0 )* + // InternalRosSystem.g:4505:1: ( '(' ) + // InternalRosSystem.g:4506:2: '(' { - before(grammarAccess.getServiceConnectionAccess().getGroup_6()); - // InternalRosSystem.g:3377:2: ( rule__ServiceConnection__Group_6__0 )* - loop22: - do { - int alt22=2; - int LA22_0 = input.LA(1); - - if ( (LA22_0==30) ) { - alt22=1; - } - - - switch (alt22) { - case 1 : - // InternalRosSystem.g:3377:3: rule__ServiceConnection__Group_6__0 - { - pushFollow(FOLLOW_11); - rule__ServiceConnection__Group_6__0(); - - state._fsp--; - - - } - break; - - default : - break loop22; - } - } while (true); - - after(grammarAccess.getServiceConnectionAccess().getGroup_6()); + before(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_5_1()); + match(input,28,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_5_1()); } @@ -10325,26 +13694,26 @@ public final void rule__ServiceConnection__Group__6__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__6__Impl" + // $ANTLR end "rule__ComponentStack__Group_5__1__Impl" - // $ANTLR start "rule__ServiceConnection__Group__7" - // InternalRosSystem.g:3385:1: rule__ServiceConnection__Group__7 : rule__ServiceConnection__Group__7__Impl rule__ServiceConnection__Group__8 ; - public final void rule__ServiceConnection__Group__7() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__2" + // InternalRosSystem.g:4515:1: rule__ComponentStack__Group_5__2 : rule__ComponentStack__Group_5__2__Impl rule__ComponentStack__Group_5__3 ; + public final void rule__ComponentStack__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3389:1: ( rule__ServiceConnection__Group__7__Impl rule__ServiceConnection__Group__8 ) - // InternalRosSystem.g:3390:2: rule__ServiceConnection__Group__7__Impl rule__ServiceConnection__Group__8 + // InternalRosSystem.g:4519:1: ( rule__ComponentStack__Group_5__2__Impl rule__ComponentStack__Group_5__3 ) + // InternalRosSystem.g:4520:2: rule__ComponentStack__Group_5__2__Impl rule__ComponentStack__Group_5__3 { - pushFollow(FOLLOW_23); - rule__ServiceConnection__Group__7__Impl(); + pushFollow(FOLLOW_29); + rule__ComponentStack__Group_5__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__8(); + rule__ComponentStack__Group_5__3(); state._fsp--; @@ -10363,25 +13732,46 @@ public final void rule__ServiceConnection__Group__7() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__7" + // $ANTLR end "rule__ComponentStack__Group_5__2" - // $ANTLR start "rule__ServiceConnection__Group__7__Impl" - // InternalRosSystem.g:3397:1: rule__ServiceConnection__Group__7__Impl : ( ')' ) ; - public final void rule__ServiceConnection__Group__7__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__2__Impl" + // InternalRosSystem.g:4527:1: rule__ComponentStack__Group_5__2__Impl : ( ( rule__ComponentStack__Group_5_2__0 )? ) ; + public final void rule__ComponentStack__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3401:1: ( ( ')' ) ) - // InternalRosSystem.g:3402:1: ( ')' ) + // InternalRosSystem.g:4531:1: ( ( ( rule__ComponentStack__Group_5_2__0 )? ) ) + // InternalRosSystem.g:4532:1: ( ( rule__ComponentStack__Group_5_2__0 )? ) { - // InternalRosSystem.g:3402:1: ( ')' ) - // InternalRosSystem.g:3403:2: ')' + // InternalRosSystem.g:4532:1: ( ( rule__ComponentStack__Group_5_2__0 )? ) + // InternalRosSystem.g:4533:2: ( rule__ComponentStack__Group_5_2__0 )? { - before(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); - match(input,29,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); + before(grammarAccess.getComponentStackAccess().getGroup_5_2()); + // InternalRosSystem.g:4534:2: ( rule__ComponentStack__Group_5_2__0 )? + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==44) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // InternalRosSystem.g:4534:3: rule__ComponentStack__Group_5_2__0 + { + pushFollow(FOLLOW_2); + rule__ComponentStack__Group_5_2__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getComponentStackAccess().getGroup_5_2()); } @@ -10400,26 +13790,21 @@ public final void rule__ServiceConnection__Group__7__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__7__Impl" + // $ANTLR end "rule__ComponentStack__Group_5__2__Impl" - // $ANTLR start "rule__ServiceConnection__Group__8" - // InternalRosSystem.g:3412:1: rule__ServiceConnection__Group__8 : rule__ServiceConnection__Group__8__Impl rule__ServiceConnection__Group__9 ; - public final void rule__ServiceConnection__Group__8() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__3" + // InternalRosSystem.g:4542:1: rule__ComponentStack__Group_5__3 : rule__ComponentStack__Group_5__3__Impl ; + public final void rule__ComponentStack__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3416:1: ( rule__ServiceConnection__Group__8__Impl rule__ServiceConnection__Group__9 ) - // InternalRosSystem.g:3417:2: rule__ServiceConnection__Group__8__Impl rule__ServiceConnection__Group__9 + // InternalRosSystem.g:4546:1: ( rule__ComponentStack__Group_5__3__Impl ) + // InternalRosSystem.g:4547:2: rule__ComponentStack__Group_5__3__Impl { - pushFollow(FOLLOW_6); - rule__ServiceConnection__Group__8__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__9(); + rule__ComponentStack__Group_5__3__Impl(); state._fsp--; @@ -10438,25 +13823,25 @@ public final void rule__ServiceConnection__Group__8() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__8" + // $ANTLR end "rule__ComponentStack__Group_5__3" - // $ANTLR start "rule__ServiceConnection__Group__8__Impl" - // InternalRosSystem.g:3424:1: rule__ServiceConnection__Group__8__Impl : ( 'To' ) ; - public final void rule__ServiceConnection__Group__8__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5__3__Impl" + // InternalRosSystem.g:4553:1: rule__ComponentStack__Group_5__3__Impl : ( ')' ) ; + public final void rule__ComponentStack__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3428:1: ( ( 'To' ) ) - // InternalRosSystem.g:3429:1: ( 'To' ) + // InternalRosSystem.g:4557:1: ( ( ')' ) ) + // InternalRosSystem.g:4558:1: ( ')' ) { - // InternalRosSystem.g:3429:1: ( 'To' ) - // InternalRosSystem.g:3430:2: 'To' + // InternalRosSystem.g:4558:1: ( ')' ) + // InternalRosSystem.g:4559:2: ')' { - before(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); - match(input,37,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getToKeyword_8()); + before(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_5_3()); + match(input,29,FOLLOW_2); + after(grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_5_3()); } @@ -10475,26 +13860,26 @@ public final void rule__ServiceConnection__Group__8__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__8__Impl" + // $ANTLR end "rule__ComponentStack__Group_5__3__Impl" - // $ANTLR start "rule__ServiceConnection__Group__9" - // InternalRosSystem.g:3439:1: rule__ServiceConnection__Group__9 : rule__ServiceConnection__Group__9__Impl rule__ServiceConnection__Group__10 ; - public final void rule__ServiceConnection__Group__9() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2__0" + // InternalRosSystem.g:4569:1: rule__ComponentStack__Group_5_2__0 : rule__ComponentStack__Group_5_2__0__Impl rule__ComponentStack__Group_5_2__1 ; + public final void rule__ComponentStack__Group_5_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3443:1: ( rule__ServiceConnection__Group__9__Impl rule__ServiceConnection__Group__10 ) - // InternalRosSystem.g:3444:2: rule__ServiceConnection__Group__9__Impl rule__ServiceConnection__Group__10 + // InternalRosSystem.g:4573:1: ( rule__ComponentStack__Group_5_2__0__Impl rule__ComponentStack__Group_5_2__1 ) + // InternalRosSystem.g:4574:2: rule__ComponentStack__Group_5_2__0__Impl rule__ComponentStack__Group_5_2__1 { - pushFollow(FOLLOW_24); - rule__ServiceConnection__Group__9__Impl(); + pushFollow(FOLLOW_10); + rule__ComponentStack__Group_5_2__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__10(); + rule__ComponentStack__Group_5_2__1(); state._fsp--; @@ -10513,35 +13898,35 @@ public final void rule__ServiceConnection__Group__9() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceConnection__Group__9" + // $ANTLR end "rule__ComponentStack__Group_5_2__0" - // $ANTLR start "rule__ServiceConnection__Group__9__Impl" - // InternalRosSystem.g:3451:1: rule__ServiceConnection__Group__9__Impl : ( ( rule__ServiceConnection__ToAssignment_9 ) ) ; - public final void rule__ServiceConnection__Group__9__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2__0__Impl" + // InternalRosSystem.g:4581:1: rule__ComponentStack__Group_5_2__0__Impl : ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_0 ) ) ; + public final void rule__ComponentStack__Group_5_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3455:1: ( ( ( rule__ServiceConnection__ToAssignment_9 ) ) ) - // InternalRosSystem.g:3456:1: ( ( rule__ServiceConnection__ToAssignment_9 ) ) + // InternalRosSystem.g:4585:1: ( ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_0 ) ) ) + // InternalRosSystem.g:4586:1: ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_0 ) ) { - // InternalRosSystem.g:3456:1: ( ( rule__ServiceConnection__ToAssignment_9 ) ) - // InternalRosSystem.g:3457:2: ( rule__ServiceConnection__ToAssignment_9 ) + // InternalRosSystem.g:4586:1: ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_0 ) ) + // InternalRosSystem.g:4587:2: ( rule__ComponentStack__QualityAttributeAssignment_5_2_0 ) { - before(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); - // InternalRosSystem.g:3458:2: ( rule__ServiceConnection__ToAssignment_9 ) - // InternalRosSystem.g:3458:3: rule__ServiceConnection__ToAssignment_9 + before(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_0()); + // InternalRosSystem.g:4588:2: ( rule__ComponentStack__QualityAttributeAssignment_5_2_0 ) + // InternalRosSystem.g:4588:3: rule__ComponentStack__QualityAttributeAssignment_5_2_0 { pushFollow(FOLLOW_2); - rule__ServiceConnection__ToAssignment_9(); + rule__ComponentStack__QualityAttributeAssignment_5_2_0(); state._fsp--; } - after(grammarAccess.getServiceConnectionAccess().getToAssignment_9()); + after(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_0()); } @@ -10560,21 +13945,21 @@ public final void rule__ServiceConnection__Group__9__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__Group__9__Impl" + // $ANTLR end "rule__ComponentStack__Group_5_2__0__Impl" - // $ANTLR start "rule__ServiceConnection__Group__10" - // InternalRosSystem.g:3466:1: rule__ServiceConnection__Group__10 : rule__ServiceConnection__Group__10__Impl ; - public final void rule__ServiceConnection__Group__10() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2__1" + // InternalRosSystem.g:4596:1: rule__ComponentStack__Group_5_2__1 : rule__ComponentStack__Group_5_2__1__Impl ; + public final void rule__ComponentStack__Group_5_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3470:1: ( rule__ServiceConnection__Group__10__Impl ) - // InternalRosSystem.g:3471:2: rule__ServiceConnection__Group__10__Impl + // InternalRosSystem.g:4600:1: ( rule__ComponentStack__Group_5_2__1__Impl ) + // InternalRosSystem.g:4601:2: rule__ComponentStack__Group_5_2__1__Impl { pushFollow(FOLLOW_2); - rule__ServiceConnection__Group__10__Impl(); + rule__ComponentStack__Group_5_2__1__Impl(); state._fsp--; @@ -10593,25 +13978,53 @@ public final void rule__ServiceConnection__Group__10() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__ServiceConnection__Group__10" + // $ANTLR end "rule__ComponentStack__Group_5_2__1" - // $ANTLR start "rule__ServiceConnection__Group__10__Impl" - // InternalRosSystem.g:3477:1: rule__ServiceConnection__Group__10__Impl : ( '}' ) ; - public final void rule__ServiceConnection__Group__10__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2__1__Impl" + // InternalRosSystem.g:4607:1: rule__ComponentStack__Group_5_2__1__Impl : ( ( rule__ComponentStack__Group_5_2_1__0 )* ) ; + public final void rule__ComponentStack__Group_5_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3481:1: ( ( '}' ) ) - // InternalRosSystem.g:3482:1: ( '}' ) + // InternalRosSystem.g:4611:1: ( ( ( rule__ComponentStack__Group_5_2_1__0 )* ) ) + // InternalRosSystem.g:4612:1: ( ( rule__ComponentStack__Group_5_2_1__0 )* ) { - // InternalRosSystem.g:3482:1: ( '}' ) - // InternalRosSystem.g:3483:2: '}' + // InternalRosSystem.g:4612:1: ( ( rule__ComponentStack__Group_5_2_1__0 )* ) + // InternalRosSystem.g:4613:2: ( rule__ComponentStack__Group_5_2_1__0 )* { - before(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); - match(input,26,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); + before(grammarAccess.getComponentStackAccess().getGroup_5_2_1()); + // InternalRosSystem.g:4614:2: ( rule__ComponentStack__Group_5_2_1__0 )* + loop31: + do { + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==30) ) { + alt31=1; + } + + + switch (alt31) { + case 1 : + // InternalRosSystem.g:4614:3: rule__ComponentStack__Group_5_2_1__0 + { + pushFollow(FOLLOW_11); + rule__ComponentStack__Group_5_2_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop31; + } + } while (true); + + after(grammarAccess.getComponentStackAccess().getGroup_5_2_1()); } @@ -10630,26 +14043,26 @@ public final void rule__ServiceConnection__Group__10__Impl() throws RecognitionE } return ; } - // $ANTLR end "rule__ServiceConnection__Group__10__Impl" + // $ANTLR end "rule__ComponentStack__Group_5_2__1__Impl" - // $ANTLR start "rule__ServiceConnection__Group_6__0" - // InternalRosSystem.g:3493:1: rule__ServiceConnection__Group_6__0 : rule__ServiceConnection__Group_6__0__Impl rule__ServiceConnection__Group_6__1 ; - public final void rule__ServiceConnection__Group_6__0() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2_1__0" + // InternalRosSystem.g:4623:1: rule__ComponentStack__Group_5_2_1__0 : rule__ComponentStack__Group_5_2_1__0__Impl rule__ComponentStack__Group_5_2_1__1 ; + public final void rule__ComponentStack__Group_5_2_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3497:1: ( rule__ServiceConnection__Group_6__0__Impl rule__ServiceConnection__Group_6__1 ) - // InternalRosSystem.g:3498:2: rule__ServiceConnection__Group_6__0__Impl rule__ServiceConnection__Group_6__1 + // InternalRosSystem.g:4627:1: ( rule__ComponentStack__Group_5_2_1__0__Impl rule__ComponentStack__Group_5_2_1__1 ) + // InternalRosSystem.g:4628:2: rule__ComponentStack__Group_5_2_1__0__Impl rule__ComponentStack__Group_5_2_1__1 { - pushFollow(FOLLOW_6); - rule__ServiceConnection__Group_6__0__Impl(); + pushFollow(FOLLOW_30); + rule__ComponentStack__Group_5_2_1__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceConnection__Group_6__1(); + rule__ComponentStack__Group_5_2_1__1(); state._fsp--; @@ -10668,25 +14081,25 @@ public final void rule__ServiceConnection__Group_6__0() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ServiceConnection__Group_6__0" + // $ANTLR end "rule__ComponentStack__Group_5_2_1__0" - // $ANTLR start "rule__ServiceConnection__Group_6__0__Impl" - // InternalRosSystem.g:3505:1: rule__ServiceConnection__Group_6__0__Impl : ( ',' ) ; - public final void rule__ServiceConnection__Group_6__0__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2_1__0__Impl" + // InternalRosSystem.g:4635:1: rule__ComponentStack__Group_5_2_1__0__Impl : ( ',' ) ; + public final void rule__ComponentStack__Group_5_2_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3509:1: ( ( ',' ) ) - // InternalRosSystem.g:3510:1: ( ',' ) + // InternalRosSystem.g:4639:1: ( ( ',' ) ) + // InternalRosSystem.g:4640:1: ( ',' ) { - // InternalRosSystem.g:3510:1: ( ',' ) - // InternalRosSystem.g:3511:2: ',' + // InternalRosSystem.g:4640:1: ( ',' ) + // InternalRosSystem.g:4641:2: ',' { - before(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); + before(grammarAccess.getComponentStackAccess().getCommaKeyword_5_2_1_0()); match(input,30,FOLLOW_2); - after(grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); + after(grammarAccess.getComponentStackAccess().getCommaKeyword_5_2_1_0()); } @@ -10705,21 +14118,21 @@ public final void rule__ServiceConnection__Group_6__0__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ServiceConnection__Group_6__0__Impl" + // $ANTLR end "rule__ComponentStack__Group_5_2_1__0__Impl" - // $ANTLR start "rule__ServiceConnection__Group_6__1" - // InternalRosSystem.g:3520:1: rule__ServiceConnection__Group_6__1 : rule__ServiceConnection__Group_6__1__Impl ; - public final void rule__ServiceConnection__Group_6__1() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2_1__1" + // InternalRosSystem.g:4650:1: rule__ComponentStack__Group_5_2_1__1 : rule__ComponentStack__Group_5_2_1__1__Impl ; + public final void rule__ComponentStack__Group_5_2_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3524:1: ( rule__ServiceConnection__Group_6__1__Impl ) - // InternalRosSystem.g:3525:2: rule__ServiceConnection__Group_6__1__Impl + // InternalRosSystem.g:4654:1: ( rule__ComponentStack__Group_5_2_1__1__Impl ) + // InternalRosSystem.g:4655:2: rule__ComponentStack__Group_5_2_1__1__Impl { pushFollow(FOLLOW_2); - rule__ServiceConnection__Group_6__1__Impl(); + rule__ComponentStack__Group_5_2_1__1__Impl(); state._fsp--; @@ -10738,35 +14151,35 @@ public final void rule__ServiceConnection__Group_6__1() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ServiceConnection__Group_6__1" + // $ANTLR end "rule__ComponentStack__Group_5_2_1__1" - // $ANTLR start "rule__ServiceConnection__Group_6__1__Impl" - // InternalRosSystem.g:3531:1: rule__ServiceConnection__Group_6__1__Impl : ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) ; - public final void rule__ServiceConnection__Group_6__1__Impl() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__Group_5_2_1__1__Impl" + // InternalRosSystem.g:4661:1: rule__ComponentStack__Group_5_2_1__1__Impl : ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 ) ) ; + public final void rule__ComponentStack__Group_5_2_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3535:1: ( ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) ) - // InternalRosSystem.g:3536:1: ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) + // InternalRosSystem.g:4665:1: ( ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 ) ) ) + // InternalRosSystem.g:4666:1: ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 ) ) { - // InternalRosSystem.g:3536:1: ( ( rule__ServiceConnection__FromAssignment_6_1 ) ) - // InternalRosSystem.g:3537:2: ( rule__ServiceConnection__FromAssignment_6_1 ) + // InternalRosSystem.g:4666:1: ( ( rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 ) ) + // InternalRosSystem.g:4667:2: ( rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 ) { - before(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); - // InternalRosSystem.g:3538:2: ( rule__ServiceConnection__FromAssignment_6_1 ) - // InternalRosSystem.g:3538:3: rule__ServiceConnection__FromAssignment_6_1 + before(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_1_1()); + // InternalRosSystem.g:4668:2: ( rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 ) + // InternalRosSystem.g:4668:3: rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 { pushFollow(FOLLOW_2); - rule__ServiceConnection__FromAssignment_6_1(); + rule__ComponentStack__QualityAttributeAssignment_5_2_1_1(); state._fsp--; } - after(grammarAccess.getServiceConnectionAccess().getFromAssignment_6_1()); + after(grammarAccess.getComponentStackAccess().getQualityAttributeAssignment_5_2_1_1()); } @@ -10785,26 +14198,26 @@ public final void rule__ServiceConnection__Group_6__1__Impl() throws Recognition } return ; } - // $ANTLR end "rule__ServiceConnection__Group_6__1__Impl" + // $ANTLR end "rule__ComponentStack__Group_5_2_1__1__Impl" - // $ANTLR start "rule__ActionConnection__Group__0" - // InternalRosSystem.g:3547:1: rule__ActionConnection__Group__0 : rule__ActionConnection__Group__0__Impl rule__ActionConnection__Group__1 ; - public final void rule__ActionConnection__Group__0() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__0" + // InternalRosSystem.g:4677:1: rule__QualityAttribute__Group__0 : rule__QualityAttribute__Group__0__Impl rule__QualityAttribute__Group__1 ; + public final void rule__QualityAttribute__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3551:1: ( rule__ActionConnection__Group__0__Impl rule__ActionConnection__Group__1 ) - // InternalRosSystem.g:3552:2: rule__ActionConnection__Group__0__Impl rule__ActionConnection__Group__1 + // InternalRosSystem.g:4681:1: ( rule__QualityAttribute__Group__0__Impl rule__QualityAttribute__Group__1 ) + // InternalRosSystem.g:4682:2: rule__QualityAttribute__Group__0__Impl rule__QualityAttribute__Group__1 { pushFollow(FOLLOW_6); - rule__ActionConnection__Group__0__Impl(); + rule__QualityAttribute__Group__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ActionConnection__Group__1(); + rule__QualityAttribute__Group__1(); state._fsp--; @@ -10823,25 +14236,25 @@ public final void rule__ActionConnection__Group__0() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__0" + // $ANTLR end "rule__QualityAttribute__Group__0" - // $ANTLR start "rule__ActionConnection__Group__0__Impl" - // InternalRosSystem.g:3559:1: rule__ActionConnection__Group__0__Impl : ( 'ActionConnection' ) ; - public final void rule__ActionConnection__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__0__Impl" + // InternalRosSystem.g:4689:1: rule__QualityAttribute__Group__0__Impl : ( 'QualityAttribute' ) ; + public final void rule__QualityAttribute__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3563:1: ( ( 'ActionConnection' ) ) - // InternalRosSystem.g:3564:1: ( 'ActionConnection' ) + // InternalRosSystem.g:4693:1: ( ( 'QualityAttribute' ) ) + // InternalRosSystem.g:4694:1: ( 'QualityAttribute' ) { - // InternalRosSystem.g:3564:1: ( 'ActionConnection' ) - // InternalRosSystem.g:3565:2: 'ActionConnection' + // InternalRosSystem.g:4694:1: ( 'QualityAttribute' ) + // InternalRosSystem.g:4695:2: 'QualityAttribute' { - before(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); - match(input,39,FOLLOW_2); - after(grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); + before(grammarAccess.getQualityAttributeAccess().getQualityAttributeKeyword_0()); + match(input,44,FOLLOW_2); + after(grammarAccess.getQualityAttributeAccess().getQualityAttributeKeyword_0()); } @@ -10860,26 +14273,26 @@ public final void rule__ActionConnection__Group__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__0__Impl" + // $ANTLR end "rule__QualityAttribute__Group__0__Impl" - // $ANTLR start "rule__ActionConnection__Group__1" - // InternalRosSystem.g:3574:1: rule__ActionConnection__Group__1 : rule__ActionConnection__Group__1__Impl rule__ActionConnection__Group__2 ; - public final void rule__ActionConnection__Group__1() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__1" + // InternalRosSystem.g:4704:1: rule__QualityAttribute__Group__1 : rule__QualityAttribute__Group__1__Impl rule__QualityAttribute__Group__2 ; + public final void rule__QualityAttribute__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3578:1: ( rule__ActionConnection__Group__1__Impl rule__ActionConnection__Group__2 ) - // InternalRosSystem.g:3579:2: rule__ActionConnection__Group__1__Impl rule__ActionConnection__Group__2 + // InternalRosSystem.g:4708:1: ( rule__QualityAttribute__Group__1__Impl rule__QualityAttribute__Group__2 ) + // InternalRosSystem.g:4709:2: rule__QualityAttribute__Group__1__Impl rule__QualityAttribute__Group__2 { - pushFollow(FOLLOW_4); - rule__ActionConnection__Group__1__Impl(); + pushFollow(FOLLOW_31); + rule__QualityAttribute__Group__1__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ActionConnection__Group__2(); + rule__QualityAttribute__Group__2(); state._fsp--; @@ -10898,35 +14311,35 @@ public final void rule__ActionConnection__Group__1() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__1" + // $ANTLR end "rule__QualityAttribute__Group__1" - // $ANTLR start "rule__ActionConnection__Group__1__Impl" - // InternalRosSystem.g:3586:1: rule__ActionConnection__Group__1__Impl : ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) ; - public final void rule__ActionConnection__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__1__Impl" + // InternalRosSystem.g:4716:1: rule__QualityAttribute__Group__1__Impl : ( ( rule__QualityAttribute__NameAssignment_1 ) ) ; + public final void rule__QualityAttribute__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3590:1: ( ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) ) - // InternalRosSystem.g:3591:1: ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) + // InternalRosSystem.g:4720:1: ( ( ( rule__QualityAttribute__NameAssignment_1 ) ) ) + // InternalRosSystem.g:4721:1: ( ( rule__QualityAttribute__NameAssignment_1 ) ) { - // InternalRosSystem.g:3591:1: ( ( rule__ActionConnection__ActionNameAssignment_1 ) ) - // InternalRosSystem.g:3592:2: ( rule__ActionConnection__ActionNameAssignment_1 ) + // InternalRosSystem.g:4721:1: ( ( rule__QualityAttribute__NameAssignment_1 ) ) + // InternalRosSystem.g:4722:2: ( rule__QualityAttribute__NameAssignment_1 ) { - before(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); - // InternalRosSystem.g:3593:2: ( rule__ActionConnection__ActionNameAssignment_1 ) - // InternalRosSystem.g:3593:3: rule__ActionConnection__ActionNameAssignment_1 + before(grammarAccess.getQualityAttributeAccess().getNameAssignment_1()); + // InternalRosSystem.g:4723:2: ( rule__QualityAttribute__NameAssignment_1 ) + // InternalRosSystem.g:4723:3: rule__QualityAttribute__NameAssignment_1 { pushFollow(FOLLOW_2); - rule__ActionConnection__ActionNameAssignment_1(); + rule__QualityAttribute__NameAssignment_1(); state._fsp--; } - after(grammarAccess.getActionConnectionAccess().getActionNameAssignment_1()); + after(grammarAccess.getQualityAttributeAccess().getNameAssignment_1()); } @@ -10945,26 +14358,26 @@ public final void rule__ActionConnection__Group__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__1__Impl" + // $ANTLR end "rule__QualityAttribute__Group__1__Impl" - // $ANTLR start "rule__ActionConnection__Group__2" - // InternalRosSystem.g:3601:1: rule__ActionConnection__Group__2 : rule__ActionConnection__Group__2__Impl rule__ActionConnection__Group__3 ; - public final void rule__ActionConnection__Group__2() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__2" + // InternalRosSystem.g:4731:1: rule__QualityAttribute__Group__2 : rule__QualityAttribute__Group__2__Impl rule__QualityAttribute__Group__3 ; + public final void rule__QualityAttribute__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3605:1: ( rule__ActionConnection__Group__2__Impl rule__ActionConnection__Group__3 ) - // InternalRosSystem.g:3606:2: rule__ActionConnection__Group__2__Impl rule__ActionConnection__Group__3 + // InternalRosSystem.g:4735:1: ( rule__QualityAttribute__Group__2__Impl rule__QualityAttribute__Group__3 ) + // InternalRosSystem.g:4736:2: rule__QualityAttribute__Group__2__Impl rule__QualityAttribute__Group__3 { - pushFollow(FOLLOW_21); - rule__ActionConnection__Group__2__Impl(); + pushFollow(FOLLOW_31); + rule__QualityAttribute__Group__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ActionConnection__Group__3(); + rule__QualityAttribute__Group__3(); state._fsp--; @@ -10983,25 +14396,46 @@ public final void rule__ActionConnection__Group__2() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__2" + // $ANTLR end "rule__QualityAttribute__Group__2" - // $ANTLR start "rule__ActionConnection__Group__2__Impl" - // InternalRosSystem.g:3613:1: rule__ActionConnection__Group__2__Impl : ( '{' ) ; - public final void rule__ActionConnection__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__2__Impl" + // InternalRosSystem.g:4743:1: rule__QualityAttribute__Group__2__Impl : ( ( rule__QualityAttribute__Group_2__0 )? ) ; + public final void rule__QualityAttribute__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3617:1: ( ( '{' ) ) - // InternalRosSystem.g:3618:1: ( '{' ) + // InternalRosSystem.g:4747:1: ( ( ( rule__QualityAttribute__Group_2__0 )? ) ) + // InternalRosSystem.g:4748:1: ( ( rule__QualityAttribute__Group_2__0 )? ) { - // InternalRosSystem.g:3618:1: ( '{' ) - // InternalRosSystem.g:3619:2: '{' + // InternalRosSystem.g:4748:1: ( ( rule__QualityAttribute__Group_2__0 )? ) + // InternalRosSystem.g:4749:2: ( rule__QualityAttribute__Group_2__0 )? { - before(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); - match(input,24,FOLLOW_2); - after(grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); + before(grammarAccess.getQualityAttributeAccess().getGroup_2()); + // InternalRosSystem.g:4750:2: ( rule__QualityAttribute__Group_2__0 )? + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==45) ) { + alt32=1; + } + switch (alt32) { + case 1 : + // InternalRosSystem.g:4750:3: rule__QualityAttribute__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__QualityAttribute__Group_2__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getQualityAttributeAccess().getGroup_2()); } @@ -11020,26 +14454,21 @@ public final void rule__ActionConnection__Group__2__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__2__Impl" + // $ANTLR end "rule__QualityAttribute__Group__2__Impl" - // $ANTLR start "rule__ActionConnection__Group__3" - // InternalRosSystem.g:3628:1: rule__ActionConnection__Group__3 : rule__ActionConnection__Group__3__Impl rule__ActionConnection__Group__4 ; - public final void rule__ActionConnection__Group__3() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__3" + // InternalRosSystem.g:4758:1: rule__QualityAttribute__Group__3 : rule__QualityAttribute__Group__3__Impl ; + public final void rule__QualityAttribute__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3632:1: ( rule__ActionConnection__Group__3__Impl rule__ActionConnection__Group__4 ) - // InternalRosSystem.g:3633:2: rule__ActionConnection__Group__3__Impl rule__ActionConnection__Group__4 + // InternalRosSystem.g:4762:1: ( rule__QualityAttribute__Group__3__Impl ) + // InternalRosSystem.g:4763:2: rule__QualityAttribute__Group__3__Impl { - pushFollow(FOLLOW_6); - rule__ActionConnection__Group__3__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ActionConnection__Group__4(); + rule__QualityAttribute__Group__3__Impl(); state._fsp--; @@ -11058,25 +14487,46 @@ public final void rule__ActionConnection__Group__3() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__3" + // $ANTLR end "rule__QualityAttribute__Group__3" - // $ANTLR start "rule__ActionConnection__Group__3__Impl" - // InternalRosSystem.g:3640:1: rule__ActionConnection__Group__3__Impl : ( 'From' ) ; - public final void rule__ActionConnection__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group__3__Impl" + // InternalRosSystem.g:4769:1: rule__QualityAttribute__Group__3__Impl : ( ( rule__QualityAttribute__Group_3__0 )? ) ; + public final void rule__QualityAttribute__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3644:1: ( ( 'From' ) ) - // InternalRosSystem.g:3645:1: ( 'From' ) + // InternalRosSystem.g:4773:1: ( ( ( rule__QualityAttribute__Group_3__0 )? ) ) + // InternalRosSystem.g:4774:1: ( ( rule__QualityAttribute__Group_3__0 )? ) { - // InternalRosSystem.g:3645:1: ( 'From' ) - // InternalRosSystem.g:3646:2: 'From' + // InternalRosSystem.g:4774:1: ( ( rule__QualityAttribute__Group_3__0 )? ) + // InternalRosSystem.g:4775:2: ( rule__QualityAttribute__Group_3__0 )? { - before(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); - match(input,36,FOLLOW_2); - after(grammarAccess.getActionConnectionAccess().getFromKeyword_3()); + before(grammarAccess.getQualityAttributeAccess().getGroup_3()); + // InternalRosSystem.g:4776:2: ( rule__QualityAttribute__Group_3__0 )? + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==46) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // InternalRosSystem.g:4776:3: rule__QualityAttribute__Group_3__0 + { + pushFollow(FOLLOW_2); + rule__QualityAttribute__Group_3__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getQualityAttributeAccess().getGroup_3()); } @@ -11095,26 +14545,26 @@ public final void rule__ActionConnection__Group__3__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__3__Impl" + // $ANTLR end "rule__QualityAttribute__Group__3__Impl" - // $ANTLR start "rule__ActionConnection__Group__4" - // InternalRosSystem.g:3655:1: rule__ActionConnection__Group__4 : rule__ActionConnection__Group__4__Impl rule__ActionConnection__Group__5 ; - public final void rule__ActionConnection__Group__4() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_2__0" + // InternalRosSystem.g:4785:1: rule__QualityAttribute__Group_2__0 : rule__QualityAttribute__Group_2__0__Impl rule__QualityAttribute__Group_2__1 ; + public final void rule__QualityAttribute__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3659:1: ( rule__ActionConnection__Group__4__Impl rule__ActionConnection__Group__5 ) - // InternalRosSystem.g:3660:2: rule__ActionConnection__Group__4__Impl rule__ActionConnection__Group__5 + // InternalRosSystem.g:4789:1: ( rule__QualityAttribute__Group_2__0__Impl rule__QualityAttribute__Group_2__1 ) + // InternalRosSystem.g:4790:2: rule__QualityAttribute__Group_2__0__Impl rule__QualityAttribute__Group_2__1 { - pushFollow(FOLLOW_23); - rule__ActionConnection__Group__4__Impl(); + pushFollow(FOLLOW_32); + rule__QualityAttribute__Group_2__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ActionConnection__Group__5(); + rule__QualityAttribute__Group_2__1(); state._fsp--; @@ -11133,35 +14583,25 @@ public final void rule__ActionConnection__Group__4() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__4" + // $ANTLR end "rule__QualityAttribute__Group_2__0" - // $ANTLR start "rule__ActionConnection__Group__4__Impl" - // InternalRosSystem.g:3667:1: rule__ActionConnection__Group__4__Impl : ( ( rule__ActionConnection__FromAssignment_4 ) ) ; - public final void rule__ActionConnection__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_2__0__Impl" + // InternalRosSystem.g:4797:1: rule__QualityAttribute__Group_2__0__Impl : ( 'type' ) ; + public final void rule__QualityAttribute__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3671:1: ( ( ( rule__ActionConnection__FromAssignment_4 ) ) ) - // InternalRosSystem.g:3672:1: ( ( rule__ActionConnection__FromAssignment_4 ) ) - { - // InternalRosSystem.g:3672:1: ( ( rule__ActionConnection__FromAssignment_4 ) ) - // InternalRosSystem.g:3673:2: ( rule__ActionConnection__FromAssignment_4 ) + // InternalRosSystem.g:4801:1: ( ( 'type' ) ) + // InternalRosSystem.g:4802:1: ( 'type' ) { - before(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); - // InternalRosSystem.g:3674:2: ( rule__ActionConnection__FromAssignment_4 ) - // InternalRosSystem.g:3674:3: rule__ActionConnection__FromAssignment_4 + // InternalRosSystem.g:4802:1: ( 'type' ) + // InternalRosSystem.g:4803:2: 'type' { - pushFollow(FOLLOW_2); - rule__ActionConnection__FromAssignment_4(); - - state._fsp--; - - - } - - after(grammarAccess.getActionConnectionAccess().getFromAssignment_4()); + before(grammarAccess.getQualityAttributeAccess().getTypeKeyword_2_0()); + match(input,45,FOLLOW_2); + after(grammarAccess.getQualityAttributeAccess().getTypeKeyword_2_0()); } @@ -11180,26 +14620,21 @@ public final void rule__ActionConnection__Group__4__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__4__Impl" + // $ANTLR end "rule__QualityAttribute__Group_2__0__Impl" - // $ANTLR start "rule__ActionConnection__Group__5" - // InternalRosSystem.g:3682:1: rule__ActionConnection__Group__5 : rule__ActionConnection__Group__5__Impl rule__ActionConnection__Group__6 ; - public final void rule__ActionConnection__Group__5() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_2__1" + // InternalRosSystem.g:4812:1: rule__QualityAttribute__Group_2__1 : rule__QualityAttribute__Group_2__1__Impl ; + public final void rule__QualityAttribute__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3686:1: ( rule__ActionConnection__Group__5__Impl rule__ActionConnection__Group__6 ) - // InternalRosSystem.g:3687:2: rule__ActionConnection__Group__5__Impl rule__ActionConnection__Group__6 + // InternalRosSystem.g:4816:1: ( rule__QualityAttribute__Group_2__1__Impl ) + // InternalRosSystem.g:4817:2: rule__QualityAttribute__Group_2__1__Impl { - pushFollow(FOLLOW_6); - rule__ActionConnection__Group__5__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__ActionConnection__Group__6(); + rule__QualityAttribute__Group_2__1__Impl(); state._fsp--; @@ -11218,25 +14653,35 @@ public final void rule__ActionConnection__Group__5() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__5" + // $ANTLR end "rule__QualityAttribute__Group_2__1" - // $ANTLR start "rule__ActionConnection__Group__5__Impl" - // InternalRosSystem.g:3694:1: rule__ActionConnection__Group__5__Impl : ( 'To' ) ; - public final void rule__ActionConnection__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_2__1__Impl" + // InternalRosSystem.g:4823:1: rule__QualityAttribute__Group_2__1__Impl : ( ( rule__QualityAttribute__TypeAssignment_2_1 ) ) ; + public final void rule__QualityAttribute__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3698:1: ( ( 'To' ) ) - // InternalRosSystem.g:3699:1: ( 'To' ) + // InternalRosSystem.g:4827:1: ( ( ( rule__QualityAttribute__TypeAssignment_2_1 ) ) ) + // InternalRosSystem.g:4828:1: ( ( rule__QualityAttribute__TypeAssignment_2_1 ) ) { - // InternalRosSystem.g:3699:1: ( 'To' ) - // InternalRosSystem.g:3700:2: 'To' + // InternalRosSystem.g:4828:1: ( ( rule__QualityAttribute__TypeAssignment_2_1 ) ) + // InternalRosSystem.g:4829:2: ( rule__QualityAttribute__TypeAssignment_2_1 ) { - before(grammarAccess.getActionConnectionAccess().getToKeyword_5()); - match(input,37,FOLLOW_2); - after(grammarAccess.getActionConnectionAccess().getToKeyword_5()); + before(grammarAccess.getQualityAttributeAccess().getTypeAssignment_2_1()); + // InternalRosSystem.g:4830:2: ( rule__QualityAttribute__TypeAssignment_2_1 ) + // InternalRosSystem.g:4830:3: rule__QualityAttribute__TypeAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__QualityAttribute__TypeAssignment_2_1(); + + state._fsp--; + + + } + + after(grammarAccess.getQualityAttributeAccess().getTypeAssignment_2_1()); } @@ -11255,26 +14700,26 @@ public final void rule__ActionConnection__Group__5__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__5__Impl" + // $ANTLR end "rule__QualityAttribute__Group_2__1__Impl" - // $ANTLR start "rule__ActionConnection__Group__6" - // InternalRosSystem.g:3709:1: rule__ActionConnection__Group__6 : rule__ActionConnection__Group__6__Impl rule__ActionConnection__Group__7 ; - public final void rule__ActionConnection__Group__6() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_3__0" + // InternalRosSystem.g:4839:1: rule__QualityAttribute__Group_3__0 : rule__QualityAttribute__Group_3__0__Impl rule__QualityAttribute__Group_3__1 ; + public final void rule__QualityAttribute__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3713:1: ( rule__ActionConnection__Group__6__Impl rule__ActionConnection__Group__7 ) - // InternalRosSystem.g:3714:2: rule__ActionConnection__Group__6__Impl rule__ActionConnection__Group__7 + // InternalRosSystem.g:4843:1: ( rule__QualityAttribute__Group_3__0__Impl rule__QualityAttribute__Group_3__1 ) + // InternalRosSystem.g:4844:2: rule__QualityAttribute__Group_3__0__Impl rule__QualityAttribute__Group_3__1 { - pushFollow(FOLLOW_24); - rule__ActionConnection__Group__6__Impl(); + pushFollow(FOLLOW_33); + rule__QualityAttribute__Group_3__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ActionConnection__Group__7(); + rule__QualityAttribute__Group_3__1(); state._fsp--; @@ -11293,35 +14738,25 @@ public final void rule__ActionConnection__Group__6() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__6" + // $ANTLR end "rule__QualityAttribute__Group_3__0" - // $ANTLR start "rule__ActionConnection__Group__6__Impl" - // InternalRosSystem.g:3721:1: rule__ActionConnection__Group__6__Impl : ( ( rule__ActionConnection__ToAssignment_6 ) ) ; - public final void rule__ActionConnection__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_3__0__Impl" + // InternalRosSystem.g:4851:1: rule__QualityAttribute__Group_3__0__Impl : ( 'value' ) ; + public final void rule__QualityAttribute__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3725:1: ( ( ( rule__ActionConnection__ToAssignment_6 ) ) ) - // InternalRosSystem.g:3726:1: ( ( rule__ActionConnection__ToAssignment_6 ) ) + // InternalRosSystem.g:4855:1: ( ( 'value' ) ) + // InternalRosSystem.g:4856:1: ( 'value' ) { - // InternalRosSystem.g:3726:1: ( ( rule__ActionConnection__ToAssignment_6 ) ) - // InternalRosSystem.g:3727:2: ( rule__ActionConnection__ToAssignment_6 ) + // InternalRosSystem.g:4856:1: ( 'value' ) + // InternalRosSystem.g:4857:2: 'value' { - before(grammarAccess.getActionConnectionAccess().getToAssignment_6()); - // InternalRosSystem.g:3728:2: ( rule__ActionConnection__ToAssignment_6 ) - // InternalRosSystem.g:3728:3: rule__ActionConnection__ToAssignment_6 - { - pushFollow(FOLLOW_2); - rule__ActionConnection__ToAssignment_6(); - - state._fsp--; - - - } - - after(grammarAccess.getActionConnectionAccess().getToAssignment_6()); + before(grammarAccess.getQualityAttributeAccess().getValueKeyword_3_0()); + match(input,46,FOLLOW_2); + after(grammarAccess.getQualityAttributeAccess().getValueKeyword_3_0()); } @@ -11340,21 +14775,21 @@ public final void rule__ActionConnection__Group__6__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__6__Impl" + // $ANTLR end "rule__QualityAttribute__Group_3__0__Impl" - // $ANTLR start "rule__ActionConnection__Group__7" - // InternalRosSystem.g:3736:1: rule__ActionConnection__Group__7 : rule__ActionConnection__Group__7__Impl ; - public final void rule__ActionConnection__Group__7() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_3__1" + // InternalRosSystem.g:4866:1: rule__QualityAttribute__Group_3__1 : rule__QualityAttribute__Group_3__1__Impl ; + public final void rule__QualityAttribute__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3740:1: ( rule__ActionConnection__Group__7__Impl ) - // InternalRosSystem.g:3741:2: rule__ActionConnection__Group__7__Impl + // InternalRosSystem.g:4870:1: ( rule__QualityAttribute__Group_3__1__Impl ) + // InternalRosSystem.g:4871:2: rule__QualityAttribute__Group_3__1__Impl { pushFollow(FOLLOW_2); - rule__ActionConnection__Group__7__Impl(); + rule__QualityAttribute__Group_3__1__Impl(); state._fsp--; @@ -11373,25 +14808,35 @@ public final void rule__ActionConnection__Group__7() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionConnection__Group__7" + // $ANTLR end "rule__QualityAttribute__Group_3__1" - // $ANTLR start "rule__ActionConnection__Group__7__Impl" - // InternalRosSystem.g:3747:1: rule__ActionConnection__Group__7__Impl : ( '}' ) ; - public final void rule__ActionConnection__Group__7__Impl() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__Group_3__1__Impl" + // InternalRosSystem.g:4877:1: rule__QualityAttribute__Group_3__1__Impl : ( ( rule__QualityAttribute__ValueAssignment_3_1 ) ) ; + public final void rule__QualityAttribute__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3751:1: ( ( '}' ) ) - // InternalRosSystem.g:3752:1: ( '}' ) + // InternalRosSystem.g:4881:1: ( ( ( rule__QualityAttribute__ValueAssignment_3_1 ) ) ) + // InternalRosSystem.g:4882:1: ( ( rule__QualityAttribute__ValueAssignment_3_1 ) ) { - // InternalRosSystem.g:3752:1: ( '}' ) - // InternalRosSystem.g:3753:2: '}' + // InternalRosSystem.g:4882:1: ( ( rule__QualityAttribute__ValueAssignment_3_1 ) ) + // InternalRosSystem.g:4883:2: ( rule__QualityAttribute__ValueAssignment_3_1 ) { - before(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); - match(input,26,FOLLOW_2); - after(grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); + before(grammarAccess.getQualityAttributeAccess().getValueAssignment_3_1()); + // InternalRosSystem.g:4884:2: ( rule__QualityAttribute__ValueAssignment_3_1 ) + // InternalRosSystem.g:4884:3: rule__QualityAttribute__ValueAssignment_3_1 + { + pushFollow(FOLLOW_2); + rule__QualityAttribute__ValueAssignment_3_1(); + + state._fsp--; + + + } + + after(grammarAccess.getQualityAttributeAccess().getValueAssignment_3_1()); } @@ -11410,18 +14855,18 @@ public final void rule__ActionConnection__Group__7__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__Group__7__Impl" + // $ANTLR end "rule__QualityAttribute__Group_3__1__Impl" // $ANTLR start "rule__ComponentInterface__Group__0" - // InternalRosSystem.g:3763:1: rule__ComponentInterface__Group__0 : rule__ComponentInterface__Group__0__Impl rule__ComponentInterface__Group__1 ; + // InternalRosSystem.g:4893:1: rule__ComponentInterface__Group__0 : rule__ComponentInterface__Group__0__Impl rule__ComponentInterface__Group__1 ; public final void rule__ComponentInterface__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3767:1: ( rule__ComponentInterface__Group__0__Impl rule__ComponentInterface__Group__1 ) - // InternalRosSystem.g:3768:2: rule__ComponentInterface__Group__0__Impl rule__ComponentInterface__Group__1 + // InternalRosSystem.g:4897:1: ( rule__ComponentInterface__Group__0__Impl rule__ComponentInterface__Group__1 ) + // InternalRosSystem.g:4898:2: rule__ComponentInterface__Group__0__Impl rule__ComponentInterface__Group__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group__0__Impl(); @@ -11452,20 +14897,20 @@ public final void rule__ComponentInterface__Group__0() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__0__Impl" - // InternalRosSystem.g:3775:1: rule__ComponentInterface__Group__0__Impl : ( 'ComponentInterface' ) ; + // InternalRosSystem.g:4905:1: rule__ComponentInterface__Group__0__Impl : ( 'ComponentInterface' ) ; public final void rule__ComponentInterface__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3779:1: ( ( 'ComponentInterface' ) ) - // InternalRosSystem.g:3780:1: ( 'ComponentInterface' ) + // InternalRosSystem.g:4909:1: ( ( 'ComponentInterface' ) ) + // InternalRosSystem.g:4910:1: ( 'ComponentInterface' ) { - // InternalRosSystem.g:3780:1: ( 'ComponentInterface' ) - // InternalRosSystem.g:3781:2: 'ComponentInterface' + // InternalRosSystem.g:4910:1: ( 'ComponentInterface' ) + // InternalRosSystem.g:4911:2: 'ComponentInterface' { before(grammarAccess.getComponentInterfaceAccess().getComponentInterfaceKeyword_0()); - match(input,40,FOLLOW_2); + match(input,47,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getComponentInterfaceKeyword_0()); } @@ -11489,16 +14934,16 @@ public final void rule__ComponentInterface__Group__0__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__1" - // InternalRosSystem.g:3790:1: rule__ComponentInterface__Group__1 : rule__ComponentInterface__Group__1__Impl rule__ComponentInterface__Group__2 ; + // InternalRosSystem.g:4920:1: rule__ComponentInterface__Group__1 : rule__ComponentInterface__Group__1__Impl rule__ComponentInterface__Group__2 ; public final void rule__ComponentInterface__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3794:1: ( rule__ComponentInterface__Group__1__Impl rule__ComponentInterface__Group__2 ) - // InternalRosSystem.g:3795:2: rule__ComponentInterface__Group__1__Impl rule__ComponentInterface__Group__2 + // InternalRosSystem.g:4924:1: ( rule__ComponentInterface__Group__1__Impl rule__ComponentInterface__Group__2 ) + // InternalRosSystem.g:4925:2: rule__ComponentInterface__Group__1__Impl rule__ComponentInterface__Group__2 { - pushFollow(FOLLOW_25); + pushFollow(FOLLOW_27); rule__ComponentInterface__Group__1__Impl(); state._fsp--; @@ -11527,17 +14972,17 @@ public final void rule__ComponentInterface__Group__1() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__1__Impl" - // InternalRosSystem.g:3802:1: rule__ComponentInterface__Group__1__Impl : ( '{' ) ; + // InternalRosSystem.g:4932:1: rule__ComponentInterface__Group__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3806:1: ( ( '{' ) ) - // InternalRosSystem.g:3807:1: ( '{' ) + // InternalRosSystem.g:4936:1: ( ( '{' ) ) + // InternalRosSystem.g:4937:1: ( '{' ) { - // InternalRosSystem.g:3807:1: ( '{' ) - // InternalRosSystem.g:3808:2: '{' + // InternalRosSystem.g:4937:1: ( '{' ) + // InternalRosSystem.g:4938:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_1()); match(input,24,FOLLOW_2); @@ -11564,14 +15009,14 @@ public final void rule__ComponentInterface__Group__1__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__2" - // InternalRosSystem.g:3817:1: rule__ComponentInterface__Group__2 : rule__ComponentInterface__Group__2__Impl rule__ComponentInterface__Group__3 ; + // InternalRosSystem.g:4947:1: rule__ComponentInterface__Group__2 : rule__ComponentInterface__Group__2__Impl rule__ComponentInterface__Group__3 ; public final void rule__ComponentInterface__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3821:1: ( rule__ComponentInterface__Group__2__Impl rule__ComponentInterface__Group__3 ) - // InternalRosSystem.g:3822:2: rule__ComponentInterface__Group__2__Impl rule__ComponentInterface__Group__3 + // InternalRosSystem.g:4951:1: ( rule__ComponentInterface__Group__2__Impl rule__ComponentInterface__Group__3 ) + // InternalRosSystem.g:4952:2: rule__ComponentInterface__Group__2__Impl rule__ComponentInterface__Group__3 { pushFollow(FOLLOW_6); rule__ComponentInterface__Group__2__Impl(); @@ -11602,20 +15047,20 @@ public final void rule__ComponentInterface__Group__2() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__2__Impl" - // InternalRosSystem.g:3829:1: rule__ComponentInterface__Group__2__Impl : ( 'name' ) ; + // InternalRosSystem.g:4959:1: rule__ComponentInterface__Group__2__Impl : ( 'name' ) ; public final void rule__ComponentInterface__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3833:1: ( ( 'name' ) ) - // InternalRosSystem.g:3834:1: ( 'name' ) + // InternalRosSystem.g:4963:1: ( ( 'name' ) ) + // InternalRosSystem.g:4964:1: ( 'name' ) { - // InternalRosSystem.g:3834:1: ( 'name' ) - // InternalRosSystem.g:3835:2: 'name' + // InternalRosSystem.g:4964:1: ( 'name' ) + // InternalRosSystem.g:4965:2: 'name' { before(grammarAccess.getComponentInterfaceAccess().getNameKeyword_2()); - match(input,41,FOLLOW_2); + match(input,42,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getNameKeyword_2()); } @@ -11639,16 +15084,16 @@ public final void rule__ComponentInterface__Group__2__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__3" - // InternalRosSystem.g:3844:1: rule__ComponentInterface__Group__3 : rule__ComponentInterface__Group__3__Impl rule__ComponentInterface__Group__4 ; + // InternalRosSystem.g:4974:1: rule__ComponentInterface__Group__3 : rule__ComponentInterface__Group__3__Impl rule__ComponentInterface__Group__4 ; public final void rule__ComponentInterface__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3848:1: ( rule__ComponentInterface__Group__3__Impl rule__ComponentInterface__Group__4 ) - // InternalRosSystem.g:3849:2: rule__ComponentInterface__Group__3__Impl rule__ComponentInterface__Group__4 + // InternalRosSystem.g:4978:1: ( rule__ComponentInterface__Group__3__Impl rule__ComponentInterface__Group__4 ) + // InternalRosSystem.g:4979:2: rule__ComponentInterface__Group__3__Impl rule__ComponentInterface__Group__4 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__3__Impl(); state._fsp--; @@ -11677,21 +15122,21 @@ public final void rule__ComponentInterface__Group__3() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__3__Impl" - // InternalRosSystem.g:3856:1: rule__ComponentInterface__Group__3__Impl : ( ( rule__ComponentInterface__NameAssignment_3 ) ) ; + // InternalRosSystem.g:4986:1: rule__ComponentInterface__Group__3__Impl : ( ( rule__ComponentInterface__NameAssignment_3 ) ) ; public final void rule__ComponentInterface__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3860:1: ( ( ( rule__ComponentInterface__NameAssignment_3 ) ) ) - // InternalRosSystem.g:3861:1: ( ( rule__ComponentInterface__NameAssignment_3 ) ) + // InternalRosSystem.g:4990:1: ( ( ( rule__ComponentInterface__NameAssignment_3 ) ) ) + // InternalRosSystem.g:4991:1: ( ( rule__ComponentInterface__NameAssignment_3 ) ) { - // InternalRosSystem.g:3861:1: ( ( rule__ComponentInterface__NameAssignment_3 ) ) - // InternalRosSystem.g:3862:2: ( rule__ComponentInterface__NameAssignment_3 ) + // InternalRosSystem.g:4991:1: ( ( rule__ComponentInterface__NameAssignment_3 ) ) + // InternalRosSystem.g:4992:2: ( rule__ComponentInterface__NameAssignment_3 ) { before(grammarAccess.getComponentInterfaceAccess().getNameAssignment_3()); - // InternalRosSystem.g:3863:2: ( rule__ComponentInterface__NameAssignment_3 ) - // InternalRosSystem.g:3863:3: rule__ComponentInterface__NameAssignment_3 + // InternalRosSystem.g:4993:2: ( rule__ComponentInterface__NameAssignment_3 ) + // InternalRosSystem.g:4993:3: rule__ComponentInterface__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ComponentInterface__NameAssignment_3(); @@ -11724,16 +15169,16 @@ public final void rule__ComponentInterface__Group__3__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__4" - // InternalRosSystem.g:3871:1: rule__ComponentInterface__Group__4 : rule__ComponentInterface__Group__4__Impl rule__ComponentInterface__Group__5 ; + // InternalRosSystem.g:5001:1: rule__ComponentInterface__Group__4 : rule__ComponentInterface__Group__4__Impl rule__ComponentInterface__Group__5 ; public final void rule__ComponentInterface__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3875:1: ( rule__ComponentInterface__Group__4__Impl rule__ComponentInterface__Group__5 ) - // InternalRosSystem.g:3876:2: rule__ComponentInterface__Group__4__Impl rule__ComponentInterface__Group__5 + // InternalRosSystem.g:5005:1: ( rule__ComponentInterface__Group__4__Impl rule__ComponentInterface__Group__5 ) + // InternalRosSystem.g:5006:2: rule__ComponentInterface__Group__4__Impl rule__ComponentInterface__Group__5 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__4__Impl(); state._fsp--; @@ -11762,29 +15207,29 @@ public final void rule__ComponentInterface__Group__4() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__4__Impl" - // InternalRosSystem.g:3883:1: rule__ComponentInterface__Group__4__Impl : ( ( rule__ComponentInterface__Group_4__0 )? ) ; + // InternalRosSystem.g:5013:1: rule__ComponentInterface__Group__4__Impl : ( ( rule__ComponentInterface__Group_4__0 )? ) ; public final void rule__ComponentInterface__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3887:1: ( ( ( rule__ComponentInterface__Group_4__0 )? ) ) - // InternalRosSystem.g:3888:1: ( ( rule__ComponentInterface__Group_4__0 )? ) + // InternalRosSystem.g:5017:1: ( ( ( rule__ComponentInterface__Group_4__0 )? ) ) + // InternalRosSystem.g:5018:1: ( ( rule__ComponentInterface__Group_4__0 )? ) { - // InternalRosSystem.g:3888:1: ( ( rule__ComponentInterface__Group_4__0 )? ) - // InternalRosSystem.g:3889:2: ( rule__ComponentInterface__Group_4__0 )? + // InternalRosSystem.g:5018:1: ( ( rule__ComponentInterface__Group_4__0 )? ) + // InternalRosSystem.g:5019:2: ( rule__ComponentInterface__Group_4__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_4()); - // InternalRosSystem.g:3890:2: ( rule__ComponentInterface__Group_4__0 )? - int alt23=2; - int LA23_0 = input.LA(1); + // InternalRosSystem.g:5020:2: ( rule__ComponentInterface__Group_4__0 )? + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA23_0==42) ) { - alt23=1; + if ( (LA34_0==48) ) { + alt34=1; } - switch (alt23) { + switch (alt34) { case 1 : - // InternalRosSystem.g:3890:3: rule__ComponentInterface__Group_4__0 + // InternalRosSystem.g:5020:3: rule__ComponentInterface__Group_4__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_4__0(); @@ -11820,16 +15265,16 @@ public final void rule__ComponentInterface__Group__4__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__5" - // InternalRosSystem.g:3898:1: rule__ComponentInterface__Group__5 : rule__ComponentInterface__Group__5__Impl rule__ComponentInterface__Group__6 ; + // InternalRosSystem.g:5028:1: rule__ComponentInterface__Group__5 : rule__ComponentInterface__Group__5__Impl rule__ComponentInterface__Group__6 ; public final void rule__ComponentInterface__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3902:1: ( rule__ComponentInterface__Group__5__Impl rule__ComponentInterface__Group__6 ) - // InternalRosSystem.g:3903:2: rule__ComponentInterface__Group__5__Impl rule__ComponentInterface__Group__6 + // InternalRosSystem.g:5032:1: ( rule__ComponentInterface__Group__5__Impl rule__ComponentInterface__Group__6 ) + // InternalRosSystem.g:5033:2: rule__ComponentInterface__Group__5__Impl rule__ComponentInterface__Group__6 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__5__Impl(); state._fsp--; @@ -11858,29 +15303,29 @@ public final void rule__ComponentInterface__Group__5() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__5__Impl" - // InternalRosSystem.g:3910:1: rule__ComponentInterface__Group__5__Impl : ( ( rule__ComponentInterface__Group_5__0 )? ) ; + // InternalRosSystem.g:5040:1: rule__ComponentInterface__Group__5__Impl : ( ( rule__ComponentInterface__Group_5__0 )? ) ; public final void rule__ComponentInterface__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3914:1: ( ( ( rule__ComponentInterface__Group_5__0 )? ) ) - // InternalRosSystem.g:3915:1: ( ( rule__ComponentInterface__Group_5__0 )? ) + // InternalRosSystem.g:5044:1: ( ( ( rule__ComponentInterface__Group_5__0 )? ) ) + // InternalRosSystem.g:5045:1: ( ( rule__ComponentInterface__Group_5__0 )? ) { - // InternalRosSystem.g:3915:1: ( ( rule__ComponentInterface__Group_5__0 )? ) - // InternalRosSystem.g:3916:2: ( rule__ComponentInterface__Group_5__0 )? + // InternalRosSystem.g:5045:1: ( ( rule__ComponentInterface__Group_5__0 )? ) + // InternalRosSystem.g:5046:2: ( rule__ComponentInterface__Group_5__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_5()); - // InternalRosSystem.g:3917:2: ( rule__ComponentInterface__Group_5__0 )? - int alt24=2; - int LA24_0 = input.LA(1); + // InternalRosSystem.g:5047:2: ( rule__ComponentInterface__Group_5__0 )? + int alt35=2; + int LA35_0 = input.LA(1); - if ( (LA24_0==43) ) { - alt24=1; + if ( (LA35_0==49) ) { + alt35=1; } - switch (alt24) { + switch (alt35) { case 1 : - // InternalRosSystem.g:3917:3: rule__ComponentInterface__Group_5__0 + // InternalRosSystem.g:5047:3: rule__ComponentInterface__Group_5__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_5__0(); @@ -11916,16 +15361,16 @@ public final void rule__ComponentInterface__Group__5__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__6" - // InternalRosSystem.g:3925:1: rule__ComponentInterface__Group__6 : rule__ComponentInterface__Group__6__Impl rule__ComponentInterface__Group__7 ; + // InternalRosSystem.g:5055:1: rule__ComponentInterface__Group__6 : rule__ComponentInterface__Group__6__Impl rule__ComponentInterface__Group__7 ; public final void rule__ComponentInterface__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3929:1: ( rule__ComponentInterface__Group__6__Impl rule__ComponentInterface__Group__7 ) - // InternalRosSystem.g:3930:2: rule__ComponentInterface__Group__6__Impl rule__ComponentInterface__Group__7 + // InternalRosSystem.g:5059:1: ( rule__ComponentInterface__Group__6__Impl rule__ComponentInterface__Group__7 ) + // InternalRosSystem.g:5060:2: rule__ComponentInterface__Group__6__Impl rule__ComponentInterface__Group__7 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__6__Impl(); state._fsp--; @@ -11954,29 +15399,29 @@ public final void rule__ComponentInterface__Group__6() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__6__Impl" - // InternalRosSystem.g:3937:1: rule__ComponentInterface__Group__6__Impl : ( ( rule__ComponentInterface__Group_6__0 )? ) ; + // InternalRosSystem.g:5067:1: rule__ComponentInterface__Group__6__Impl : ( ( rule__ComponentInterface__Group_6__0 )? ) ; public final void rule__ComponentInterface__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3941:1: ( ( ( rule__ComponentInterface__Group_6__0 )? ) ) - // InternalRosSystem.g:3942:1: ( ( rule__ComponentInterface__Group_6__0 )? ) + // InternalRosSystem.g:5071:1: ( ( ( rule__ComponentInterface__Group_6__0 )? ) ) + // InternalRosSystem.g:5072:1: ( ( rule__ComponentInterface__Group_6__0 )? ) { - // InternalRosSystem.g:3942:1: ( ( rule__ComponentInterface__Group_6__0 )? ) - // InternalRosSystem.g:3943:2: ( rule__ComponentInterface__Group_6__0 )? + // InternalRosSystem.g:5072:1: ( ( rule__ComponentInterface__Group_6__0 )? ) + // InternalRosSystem.g:5073:2: ( rule__ComponentInterface__Group_6__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_6()); - // InternalRosSystem.g:3944:2: ( rule__ComponentInterface__Group_6__0 )? - int alt25=2; - int LA25_0 = input.LA(1); + // InternalRosSystem.g:5074:2: ( rule__ComponentInterface__Group_6__0 )? + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA25_0==44) ) { - alt25=1; + if ( (LA36_0==50) ) { + alt36=1; } - switch (alt25) { + switch (alt36) { case 1 : - // InternalRosSystem.g:3944:3: rule__ComponentInterface__Group_6__0 + // InternalRosSystem.g:5074:3: rule__ComponentInterface__Group_6__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_6__0(); @@ -12012,16 +15457,16 @@ public final void rule__ComponentInterface__Group__6__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__7" - // InternalRosSystem.g:3952:1: rule__ComponentInterface__Group__7 : rule__ComponentInterface__Group__7__Impl rule__ComponentInterface__Group__8 ; + // InternalRosSystem.g:5082:1: rule__ComponentInterface__Group__7 : rule__ComponentInterface__Group__7__Impl rule__ComponentInterface__Group__8 ; public final void rule__ComponentInterface__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3956:1: ( rule__ComponentInterface__Group__7__Impl rule__ComponentInterface__Group__8 ) - // InternalRosSystem.g:3957:2: rule__ComponentInterface__Group__7__Impl rule__ComponentInterface__Group__8 + // InternalRosSystem.g:5086:1: ( rule__ComponentInterface__Group__7__Impl rule__ComponentInterface__Group__8 ) + // InternalRosSystem.g:5087:2: rule__ComponentInterface__Group__7__Impl rule__ComponentInterface__Group__8 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__7__Impl(); state._fsp--; @@ -12050,29 +15495,29 @@ public final void rule__ComponentInterface__Group__7() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__7__Impl" - // InternalRosSystem.g:3964:1: rule__ComponentInterface__Group__7__Impl : ( ( rule__ComponentInterface__Group_7__0 )? ) ; + // InternalRosSystem.g:5094:1: rule__ComponentInterface__Group__7__Impl : ( ( rule__ComponentInterface__Group_7__0 )? ) ; public final void rule__ComponentInterface__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3968:1: ( ( ( rule__ComponentInterface__Group_7__0 )? ) ) - // InternalRosSystem.g:3969:1: ( ( rule__ComponentInterface__Group_7__0 )? ) + // InternalRosSystem.g:5098:1: ( ( ( rule__ComponentInterface__Group_7__0 )? ) ) + // InternalRosSystem.g:5099:1: ( ( rule__ComponentInterface__Group_7__0 )? ) { - // InternalRosSystem.g:3969:1: ( ( rule__ComponentInterface__Group_7__0 )? ) - // InternalRosSystem.g:3970:2: ( rule__ComponentInterface__Group_7__0 )? + // InternalRosSystem.g:5099:1: ( ( rule__ComponentInterface__Group_7__0 )? ) + // InternalRosSystem.g:5100:2: ( rule__ComponentInterface__Group_7__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_7()); - // InternalRosSystem.g:3971:2: ( rule__ComponentInterface__Group_7__0 )? - int alt26=2; - int LA26_0 = input.LA(1); + // InternalRosSystem.g:5101:2: ( rule__ComponentInterface__Group_7__0 )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA26_0==45) ) { - alt26=1; + if ( (LA37_0==51) ) { + alt37=1; } - switch (alt26) { + switch (alt37) { case 1 : - // InternalRosSystem.g:3971:3: rule__ComponentInterface__Group_7__0 + // InternalRosSystem.g:5101:3: rule__ComponentInterface__Group_7__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_7__0(); @@ -12108,16 +15553,16 @@ public final void rule__ComponentInterface__Group__7__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__8" - // InternalRosSystem.g:3979:1: rule__ComponentInterface__Group__8 : rule__ComponentInterface__Group__8__Impl rule__ComponentInterface__Group__9 ; + // InternalRosSystem.g:5109:1: rule__ComponentInterface__Group__8 : rule__ComponentInterface__Group__8__Impl rule__ComponentInterface__Group__9 ; public final void rule__ComponentInterface__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3983:1: ( rule__ComponentInterface__Group__8__Impl rule__ComponentInterface__Group__9 ) - // InternalRosSystem.g:3984:2: rule__ComponentInterface__Group__8__Impl rule__ComponentInterface__Group__9 + // InternalRosSystem.g:5113:1: ( rule__ComponentInterface__Group__8__Impl rule__ComponentInterface__Group__9 ) + // InternalRosSystem.g:5114:2: rule__ComponentInterface__Group__8__Impl rule__ComponentInterface__Group__9 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__8__Impl(); state._fsp--; @@ -12146,29 +15591,29 @@ public final void rule__ComponentInterface__Group__8() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__8__Impl" - // InternalRosSystem.g:3991:1: rule__ComponentInterface__Group__8__Impl : ( ( rule__ComponentInterface__Group_8__0 )? ) ; + // InternalRosSystem.g:5121:1: rule__ComponentInterface__Group__8__Impl : ( ( rule__ComponentInterface__Group_8__0 )? ) ; public final void rule__ComponentInterface__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:3995:1: ( ( ( rule__ComponentInterface__Group_8__0 )? ) ) - // InternalRosSystem.g:3996:1: ( ( rule__ComponentInterface__Group_8__0 )? ) + // InternalRosSystem.g:5125:1: ( ( ( rule__ComponentInterface__Group_8__0 )? ) ) + // InternalRosSystem.g:5126:1: ( ( rule__ComponentInterface__Group_8__0 )? ) { - // InternalRosSystem.g:3996:1: ( ( rule__ComponentInterface__Group_8__0 )? ) - // InternalRosSystem.g:3997:2: ( rule__ComponentInterface__Group_8__0 )? + // InternalRosSystem.g:5126:1: ( ( rule__ComponentInterface__Group_8__0 )? ) + // InternalRosSystem.g:5127:2: ( rule__ComponentInterface__Group_8__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_8()); - // InternalRosSystem.g:3998:2: ( rule__ComponentInterface__Group_8__0 )? - int alt27=2; - int LA27_0 = input.LA(1); + // InternalRosSystem.g:5128:2: ( rule__ComponentInterface__Group_8__0 )? + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA27_0==46) ) { - alt27=1; + if ( (LA38_0==52) ) { + alt38=1; } - switch (alt27) { + switch (alt38) { case 1 : - // InternalRosSystem.g:3998:3: rule__ComponentInterface__Group_8__0 + // InternalRosSystem.g:5128:3: rule__ComponentInterface__Group_8__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_8__0(); @@ -12204,16 +15649,16 @@ public final void rule__ComponentInterface__Group__8__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__9" - // InternalRosSystem.g:4006:1: rule__ComponentInterface__Group__9 : rule__ComponentInterface__Group__9__Impl rule__ComponentInterface__Group__10 ; + // InternalRosSystem.g:5136:1: rule__ComponentInterface__Group__9 : rule__ComponentInterface__Group__9__Impl rule__ComponentInterface__Group__10 ; public final void rule__ComponentInterface__Group__9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4010:1: ( rule__ComponentInterface__Group__9__Impl rule__ComponentInterface__Group__10 ) - // InternalRosSystem.g:4011:2: rule__ComponentInterface__Group__9__Impl rule__ComponentInterface__Group__10 + // InternalRosSystem.g:5140:1: ( rule__ComponentInterface__Group__9__Impl rule__ComponentInterface__Group__10 ) + // InternalRosSystem.g:5141:2: rule__ComponentInterface__Group__9__Impl rule__ComponentInterface__Group__10 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__9__Impl(); state._fsp--; @@ -12242,29 +15687,29 @@ public final void rule__ComponentInterface__Group__9() throws RecognitionExcepti // $ANTLR start "rule__ComponentInterface__Group__9__Impl" - // InternalRosSystem.g:4018:1: rule__ComponentInterface__Group__9__Impl : ( ( rule__ComponentInterface__Group_9__0 )? ) ; + // InternalRosSystem.g:5148:1: rule__ComponentInterface__Group__9__Impl : ( ( rule__ComponentInterface__Group_9__0 )? ) ; public final void rule__ComponentInterface__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4022:1: ( ( ( rule__ComponentInterface__Group_9__0 )? ) ) - // InternalRosSystem.g:4023:1: ( ( rule__ComponentInterface__Group_9__0 )? ) + // InternalRosSystem.g:5152:1: ( ( ( rule__ComponentInterface__Group_9__0 )? ) ) + // InternalRosSystem.g:5153:1: ( ( rule__ComponentInterface__Group_9__0 )? ) { - // InternalRosSystem.g:4023:1: ( ( rule__ComponentInterface__Group_9__0 )? ) - // InternalRosSystem.g:4024:2: ( rule__ComponentInterface__Group_9__0 )? + // InternalRosSystem.g:5153:1: ( ( rule__ComponentInterface__Group_9__0 )? ) + // InternalRosSystem.g:5154:2: ( rule__ComponentInterface__Group_9__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_9()); - // InternalRosSystem.g:4025:2: ( rule__ComponentInterface__Group_9__0 )? - int alt28=2; - int LA28_0 = input.LA(1); + // InternalRosSystem.g:5155:2: ( rule__ComponentInterface__Group_9__0 )? + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA28_0==47) ) { - alt28=1; + if ( (LA39_0==53) ) { + alt39=1; } - switch (alt28) { + switch (alt39) { case 1 : - // InternalRosSystem.g:4025:3: rule__ComponentInterface__Group_9__0 + // InternalRosSystem.g:5155:3: rule__ComponentInterface__Group_9__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_9__0(); @@ -12300,16 +15745,16 @@ public final void rule__ComponentInterface__Group__9__Impl() throws RecognitionE // $ANTLR start "rule__ComponentInterface__Group__10" - // InternalRosSystem.g:4033:1: rule__ComponentInterface__Group__10 : rule__ComponentInterface__Group__10__Impl rule__ComponentInterface__Group__11 ; + // InternalRosSystem.g:5163:1: rule__ComponentInterface__Group__10 : rule__ComponentInterface__Group__10__Impl rule__ComponentInterface__Group__11 ; public final void rule__ComponentInterface__Group__10() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4037:1: ( rule__ComponentInterface__Group__10__Impl rule__ComponentInterface__Group__11 ) - // InternalRosSystem.g:4038:2: rule__ComponentInterface__Group__10__Impl rule__ComponentInterface__Group__11 + // InternalRosSystem.g:5167:1: ( rule__ComponentInterface__Group__10__Impl rule__ComponentInterface__Group__11 ) + // InternalRosSystem.g:5168:2: rule__ComponentInterface__Group__10__Impl rule__ComponentInterface__Group__11 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__10__Impl(); state._fsp--; @@ -12338,29 +15783,29 @@ public final void rule__ComponentInterface__Group__10() throws RecognitionExcept // $ANTLR start "rule__ComponentInterface__Group__10__Impl" - // InternalRosSystem.g:4045:1: rule__ComponentInterface__Group__10__Impl : ( ( rule__ComponentInterface__Group_10__0 )? ) ; + // InternalRosSystem.g:5175:1: rule__ComponentInterface__Group__10__Impl : ( ( rule__ComponentInterface__Group_10__0 )? ) ; public final void rule__ComponentInterface__Group__10__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4049:1: ( ( ( rule__ComponentInterface__Group_10__0 )? ) ) - // InternalRosSystem.g:4050:1: ( ( rule__ComponentInterface__Group_10__0 )? ) + // InternalRosSystem.g:5179:1: ( ( ( rule__ComponentInterface__Group_10__0 )? ) ) + // InternalRosSystem.g:5180:1: ( ( rule__ComponentInterface__Group_10__0 )? ) { - // InternalRosSystem.g:4050:1: ( ( rule__ComponentInterface__Group_10__0 )? ) - // InternalRosSystem.g:4051:2: ( rule__ComponentInterface__Group_10__0 )? + // InternalRosSystem.g:5180:1: ( ( rule__ComponentInterface__Group_10__0 )? ) + // InternalRosSystem.g:5181:2: ( rule__ComponentInterface__Group_10__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_10()); - // InternalRosSystem.g:4052:2: ( rule__ComponentInterface__Group_10__0 )? - int alt29=2; - int LA29_0 = input.LA(1); + // InternalRosSystem.g:5182:2: ( rule__ComponentInterface__Group_10__0 )? + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA29_0==48) ) { - alt29=1; + if ( (LA40_0==54) ) { + alt40=1; } - switch (alt29) { + switch (alt40) { case 1 : - // InternalRosSystem.g:4052:3: rule__ComponentInterface__Group_10__0 + // InternalRosSystem.g:5182:3: rule__ComponentInterface__Group_10__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_10__0(); @@ -12396,16 +15841,16 @@ public final void rule__ComponentInterface__Group__10__Impl() throws Recognition // $ANTLR start "rule__ComponentInterface__Group__11" - // InternalRosSystem.g:4060:1: rule__ComponentInterface__Group__11 : rule__ComponentInterface__Group__11__Impl rule__ComponentInterface__Group__12 ; + // InternalRosSystem.g:5190:1: rule__ComponentInterface__Group__11 : rule__ComponentInterface__Group__11__Impl rule__ComponentInterface__Group__12 ; public final void rule__ComponentInterface__Group__11() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4064:1: ( rule__ComponentInterface__Group__11__Impl rule__ComponentInterface__Group__12 ) - // InternalRosSystem.g:4065:2: rule__ComponentInterface__Group__11__Impl rule__ComponentInterface__Group__12 + // InternalRosSystem.g:5194:1: ( rule__ComponentInterface__Group__11__Impl rule__ComponentInterface__Group__12 ) + // InternalRosSystem.g:5195:2: rule__ComponentInterface__Group__11__Impl rule__ComponentInterface__Group__12 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__11__Impl(); state._fsp--; @@ -12434,29 +15879,29 @@ public final void rule__ComponentInterface__Group__11() throws RecognitionExcept // $ANTLR start "rule__ComponentInterface__Group__11__Impl" - // InternalRosSystem.g:4072:1: rule__ComponentInterface__Group__11__Impl : ( ( rule__ComponentInterface__Group_11__0 )? ) ; + // InternalRosSystem.g:5202:1: rule__ComponentInterface__Group__11__Impl : ( ( rule__ComponentInterface__Group_11__0 )? ) ; public final void rule__ComponentInterface__Group__11__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4076:1: ( ( ( rule__ComponentInterface__Group_11__0 )? ) ) - // InternalRosSystem.g:4077:1: ( ( rule__ComponentInterface__Group_11__0 )? ) + // InternalRosSystem.g:5206:1: ( ( ( rule__ComponentInterface__Group_11__0 )? ) ) + // InternalRosSystem.g:5207:1: ( ( rule__ComponentInterface__Group_11__0 )? ) { - // InternalRosSystem.g:4077:1: ( ( rule__ComponentInterface__Group_11__0 )? ) - // InternalRosSystem.g:4078:2: ( rule__ComponentInterface__Group_11__0 )? + // InternalRosSystem.g:5207:1: ( ( rule__ComponentInterface__Group_11__0 )? ) + // InternalRosSystem.g:5208:2: ( rule__ComponentInterface__Group_11__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_11()); - // InternalRosSystem.g:4079:2: ( rule__ComponentInterface__Group_11__0 )? - int alt30=2; - int LA30_0 = input.LA(1); + // InternalRosSystem.g:5209:2: ( rule__ComponentInterface__Group_11__0 )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA30_0==49) ) { - alt30=1; + if ( (LA41_0==55) ) { + alt41=1; } - switch (alt30) { + switch (alt41) { case 1 : - // InternalRosSystem.g:4079:3: rule__ComponentInterface__Group_11__0 + // InternalRosSystem.g:5209:3: rule__ComponentInterface__Group_11__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_11__0(); @@ -12492,16 +15937,16 @@ public final void rule__ComponentInterface__Group__11__Impl() throws Recognition // $ANTLR start "rule__ComponentInterface__Group__12" - // InternalRosSystem.g:4087:1: rule__ComponentInterface__Group__12 : rule__ComponentInterface__Group__12__Impl rule__ComponentInterface__Group__13 ; + // InternalRosSystem.g:5217:1: rule__ComponentInterface__Group__12 : rule__ComponentInterface__Group__12__Impl rule__ComponentInterface__Group__13 ; public final void rule__ComponentInterface__Group__12() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4091:1: ( rule__ComponentInterface__Group__12__Impl rule__ComponentInterface__Group__13 ) - // InternalRosSystem.g:4092:2: rule__ComponentInterface__Group__12__Impl rule__ComponentInterface__Group__13 + // InternalRosSystem.g:5221:1: ( rule__ComponentInterface__Group__12__Impl rule__ComponentInterface__Group__13 ) + // InternalRosSystem.g:5222:2: rule__ComponentInterface__Group__12__Impl rule__ComponentInterface__Group__13 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_34); rule__ComponentInterface__Group__12__Impl(); state._fsp--; @@ -12530,29 +15975,29 @@ public final void rule__ComponentInterface__Group__12() throws RecognitionExcept // $ANTLR start "rule__ComponentInterface__Group__12__Impl" - // InternalRosSystem.g:4099:1: rule__ComponentInterface__Group__12__Impl : ( ( rule__ComponentInterface__Group_12__0 )? ) ; + // InternalRosSystem.g:5229:1: rule__ComponentInterface__Group__12__Impl : ( ( rule__ComponentInterface__Group_12__0 )? ) ; public final void rule__ComponentInterface__Group__12__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4103:1: ( ( ( rule__ComponentInterface__Group_12__0 )? ) ) - // InternalRosSystem.g:4104:1: ( ( rule__ComponentInterface__Group_12__0 )? ) + // InternalRosSystem.g:5233:1: ( ( ( rule__ComponentInterface__Group_12__0 )? ) ) + // InternalRosSystem.g:5234:1: ( ( rule__ComponentInterface__Group_12__0 )? ) { - // InternalRosSystem.g:4104:1: ( ( rule__ComponentInterface__Group_12__0 )? ) - // InternalRosSystem.g:4105:2: ( rule__ComponentInterface__Group_12__0 )? + // InternalRosSystem.g:5234:1: ( ( rule__ComponentInterface__Group_12__0 )? ) + // InternalRosSystem.g:5235:2: ( rule__ComponentInterface__Group_12__0 )? { before(grammarAccess.getComponentInterfaceAccess().getGroup_12()); - // InternalRosSystem.g:4106:2: ( rule__ComponentInterface__Group_12__0 )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalRosSystem.g:5236:2: ( rule__ComponentInterface__Group_12__0 )? + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA31_0==50) ) { - alt31=1; + if ( (LA42_0==56) ) { + alt42=1; } - switch (alt31) { + switch (alt42) { case 1 : - // InternalRosSystem.g:4106:3: rule__ComponentInterface__Group_12__0 + // InternalRosSystem.g:5236:3: rule__ComponentInterface__Group_12__0 { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_12__0(); @@ -12588,14 +16033,14 @@ public final void rule__ComponentInterface__Group__12__Impl() throws Recognition // $ANTLR start "rule__ComponentInterface__Group__13" - // InternalRosSystem.g:4114:1: rule__ComponentInterface__Group__13 : rule__ComponentInterface__Group__13__Impl ; + // InternalRosSystem.g:5244:1: rule__ComponentInterface__Group__13 : rule__ComponentInterface__Group__13__Impl ; public final void rule__ComponentInterface__Group__13() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4118:1: ( rule__ComponentInterface__Group__13__Impl ) - // InternalRosSystem.g:4119:2: rule__ComponentInterface__Group__13__Impl + // InternalRosSystem.g:5248:1: ( rule__ComponentInterface__Group__13__Impl ) + // InternalRosSystem.g:5249:2: rule__ComponentInterface__Group__13__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group__13__Impl(); @@ -12621,17 +16066,17 @@ public final void rule__ComponentInterface__Group__13() throws RecognitionExcept // $ANTLR start "rule__ComponentInterface__Group__13__Impl" - // InternalRosSystem.g:4125:1: rule__ComponentInterface__Group__13__Impl : ( '}' ) ; + // InternalRosSystem.g:5255:1: rule__ComponentInterface__Group__13__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group__13__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4129:1: ( ( '}' ) ) - // InternalRosSystem.g:4130:1: ( '}' ) + // InternalRosSystem.g:5259:1: ( ( '}' ) ) + // InternalRosSystem.g:5260:1: ( '}' ) { - // InternalRosSystem.g:4130:1: ( '}' ) - // InternalRosSystem.g:4131:2: '}' + // InternalRosSystem.g:5260:1: ( '}' ) + // InternalRosSystem.g:5261:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_13()); match(input,26,FOLLOW_2); @@ -12658,14 +16103,14 @@ public final void rule__ComponentInterface__Group__13__Impl() throws Recognition // $ANTLR start "rule__ComponentInterface__Group_4__0" - // InternalRosSystem.g:4141:1: rule__ComponentInterface__Group_4__0 : rule__ComponentInterface__Group_4__0__Impl rule__ComponentInterface__Group_4__1 ; + // InternalRosSystem.g:5271:1: rule__ComponentInterface__Group_4__0 : rule__ComponentInterface__Group_4__0__Impl rule__ComponentInterface__Group_4__1 ; public final void rule__ComponentInterface__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4145:1: ( rule__ComponentInterface__Group_4__0__Impl rule__ComponentInterface__Group_4__1 ) - // InternalRosSystem.g:4146:2: rule__ComponentInterface__Group_4__0__Impl rule__ComponentInterface__Group_4__1 + // InternalRosSystem.g:5275:1: ( rule__ComponentInterface__Group_4__0__Impl rule__ComponentInterface__Group_4__1 ) + // InternalRosSystem.g:5276:2: rule__ComponentInterface__Group_4__0__Impl rule__ComponentInterface__Group_4__1 { pushFollow(FOLLOW_6); rule__ComponentInterface__Group_4__0__Impl(); @@ -12696,20 +16141,20 @@ public final void rule__ComponentInterface__Group_4__0() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_4__0__Impl" - // InternalRosSystem.g:4153:1: rule__ComponentInterface__Group_4__0__Impl : ( 'NameSpace' ) ; + // InternalRosSystem.g:5283:1: rule__ComponentInterface__Group_4__0__Impl : ( 'NameSpace' ) ; public final void rule__ComponentInterface__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4157:1: ( ( 'NameSpace' ) ) - // InternalRosSystem.g:4158:1: ( 'NameSpace' ) + // InternalRosSystem.g:5287:1: ( ( 'NameSpace' ) ) + // InternalRosSystem.g:5288:1: ( 'NameSpace' ) { - // InternalRosSystem.g:4158:1: ( 'NameSpace' ) - // InternalRosSystem.g:4159:2: 'NameSpace' + // InternalRosSystem.g:5288:1: ( 'NameSpace' ) + // InternalRosSystem.g:5289:2: 'NameSpace' { before(grammarAccess.getComponentInterfaceAccess().getNameSpaceKeyword_4_0()); - match(input,42,FOLLOW_2); + match(input,48,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getNameSpaceKeyword_4_0()); } @@ -12733,14 +16178,14 @@ public final void rule__ComponentInterface__Group_4__0__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_4__1" - // InternalRosSystem.g:4168:1: rule__ComponentInterface__Group_4__1 : rule__ComponentInterface__Group_4__1__Impl ; + // InternalRosSystem.g:5298:1: rule__ComponentInterface__Group_4__1 : rule__ComponentInterface__Group_4__1__Impl ; public final void rule__ComponentInterface__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4172:1: ( rule__ComponentInterface__Group_4__1__Impl ) - // InternalRosSystem.g:4173:2: rule__ComponentInterface__Group_4__1__Impl + // InternalRosSystem.g:5302:1: ( rule__ComponentInterface__Group_4__1__Impl ) + // InternalRosSystem.g:5303:2: rule__ComponentInterface__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_4__1__Impl(); @@ -12766,21 +16211,21 @@ public final void rule__ComponentInterface__Group_4__1() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_4__1__Impl" - // InternalRosSystem.g:4179:1: rule__ComponentInterface__Group_4__1__Impl : ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) ; + // InternalRosSystem.g:5309:1: rule__ComponentInterface__Group_4__1__Impl : ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) ; public final void rule__ComponentInterface__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4183:1: ( ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) ) - // InternalRosSystem.g:4184:1: ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) + // InternalRosSystem.g:5313:1: ( ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) ) + // InternalRosSystem.g:5314:1: ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) { - // InternalRosSystem.g:4184:1: ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) - // InternalRosSystem.g:4185:2: ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) + // InternalRosSystem.g:5314:1: ( ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) ) + // InternalRosSystem.g:5315:2: ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) { before(grammarAccess.getComponentInterfaceAccess().getNameSpaceAssignment_4_1()); - // InternalRosSystem.g:4186:2: ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) - // InternalRosSystem.g:4186:3: rule__ComponentInterface__NameSpaceAssignment_4_1 + // InternalRosSystem.g:5316:2: ( rule__ComponentInterface__NameSpaceAssignment_4_1 ) + // InternalRosSystem.g:5316:3: rule__ComponentInterface__NameSpaceAssignment_4_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__NameSpaceAssignment_4_1(); @@ -12813,14 +16258,14 @@ public final void rule__ComponentInterface__Group_4__1__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_5__0" - // InternalRosSystem.g:4195:1: rule__ComponentInterface__Group_5__0 : rule__ComponentInterface__Group_5__0__Impl rule__ComponentInterface__Group_5__1 ; + // InternalRosSystem.g:5325:1: rule__ComponentInterface__Group_5__0 : rule__ComponentInterface__Group_5__0__Impl rule__ComponentInterface__Group_5__1 ; public final void rule__ComponentInterface__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4199:1: ( rule__ComponentInterface__Group_5__0__Impl rule__ComponentInterface__Group_5__1 ) - // InternalRosSystem.g:4200:2: rule__ComponentInterface__Group_5__0__Impl rule__ComponentInterface__Group_5__1 + // InternalRosSystem.g:5329:1: ( rule__ComponentInterface__Group_5__0__Impl rule__ComponentInterface__Group_5__1 ) + // InternalRosSystem.g:5330:2: rule__ComponentInterface__Group_5__0__Impl rule__ComponentInterface__Group_5__1 { pushFollow(FOLLOW_6); rule__ComponentInterface__Group_5__0__Impl(); @@ -12851,20 +16296,20 @@ public final void rule__ComponentInterface__Group_5__0() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_5__0__Impl" - // InternalRosSystem.g:4207:1: rule__ComponentInterface__Group_5__0__Impl : ( 'FromRosNode' ) ; + // InternalRosSystem.g:5337:1: rule__ComponentInterface__Group_5__0__Impl : ( 'FromRosNode' ) ; public final void rule__ComponentInterface__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4211:1: ( ( 'FromRosNode' ) ) - // InternalRosSystem.g:4212:1: ( 'FromRosNode' ) + // InternalRosSystem.g:5341:1: ( ( 'FromRosNode' ) ) + // InternalRosSystem.g:5342:1: ( 'FromRosNode' ) { - // InternalRosSystem.g:4212:1: ( 'FromRosNode' ) - // InternalRosSystem.g:4213:2: 'FromRosNode' + // InternalRosSystem.g:5342:1: ( 'FromRosNode' ) + // InternalRosSystem.g:5343:2: 'FromRosNode' { before(grammarAccess.getComponentInterfaceAccess().getFromRosNodeKeyword_5_0()); - match(input,43,FOLLOW_2); + match(input,49,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getFromRosNodeKeyword_5_0()); } @@ -12888,14 +16333,14 @@ public final void rule__ComponentInterface__Group_5__0__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_5__1" - // InternalRosSystem.g:4222:1: rule__ComponentInterface__Group_5__1 : rule__ComponentInterface__Group_5__1__Impl ; + // InternalRosSystem.g:5352:1: rule__ComponentInterface__Group_5__1 : rule__ComponentInterface__Group_5__1__Impl ; public final void rule__ComponentInterface__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4226:1: ( rule__ComponentInterface__Group_5__1__Impl ) - // InternalRosSystem.g:4227:2: rule__ComponentInterface__Group_5__1__Impl + // InternalRosSystem.g:5356:1: ( rule__ComponentInterface__Group_5__1__Impl ) + // InternalRosSystem.g:5357:2: rule__ComponentInterface__Group_5__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_5__1__Impl(); @@ -12921,21 +16366,21 @@ public final void rule__ComponentInterface__Group_5__1() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_5__1__Impl" - // InternalRosSystem.g:4233:1: rule__ComponentInterface__Group_5__1__Impl : ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) ; + // InternalRosSystem.g:5363:1: rule__ComponentInterface__Group_5__1__Impl : ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) ; public final void rule__ComponentInterface__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4237:1: ( ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) ) - // InternalRosSystem.g:4238:1: ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) + // InternalRosSystem.g:5367:1: ( ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) ) + // InternalRosSystem.g:5368:1: ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) { - // InternalRosSystem.g:4238:1: ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) - // InternalRosSystem.g:4239:2: ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) + // InternalRosSystem.g:5368:1: ( ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) ) + // InternalRosSystem.g:5369:2: ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) { before(grammarAccess.getComponentInterfaceAccess().getFromRosNodeAssignment_5_1()); - // InternalRosSystem.g:4240:2: ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) - // InternalRosSystem.g:4240:3: rule__ComponentInterface__FromRosNodeAssignment_5_1 + // InternalRosSystem.g:5370:2: ( rule__ComponentInterface__FromRosNodeAssignment_5_1 ) + // InternalRosSystem.g:5370:3: rule__ComponentInterface__FromRosNodeAssignment_5_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__FromRosNodeAssignment_5_1(); @@ -12968,14 +16413,14 @@ public final void rule__ComponentInterface__Group_5__1__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_6__0" - // InternalRosSystem.g:4249:1: rule__ComponentInterface__Group_6__0 : rule__ComponentInterface__Group_6__0__Impl rule__ComponentInterface__Group_6__1 ; + // InternalRosSystem.g:5379:1: rule__ComponentInterface__Group_6__0 : rule__ComponentInterface__Group_6__0__Impl rule__ComponentInterface__Group_6__1 ; public final void rule__ComponentInterface__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4253:1: ( rule__ComponentInterface__Group_6__0__Impl rule__ComponentInterface__Group_6__1 ) - // InternalRosSystem.g:4254:2: rule__ComponentInterface__Group_6__0__Impl rule__ComponentInterface__Group_6__1 + // InternalRosSystem.g:5383:1: ( rule__ComponentInterface__Group_6__0__Impl rule__ComponentInterface__Group_6__1 ) + // InternalRosSystem.g:5384:2: rule__ComponentInterface__Group_6__0__Impl rule__ComponentInterface__Group_6__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group_6__0__Impl(); @@ -13006,20 +16451,20 @@ public final void rule__ComponentInterface__Group_6__0() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_6__0__Impl" - // InternalRosSystem.g:4261:1: rule__ComponentInterface__Group_6__0__Impl : ( 'RosPublishers' ) ; + // InternalRosSystem.g:5391:1: rule__ComponentInterface__Group_6__0__Impl : ( 'RosPublishers' ) ; public final void rule__ComponentInterface__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4265:1: ( ( 'RosPublishers' ) ) - // InternalRosSystem.g:4266:1: ( 'RosPublishers' ) + // InternalRosSystem.g:5395:1: ( ( 'RosPublishers' ) ) + // InternalRosSystem.g:5396:1: ( 'RosPublishers' ) { - // InternalRosSystem.g:4266:1: ( 'RosPublishers' ) - // InternalRosSystem.g:4267:2: 'RosPublishers' + // InternalRosSystem.g:5396:1: ( 'RosPublishers' ) + // InternalRosSystem.g:5397:2: 'RosPublishers' { before(grammarAccess.getComponentInterfaceAccess().getRosPublishersKeyword_6_0()); - match(input,44,FOLLOW_2); + match(input,50,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getRosPublishersKeyword_6_0()); } @@ -13043,16 +16488,16 @@ public final void rule__ComponentInterface__Group_6__0__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_6__1" - // InternalRosSystem.g:4276:1: rule__ComponentInterface__Group_6__1 : rule__ComponentInterface__Group_6__1__Impl rule__ComponentInterface__Group_6__2 ; + // InternalRosSystem.g:5406:1: rule__ComponentInterface__Group_6__1 : rule__ComponentInterface__Group_6__1__Impl rule__ComponentInterface__Group_6__2 ; public final void rule__ComponentInterface__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4280:1: ( rule__ComponentInterface__Group_6__1__Impl rule__ComponentInterface__Group_6__2 ) - // InternalRosSystem.g:4281:2: rule__ComponentInterface__Group_6__1__Impl rule__ComponentInterface__Group_6__2 + // InternalRosSystem.g:5410:1: ( rule__ComponentInterface__Group_6__1__Impl rule__ComponentInterface__Group_6__2 ) + // InternalRosSystem.g:5411:2: rule__ComponentInterface__Group_6__1__Impl rule__ComponentInterface__Group_6__2 { - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_35); rule__ComponentInterface__Group_6__1__Impl(); state._fsp--; @@ -13081,17 +16526,17 @@ public final void rule__ComponentInterface__Group_6__1() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_6__1__Impl" - // InternalRosSystem.g:4288:1: rule__ComponentInterface__Group_6__1__Impl : ( '{' ) ; + // InternalRosSystem.g:5418:1: rule__ComponentInterface__Group_6__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4292:1: ( ( '{' ) ) - // InternalRosSystem.g:4293:1: ( '{' ) + // InternalRosSystem.g:5422:1: ( ( '{' ) ) + // InternalRosSystem.g:5423:1: ( '{' ) { - // InternalRosSystem.g:4293:1: ( '{' ) - // InternalRosSystem.g:4294:2: '{' + // InternalRosSystem.g:5423:1: ( '{' ) + // InternalRosSystem.g:5424:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_6_1()); match(input,24,FOLLOW_2); @@ -13118,16 +16563,16 @@ public final void rule__ComponentInterface__Group_6__1__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_6__2" - // InternalRosSystem.g:4303:1: rule__ComponentInterface__Group_6__2 : rule__ComponentInterface__Group_6__2__Impl rule__ComponentInterface__Group_6__3 ; + // InternalRosSystem.g:5433:1: rule__ComponentInterface__Group_6__2 : rule__ComponentInterface__Group_6__2__Impl rule__ComponentInterface__Group_6__3 ; public final void rule__ComponentInterface__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4307:1: ( rule__ComponentInterface__Group_6__2__Impl rule__ComponentInterface__Group_6__3 ) - // InternalRosSystem.g:4308:2: rule__ComponentInterface__Group_6__2__Impl rule__ComponentInterface__Group_6__3 + // InternalRosSystem.g:5437:1: ( rule__ComponentInterface__Group_6__2__Impl rule__ComponentInterface__Group_6__3 ) + // InternalRosSystem.g:5438:2: rule__ComponentInterface__Group_6__2__Impl rule__ComponentInterface__Group_6__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_6__2__Impl(); state._fsp--; @@ -13156,21 +16601,21 @@ public final void rule__ComponentInterface__Group_6__2() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_6__2__Impl" - // InternalRosSystem.g:4315:1: rule__ComponentInterface__Group_6__2__Impl : ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) ; + // InternalRosSystem.g:5445:1: rule__ComponentInterface__Group_6__2__Impl : ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) ; public final void rule__ComponentInterface__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4319:1: ( ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) ) - // InternalRosSystem.g:4320:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) + // InternalRosSystem.g:5449:1: ( ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) ) + // InternalRosSystem.g:5450:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) { - // InternalRosSystem.g:4320:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) - // InternalRosSystem.g:4321:2: ( rule__ComponentInterface__RospublisherAssignment_6_2 ) + // InternalRosSystem.g:5450:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_2 ) ) + // InternalRosSystem.g:5451:2: ( rule__ComponentInterface__RospublisherAssignment_6_2 ) { before(grammarAccess.getComponentInterfaceAccess().getRospublisherAssignment_6_2()); - // InternalRosSystem.g:4322:2: ( rule__ComponentInterface__RospublisherAssignment_6_2 ) - // InternalRosSystem.g:4322:3: rule__ComponentInterface__RospublisherAssignment_6_2 + // InternalRosSystem.g:5452:2: ( rule__ComponentInterface__RospublisherAssignment_6_2 ) + // InternalRosSystem.g:5452:3: rule__ComponentInterface__RospublisherAssignment_6_2 { pushFollow(FOLLOW_2); rule__ComponentInterface__RospublisherAssignment_6_2(); @@ -13203,16 +16648,16 @@ public final void rule__ComponentInterface__Group_6__2__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_6__3" - // InternalRosSystem.g:4330:1: rule__ComponentInterface__Group_6__3 : rule__ComponentInterface__Group_6__3__Impl rule__ComponentInterface__Group_6__4 ; + // InternalRosSystem.g:5460:1: rule__ComponentInterface__Group_6__3 : rule__ComponentInterface__Group_6__3__Impl rule__ComponentInterface__Group_6__4 ; public final void rule__ComponentInterface__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4334:1: ( rule__ComponentInterface__Group_6__3__Impl rule__ComponentInterface__Group_6__4 ) - // InternalRosSystem.g:4335:2: rule__ComponentInterface__Group_6__3__Impl rule__ComponentInterface__Group_6__4 + // InternalRosSystem.g:5464:1: ( rule__ComponentInterface__Group_6__3__Impl rule__ComponentInterface__Group_6__4 ) + // InternalRosSystem.g:5465:2: rule__ComponentInterface__Group_6__3__Impl rule__ComponentInterface__Group_6__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_6__3__Impl(); state._fsp--; @@ -13241,33 +16686,33 @@ public final void rule__ComponentInterface__Group_6__3() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_6__3__Impl" - // InternalRosSystem.g:4342:1: rule__ComponentInterface__Group_6__3__Impl : ( ( rule__ComponentInterface__Group_6_3__0 )* ) ; + // InternalRosSystem.g:5472:1: rule__ComponentInterface__Group_6__3__Impl : ( ( rule__ComponentInterface__Group_6_3__0 )* ) ; public final void rule__ComponentInterface__Group_6__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4346:1: ( ( ( rule__ComponentInterface__Group_6_3__0 )* ) ) - // InternalRosSystem.g:4347:1: ( ( rule__ComponentInterface__Group_6_3__0 )* ) + // InternalRosSystem.g:5476:1: ( ( ( rule__ComponentInterface__Group_6_3__0 )* ) ) + // InternalRosSystem.g:5477:1: ( ( rule__ComponentInterface__Group_6_3__0 )* ) { - // InternalRosSystem.g:4347:1: ( ( rule__ComponentInterface__Group_6_3__0 )* ) - // InternalRosSystem.g:4348:2: ( rule__ComponentInterface__Group_6_3__0 )* + // InternalRosSystem.g:5477:1: ( ( rule__ComponentInterface__Group_6_3__0 )* ) + // InternalRosSystem.g:5478:2: ( rule__ComponentInterface__Group_6_3__0 )* { before(grammarAccess.getComponentInterfaceAccess().getGroup_6_3()); - // InternalRosSystem.g:4349:2: ( rule__ComponentInterface__Group_6_3__0 )* - loop32: + // InternalRosSystem.g:5479:2: ( rule__ComponentInterface__Group_6_3__0 )* + loop43: do { - int alt32=2; - int LA32_0 = input.LA(1); + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA32_0==30) ) { - alt32=1; + if ( (LA43_0==30) ) { + alt43=1; } - switch (alt32) { + switch (alt43) { case 1 : - // InternalRosSystem.g:4349:3: rule__ComponentInterface__Group_6_3__0 + // InternalRosSystem.g:5479:3: rule__ComponentInterface__Group_6_3__0 { pushFollow(FOLLOW_11); rule__ComponentInterface__Group_6_3__0(); @@ -13279,7 +16724,7 @@ public final void rule__ComponentInterface__Group_6__3__Impl() throws Recognitio break; default : - break loop32; + break loop43; } } while (true); @@ -13306,14 +16751,14 @@ public final void rule__ComponentInterface__Group_6__3__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_6__4" - // InternalRosSystem.g:4357:1: rule__ComponentInterface__Group_6__4 : rule__ComponentInterface__Group_6__4__Impl ; + // InternalRosSystem.g:5487:1: rule__ComponentInterface__Group_6__4 : rule__ComponentInterface__Group_6__4__Impl ; public final void rule__ComponentInterface__Group_6__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4361:1: ( rule__ComponentInterface__Group_6__4__Impl ) - // InternalRosSystem.g:4362:2: rule__ComponentInterface__Group_6__4__Impl + // InternalRosSystem.g:5491:1: ( rule__ComponentInterface__Group_6__4__Impl ) + // InternalRosSystem.g:5492:2: rule__ComponentInterface__Group_6__4__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_6__4__Impl(); @@ -13339,17 +16784,17 @@ public final void rule__ComponentInterface__Group_6__4() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_6__4__Impl" - // InternalRosSystem.g:4368:1: rule__ComponentInterface__Group_6__4__Impl : ( '}' ) ; + // InternalRosSystem.g:5498:1: rule__ComponentInterface__Group_6__4__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group_6__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4372:1: ( ( '}' ) ) - // InternalRosSystem.g:4373:1: ( '}' ) + // InternalRosSystem.g:5502:1: ( ( '}' ) ) + // InternalRosSystem.g:5503:1: ( '}' ) { - // InternalRosSystem.g:4373:1: ( '}' ) - // InternalRosSystem.g:4374:2: '}' + // InternalRosSystem.g:5503:1: ( '}' ) + // InternalRosSystem.g:5504:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_6_4()); match(input,26,FOLLOW_2); @@ -13376,16 +16821,16 @@ public final void rule__ComponentInterface__Group_6__4__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_6_3__0" - // InternalRosSystem.g:4384:1: rule__ComponentInterface__Group_6_3__0 : rule__ComponentInterface__Group_6_3__0__Impl rule__ComponentInterface__Group_6_3__1 ; + // InternalRosSystem.g:5514:1: rule__ComponentInterface__Group_6_3__0 : rule__ComponentInterface__Group_6_3__0__Impl rule__ComponentInterface__Group_6_3__1 ; public final void rule__ComponentInterface__Group_6_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4388:1: ( rule__ComponentInterface__Group_6_3__0__Impl rule__ComponentInterface__Group_6_3__1 ) - // InternalRosSystem.g:4389:2: rule__ComponentInterface__Group_6_3__0__Impl rule__ComponentInterface__Group_6_3__1 + // InternalRosSystem.g:5518:1: ( rule__ComponentInterface__Group_6_3__0__Impl rule__ComponentInterface__Group_6_3__1 ) + // InternalRosSystem.g:5519:2: rule__ComponentInterface__Group_6_3__0__Impl rule__ComponentInterface__Group_6_3__1 { - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_35); rule__ComponentInterface__Group_6_3__0__Impl(); state._fsp--; @@ -13414,17 +16859,17 @@ public final void rule__ComponentInterface__Group_6_3__0() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_6_3__0__Impl" - // InternalRosSystem.g:4396:1: rule__ComponentInterface__Group_6_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:5526:1: rule__ComponentInterface__Group_6_3__0__Impl : ( ',' ) ; public final void rule__ComponentInterface__Group_6_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4400:1: ( ( ',' ) ) - // InternalRosSystem.g:4401:1: ( ',' ) + // InternalRosSystem.g:5530:1: ( ( ',' ) ) + // InternalRosSystem.g:5531:1: ( ',' ) { - // InternalRosSystem.g:4401:1: ( ',' ) - // InternalRosSystem.g:4402:2: ',' + // InternalRosSystem.g:5531:1: ( ',' ) + // InternalRosSystem.g:5532:2: ',' { before(grammarAccess.getComponentInterfaceAccess().getCommaKeyword_6_3_0()); match(input,30,FOLLOW_2); @@ -13451,14 +16896,14 @@ public final void rule__ComponentInterface__Group_6_3__0__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_6_3__1" - // InternalRosSystem.g:4411:1: rule__ComponentInterface__Group_6_3__1 : rule__ComponentInterface__Group_6_3__1__Impl ; + // InternalRosSystem.g:5541:1: rule__ComponentInterface__Group_6_3__1 : rule__ComponentInterface__Group_6_3__1__Impl ; public final void rule__ComponentInterface__Group_6_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4415:1: ( rule__ComponentInterface__Group_6_3__1__Impl ) - // InternalRosSystem.g:4416:2: rule__ComponentInterface__Group_6_3__1__Impl + // InternalRosSystem.g:5545:1: ( rule__ComponentInterface__Group_6_3__1__Impl ) + // InternalRosSystem.g:5546:2: rule__ComponentInterface__Group_6_3__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_6_3__1__Impl(); @@ -13484,21 +16929,21 @@ public final void rule__ComponentInterface__Group_6_3__1() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_6_3__1__Impl" - // InternalRosSystem.g:4422:1: rule__ComponentInterface__Group_6_3__1__Impl : ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) ; + // InternalRosSystem.g:5552:1: rule__ComponentInterface__Group_6_3__1__Impl : ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) ; public final void rule__ComponentInterface__Group_6_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4426:1: ( ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) ) - // InternalRosSystem.g:4427:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) + // InternalRosSystem.g:5556:1: ( ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) ) + // InternalRosSystem.g:5557:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) { - // InternalRosSystem.g:4427:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) - // InternalRosSystem.g:4428:2: ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) + // InternalRosSystem.g:5557:1: ( ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) ) + // InternalRosSystem.g:5558:2: ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) { before(grammarAccess.getComponentInterfaceAccess().getRospublisherAssignment_6_3_1()); - // InternalRosSystem.g:4429:2: ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) - // InternalRosSystem.g:4429:3: rule__ComponentInterface__RospublisherAssignment_6_3_1 + // InternalRosSystem.g:5559:2: ( rule__ComponentInterface__RospublisherAssignment_6_3_1 ) + // InternalRosSystem.g:5559:3: rule__ComponentInterface__RospublisherAssignment_6_3_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__RospublisherAssignment_6_3_1(); @@ -13531,14 +16976,14 @@ public final void rule__ComponentInterface__Group_6_3__1__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_7__0" - // InternalRosSystem.g:4438:1: rule__ComponentInterface__Group_7__0 : rule__ComponentInterface__Group_7__0__Impl rule__ComponentInterface__Group_7__1 ; + // InternalRosSystem.g:5568:1: rule__ComponentInterface__Group_7__0 : rule__ComponentInterface__Group_7__0__Impl rule__ComponentInterface__Group_7__1 ; public final void rule__ComponentInterface__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4442:1: ( rule__ComponentInterface__Group_7__0__Impl rule__ComponentInterface__Group_7__1 ) - // InternalRosSystem.g:4443:2: rule__ComponentInterface__Group_7__0__Impl rule__ComponentInterface__Group_7__1 + // InternalRosSystem.g:5572:1: ( rule__ComponentInterface__Group_7__0__Impl rule__ComponentInterface__Group_7__1 ) + // InternalRosSystem.g:5573:2: rule__ComponentInterface__Group_7__0__Impl rule__ComponentInterface__Group_7__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group_7__0__Impl(); @@ -13569,20 +17014,20 @@ public final void rule__ComponentInterface__Group_7__0() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_7__0__Impl" - // InternalRosSystem.g:4450:1: rule__ComponentInterface__Group_7__0__Impl : ( 'RosSubscribers' ) ; + // InternalRosSystem.g:5580:1: rule__ComponentInterface__Group_7__0__Impl : ( 'RosSubscribers' ) ; public final void rule__ComponentInterface__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4454:1: ( ( 'RosSubscribers' ) ) - // InternalRosSystem.g:4455:1: ( 'RosSubscribers' ) + // InternalRosSystem.g:5584:1: ( ( 'RosSubscribers' ) ) + // InternalRosSystem.g:5585:1: ( 'RosSubscribers' ) { - // InternalRosSystem.g:4455:1: ( 'RosSubscribers' ) - // InternalRosSystem.g:4456:2: 'RosSubscribers' + // InternalRosSystem.g:5585:1: ( 'RosSubscribers' ) + // InternalRosSystem.g:5586:2: 'RosSubscribers' { before(grammarAccess.getComponentInterfaceAccess().getRosSubscribersKeyword_7_0()); - match(input,45,FOLLOW_2); + match(input,51,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getRosSubscribersKeyword_7_0()); } @@ -13606,16 +17051,16 @@ public final void rule__ComponentInterface__Group_7__0__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_7__1" - // InternalRosSystem.g:4465:1: rule__ComponentInterface__Group_7__1 : rule__ComponentInterface__Group_7__1__Impl rule__ComponentInterface__Group_7__2 ; + // InternalRosSystem.g:5595:1: rule__ComponentInterface__Group_7__1 : rule__ComponentInterface__Group_7__1__Impl rule__ComponentInterface__Group_7__2 ; public final void rule__ComponentInterface__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4469:1: ( rule__ComponentInterface__Group_7__1__Impl rule__ComponentInterface__Group_7__2 ) - // InternalRosSystem.g:4470:2: rule__ComponentInterface__Group_7__1__Impl rule__ComponentInterface__Group_7__2 + // InternalRosSystem.g:5599:1: ( rule__ComponentInterface__Group_7__1__Impl rule__ComponentInterface__Group_7__2 ) + // InternalRosSystem.g:5600:2: rule__ComponentInterface__Group_7__1__Impl rule__ComponentInterface__Group_7__2 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_37); rule__ComponentInterface__Group_7__1__Impl(); state._fsp--; @@ -13644,17 +17089,17 @@ public final void rule__ComponentInterface__Group_7__1() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_7__1__Impl" - // InternalRosSystem.g:4477:1: rule__ComponentInterface__Group_7__1__Impl : ( '{' ) ; + // InternalRosSystem.g:5607:1: rule__ComponentInterface__Group_7__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4481:1: ( ( '{' ) ) - // InternalRosSystem.g:4482:1: ( '{' ) + // InternalRosSystem.g:5611:1: ( ( '{' ) ) + // InternalRosSystem.g:5612:1: ( '{' ) { - // InternalRosSystem.g:4482:1: ( '{' ) - // InternalRosSystem.g:4483:2: '{' + // InternalRosSystem.g:5612:1: ( '{' ) + // InternalRosSystem.g:5613:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_7_1()); match(input,24,FOLLOW_2); @@ -13681,16 +17126,16 @@ public final void rule__ComponentInterface__Group_7__1__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_7__2" - // InternalRosSystem.g:4492:1: rule__ComponentInterface__Group_7__2 : rule__ComponentInterface__Group_7__2__Impl rule__ComponentInterface__Group_7__3 ; + // InternalRosSystem.g:5622:1: rule__ComponentInterface__Group_7__2 : rule__ComponentInterface__Group_7__2__Impl rule__ComponentInterface__Group_7__3 ; public final void rule__ComponentInterface__Group_7__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4496:1: ( rule__ComponentInterface__Group_7__2__Impl rule__ComponentInterface__Group_7__3 ) - // InternalRosSystem.g:4497:2: rule__ComponentInterface__Group_7__2__Impl rule__ComponentInterface__Group_7__3 + // InternalRosSystem.g:5626:1: ( rule__ComponentInterface__Group_7__2__Impl rule__ComponentInterface__Group_7__3 ) + // InternalRosSystem.g:5627:2: rule__ComponentInterface__Group_7__2__Impl rule__ComponentInterface__Group_7__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_7__2__Impl(); state._fsp--; @@ -13719,21 +17164,21 @@ public final void rule__ComponentInterface__Group_7__2() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_7__2__Impl" - // InternalRosSystem.g:4504:1: rule__ComponentInterface__Group_7__2__Impl : ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) ; + // InternalRosSystem.g:5634:1: rule__ComponentInterface__Group_7__2__Impl : ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) ; public final void rule__ComponentInterface__Group_7__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4508:1: ( ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) ) - // InternalRosSystem.g:4509:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) + // InternalRosSystem.g:5638:1: ( ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) ) + // InternalRosSystem.g:5639:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) { - // InternalRosSystem.g:4509:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) - // InternalRosSystem.g:4510:2: ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) + // InternalRosSystem.g:5639:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) ) + // InternalRosSystem.g:5640:2: ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) { before(grammarAccess.getComponentInterfaceAccess().getRossubscriberAssignment_7_2()); - // InternalRosSystem.g:4511:2: ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) - // InternalRosSystem.g:4511:3: rule__ComponentInterface__RossubscriberAssignment_7_2 + // InternalRosSystem.g:5641:2: ( rule__ComponentInterface__RossubscriberAssignment_7_2 ) + // InternalRosSystem.g:5641:3: rule__ComponentInterface__RossubscriberAssignment_7_2 { pushFollow(FOLLOW_2); rule__ComponentInterface__RossubscriberAssignment_7_2(); @@ -13766,16 +17211,16 @@ public final void rule__ComponentInterface__Group_7__2__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_7__3" - // InternalRosSystem.g:4519:1: rule__ComponentInterface__Group_7__3 : rule__ComponentInterface__Group_7__3__Impl rule__ComponentInterface__Group_7__4 ; + // InternalRosSystem.g:5649:1: rule__ComponentInterface__Group_7__3 : rule__ComponentInterface__Group_7__3__Impl rule__ComponentInterface__Group_7__4 ; public final void rule__ComponentInterface__Group_7__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4523:1: ( rule__ComponentInterface__Group_7__3__Impl rule__ComponentInterface__Group_7__4 ) - // InternalRosSystem.g:4524:2: rule__ComponentInterface__Group_7__3__Impl rule__ComponentInterface__Group_7__4 + // InternalRosSystem.g:5653:1: ( rule__ComponentInterface__Group_7__3__Impl rule__ComponentInterface__Group_7__4 ) + // InternalRosSystem.g:5654:2: rule__ComponentInterface__Group_7__3__Impl rule__ComponentInterface__Group_7__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_7__3__Impl(); state._fsp--; @@ -13804,33 +17249,33 @@ public final void rule__ComponentInterface__Group_7__3() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_7__3__Impl" - // InternalRosSystem.g:4531:1: rule__ComponentInterface__Group_7__3__Impl : ( ( rule__ComponentInterface__Group_7_3__0 )* ) ; + // InternalRosSystem.g:5661:1: rule__ComponentInterface__Group_7__3__Impl : ( ( rule__ComponentInterface__Group_7_3__0 )* ) ; public final void rule__ComponentInterface__Group_7__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4535:1: ( ( ( rule__ComponentInterface__Group_7_3__0 )* ) ) - // InternalRosSystem.g:4536:1: ( ( rule__ComponentInterface__Group_7_3__0 )* ) + // InternalRosSystem.g:5665:1: ( ( ( rule__ComponentInterface__Group_7_3__0 )* ) ) + // InternalRosSystem.g:5666:1: ( ( rule__ComponentInterface__Group_7_3__0 )* ) { - // InternalRosSystem.g:4536:1: ( ( rule__ComponentInterface__Group_7_3__0 )* ) - // InternalRosSystem.g:4537:2: ( rule__ComponentInterface__Group_7_3__0 )* + // InternalRosSystem.g:5666:1: ( ( rule__ComponentInterface__Group_7_3__0 )* ) + // InternalRosSystem.g:5667:2: ( rule__ComponentInterface__Group_7_3__0 )* { before(grammarAccess.getComponentInterfaceAccess().getGroup_7_3()); - // InternalRosSystem.g:4538:2: ( rule__ComponentInterface__Group_7_3__0 )* - loop33: + // InternalRosSystem.g:5668:2: ( rule__ComponentInterface__Group_7_3__0 )* + loop44: do { - int alt33=2; - int LA33_0 = input.LA(1); + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA33_0==30) ) { - alt33=1; + if ( (LA44_0==30) ) { + alt44=1; } - switch (alt33) { + switch (alt44) { case 1 : - // InternalRosSystem.g:4538:3: rule__ComponentInterface__Group_7_3__0 + // InternalRosSystem.g:5668:3: rule__ComponentInterface__Group_7_3__0 { pushFollow(FOLLOW_11); rule__ComponentInterface__Group_7_3__0(); @@ -13842,7 +17287,7 @@ public final void rule__ComponentInterface__Group_7__3__Impl() throws Recognitio break; default : - break loop33; + break loop44; } } while (true); @@ -13869,14 +17314,14 @@ public final void rule__ComponentInterface__Group_7__3__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_7__4" - // InternalRosSystem.g:4546:1: rule__ComponentInterface__Group_7__4 : rule__ComponentInterface__Group_7__4__Impl ; + // InternalRosSystem.g:5676:1: rule__ComponentInterface__Group_7__4 : rule__ComponentInterface__Group_7__4__Impl ; public final void rule__ComponentInterface__Group_7__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4550:1: ( rule__ComponentInterface__Group_7__4__Impl ) - // InternalRosSystem.g:4551:2: rule__ComponentInterface__Group_7__4__Impl + // InternalRosSystem.g:5680:1: ( rule__ComponentInterface__Group_7__4__Impl ) + // InternalRosSystem.g:5681:2: rule__ComponentInterface__Group_7__4__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_7__4__Impl(); @@ -13902,17 +17347,17 @@ public final void rule__ComponentInterface__Group_7__4() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_7__4__Impl" - // InternalRosSystem.g:4557:1: rule__ComponentInterface__Group_7__4__Impl : ( '}' ) ; + // InternalRosSystem.g:5687:1: rule__ComponentInterface__Group_7__4__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group_7__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4561:1: ( ( '}' ) ) - // InternalRosSystem.g:4562:1: ( '}' ) + // InternalRosSystem.g:5691:1: ( ( '}' ) ) + // InternalRosSystem.g:5692:1: ( '}' ) { - // InternalRosSystem.g:4562:1: ( '}' ) - // InternalRosSystem.g:4563:2: '}' + // InternalRosSystem.g:5692:1: ( '}' ) + // InternalRosSystem.g:5693:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_7_4()); match(input,26,FOLLOW_2); @@ -13939,16 +17384,16 @@ public final void rule__ComponentInterface__Group_7__4__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_7_3__0" - // InternalRosSystem.g:4573:1: rule__ComponentInterface__Group_7_3__0 : rule__ComponentInterface__Group_7_3__0__Impl rule__ComponentInterface__Group_7_3__1 ; + // InternalRosSystem.g:5703:1: rule__ComponentInterface__Group_7_3__0 : rule__ComponentInterface__Group_7_3__0__Impl rule__ComponentInterface__Group_7_3__1 ; public final void rule__ComponentInterface__Group_7_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4577:1: ( rule__ComponentInterface__Group_7_3__0__Impl rule__ComponentInterface__Group_7_3__1 ) - // InternalRosSystem.g:4578:2: rule__ComponentInterface__Group_7_3__0__Impl rule__ComponentInterface__Group_7_3__1 + // InternalRosSystem.g:5707:1: ( rule__ComponentInterface__Group_7_3__0__Impl rule__ComponentInterface__Group_7_3__1 ) + // InternalRosSystem.g:5708:2: rule__ComponentInterface__Group_7_3__0__Impl rule__ComponentInterface__Group_7_3__1 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_37); rule__ComponentInterface__Group_7_3__0__Impl(); state._fsp--; @@ -13977,17 +17422,17 @@ public final void rule__ComponentInterface__Group_7_3__0() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_7_3__0__Impl" - // InternalRosSystem.g:4585:1: rule__ComponentInterface__Group_7_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:5715:1: rule__ComponentInterface__Group_7_3__0__Impl : ( ',' ) ; public final void rule__ComponentInterface__Group_7_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4589:1: ( ( ',' ) ) - // InternalRosSystem.g:4590:1: ( ',' ) + // InternalRosSystem.g:5719:1: ( ( ',' ) ) + // InternalRosSystem.g:5720:1: ( ',' ) { - // InternalRosSystem.g:4590:1: ( ',' ) - // InternalRosSystem.g:4591:2: ',' + // InternalRosSystem.g:5720:1: ( ',' ) + // InternalRosSystem.g:5721:2: ',' { before(grammarAccess.getComponentInterfaceAccess().getCommaKeyword_7_3_0()); match(input,30,FOLLOW_2); @@ -14014,14 +17459,14 @@ public final void rule__ComponentInterface__Group_7_3__0__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_7_3__1" - // InternalRosSystem.g:4600:1: rule__ComponentInterface__Group_7_3__1 : rule__ComponentInterface__Group_7_3__1__Impl ; + // InternalRosSystem.g:5730:1: rule__ComponentInterface__Group_7_3__1 : rule__ComponentInterface__Group_7_3__1__Impl ; public final void rule__ComponentInterface__Group_7_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4604:1: ( rule__ComponentInterface__Group_7_3__1__Impl ) - // InternalRosSystem.g:4605:2: rule__ComponentInterface__Group_7_3__1__Impl + // InternalRosSystem.g:5734:1: ( rule__ComponentInterface__Group_7_3__1__Impl ) + // InternalRosSystem.g:5735:2: rule__ComponentInterface__Group_7_3__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_7_3__1__Impl(); @@ -14047,21 +17492,21 @@ public final void rule__ComponentInterface__Group_7_3__1() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_7_3__1__Impl" - // InternalRosSystem.g:4611:1: rule__ComponentInterface__Group_7_3__1__Impl : ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) ; + // InternalRosSystem.g:5741:1: rule__ComponentInterface__Group_7_3__1__Impl : ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) ; public final void rule__ComponentInterface__Group_7_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4615:1: ( ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) ) - // InternalRosSystem.g:4616:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) + // InternalRosSystem.g:5745:1: ( ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) ) + // InternalRosSystem.g:5746:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) { - // InternalRosSystem.g:4616:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) - // InternalRosSystem.g:4617:2: ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) + // InternalRosSystem.g:5746:1: ( ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) ) + // InternalRosSystem.g:5747:2: ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) { before(grammarAccess.getComponentInterfaceAccess().getRossubscriberAssignment_7_3_1()); - // InternalRosSystem.g:4618:2: ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) - // InternalRosSystem.g:4618:3: rule__ComponentInterface__RossubscriberAssignment_7_3_1 + // InternalRosSystem.g:5748:2: ( rule__ComponentInterface__RossubscriberAssignment_7_3_1 ) + // InternalRosSystem.g:5748:3: rule__ComponentInterface__RossubscriberAssignment_7_3_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__RossubscriberAssignment_7_3_1(); @@ -14094,14 +17539,14 @@ public final void rule__ComponentInterface__Group_7_3__1__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_8__0" - // InternalRosSystem.g:4627:1: rule__ComponentInterface__Group_8__0 : rule__ComponentInterface__Group_8__0__Impl rule__ComponentInterface__Group_8__1 ; + // InternalRosSystem.g:5757:1: rule__ComponentInterface__Group_8__0 : rule__ComponentInterface__Group_8__0__Impl rule__ComponentInterface__Group_8__1 ; public final void rule__ComponentInterface__Group_8__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4631:1: ( rule__ComponentInterface__Group_8__0__Impl rule__ComponentInterface__Group_8__1 ) - // InternalRosSystem.g:4632:2: rule__ComponentInterface__Group_8__0__Impl rule__ComponentInterface__Group_8__1 + // InternalRosSystem.g:5761:1: ( rule__ComponentInterface__Group_8__0__Impl rule__ComponentInterface__Group_8__1 ) + // InternalRosSystem.g:5762:2: rule__ComponentInterface__Group_8__0__Impl rule__ComponentInterface__Group_8__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group_8__0__Impl(); @@ -14132,20 +17577,20 @@ public final void rule__ComponentInterface__Group_8__0() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_8__0__Impl" - // InternalRosSystem.g:4639:1: rule__ComponentInterface__Group_8__0__Impl : ( 'RosSrvServers' ) ; + // InternalRosSystem.g:5769:1: rule__ComponentInterface__Group_8__0__Impl : ( 'RosSrvServers' ) ; public final void rule__ComponentInterface__Group_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4643:1: ( ( 'RosSrvServers' ) ) - // InternalRosSystem.g:4644:1: ( 'RosSrvServers' ) + // InternalRosSystem.g:5773:1: ( ( 'RosSrvServers' ) ) + // InternalRosSystem.g:5774:1: ( 'RosSrvServers' ) { - // InternalRosSystem.g:4644:1: ( 'RosSrvServers' ) - // InternalRosSystem.g:4645:2: 'RosSrvServers' + // InternalRosSystem.g:5774:1: ( 'RosSrvServers' ) + // InternalRosSystem.g:5775:2: 'RosSrvServers' { before(grammarAccess.getComponentInterfaceAccess().getRosSrvServersKeyword_8_0()); - match(input,46,FOLLOW_2); + match(input,52,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getRosSrvServersKeyword_8_0()); } @@ -14169,16 +17614,16 @@ public final void rule__ComponentInterface__Group_8__0__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_8__1" - // InternalRosSystem.g:4654:1: rule__ComponentInterface__Group_8__1 : rule__ComponentInterface__Group_8__1__Impl rule__ComponentInterface__Group_8__2 ; + // InternalRosSystem.g:5784:1: rule__ComponentInterface__Group_8__1 : rule__ComponentInterface__Group_8__1__Impl rule__ComponentInterface__Group_8__2 ; public final void rule__ComponentInterface__Group_8__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4658:1: ( rule__ComponentInterface__Group_8__1__Impl rule__ComponentInterface__Group_8__2 ) - // InternalRosSystem.g:4659:2: rule__ComponentInterface__Group_8__1__Impl rule__ComponentInterface__Group_8__2 + // InternalRosSystem.g:5788:1: ( rule__ComponentInterface__Group_8__1__Impl rule__ComponentInterface__Group_8__2 ) + // InternalRosSystem.g:5789:2: rule__ComponentInterface__Group_8__1__Impl rule__ComponentInterface__Group_8__2 { - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_38); rule__ComponentInterface__Group_8__1__Impl(); state._fsp--; @@ -14207,17 +17652,17 @@ public final void rule__ComponentInterface__Group_8__1() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_8__1__Impl" - // InternalRosSystem.g:4666:1: rule__ComponentInterface__Group_8__1__Impl : ( '{' ) ; + // InternalRosSystem.g:5796:1: rule__ComponentInterface__Group_8__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4670:1: ( ( '{' ) ) - // InternalRosSystem.g:4671:1: ( '{' ) + // InternalRosSystem.g:5800:1: ( ( '{' ) ) + // InternalRosSystem.g:5801:1: ( '{' ) { - // InternalRosSystem.g:4671:1: ( '{' ) - // InternalRosSystem.g:4672:2: '{' + // InternalRosSystem.g:5801:1: ( '{' ) + // InternalRosSystem.g:5802:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_8_1()); match(input,24,FOLLOW_2); @@ -14244,16 +17689,16 @@ public final void rule__ComponentInterface__Group_8__1__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_8__2" - // InternalRosSystem.g:4681:1: rule__ComponentInterface__Group_8__2 : rule__ComponentInterface__Group_8__2__Impl rule__ComponentInterface__Group_8__3 ; + // InternalRosSystem.g:5811:1: rule__ComponentInterface__Group_8__2 : rule__ComponentInterface__Group_8__2__Impl rule__ComponentInterface__Group_8__3 ; public final void rule__ComponentInterface__Group_8__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4685:1: ( rule__ComponentInterface__Group_8__2__Impl rule__ComponentInterface__Group_8__3 ) - // InternalRosSystem.g:4686:2: rule__ComponentInterface__Group_8__2__Impl rule__ComponentInterface__Group_8__3 + // InternalRosSystem.g:5815:1: ( rule__ComponentInterface__Group_8__2__Impl rule__ComponentInterface__Group_8__3 ) + // InternalRosSystem.g:5816:2: rule__ComponentInterface__Group_8__2__Impl rule__ComponentInterface__Group_8__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_8__2__Impl(); state._fsp--; @@ -14282,21 +17727,21 @@ public final void rule__ComponentInterface__Group_8__2() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_8__2__Impl" - // InternalRosSystem.g:4693:1: rule__ComponentInterface__Group_8__2__Impl : ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) ; + // InternalRosSystem.g:5823:1: rule__ComponentInterface__Group_8__2__Impl : ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) ; public final void rule__ComponentInterface__Group_8__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4697:1: ( ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) ) - // InternalRosSystem.g:4698:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) + // InternalRosSystem.g:5827:1: ( ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) ) + // InternalRosSystem.g:5828:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) { - // InternalRosSystem.g:4698:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) - // InternalRosSystem.g:4699:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) + // InternalRosSystem.g:5828:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) ) + // InternalRosSystem.g:5829:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) { before(grammarAccess.getComponentInterfaceAccess().getRosserviceserverAssignment_8_2()); - // InternalRosSystem.g:4700:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) - // InternalRosSystem.g:4700:3: rule__ComponentInterface__RosserviceserverAssignment_8_2 + // InternalRosSystem.g:5830:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_2 ) + // InternalRosSystem.g:5830:3: rule__ComponentInterface__RosserviceserverAssignment_8_2 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosserviceserverAssignment_8_2(); @@ -14329,16 +17774,16 @@ public final void rule__ComponentInterface__Group_8__2__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_8__3" - // InternalRosSystem.g:4708:1: rule__ComponentInterface__Group_8__3 : rule__ComponentInterface__Group_8__3__Impl rule__ComponentInterface__Group_8__4 ; + // InternalRosSystem.g:5838:1: rule__ComponentInterface__Group_8__3 : rule__ComponentInterface__Group_8__3__Impl rule__ComponentInterface__Group_8__4 ; public final void rule__ComponentInterface__Group_8__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4712:1: ( rule__ComponentInterface__Group_8__3__Impl rule__ComponentInterface__Group_8__4 ) - // InternalRosSystem.g:4713:2: rule__ComponentInterface__Group_8__3__Impl rule__ComponentInterface__Group_8__4 + // InternalRosSystem.g:5842:1: ( rule__ComponentInterface__Group_8__3__Impl rule__ComponentInterface__Group_8__4 ) + // InternalRosSystem.g:5843:2: rule__ComponentInterface__Group_8__3__Impl rule__ComponentInterface__Group_8__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_8__3__Impl(); state._fsp--; @@ -14367,33 +17812,33 @@ public final void rule__ComponentInterface__Group_8__3() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_8__3__Impl" - // InternalRosSystem.g:4720:1: rule__ComponentInterface__Group_8__3__Impl : ( ( rule__ComponentInterface__Group_8_3__0 )* ) ; + // InternalRosSystem.g:5850:1: rule__ComponentInterface__Group_8__3__Impl : ( ( rule__ComponentInterface__Group_8_3__0 )* ) ; public final void rule__ComponentInterface__Group_8__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4724:1: ( ( ( rule__ComponentInterface__Group_8_3__0 )* ) ) - // InternalRosSystem.g:4725:1: ( ( rule__ComponentInterface__Group_8_3__0 )* ) + // InternalRosSystem.g:5854:1: ( ( ( rule__ComponentInterface__Group_8_3__0 )* ) ) + // InternalRosSystem.g:5855:1: ( ( rule__ComponentInterface__Group_8_3__0 )* ) { - // InternalRosSystem.g:4725:1: ( ( rule__ComponentInterface__Group_8_3__0 )* ) - // InternalRosSystem.g:4726:2: ( rule__ComponentInterface__Group_8_3__0 )* + // InternalRosSystem.g:5855:1: ( ( rule__ComponentInterface__Group_8_3__0 )* ) + // InternalRosSystem.g:5856:2: ( rule__ComponentInterface__Group_8_3__0 )* { before(grammarAccess.getComponentInterfaceAccess().getGroup_8_3()); - // InternalRosSystem.g:4727:2: ( rule__ComponentInterface__Group_8_3__0 )* - loop34: + // InternalRosSystem.g:5857:2: ( rule__ComponentInterface__Group_8_3__0 )* + loop45: do { - int alt34=2; - int LA34_0 = input.LA(1); + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA34_0==30) ) { - alt34=1; + if ( (LA45_0==30) ) { + alt45=1; } - switch (alt34) { + switch (alt45) { case 1 : - // InternalRosSystem.g:4727:3: rule__ComponentInterface__Group_8_3__0 + // InternalRosSystem.g:5857:3: rule__ComponentInterface__Group_8_3__0 { pushFollow(FOLLOW_11); rule__ComponentInterface__Group_8_3__0(); @@ -14405,7 +17850,7 @@ public final void rule__ComponentInterface__Group_8__3__Impl() throws Recognitio break; default : - break loop34; + break loop45; } } while (true); @@ -14432,14 +17877,14 @@ public final void rule__ComponentInterface__Group_8__3__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_8__4" - // InternalRosSystem.g:4735:1: rule__ComponentInterface__Group_8__4 : rule__ComponentInterface__Group_8__4__Impl ; + // InternalRosSystem.g:5865:1: rule__ComponentInterface__Group_8__4 : rule__ComponentInterface__Group_8__4__Impl ; public final void rule__ComponentInterface__Group_8__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4739:1: ( rule__ComponentInterface__Group_8__4__Impl ) - // InternalRosSystem.g:4740:2: rule__ComponentInterface__Group_8__4__Impl + // InternalRosSystem.g:5869:1: ( rule__ComponentInterface__Group_8__4__Impl ) + // InternalRosSystem.g:5870:2: rule__ComponentInterface__Group_8__4__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_8__4__Impl(); @@ -14465,17 +17910,17 @@ public final void rule__ComponentInterface__Group_8__4() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_8__4__Impl" - // InternalRosSystem.g:4746:1: rule__ComponentInterface__Group_8__4__Impl : ( '}' ) ; + // InternalRosSystem.g:5876:1: rule__ComponentInterface__Group_8__4__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group_8__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4750:1: ( ( '}' ) ) - // InternalRosSystem.g:4751:1: ( '}' ) + // InternalRosSystem.g:5880:1: ( ( '}' ) ) + // InternalRosSystem.g:5881:1: ( '}' ) { - // InternalRosSystem.g:4751:1: ( '}' ) - // InternalRosSystem.g:4752:2: '}' + // InternalRosSystem.g:5881:1: ( '}' ) + // InternalRosSystem.g:5882:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_8_4()); match(input,26,FOLLOW_2); @@ -14502,16 +17947,16 @@ public final void rule__ComponentInterface__Group_8__4__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_8_3__0" - // InternalRosSystem.g:4762:1: rule__ComponentInterface__Group_8_3__0 : rule__ComponentInterface__Group_8_3__0__Impl rule__ComponentInterface__Group_8_3__1 ; + // InternalRosSystem.g:5892:1: rule__ComponentInterface__Group_8_3__0 : rule__ComponentInterface__Group_8_3__0__Impl rule__ComponentInterface__Group_8_3__1 ; public final void rule__ComponentInterface__Group_8_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4766:1: ( rule__ComponentInterface__Group_8_3__0__Impl rule__ComponentInterface__Group_8_3__1 ) - // InternalRosSystem.g:4767:2: rule__ComponentInterface__Group_8_3__0__Impl rule__ComponentInterface__Group_8_3__1 + // InternalRosSystem.g:5896:1: ( rule__ComponentInterface__Group_8_3__0__Impl rule__ComponentInterface__Group_8_3__1 ) + // InternalRosSystem.g:5897:2: rule__ComponentInterface__Group_8_3__0__Impl rule__ComponentInterface__Group_8_3__1 { - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_38); rule__ComponentInterface__Group_8_3__0__Impl(); state._fsp--; @@ -14540,17 +17985,17 @@ public final void rule__ComponentInterface__Group_8_3__0() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_8_3__0__Impl" - // InternalRosSystem.g:4774:1: rule__ComponentInterface__Group_8_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:5904:1: rule__ComponentInterface__Group_8_3__0__Impl : ( ',' ) ; public final void rule__ComponentInterface__Group_8_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4778:1: ( ( ',' ) ) - // InternalRosSystem.g:4779:1: ( ',' ) + // InternalRosSystem.g:5908:1: ( ( ',' ) ) + // InternalRosSystem.g:5909:1: ( ',' ) { - // InternalRosSystem.g:4779:1: ( ',' ) - // InternalRosSystem.g:4780:2: ',' + // InternalRosSystem.g:5909:1: ( ',' ) + // InternalRosSystem.g:5910:2: ',' { before(grammarAccess.getComponentInterfaceAccess().getCommaKeyword_8_3_0()); match(input,30,FOLLOW_2); @@ -14577,14 +18022,14 @@ public final void rule__ComponentInterface__Group_8_3__0__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_8_3__1" - // InternalRosSystem.g:4789:1: rule__ComponentInterface__Group_8_3__1 : rule__ComponentInterface__Group_8_3__1__Impl ; + // InternalRosSystem.g:5919:1: rule__ComponentInterface__Group_8_3__1 : rule__ComponentInterface__Group_8_3__1__Impl ; public final void rule__ComponentInterface__Group_8_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4793:1: ( rule__ComponentInterface__Group_8_3__1__Impl ) - // InternalRosSystem.g:4794:2: rule__ComponentInterface__Group_8_3__1__Impl + // InternalRosSystem.g:5923:1: ( rule__ComponentInterface__Group_8_3__1__Impl ) + // InternalRosSystem.g:5924:2: rule__ComponentInterface__Group_8_3__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_8_3__1__Impl(); @@ -14610,21 +18055,21 @@ public final void rule__ComponentInterface__Group_8_3__1() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_8_3__1__Impl" - // InternalRosSystem.g:4800:1: rule__ComponentInterface__Group_8_3__1__Impl : ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) ; + // InternalRosSystem.g:5930:1: rule__ComponentInterface__Group_8_3__1__Impl : ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) ; public final void rule__ComponentInterface__Group_8_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4804:1: ( ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) ) - // InternalRosSystem.g:4805:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) + // InternalRosSystem.g:5934:1: ( ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) ) + // InternalRosSystem.g:5935:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) { - // InternalRosSystem.g:4805:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) - // InternalRosSystem.g:4806:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) + // InternalRosSystem.g:5935:1: ( ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) ) + // InternalRosSystem.g:5936:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) { before(grammarAccess.getComponentInterfaceAccess().getRosserviceserverAssignment_8_3_1()); - // InternalRosSystem.g:4807:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) - // InternalRosSystem.g:4807:3: rule__ComponentInterface__RosserviceserverAssignment_8_3_1 + // InternalRosSystem.g:5937:2: ( rule__ComponentInterface__RosserviceserverAssignment_8_3_1 ) + // InternalRosSystem.g:5937:3: rule__ComponentInterface__RosserviceserverAssignment_8_3_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosserviceserverAssignment_8_3_1(); @@ -14657,14 +18102,14 @@ public final void rule__ComponentInterface__Group_8_3__1__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_9__0" - // InternalRosSystem.g:4816:1: rule__ComponentInterface__Group_9__0 : rule__ComponentInterface__Group_9__0__Impl rule__ComponentInterface__Group_9__1 ; + // InternalRosSystem.g:5946:1: rule__ComponentInterface__Group_9__0 : rule__ComponentInterface__Group_9__0__Impl rule__ComponentInterface__Group_9__1 ; public final void rule__ComponentInterface__Group_9__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4820:1: ( rule__ComponentInterface__Group_9__0__Impl rule__ComponentInterface__Group_9__1 ) - // InternalRosSystem.g:4821:2: rule__ComponentInterface__Group_9__0__Impl rule__ComponentInterface__Group_9__1 + // InternalRosSystem.g:5950:1: ( rule__ComponentInterface__Group_9__0__Impl rule__ComponentInterface__Group_9__1 ) + // InternalRosSystem.g:5951:2: rule__ComponentInterface__Group_9__0__Impl rule__ComponentInterface__Group_9__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group_9__0__Impl(); @@ -14695,20 +18140,20 @@ public final void rule__ComponentInterface__Group_9__0() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_9__0__Impl" - // InternalRosSystem.g:4828:1: rule__ComponentInterface__Group_9__0__Impl : ( 'RosSrvClients' ) ; + // InternalRosSystem.g:5958:1: rule__ComponentInterface__Group_9__0__Impl : ( 'RosSrvClients' ) ; public final void rule__ComponentInterface__Group_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4832:1: ( ( 'RosSrvClients' ) ) - // InternalRosSystem.g:4833:1: ( 'RosSrvClients' ) + // InternalRosSystem.g:5962:1: ( ( 'RosSrvClients' ) ) + // InternalRosSystem.g:5963:1: ( 'RosSrvClients' ) { - // InternalRosSystem.g:4833:1: ( 'RosSrvClients' ) - // InternalRosSystem.g:4834:2: 'RosSrvClients' + // InternalRosSystem.g:5963:1: ( 'RosSrvClients' ) + // InternalRosSystem.g:5964:2: 'RosSrvClients' { before(grammarAccess.getComponentInterfaceAccess().getRosSrvClientsKeyword_9_0()); - match(input,47,FOLLOW_2); + match(input,53,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getRosSrvClientsKeyword_9_0()); } @@ -14732,16 +18177,16 @@ public final void rule__ComponentInterface__Group_9__0__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_9__1" - // InternalRosSystem.g:4843:1: rule__ComponentInterface__Group_9__1 : rule__ComponentInterface__Group_9__1__Impl rule__ComponentInterface__Group_9__2 ; + // InternalRosSystem.g:5973:1: rule__ComponentInterface__Group_9__1 : rule__ComponentInterface__Group_9__1__Impl rule__ComponentInterface__Group_9__2 ; public final void rule__ComponentInterface__Group_9__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4847:1: ( rule__ComponentInterface__Group_9__1__Impl rule__ComponentInterface__Group_9__2 ) - // InternalRosSystem.g:4848:2: rule__ComponentInterface__Group_9__1__Impl rule__ComponentInterface__Group_9__2 + // InternalRosSystem.g:5977:1: ( rule__ComponentInterface__Group_9__1__Impl rule__ComponentInterface__Group_9__2 ) + // InternalRosSystem.g:5978:2: rule__ComponentInterface__Group_9__1__Impl rule__ComponentInterface__Group_9__2 { - pushFollow(FOLLOW_31); + pushFollow(FOLLOW_39); rule__ComponentInterface__Group_9__1__Impl(); state._fsp--; @@ -14770,17 +18215,17 @@ public final void rule__ComponentInterface__Group_9__1() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_9__1__Impl" - // InternalRosSystem.g:4855:1: rule__ComponentInterface__Group_9__1__Impl : ( '{' ) ; + // InternalRosSystem.g:5985:1: rule__ComponentInterface__Group_9__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4859:1: ( ( '{' ) ) - // InternalRosSystem.g:4860:1: ( '{' ) + // InternalRosSystem.g:5989:1: ( ( '{' ) ) + // InternalRosSystem.g:5990:1: ( '{' ) { - // InternalRosSystem.g:4860:1: ( '{' ) - // InternalRosSystem.g:4861:2: '{' + // InternalRosSystem.g:5990:1: ( '{' ) + // InternalRosSystem.g:5991:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_9_1()); match(input,24,FOLLOW_2); @@ -14807,16 +18252,16 @@ public final void rule__ComponentInterface__Group_9__1__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_9__2" - // InternalRosSystem.g:4870:1: rule__ComponentInterface__Group_9__2 : rule__ComponentInterface__Group_9__2__Impl rule__ComponentInterface__Group_9__3 ; + // InternalRosSystem.g:6000:1: rule__ComponentInterface__Group_9__2 : rule__ComponentInterface__Group_9__2__Impl rule__ComponentInterface__Group_9__3 ; public final void rule__ComponentInterface__Group_9__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4874:1: ( rule__ComponentInterface__Group_9__2__Impl rule__ComponentInterface__Group_9__3 ) - // InternalRosSystem.g:4875:2: rule__ComponentInterface__Group_9__2__Impl rule__ComponentInterface__Group_9__3 + // InternalRosSystem.g:6004:1: ( rule__ComponentInterface__Group_9__2__Impl rule__ComponentInterface__Group_9__3 ) + // InternalRosSystem.g:6005:2: rule__ComponentInterface__Group_9__2__Impl rule__ComponentInterface__Group_9__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_9__2__Impl(); state._fsp--; @@ -14845,21 +18290,21 @@ public final void rule__ComponentInterface__Group_9__2() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_9__2__Impl" - // InternalRosSystem.g:4882:1: rule__ComponentInterface__Group_9__2__Impl : ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) ; + // InternalRosSystem.g:6012:1: rule__ComponentInterface__Group_9__2__Impl : ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) ; public final void rule__ComponentInterface__Group_9__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4886:1: ( ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) ) - // InternalRosSystem.g:4887:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) + // InternalRosSystem.g:6016:1: ( ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) ) + // InternalRosSystem.g:6017:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) { - // InternalRosSystem.g:4887:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) - // InternalRosSystem.g:4888:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) + // InternalRosSystem.g:6017:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) ) + // InternalRosSystem.g:6018:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) { before(grammarAccess.getComponentInterfaceAccess().getRosserviceclientAssignment_9_2()); - // InternalRosSystem.g:4889:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) - // InternalRosSystem.g:4889:3: rule__ComponentInterface__RosserviceclientAssignment_9_2 + // InternalRosSystem.g:6019:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_2 ) + // InternalRosSystem.g:6019:3: rule__ComponentInterface__RosserviceclientAssignment_9_2 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosserviceclientAssignment_9_2(); @@ -14892,16 +18337,16 @@ public final void rule__ComponentInterface__Group_9__2__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_9__3" - // InternalRosSystem.g:4897:1: rule__ComponentInterface__Group_9__3 : rule__ComponentInterface__Group_9__3__Impl rule__ComponentInterface__Group_9__4 ; + // InternalRosSystem.g:6027:1: rule__ComponentInterface__Group_9__3 : rule__ComponentInterface__Group_9__3__Impl rule__ComponentInterface__Group_9__4 ; public final void rule__ComponentInterface__Group_9__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4901:1: ( rule__ComponentInterface__Group_9__3__Impl rule__ComponentInterface__Group_9__4 ) - // InternalRosSystem.g:4902:2: rule__ComponentInterface__Group_9__3__Impl rule__ComponentInterface__Group_9__4 + // InternalRosSystem.g:6031:1: ( rule__ComponentInterface__Group_9__3__Impl rule__ComponentInterface__Group_9__4 ) + // InternalRosSystem.g:6032:2: rule__ComponentInterface__Group_9__3__Impl rule__ComponentInterface__Group_9__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_9__3__Impl(); state._fsp--; @@ -14930,33 +18375,33 @@ public final void rule__ComponentInterface__Group_9__3() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_9__3__Impl" - // InternalRosSystem.g:4909:1: rule__ComponentInterface__Group_9__3__Impl : ( ( rule__ComponentInterface__Group_9_3__0 )* ) ; + // InternalRosSystem.g:6039:1: rule__ComponentInterface__Group_9__3__Impl : ( ( rule__ComponentInterface__Group_9_3__0 )* ) ; public final void rule__ComponentInterface__Group_9__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4913:1: ( ( ( rule__ComponentInterface__Group_9_3__0 )* ) ) - // InternalRosSystem.g:4914:1: ( ( rule__ComponentInterface__Group_9_3__0 )* ) + // InternalRosSystem.g:6043:1: ( ( ( rule__ComponentInterface__Group_9_3__0 )* ) ) + // InternalRosSystem.g:6044:1: ( ( rule__ComponentInterface__Group_9_3__0 )* ) { - // InternalRosSystem.g:4914:1: ( ( rule__ComponentInterface__Group_9_3__0 )* ) - // InternalRosSystem.g:4915:2: ( rule__ComponentInterface__Group_9_3__0 )* + // InternalRosSystem.g:6044:1: ( ( rule__ComponentInterface__Group_9_3__0 )* ) + // InternalRosSystem.g:6045:2: ( rule__ComponentInterface__Group_9_3__0 )* { before(grammarAccess.getComponentInterfaceAccess().getGroup_9_3()); - // InternalRosSystem.g:4916:2: ( rule__ComponentInterface__Group_9_3__0 )* - loop35: + // InternalRosSystem.g:6046:2: ( rule__ComponentInterface__Group_9_3__0 )* + loop46: do { - int alt35=2; - int LA35_0 = input.LA(1); + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA35_0==30) ) { - alt35=1; + if ( (LA46_0==30) ) { + alt46=1; } - switch (alt35) { + switch (alt46) { case 1 : - // InternalRosSystem.g:4916:3: rule__ComponentInterface__Group_9_3__0 + // InternalRosSystem.g:6046:3: rule__ComponentInterface__Group_9_3__0 { pushFollow(FOLLOW_11); rule__ComponentInterface__Group_9_3__0(); @@ -14968,7 +18413,7 @@ public final void rule__ComponentInterface__Group_9__3__Impl() throws Recognitio break; default : - break loop35; + break loop46; } } while (true); @@ -14995,14 +18440,14 @@ public final void rule__ComponentInterface__Group_9__3__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_9__4" - // InternalRosSystem.g:4924:1: rule__ComponentInterface__Group_9__4 : rule__ComponentInterface__Group_9__4__Impl ; + // InternalRosSystem.g:6054:1: rule__ComponentInterface__Group_9__4 : rule__ComponentInterface__Group_9__4__Impl ; public final void rule__ComponentInterface__Group_9__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4928:1: ( rule__ComponentInterface__Group_9__4__Impl ) - // InternalRosSystem.g:4929:2: rule__ComponentInterface__Group_9__4__Impl + // InternalRosSystem.g:6058:1: ( rule__ComponentInterface__Group_9__4__Impl ) + // InternalRosSystem.g:6059:2: rule__ComponentInterface__Group_9__4__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_9__4__Impl(); @@ -15028,17 +18473,17 @@ public final void rule__ComponentInterface__Group_9__4() throws RecognitionExcep // $ANTLR start "rule__ComponentInterface__Group_9__4__Impl" - // InternalRosSystem.g:4935:1: rule__ComponentInterface__Group_9__4__Impl : ( '}' ) ; + // InternalRosSystem.g:6065:1: rule__ComponentInterface__Group_9__4__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group_9__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4939:1: ( ( '}' ) ) - // InternalRosSystem.g:4940:1: ( '}' ) + // InternalRosSystem.g:6069:1: ( ( '}' ) ) + // InternalRosSystem.g:6070:1: ( '}' ) { - // InternalRosSystem.g:4940:1: ( '}' ) - // InternalRosSystem.g:4941:2: '}' + // InternalRosSystem.g:6070:1: ( '}' ) + // InternalRosSystem.g:6071:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_9_4()); match(input,26,FOLLOW_2); @@ -15065,16 +18510,16 @@ public final void rule__ComponentInterface__Group_9__4__Impl() throws Recognitio // $ANTLR start "rule__ComponentInterface__Group_9_3__0" - // InternalRosSystem.g:4951:1: rule__ComponentInterface__Group_9_3__0 : rule__ComponentInterface__Group_9_3__0__Impl rule__ComponentInterface__Group_9_3__1 ; + // InternalRosSystem.g:6081:1: rule__ComponentInterface__Group_9_3__0 : rule__ComponentInterface__Group_9_3__0__Impl rule__ComponentInterface__Group_9_3__1 ; public final void rule__ComponentInterface__Group_9_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4955:1: ( rule__ComponentInterface__Group_9_3__0__Impl rule__ComponentInterface__Group_9_3__1 ) - // InternalRosSystem.g:4956:2: rule__ComponentInterface__Group_9_3__0__Impl rule__ComponentInterface__Group_9_3__1 + // InternalRosSystem.g:6085:1: ( rule__ComponentInterface__Group_9_3__0__Impl rule__ComponentInterface__Group_9_3__1 ) + // InternalRosSystem.g:6086:2: rule__ComponentInterface__Group_9_3__0__Impl rule__ComponentInterface__Group_9_3__1 { - pushFollow(FOLLOW_31); + pushFollow(FOLLOW_39); rule__ComponentInterface__Group_9_3__0__Impl(); state._fsp--; @@ -15103,17 +18548,17 @@ public final void rule__ComponentInterface__Group_9_3__0() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_9_3__0__Impl" - // InternalRosSystem.g:4963:1: rule__ComponentInterface__Group_9_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:6093:1: rule__ComponentInterface__Group_9_3__0__Impl : ( ',' ) ; public final void rule__ComponentInterface__Group_9_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4967:1: ( ( ',' ) ) - // InternalRosSystem.g:4968:1: ( ',' ) + // InternalRosSystem.g:6097:1: ( ( ',' ) ) + // InternalRosSystem.g:6098:1: ( ',' ) { - // InternalRosSystem.g:4968:1: ( ',' ) - // InternalRosSystem.g:4969:2: ',' + // InternalRosSystem.g:6098:1: ( ',' ) + // InternalRosSystem.g:6099:2: ',' { before(grammarAccess.getComponentInterfaceAccess().getCommaKeyword_9_3_0()); match(input,30,FOLLOW_2); @@ -15140,14 +18585,14 @@ public final void rule__ComponentInterface__Group_9_3__0__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_9_3__1" - // InternalRosSystem.g:4978:1: rule__ComponentInterface__Group_9_3__1 : rule__ComponentInterface__Group_9_3__1__Impl ; + // InternalRosSystem.g:6108:1: rule__ComponentInterface__Group_9_3__1 : rule__ComponentInterface__Group_9_3__1__Impl ; public final void rule__ComponentInterface__Group_9_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4982:1: ( rule__ComponentInterface__Group_9_3__1__Impl ) - // InternalRosSystem.g:4983:2: rule__ComponentInterface__Group_9_3__1__Impl + // InternalRosSystem.g:6112:1: ( rule__ComponentInterface__Group_9_3__1__Impl ) + // InternalRosSystem.g:6113:2: rule__ComponentInterface__Group_9_3__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_9_3__1__Impl(); @@ -15173,21 +18618,21 @@ public final void rule__ComponentInterface__Group_9_3__1() throws RecognitionExc // $ANTLR start "rule__ComponentInterface__Group_9_3__1__Impl" - // InternalRosSystem.g:4989:1: rule__ComponentInterface__Group_9_3__1__Impl : ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) ; + // InternalRosSystem.g:6119:1: rule__ComponentInterface__Group_9_3__1__Impl : ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) ; public final void rule__ComponentInterface__Group_9_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:4993:1: ( ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) ) - // InternalRosSystem.g:4994:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) + // InternalRosSystem.g:6123:1: ( ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) ) + // InternalRosSystem.g:6124:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) { - // InternalRosSystem.g:4994:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) - // InternalRosSystem.g:4995:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) + // InternalRosSystem.g:6124:1: ( ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) ) + // InternalRosSystem.g:6125:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) { before(grammarAccess.getComponentInterfaceAccess().getRosserviceclientAssignment_9_3_1()); - // InternalRosSystem.g:4996:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) - // InternalRosSystem.g:4996:3: rule__ComponentInterface__RosserviceclientAssignment_9_3_1 + // InternalRosSystem.g:6126:2: ( rule__ComponentInterface__RosserviceclientAssignment_9_3_1 ) + // InternalRosSystem.g:6126:3: rule__ComponentInterface__RosserviceclientAssignment_9_3_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosserviceclientAssignment_9_3_1(); @@ -15220,14 +18665,14 @@ public final void rule__ComponentInterface__Group_9_3__1__Impl() throws Recognit // $ANTLR start "rule__ComponentInterface__Group_10__0" - // InternalRosSystem.g:5005:1: rule__ComponentInterface__Group_10__0 : rule__ComponentInterface__Group_10__0__Impl rule__ComponentInterface__Group_10__1 ; + // InternalRosSystem.g:6135:1: rule__ComponentInterface__Group_10__0 : rule__ComponentInterface__Group_10__0__Impl rule__ComponentInterface__Group_10__1 ; public final void rule__ComponentInterface__Group_10__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5009:1: ( rule__ComponentInterface__Group_10__0__Impl rule__ComponentInterface__Group_10__1 ) - // InternalRosSystem.g:5010:2: rule__ComponentInterface__Group_10__0__Impl rule__ComponentInterface__Group_10__1 + // InternalRosSystem.g:6139:1: ( rule__ComponentInterface__Group_10__0__Impl rule__ComponentInterface__Group_10__1 ) + // InternalRosSystem.g:6140:2: rule__ComponentInterface__Group_10__0__Impl rule__ComponentInterface__Group_10__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group_10__0__Impl(); @@ -15258,20 +18703,20 @@ public final void rule__ComponentInterface__Group_10__0() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_10__0__Impl" - // InternalRosSystem.g:5017:1: rule__ComponentInterface__Group_10__0__Impl : ( 'RosActionServers' ) ; + // InternalRosSystem.g:6147:1: rule__ComponentInterface__Group_10__0__Impl : ( 'RosActionServers' ) ; public final void rule__ComponentInterface__Group_10__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5021:1: ( ( 'RosActionServers' ) ) - // InternalRosSystem.g:5022:1: ( 'RosActionServers' ) + // InternalRosSystem.g:6151:1: ( ( 'RosActionServers' ) ) + // InternalRosSystem.g:6152:1: ( 'RosActionServers' ) { - // InternalRosSystem.g:5022:1: ( 'RosActionServers' ) - // InternalRosSystem.g:5023:2: 'RosActionServers' + // InternalRosSystem.g:6152:1: ( 'RosActionServers' ) + // InternalRosSystem.g:6153:2: 'RosActionServers' { before(grammarAccess.getComponentInterfaceAccess().getRosActionServersKeyword_10_0()); - match(input,48,FOLLOW_2); + match(input,54,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getRosActionServersKeyword_10_0()); } @@ -15295,16 +18740,16 @@ public final void rule__ComponentInterface__Group_10__0__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_10__1" - // InternalRosSystem.g:5032:1: rule__ComponentInterface__Group_10__1 : rule__ComponentInterface__Group_10__1__Impl rule__ComponentInterface__Group_10__2 ; + // InternalRosSystem.g:6162:1: rule__ComponentInterface__Group_10__1 : rule__ComponentInterface__Group_10__1__Impl rule__ComponentInterface__Group_10__2 ; public final void rule__ComponentInterface__Group_10__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5036:1: ( rule__ComponentInterface__Group_10__1__Impl rule__ComponentInterface__Group_10__2 ) - // InternalRosSystem.g:5037:2: rule__ComponentInterface__Group_10__1__Impl rule__ComponentInterface__Group_10__2 + // InternalRosSystem.g:6166:1: ( rule__ComponentInterface__Group_10__1__Impl rule__ComponentInterface__Group_10__2 ) + // InternalRosSystem.g:6167:2: rule__ComponentInterface__Group_10__1__Impl rule__ComponentInterface__Group_10__2 { - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_40); rule__ComponentInterface__Group_10__1__Impl(); state._fsp--; @@ -15333,17 +18778,17 @@ public final void rule__ComponentInterface__Group_10__1() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_10__1__Impl" - // InternalRosSystem.g:5044:1: rule__ComponentInterface__Group_10__1__Impl : ( '{' ) ; + // InternalRosSystem.g:6174:1: rule__ComponentInterface__Group_10__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group_10__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5048:1: ( ( '{' ) ) - // InternalRosSystem.g:5049:1: ( '{' ) + // InternalRosSystem.g:6178:1: ( ( '{' ) ) + // InternalRosSystem.g:6179:1: ( '{' ) { - // InternalRosSystem.g:5049:1: ( '{' ) - // InternalRosSystem.g:5050:2: '{' + // InternalRosSystem.g:6179:1: ( '{' ) + // InternalRosSystem.g:6180:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_10_1()); match(input,24,FOLLOW_2); @@ -15370,16 +18815,16 @@ public final void rule__ComponentInterface__Group_10__1__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_10__2" - // InternalRosSystem.g:5059:1: rule__ComponentInterface__Group_10__2 : rule__ComponentInterface__Group_10__2__Impl rule__ComponentInterface__Group_10__3 ; + // InternalRosSystem.g:6189:1: rule__ComponentInterface__Group_10__2 : rule__ComponentInterface__Group_10__2__Impl rule__ComponentInterface__Group_10__3 ; public final void rule__ComponentInterface__Group_10__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5063:1: ( rule__ComponentInterface__Group_10__2__Impl rule__ComponentInterface__Group_10__3 ) - // InternalRosSystem.g:5064:2: rule__ComponentInterface__Group_10__2__Impl rule__ComponentInterface__Group_10__3 + // InternalRosSystem.g:6193:1: ( rule__ComponentInterface__Group_10__2__Impl rule__ComponentInterface__Group_10__3 ) + // InternalRosSystem.g:6194:2: rule__ComponentInterface__Group_10__2__Impl rule__ComponentInterface__Group_10__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_10__2__Impl(); state._fsp--; @@ -15408,21 +18853,21 @@ public final void rule__ComponentInterface__Group_10__2() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_10__2__Impl" - // InternalRosSystem.g:5071:1: rule__ComponentInterface__Group_10__2__Impl : ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) ; + // InternalRosSystem.g:6201:1: rule__ComponentInterface__Group_10__2__Impl : ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) ; public final void rule__ComponentInterface__Group_10__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5075:1: ( ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) ) - // InternalRosSystem.g:5076:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) + // InternalRosSystem.g:6205:1: ( ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) ) + // InternalRosSystem.g:6206:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) { - // InternalRosSystem.g:5076:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) - // InternalRosSystem.g:5077:2: ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) + // InternalRosSystem.g:6206:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) ) + // InternalRosSystem.g:6207:2: ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) { before(grammarAccess.getComponentInterfaceAccess().getRosactionserverAssignment_10_2()); - // InternalRosSystem.g:5078:2: ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) - // InternalRosSystem.g:5078:3: rule__ComponentInterface__RosactionserverAssignment_10_2 + // InternalRosSystem.g:6208:2: ( rule__ComponentInterface__RosactionserverAssignment_10_2 ) + // InternalRosSystem.g:6208:3: rule__ComponentInterface__RosactionserverAssignment_10_2 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosactionserverAssignment_10_2(); @@ -15455,16 +18900,16 @@ public final void rule__ComponentInterface__Group_10__2__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_10__3" - // InternalRosSystem.g:5086:1: rule__ComponentInterface__Group_10__3 : rule__ComponentInterface__Group_10__3__Impl rule__ComponentInterface__Group_10__4 ; + // InternalRosSystem.g:6216:1: rule__ComponentInterface__Group_10__3 : rule__ComponentInterface__Group_10__3__Impl rule__ComponentInterface__Group_10__4 ; public final void rule__ComponentInterface__Group_10__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5090:1: ( rule__ComponentInterface__Group_10__3__Impl rule__ComponentInterface__Group_10__4 ) - // InternalRosSystem.g:5091:2: rule__ComponentInterface__Group_10__3__Impl rule__ComponentInterface__Group_10__4 + // InternalRosSystem.g:6220:1: ( rule__ComponentInterface__Group_10__3__Impl rule__ComponentInterface__Group_10__4 ) + // InternalRosSystem.g:6221:2: rule__ComponentInterface__Group_10__3__Impl rule__ComponentInterface__Group_10__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_10__3__Impl(); state._fsp--; @@ -15493,33 +18938,33 @@ public final void rule__ComponentInterface__Group_10__3() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_10__3__Impl" - // InternalRosSystem.g:5098:1: rule__ComponentInterface__Group_10__3__Impl : ( ( rule__ComponentInterface__Group_10_3__0 )* ) ; + // InternalRosSystem.g:6228:1: rule__ComponentInterface__Group_10__3__Impl : ( ( rule__ComponentInterface__Group_10_3__0 )* ) ; public final void rule__ComponentInterface__Group_10__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5102:1: ( ( ( rule__ComponentInterface__Group_10_3__0 )* ) ) - // InternalRosSystem.g:5103:1: ( ( rule__ComponentInterface__Group_10_3__0 )* ) + // InternalRosSystem.g:6232:1: ( ( ( rule__ComponentInterface__Group_10_3__0 )* ) ) + // InternalRosSystem.g:6233:1: ( ( rule__ComponentInterface__Group_10_3__0 )* ) { - // InternalRosSystem.g:5103:1: ( ( rule__ComponentInterface__Group_10_3__0 )* ) - // InternalRosSystem.g:5104:2: ( rule__ComponentInterface__Group_10_3__0 )* + // InternalRosSystem.g:6233:1: ( ( rule__ComponentInterface__Group_10_3__0 )* ) + // InternalRosSystem.g:6234:2: ( rule__ComponentInterface__Group_10_3__0 )* { before(grammarAccess.getComponentInterfaceAccess().getGroup_10_3()); - // InternalRosSystem.g:5105:2: ( rule__ComponentInterface__Group_10_3__0 )* - loop36: + // InternalRosSystem.g:6235:2: ( rule__ComponentInterface__Group_10_3__0 )* + loop47: do { - int alt36=2; - int LA36_0 = input.LA(1); + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA36_0==30) ) { - alt36=1; + if ( (LA47_0==30) ) { + alt47=1; } - switch (alt36) { + switch (alt47) { case 1 : - // InternalRosSystem.g:5105:3: rule__ComponentInterface__Group_10_3__0 + // InternalRosSystem.g:6235:3: rule__ComponentInterface__Group_10_3__0 { pushFollow(FOLLOW_11); rule__ComponentInterface__Group_10_3__0(); @@ -15531,7 +18976,7 @@ public final void rule__ComponentInterface__Group_10__3__Impl() throws Recogniti break; default : - break loop36; + break loop47; } } while (true); @@ -15558,14 +19003,14 @@ public final void rule__ComponentInterface__Group_10__3__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_10__4" - // InternalRosSystem.g:5113:1: rule__ComponentInterface__Group_10__4 : rule__ComponentInterface__Group_10__4__Impl ; + // InternalRosSystem.g:6243:1: rule__ComponentInterface__Group_10__4 : rule__ComponentInterface__Group_10__4__Impl ; public final void rule__ComponentInterface__Group_10__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5117:1: ( rule__ComponentInterface__Group_10__4__Impl ) - // InternalRosSystem.g:5118:2: rule__ComponentInterface__Group_10__4__Impl + // InternalRosSystem.g:6247:1: ( rule__ComponentInterface__Group_10__4__Impl ) + // InternalRosSystem.g:6248:2: rule__ComponentInterface__Group_10__4__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_10__4__Impl(); @@ -15591,17 +19036,17 @@ public final void rule__ComponentInterface__Group_10__4() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_10__4__Impl" - // InternalRosSystem.g:5124:1: rule__ComponentInterface__Group_10__4__Impl : ( '}' ) ; + // InternalRosSystem.g:6254:1: rule__ComponentInterface__Group_10__4__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group_10__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5128:1: ( ( '}' ) ) - // InternalRosSystem.g:5129:1: ( '}' ) + // InternalRosSystem.g:6258:1: ( ( '}' ) ) + // InternalRosSystem.g:6259:1: ( '}' ) { - // InternalRosSystem.g:5129:1: ( '}' ) - // InternalRosSystem.g:5130:2: '}' + // InternalRosSystem.g:6259:1: ( '}' ) + // InternalRosSystem.g:6260:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_10_4()); match(input,26,FOLLOW_2); @@ -15628,16 +19073,16 @@ public final void rule__ComponentInterface__Group_10__4__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_10_3__0" - // InternalRosSystem.g:5140:1: rule__ComponentInterface__Group_10_3__0 : rule__ComponentInterface__Group_10_3__0__Impl rule__ComponentInterface__Group_10_3__1 ; + // InternalRosSystem.g:6270:1: rule__ComponentInterface__Group_10_3__0 : rule__ComponentInterface__Group_10_3__0__Impl rule__ComponentInterface__Group_10_3__1 ; public final void rule__ComponentInterface__Group_10_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5144:1: ( rule__ComponentInterface__Group_10_3__0__Impl rule__ComponentInterface__Group_10_3__1 ) - // InternalRosSystem.g:5145:2: rule__ComponentInterface__Group_10_3__0__Impl rule__ComponentInterface__Group_10_3__1 + // InternalRosSystem.g:6274:1: ( rule__ComponentInterface__Group_10_3__0__Impl rule__ComponentInterface__Group_10_3__1 ) + // InternalRosSystem.g:6275:2: rule__ComponentInterface__Group_10_3__0__Impl rule__ComponentInterface__Group_10_3__1 { - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_40); rule__ComponentInterface__Group_10_3__0__Impl(); state._fsp--; @@ -15666,17 +19111,17 @@ public final void rule__ComponentInterface__Group_10_3__0() throws RecognitionEx // $ANTLR start "rule__ComponentInterface__Group_10_3__0__Impl" - // InternalRosSystem.g:5152:1: rule__ComponentInterface__Group_10_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:6282:1: rule__ComponentInterface__Group_10_3__0__Impl : ( ',' ) ; public final void rule__ComponentInterface__Group_10_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5156:1: ( ( ',' ) ) - // InternalRosSystem.g:5157:1: ( ',' ) + // InternalRosSystem.g:6286:1: ( ( ',' ) ) + // InternalRosSystem.g:6287:1: ( ',' ) { - // InternalRosSystem.g:5157:1: ( ',' ) - // InternalRosSystem.g:5158:2: ',' + // InternalRosSystem.g:6287:1: ( ',' ) + // InternalRosSystem.g:6288:2: ',' { before(grammarAccess.getComponentInterfaceAccess().getCommaKeyword_10_3_0()); match(input,30,FOLLOW_2); @@ -15703,14 +19148,14 @@ public final void rule__ComponentInterface__Group_10_3__0__Impl() throws Recogni // $ANTLR start "rule__ComponentInterface__Group_10_3__1" - // InternalRosSystem.g:5167:1: rule__ComponentInterface__Group_10_3__1 : rule__ComponentInterface__Group_10_3__1__Impl ; + // InternalRosSystem.g:6297:1: rule__ComponentInterface__Group_10_3__1 : rule__ComponentInterface__Group_10_3__1__Impl ; public final void rule__ComponentInterface__Group_10_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5171:1: ( rule__ComponentInterface__Group_10_3__1__Impl ) - // InternalRosSystem.g:5172:2: rule__ComponentInterface__Group_10_3__1__Impl + // InternalRosSystem.g:6301:1: ( rule__ComponentInterface__Group_10_3__1__Impl ) + // InternalRosSystem.g:6302:2: rule__ComponentInterface__Group_10_3__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_10_3__1__Impl(); @@ -15736,21 +19181,21 @@ public final void rule__ComponentInterface__Group_10_3__1() throws RecognitionEx // $ANTLR start "rule__ComponentInterface__Group_10_3__1__Impl" - // InternalRosSystem.g:5178:1: rule__ComponentInterface__Group_10_3__1__Impl : ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) ; + // InternalRosSystem.g:6308:1: rule__ComponentInterface__Group_10_3__1__Impl : ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) ; public final void rule__ComponentInterface__Group_10_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5182:1: ( ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) ) - // InternalRosSystem.g:5183:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) + // InternalRosSystem.g:6312:1: ( ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) ) + // InternalRosSystem.g:6313:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) { - // InternalRosSystem.g:5183:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) - // InternalRosSystem.g:5184:2: ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) + // InternalRosSystem.g:6313:1: ( ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) ) + // InternalRosSystem.g:6314:2: ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) { before(grammarAccess.getComponentInterfaceAccess().getRosactionserverAssignment_10_3_1()); - // InternalRosSystem.g:5185:2: ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) - // InternalRosSystem.g:5185:3: rule__ComponentInterface__RosactionserverAssignment_10_3_1 + // InternalRosSystem.g:6315:2: ( rule__ComponentInterface__RosactionserverAssignment_10_3_1 ) + // InternalRosSystem.g:6315:3: rule__ComponentInterface__RosactionserverAssignment_10_3_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosactionserverAssignment_10_3_1(); @@ -15783,14 +19228,14 @@ public final void rule__ComponentInterface__Group_10_3__1__Impl() throws Recogni // $ANTLR start "rule__ComponentInterface__Group_11__0" - // InternalRosSystem.g:5194:1: rule__ComponentInterface__Group_11__0 : rule__ComponentInterface__Group_11__0__Impl rule__ComponentInterface__Group_11__1 ; + // InternalRosSystem.g:6324:1: rule__ComponentInterface__Group_11__0 : rule__ComponentInterface__Group_11__0__Impl rule__ComponentInterface__Group_11__1 ; public final void rule__ComponentInterface__Group_11__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5198:1: ( rule__ComponentInterface__Group_11__0__Impl rule__ComponentInterface__Group_11__1 ) - // InternalRosSystem.g:5199:2: rule__ComponentInterface__Group_11__0__Impl rule__ComponentInterface__Group_11__1 + // InternalRosSystem.g:6328:1: ( rule__ComponentInterface__Group_11__0__Impl rule__ComponentInterface__Group_11__1 ) + // InternalRosSystem.g:6329:2: rule__ComponentInterface__Group_11__0__Impl rule__ComponentInterface__Group_11__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group_11__0__Impl(); @@ -15821,20 +19266,20 @@ public final void rule__ComponentInterface__Group_11__0() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_11__0__Impl" - // InternalRosSystem.g:5206:1: rule__ComponentInterface__Group_11__0__Impl : ( 'RosActionClients' ) ; + // InternalRosSystem.g:6336:1: rule__ComponentInterface__Group_11__0__Impl : ( 'RosActionClients' ) ; public final void rule__ComponentInterface__Group_11__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5210:1: ( ( 'RosActionClients' ) ) - // InternalRosSystem.g:5211:1: ( 'RosActionClients' ) + // InternalRosSystem.g:6340:1: ( ( 'RosActionClients' ) ) + // InternalRosSystem.g:6341:1: ( 'RosActionClients' ) { - // InternalRosSystem.g:5211:1: ( 'RosActionClients' ) - // InternalRosSystem.g:5212:2: 'RosActionClients' + // InternalRosSystem.g:6341:1: ( 'RosActionClients' ) + // InternalRosSystem.g:6342:2: 'RosActionClients' { before(grammarAccess.getComponentInterfaceAccess().getRosActionClientsKeyword_11_0()); - match(input,49,FOLLOW_2); + match(input,55,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getRosActionClientsKeyword_11_0()); } @@ -15858,16 +19303,16 @@ public final void rule__ComponentInterface__Group_11__0__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_11__1" - // InternalRosSystem.g:5221:1: rule__ComponentInterface__Group_11__1 : rule__ComponentInterface__Group_11__1__Impl rule__ComponentInterface__Group_11__2 ; + // InternalRosSystem.g:6351:1: rule__ComponentInterface__Group_11__1 : rule__ComponentInterface__Group_11__1__Impl rule__ComponentInterface__Group_11__2 ; public final void rule__ComponentInterface__Group_11__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5225:1: ( rule__ComponentInterface__Group_11__1__Impl rule__ComponentInterface__Group_11__2 ) - // InternalRosSystem.g:5226:2: rule__ComponentInterface__Group_11__1__Impl rule__ComponentInterface__Group_11__2 + // InternalRosSystem.g:6355:1: ( rule__ComponentInterface__Group_11__1__Impl rule__ComponentInterface__Group_11__2 ) + // InternalRosSystem.g:6356:2: rule__ComponentInterface__Group_11__1__Impl rule__ComponentInterface__Group_11__2 { - pushFollow(FOLLOW_33); + pushFollow(FOLLOW_41); rule__ComponentInterface__Group_11__1__Impl(); state._fsp--; @@ -15896,17 +19341,17 @@ public final void rule__ComponentInterface__Group_11__1() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_11__1__Impl" - // InternalRosSystem.g:5233:1: rule__ComponentInterface__Group_11__1__Impl : ( '{' ) ; + // InternalRosSystem.g:6363:1: rule__ComponentInterface__Group_11__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group_11__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5237:1: ( ( '{' ) ) - // InternalRosSystem.g:5238:1: ( '{' ) + // InternalRosSystem.g:6367:1: ( ( '{' ) ) + // InternalRosSystem.g:6368:1: ( '{' ) { - // InternalRosSystem.g:5238:1: ( '{' ) - // InternalRosSystem.g:5239:2: '{' + // InternalRosSystem.g:6368:1: ( '{' ) + // InternalRosSystem.g:6369:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_11_1()); match(input,24,FOLLOW_2); @@ -15933,16 +19378,16 @@ public final void rule__ComponentInterface__Group_11__1__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_11__2" - // InternalRosSystem.g:5248:1: rule__ComponentInterface__Group_11__2 : rule__ComponentInterface__Group_11__2__Impl rule__ComponentInterface__Group_11__3 ; + // InternalRosSystem.g:6378:1: rule__ComponentInterface__Group_11__2 : rule__ComponentInterface__Group_11__2__Impl rule__ComponentInterface__Group_11__3 ; public final void rule__ComponentInterface__Group_11__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5252:1: ( rule__ComponentInterface__Group_11__2__Impl rule__ComponentInterface__Group_11__3 ) - // InternalRosSystem.g:5253:2: rule__ComponentInterface__Group_11__2__Impl rule__ComponentInterface__Group_11__3 + // InternalRosSystem.g:6382:1: ( rule__ComponentInterface__Group_11__2__Impl rule__ComponentInterface__Group_11__3 ) + // InternalRosSystem.g:6383:2: rule__ComponentInterface__Group_11__2__Impl rule__ComponentInterface__Group_11__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_11__2__Impl(); state._fsp--; @@ -15971,21 +19416,21 @@ public final void rule__ComponentInterface__Group_11__2() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_11__2__Impl" - // InternalRosSystem.g:5260:1: rule__ComponentInterface__Group_11__2__Impl : ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) ; + // InternalRosSystem.g:6390:1: rule__ComponentInterface__Group_11__2__Impl : ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) ; public final void rule__ComponentInterface__Group_11__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5264:1: ( ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) ) - // InternalRosSystem.g:5265:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) + // InternalRosSystem.g:6394:1: ( ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) ) + // InternalRosSystem.g:6395:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) { - // InternalRosSystem.g:5265:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) - // InternalRosSystem.g:5266:2: ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) + // InternalRosSystem.g:6395:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) ) + // InternalRosSystem.g:6396:2: ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) { before(grammarAccess.getComponentInterfaceAccess().getRosactionclientAssignment_11_2()); - // InternalRosSystem.g:5267:2: ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) - // InternalRosSystem.g:5267:3: rule__ComponentInterface__RosactionclientAssignment_11_2 + // InternalRosSystem.g:6397:2: ( rule__ComponentInterface__RosactionclientAssignment_11_2 ) + // InternalRosSystem.g:6397:3: rule__ComponentInterface__RosactionclientAssignment_11_2 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosactionclientAssignment_11_2(); @@ -16018,16 +19463,16 @@ public final void rule__ComponentInterface__Group_11__2__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_11__3" - // InternalRosSystem.g:5275:1: rule__ComponentInterface__Group_11__3 : rule__ComponentInterface__Group_11__3__Impl rule__ComponentInterface__Group_11__4 ; + // InternalRosSystem.g:6405:1: rule__ComponentInterface__Group_11__3 : rule__ComponentInterface__Group_11__3__Impl rule__ComponentInterface__Group_11__4 ; public final void rule__ComponentInterface__Group_11__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5279:1: ( rule__ComponentInterface__Group_11__3__Impl rule__ComponentInterface__Group_11__4 ) - // InternalRosSystem.g:5280:2: rule__ComponentInterface__Group_11__3__Impl rule__ComponentInterface__Group_11__4 + // InternalRosSystem.g:6409:1: ( rule__ComponentInterface__Group_11__3__Impl rule__ComponentInterface__Group_11__4 ) + // InternalRosSystem.g:6410:2: rule__ComponentInterface__Group_11__3__Impl rule__ComponentInterface__Group_11__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_11__3__Impl(); state._fsp--; @@ -16056,33 +19501,33 @@ public final void rule__ComponentInterface__Group_11__3() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_11__3__Impl" - // InternalRosSystem.g:5287:1: rule__ComponentInterface__Group_11__3__Impl : ( ( rule__ComponentInterface__Group_11_3__0 )* ) ; + // InternalRosSystem.g:6417:1: rule__ComponentInterface__Group_11__3__Impl : ( ( rule__ComponentInterface__Group_11_3__0 )* ) ; public final void rule__ComponentInterface__Group_11__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5291:1: ( ( ( rule__ComponentInterface__Group_11_3__0 )* ) ) - // InternalRosSystem.g:5292:1: ( ( rule__ComponentInterface__Group_11_3__0 )* ) + // InternalRosSystem.g:6421:1: ( ( ( rule__ComponentInterface__Group_11_3__0 )* ) ) + // InternalRosSystem.g:6422:1: ( ( rule__ComponentInterface__Group_11_3__0 )* ) { - // InternalRosSystem.g:5292:1: ( ( rule__ComponentInterface__Group_11_3__0 )* ) - // InternalRosSystem.g:5293:2: ( rule__ComponentInterface__Group_11_3__0 )* + // InternalRosSystem.g:6422:1: ( ( rule__ComponentInterface__Group_11_3__0 )* ) + // InternalRosSystem.g:6423:2: ( rule__ComponentInterface__Group_11_3__0 )* { before(grammarAccess.getComponentInterfaceAccess().getGroup_11_3()); - // InternalRosSystem.g:5294:2: ( rule__ComponentInterface__Group_11_3__0 )* - loop37: + // InternalRosSystem.g:6424:2: ( rule__ComponentInterface__Group_11_3__0 )* + loop48: do { - int alt37=2; - int LA37_0 = input.LA(1); + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA37_0==30) ) { - alt37=1; + if ( (LA48_0==30) ) { + alt48=1; } - switch (alt37) { + switch (alt48) { case 1 : - // InternalRosSystem.g:5294:3: rule__ComponentInterface__Group_11_3__0 + // InternalRosSystem.g:6424:3: rule__ComponentInterface__Group_11_3__0 { pushFollow(FOLLOW_11); rule__ComponentInterface__Group_11_3__0(); @@ -16094,7 +19539,7 @@ public final void rule__ComponentInterface__Group_11__3__Impl() throws Recogniti break; default : - break loop37; + break loop48; } } while (true); @@ -16121,14 +19566,14 @@ public final void rule__ComponentInterface__Group_11__3__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_11__4" - // InternalRosSystem.g:5302:1: rule__ComponentInterface__Group_11__4 : rule__ComponentInterface__Group_11__4__Impl ; + // InternalRosSystem.g:6432:1: rule__ComponentInterface__Group_11__4 : rule__ComponentInterface__Group_11__4__Impl ; public final void rule__ComponentInterface__Group_11__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5306:1: ( rule__ComponentInterface__Group_11__4__Impl ) - // InternalRosSystem.g:5307:2: rule__ComponentInterface__Group_11__4__Impl + // InternalRosSystem.g:6436:1: ( rule__ComponentInterface__Group_11__4__Impl ) + // InternalRosSystem.g:6437:2: rule__ComponentInterface__Group_11__4__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_11__4__Impl(); @@ -16154,17 +19599,17 @@ public final void rule__ComponentInterface__Group_11__4() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_11__4__Impl" - // InternalRosSystem.g:5313:1: rule__ComponentInterface__Group_11__4__Impl : ( '}' ) ; + // InternalRosSystem.g:6443:1: rule__ComponentInterface__Group_11__4__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group_11__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5317:1: ( ( '}' ) ) - // InternalRosSystem.g:5318:1: ( '}' ) + // InternalRosSystem.g:6447:1: ( ( '}' ) ) + // InternalRosSystem.g:6448:1: ( '}' ) { - // InternalRosSystem.g:5318:1: ( '}' ) - // InternalRosSystem.g:5319:2: '}' + // InternalRosSystem.g:6448:1: ( '}' ) + // InternalRosSystem.g:6449:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_11_4()); match(input,26,FOLLOW_2); @@ -16191,16 +19636,16 @@ public final void rule__ComponentInterface__Group_11__4__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_11_3__0" - // InternalRosSystem.g:5329:1: rule__ComponentInterface__Group_11_3__0 : rule__ComponentInterface__Group_11_3__0__Impl rule__ComponentInterface__Group_11_3__1 ; + // InternalRosSystem.g:6459:1: rule__ComponentInterface__Group_11_3__0 : rule__ComponentInterface__Group_11_3__0__Impl rule__ComponentInterface__Group_11_3__1 ; public final void rule__ComponentInterface__Group_11_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5333:1: ( rule__ComponentInterface__Group_11_3__0__Impl rule__ComponentInterface__Group_11_3__1 ) - // InternalRosSystem.g:5334:2: rule__ComponentInterface__Group_11_3__0__Impl rule__ComponentInterface__Group_11_3__1 + // InternalRosSystem.g:6463:1: ( rule__ComponentInterface__Group_11_3__0__Impl rule__ComponentInterface__Group_11_3__1 ) + // InternalRosSystem.g:6464:2: rule__ComponentInterface__Group_11_3__0__Impl rule__ComponentInterface__Group_11_3__1 { - pushFollow(FOLLOW_33); + pushFollow(FOLLOW_41); rule__ComponentInterface__Group_11_3__0__Impl(); state._fsp--; @@ -16229,17 +19674,17 @@ public final void rule__ComponentInterface__Group_11_3__0() throws RecognitionEx // $ANTLR start "rule__ComponentInterface__Group_11_3__0__Impl" - // InternalRosSystem.g:5341:1: rule__ComponentInterface__Group_11_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:6471:1: rule__ComponentInterface__Group_11_3__0__Impl : ( ',' ) ; public final void rule__ComponentInterface__Group_11_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5345:1: ( ( ',' ) ) - // InternalRosSystem.g:5346:1: ( ',' ) + // InternalRosSystem.g:6475:1: ( ( ',' ) ) + // InternalRosSystem.g:6476:1: ( ',' ) { - // InternalRosSystem.g:5346:1: ( ',' ) - // InternalRosSystem.g:5347:2: ',' + // InternalRosSystem.g:6476:1: ( ',' ) + // InternalRosSystem.g:6477:2: ',' { before(grammarAccess.getComponentInterfaceAccess().getCommaKeyword_11_3_0()); match(input,30,FOLLOW_2); @@ -16266,14 +19711,14 @@ public final void rule__ComponentInterface__Group_11_3__0__Impl() throws Recogni // $ANTLR start "rule__ComponentInterface__Group_11_3__1" - // InternalRosSystem.g:5356:1: rule__ComponentInterface__Group_11_3__1 : rule__ComponentInterface__Group_11_3__1__Impl ; + // InternalRosSystem.g:6486:1: rule__ComponentInterface__Group_11_3__1 : rule__ComponentInterface__Group_11_3__1__Impl ; public final void rule__ComponentInterface__Group_11_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5360:1: ( rule__ComponentInterface__Group_11_3__1__Impl ) - // InternalRosSystem.g:5361:2: rule__ComponentInterface__Group_11_3__1__Impl + // InternalRosSystem.g:6490:1: ( rule__ComponentInterface__Group_11_3__1__Impl ) + // InternalRosSystem.g:6491:2: rule__ComponentInterface__Group_11_3__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_11_3__1__Impl(); @@ -16299,21 +19744,21 @@ public final void rule__ComponentInterface__Group_11_3__1() throws RecognitionEx // $ANTLR start "rule__ComponentInterface__Group_11_3__1__Impl" - // InternalRosSystem.g:5367:1: rule__ComponentInterface__Group_11_3__1__Impl : ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) ; + // InternalRosSystem.g:6497:1: rule__ComponentInterface__Group_11_3__1__Impl : ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) ; public final void rule__ComponentInterface__Group_11_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5371:1: ( ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) ) - // InternalRosSystem.g:5372:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) + // InternalRosSystem.g:6501:1: ( ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) ) + // InternalRosSystem.g:6502:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) { - // InternalRosSystem.g:5372:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) - // InternalRosSystem.g:5373:2: ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) + // InternalRosSystem.g:6502:1: ( ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) ) + // InternalRosSystem.g:6503:2: ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) { before(grammarAccess.getComponentInterfaceAccess().getRosactionclientAssignment_11_3_1()); - // InternalRosSystem.g:5374:2: ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) - // InternalRosSystem.g:5374:3: rule__ComponentInterface__RosactionclientAssignment_11_3_1 + // InternalRosSystem.g:6504:2: ( rule__ComponentInterface__RosactionclientAssignment_11_3_1 ) + // InternalRosSystem.g:6504:3: rule__ComponentInterface__RosactionclientAssignment_11_3_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosactionclientAssignment_11_3_1(); @@ -16346,14 +19791,14 @@ public final void rule__ComponentInterface__Group_11_3__1__Impl() throws Recogni // $ANTLR start "rule__ComponentInterface__Group_12__0" - // InternalRosSystem.g:5383:1: rule__ComponentInterface__Group_12__0 : rule__ComponentInterface__Group_12__0__Impl rule__ComponentInterface__Group_12__1 ; + // InternalRosSystem.g:6513:1: rule__ComponentInterface__Group_12__0 : rule__ComponentInterface__Group_12__0__Impl rule__ComponentInterface__Group_12__1 ; public final void rule__ComponentInterface__Group_12__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5387:1: ( rule__ComponentInterface__Group_12__0__Impl rule__ComponentInterface__Group_12__1 ) - // InternalRosSystem.g:5388:2: rule__ComponentInterface__Group_12__0__Impl rule__ComponentInterface__Group_12__1 + // InternalRosSystem.g:6517:1: ( rule__ComponentInterface__Group_12__0__Impl rule__ComponentInterface__Group_12__1 ) + // InternalRosSystem.g:6518:2: rule__ComponentInterface__Group_12__0__Impl rule__ComponentInterface__Group_12__1 { pushFollow(FOLLOW_4); rule__ComponentInterface__Group_12__0__Impl(); @@ -16384,20 +19829,20 @@ public final void rule__ComponentInterface__Group_12__0() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_12__0__Impl" - // InternalRosSystem.g:5395:1: rule__ComponentInterface__Group_12__0__Impl : ( 'RosParameters' ) ; + // InternalRosSystem.g:6525:1: rule__ComponentInterface__Group_12__0__Impl : ( 'RosParameters' ) ; public final void rule__ComponentInterface__Group_12__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5399:1: ( ( 'RosParameters' ) ) - // InternalRosSystem.g:5400:1: ( 'RosParameters' ) + // InternalRosSystem.g:6529:1: ( ( 'RosParameters' ) ) + // InternalRosSystem.g:6530:1: ( 'RosParameters' ) { - // InternalRosSystem.g:5400:1: ( 'RosParameters' ) - // InternalRosSystem.g:5401:2: 'RosParameters' + // InternalRosSystem.g:6530:1: ( 'RosParameters' ) + // InternalRosSystem.g:6531:2: 'RosParameters' { before(grammarAccess.getComponentInterfaceAccess().getRosParametersKeyword_12_0()); - match(input,50,FOLLOW_2); + match(input,56,FOLLOW_2); after(grammarAccess.getComponentInterfaceAccess().getRosParametersKeyword_12_0()); } @@ -16421,16 +19866,16 @@ public final void rule__ComponentInterface__Group_12__0__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_12__1" - // InternalRosSystem.g:5410:1: rule__ComponentInterface__Group_12__1 : rule__ComponentInterface__Group_12__1__Impl rule__ComponentInterface__Group_12__2 ; + // InternalRosSystem.g:6540:1: rule__ComponentInterface__Group_12__1 : rule__ComponentInterface__Group_12__1__Impl rule__ComponentInterface__Group_12__2 ; public final void rule__ComponentInterface__Group_12__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5414:1: ( rule__ComponentInterface__Group_12__1__Impl rule__ComponentInterface__Group_12__2 ) - // InternalRosSystem.g:5415:2: rule__ComponentInterface__Group_12__1__Impl rule__ComponentInterface__Group_12__2 + // InternalRosSystem.g:6544:1: ( rule__ComponentInterface__Group_12__1__Impl rule__ComponentInterface__Group_12__2 ) + // InternalRosSystem.g:6545:2: rule__ComponentInterface__Group_12__1__Impl rule__ComponentInterface__Group_12__2 { - pushFollow(FOLLOW_34); + pushFollow(FOLLOW_42); rule__ComponentInterface__Group_12__1__Impl(); state._fsp--; @@ -16459,17 +19904,17 @@ public final void rule__ComponentInterface__Group_12__1() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_12__1__Impl" - // InternalRosSystem.g:5422:1: rule__ComponentInterface__Group_12__1__Impl : ( '{' ) ; + // InternalRosSystem.g:6552:1: rule__ComponentInterface__Group_12__1__Impl : ( '{' ) ; public final void rule__ComponentInterface__Group_12__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5426:1: ( ( '{' ) ) - // InternalRosSystem.g:5427:1: ( '{' ) + // InternalRosSystem.g:6556:1: ( ( '{' ) ) + // InternalRosSystem.g:6557:1: ( '{' ) { - // InternalRosSystem.g:5427:1: ( '{' ) - // InternalRosSystem.g:5428:2: '{' + // InternalRosSystem.g:6557:1: ( '{' ) + // InternalRosSystem.g:6558:2: '{' { before(grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_12_1()); match(input,24,FOLLOW_2); @@ -16496,16 +19941,16 @@ public final void rule__ComponentInterface__Group_12__1__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_12__2" - // InternalRosSystem.g:5437:1: rule__ComponentInterface__Group_12__2 : rule__ComponentInterface__Group_12__2__Impl rule__ComponentInterface__Group_12__3 ; + // InternalRosSystem.g:6567:1: rule__ComponentInterface__Group_12__2 : rule__ComponentInterface__Group_12__2__Impl rule__ComponentInterface__Group_12__3 ; public final void rule__ComponentInterface__Group_12__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5441:1: ( rule__ComponentInterface__Group_12__2__Impl rule__ComponentInterface__Group_12__3 ) - // InternalRosSystem.g:5442:2: rule__ComponentInterface__Group_12__2__Impl rule__ComponentInterface__Group_12__3 + // InternalRosSystem.g:6571:1: ( rule__ComponentInterface__Group_12__2__Impl rule__ComponentInterface__Group_12__3 ) + // InternalRosSystem.g:6572:2: rule__ComponentInterface__Group_12__2__Impl rule__ComponentInterface__Group_12__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_12__2__Impl(); state._fsp--; @@ -16534,21 +19979,21 @@ public final void rule__ComponentInterface__Group_12__2() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_12__2__Impl" - // InternalRosSystem.g:5449:1: rule__ComponentInterface__Group_12__2__Impl : ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) ; + // InternalRosSystem.g:6579:1: rule__ComponentInterface__Group_12__2__Impl : ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) ; public final void rule__ComponentInterface__Group_12__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5453:1: ( ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) ) - // InternalRosSystem.g:5454:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) + // InternalRosSystem.g:6583:1: ( ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) ) + // InternalRosSystem.g:6584:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) { - // InternalRosSystem.g:5454:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) - // InternalRosSystem.g:5455:2: ( rule__ComponentInterface__RosparameterAssignment_12_2 ) + // InternalRosSystem.g:6584:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_2 ) ) + // InternalRosSystem.g:6585:2: ( rule__ComponentInterface__RosparameterAssignment_12_2 ) { before(grammarAccess.getComponentInterfaceAccess().getRosparameterAssignment_12_2()); - // InternalRosSystem.g:5456:2: ( rule__ComponentInterface__RosparameterAssignment_12_2 ) - // InternalRosSystem.g:5456:3: rule__ComponentInterface__RosparameterAssignment_12_2 + // InternalRosSystem.g:6586:2: ( rule__ComponentInterface__RosparameterAssignment_12_2 ) + // InternalRosSystem.g:6586:3: rule__ComponentInterface__RosparameterAssignment_12_2 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosparameterAssignment_12_2(); @@ -16581,16 +20026,16 @@ public final void rule__ComponentInterface__Group_12__2__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_12__3" - // InternalRosSystem.g:5464:1: rule__ComponentInterface__Group_12__3 : rule__ComponentInterface__Group_12__3__Impl rule__ComponentInterface__Group_12__4 ; + // InternalRosSystem.g:6594:1: rule__ComponentInterface__Group_12__3 : rule__ComponentInterface__Group_12__3__Impl rule__ComponentInterface__Group_12__4 ; public final void rule__ComponentInterface__Group_12__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5468:1: ( rule__ComponentInterface__Group_12__3__Impl rule__ComponentInterface__Group_12__4 ) - // InternalRosSystem.g:5469:2: rule__ComponentInterface__Group_12__3__Impl rule__ComponentInterface__Group_12__4 + // InternalRosSystem.g:6598:1: ( rule__ComponentInterface__Group_12__3__Impl rule__ComponentInterface__Group_12__4 ) + // InternalRosSystem.g:6599:2: rule__ComponentInterface__Group_12__3__Impl rule__ComponentInterface__Group_12__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ComponentInterface__Group_12__3__Impl(); state._fsp--; @@ -16619,33 +20064,33 @@ public final void rule__ComponentInterface__Group_12__3() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_12__3__Impl" - // InternalRosSystem.g:5476:1: rule__ComponentInterface__Group_12__3__Impl : ( ( rule__ComponentInterface__Group_12_3__0 )* ) ; + // InternalRosSystem.g:6606:1: rule__ComponentInterface__Group_12__3__Impl : ( ( rule__ComponentInterface__Group_12_3__0 )* ) ; public final void rule__ComponentInterface__Group_12__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5480:1: ( ( ( rule__ComponentInterface__Group_12_3__0 )* ) ) - // InternalRosSystem.g:5481:1: ( ( rule__ComponentInterface__Group_12_3__0 )* ) + // InternalRosSystem.g:6610:1: ( ( ( rule__ComponentInterface__Group_12_3__0 )* ) ) + // InternalRosSystem.g:6611:1: ( ( rule__ComponentInterface__Group_12_3__0 )* ) { - // InternalRosSystem.g:5481:1: ( ( rule__ComponentInterface__Group_12_3__0 )* ) - // InternalRosSystem.g:5482:2: ( rule__ComponentInterface__Group_12_3__0 )* + // InternalRosSystem.g:6611:1: ( ( rule__ComponentInterface__Group_12_3__0 )* ) + // InternalRosSystem.g:6612:2: ( rule__ComponentInterface__Group_12_3__0 )* { before(grammarAccess.getComponentInterfaceAccess().getGroup_12_3()); - // InternalRosSystem.g:5483:2: ( rule__ComponentInterface__Group_12_3__0 )* - loop38: + // InternalRosSystem.g:6613:2: ( rule__ComponentInterface__Group_12_3__0 )* + loop49: do { - int alt38=2; - int LA38_0 = input.LA(1); + int alt49=2; + int LA49_0 = input.LA(1); - if ( (LA38_0==30) ) { - alt38=1; + if ( (LA49_0==30) ) { + alt49=1; } - switch (alt38) { + switch (alt49) { case 1 : - // InternalRosSystem.g:5483:3: rule__ComponentInterface__Group_12_3__0 + // InternalRosSystem.g:6613:3: rule__ComponentInterface__Group_12_3__0 { pushFollow(FOLLOW_11); rule__ComponentInterface__Group_12_3__0(); @@ -16657,7 +20102,7 @@ public final void rule__ComponentInterface__Group_12__3__Impl() throws Recogniti break; default : - break loop38; + break loop49; } } while (true); @@ -16684,14 +20129,14 @@ public final void rule__ComponentInterface__Group_12__3__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_12__4" - // InternalRosSystem.g:5491:1: rule__ComponentInterface__Group_12__4 : rule__ComponentInterface__Group_12__4__Impl ; + // InternalRosSystem.g:6621:1: rule__ComponentInterface__Group_12__4 : rule__ComponentInterface__Group_12__4__Impl ; public final void rule__ComponentInterface__Group_12__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5495:1: ( rule__ComponentInterface__Group_12__4__Impl ) - // InternalRosSystem.g:5496:2: rule__ComponentInterface__Group_12__4__Impl + // InternalRosSystem.g:6625:1: ( rule__ComponentInterface__Group_12__4__Impl ) + // InternalRosSystem.g:6626:2: rule__ComponentInterface__Group_12__4__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_12__4__Impl(); @@ -16717,17 +20162,17 @@ public final void rule__ComponentInterface__Group_12__4() throws RecognitionExce // $ANTLR start "rule__ComponentInterface__Group_12__4__Impl" - // InternalRosSystem.g:5502:1: rule__ComponentInterface__Group_12__4__Impl : ( '}' ) ; + // InternalRosSystem.g:6632:1: rule__ComponentInterface__Group_12__4__Impl : ( '}' ) ; public final void rule__ComponentInterface__Group_12__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5506:1: ( ( '}' ) ) - // InternalRosSystem.g:5507:1: ( '}' ) + // InternalRosSystem.g:6636:1: ( ( '}' ) ) + // InternalRosSystem.g:6637:1: ( '}' ) { - // InternalRosSystem.g:5507:1: ( '}' ) - // InternalRosSystem.g:5508:2: '}' + // InternalRosSystem.g:6637:1: ( '}' ) + // InternalRosSystem.g:6638:2: '}' { before(grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_12_4()); match(input,26,FOLLOW_2); @@ -16754,16 +20199,16 @@ public final void rule__ComponentInterface__Group_12__4__Impl() throws Recogniti // $ANTLR start "rule__ComponentInterface__Group_12_3__0" - // InternalRosSystem.g:5518:1: rule__ComponentInterface__Group_12_3__0 : rule__ComponentInterface__Group_12_3__0__Impl rule__ComponentInterface__Group_12_3__1 ; + // InternalRosSystem.g:6648:1: rule__ComponentInterface__Group_12_3__0 : rule__ComponentInterface__Group_12_3__0__Impl rule__ComponentInterface__Group_12_3__1 ; public final void rule__ComponentInterface__Group_12_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5522:1: ( rule__ComponentInterface__Group_12_3__0__Impl rule__ComponentInterface__Group_12_3__1 ) - // InternalRosSystem.g:5523:2: rule__ComponentInterface__Group_12_3__0__Impl rule__ComponentInterface__Group_12_3__1 + // InternalRosSystem.g:6652:1: ( rule__ComponentInterface__Group_12_3__0__Impl rule__ComponentInterface__Group_12_3__1 ) + // InternalRosSystem.g:6653:2: rule__ComponentInterface__Group_12_3__0__Impl rule__ComponentInterface__Group_12_3__1 { - pushFollow(FOLLOW_34); + pushFollow(FOLLOW_42); rule__ComponentInterface__Group_12_3__0__Impl(); state._fsp--; @@ -16792,17 +20237,17 @@ public final void rule__ComponentInterface__Group_12_3__0() throws RecognitionEx // $ANTLR start "rule__ComponentInterface__Group_12_3__0__Impl" - // InternalRosSystem.g:5530:1: rule__ComponentInterface__Group_12_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:6660:1: rule__ComponentInterface__Group_12_3__0__Impl : ( ',' ) ; public final void rule__ComponentInterface__Group_12_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5534:1: ( ( ',' ) ) - // InternalRosSystem.g:5535:1: ( ',' ) + // InternalRosSystem.g:6664:1: ( ( ',' ) ) + // InternalRosSystem.g:6665:1: ( ',' ) { - // InternalRosSystem.g:5535:1: ( ',' ) - // InternalRosSystem.g:5536:2: ',' + // InternalRosSystem.g:6665:1: ( ',' ) + // InternalRosSystem.g:6666:2: ',' { before(grammarAccess.getComponentInterfaceAccess().getCommaKeyword_12_3_0()); match(input,30,FOLLOW_2); @@ -16829,14 +20274,14 @@ public final void rule__ComponentInterface__Group_12_3__0__Impl() throws Recogni // $ANTLR start "rule__ComponentInterface__Group_12_3__1" - // InternalRosSystem.g:5545:1: rule__ComponentInterface__Group_12_3__1 : rule__ComponentInterface__Group_12_3__1__Impl ; + // InternalRosSystem.g:6675:1: rule__ComponentInterface__Group_12_3__1 : rule__ComponentInterface__Group_12_3__1__Impl ; public final void rule__ComponentInterface__Group_12_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5549:1: ( rule__ComponentInterface__Group_12_3__1__Impl ) - // InternalRosSystem.g:5550:2: rule__ComponentInterface__Group_12_3__1__Impl + // InternalRosSystem.g:6679:1: ( rule__ComponentInterface__Group_12_3__1__Impl ) + // InternalRosSystem.g:6680:2: rule__ComponentInterface__Group_12_3__1__Impl { pushFollow(FOLLOW_2); rule__ComponentInterface__Group_12_3__1__Impl(); @@ -16862,21 +20307,21 @@ public final void rule__ComponentInterface__Group_12_3__1() throws RecognitionEx // $ANTLR start "rule__ComponentInterface__Group_12_3__1__Impl" - // InternalRosSystem.g:5556:1: rule__ComponentInterface__Group_12_3__1__Impl : ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) ; + // InternalRosSystem.g:6686:1: rule__ComponentInterface__Group_12_3__1__Impl : ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) ; public final void rule__ComponentInterface__Group_12_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5560:1: ( ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) ) - // InternalRosSystem.g:5561:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) + // InternalRosSystem.g:6690:1: ( ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) ) + // InternalRosSystem.g:6691:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) { - // InternalRosSystem.g:5561:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) - // InternalRosSystem.g:5562:2: ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) + // InternalRosSystem.g:6691:1: ( ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) ) + // InternalRosSystem.g:6692:2: ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) { before(grammarAccess.getComponentInterfaceAccess().getRosparameterAssignment_12_3_1()); - // InternalRosSystem.g:5563:2: ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) - // InternalRosSystem.g:5563:3: rule__ComponentInterface__RosparameterAssignment_12_3_1 + // InternalRosSystem.g:6693:2: ( rule__ComponentInterface__RosparameterAssignment_12_3_1 ) + // InternalRosSystem.g:6693:3: rule__ComponentInterface__RosparameterAssignment_12_3_1 { pushFollow(FOLLOW_2); rule__ComponentInterface__RosparameterAssignment_12_3_1(); @@ -16909,16 +20354,16 @@ public final void rule__ComponentInterface__Group_12_3__1__Impl() throws Recogni // $ANTLR start "rule__RosPublisher__Group__0" - // InternalRosSystem.g:5572:1: rule__RosPublisher__Group__0 : rule__RosPublisher__Group__0__Impl rule__RosPublisher__Group__1 ; + // InternalRosSystem.g:6702:1: rule__RosPublisher__Group__0 : rule__RosPublisher__Group__0__Impl rule__RosPublisher__Group__1 ; public final void rule__RosPublisher__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5576:1: ( rule__RosPublisher__Group__0__Impl rule__RosPublisher__Group__1 ) - // InternalRosSystem.g:5577:2: rule__RosPublisher__Group__0__Impl rule__RosPublisher__Group__1 + // InternalRosSystem.g:6706:1: ( rule__RosPublisher__Group__0__Impl rule__RosPublisher__Group__1 ) + // InternalRosSystem.g:6707:2: rule__RosPublisher__Group__0__Impl rule__RosPublisher__Group__1 { - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_35); rule__RosPublisher__Group__0__Impl(); state._fsp--; @@ -16947,21 +20392,21 @@ public final void rule__RosPublisher__Group__0() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__0__Impl" - // InternalRosSystem.g:5584:1: rule__RosPublisher__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:6714:1: rule__RosPublisher__Group__0__Impl : ( () ) ; public final void rule__RosPublisher__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5588:1: ( ( () ) ) - // InternalRosSystem.g:5589:1: ( () ) + // InternalRosSystem.g:6718:1: ( ( () ) ) + // InternalRosSystem.g:6719:1: ( () ) { - // InternalRosSystem.g:5589:1: ( () ) - // InternalRosSystem.g:5590:2: () + // InternalRosSystem.g:6719:1: ( () ) + // InternalRosSystem.g:6720:2: () { before(grammarAccess.getRosPublisherAccess().getRosPublisherAction_0()); - // InternalRosSystem.g:5591:2: () - // InternalRosSystem.g:5591:3: + // InternalRosSystem.g:6721:2: () + // InternalRosSystem.g:6721:3: { } @@ -16984,16 +20429,16 @@ public final void rule__RosPublisher__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group__1" - // InternalRosSystem.g:5599:1: rule__RosPublisher__Group__1 : rule__RosPublisher__Group__1__Impl rule__RosPublisher__Group__2 ; + // InternalRosSystem.g:6729:1: rule__RosPublisher__Group__1 : rule__RosPublisher__Group__1__Impl rule__RosPublisher__Group__2 ; public final void rule__RosPublisher__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5603:1: ( rule__RosPublisher__Group__1__Impl rule__RosPublisher__Group__2 ) - // InternalRosSystem.g:5604:2: rule__RosPublisher__Group__1__Impl rule__RosPublisher__Group__2 + // InternalRosSystem.g:6733:1: ( rule__RosPublisher__Group__1__Impl rule__RosPublisher__Group__2 ) + // InternalRosSystem.g:6734:2: rule__RosPublisher__Group__1__Impl rule__RosPublisher__Group__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosPublisher__Group__1__Impl(); state._fsp--; @@ -17022,20 +20467,20 @@ public final void rule__RosPublisher__Group__1() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__1__Impl" - // InternalRosSystem.g:5611:1: rule__RosPublisher__Group__1__Impl : ( 'RosPublisher' ) ; + // InternalRosSystem.g:6741:1: rule__RosPublisher__Group__1__Impl : ( 'RosPublisher' ) ; public final void rule__RosPublisher__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5615:1: ( ( 'RosPublisher' ) ) - // InternalRosSystem.g:5616:1: ( 'RosPublisher' ) + // InternalRosSystem.g:6745:1: ( ( 'RosPublisher' ) ) + // InternalRosSystem.g:6746:1: ( 'RosPublisher' ) { - // InternalRosSystem.g:5616:1: ( 'RosPublisher' ) - // InternalRosSystem.g:5617:2: 'RosPublisher' + // InternalRosSystem.g:6746:1: ( 'RosPublisher' ) + // InternalRosSystem.g:6747:2: 'RosPublisher' { before(grammarAccess.getRosPublisherAccess().getRosPublisherKeyword_1()); - match(input,51,FOLLOW_2); + match(input,57,FOLLOW_2); after(grammarAccess.getRosPublisherAccess().getRosPublisherKeyword_1()); } @@ -17059,16 +20504,16 @@ public final void rule__RosPublisher__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group__2" - // InternalRosSystem.g:5626:1: rule__RosPublisher__Group__2 : rule__RosPublisher__Group__2__Impl rule__RosPublisher__Group__3 ; + // InternalRosSystem.g:6756:1: rule__RosPublisher__Group__2 : rule__RosPublisher__Group__2__Impl rule__RosPublisher__Group__3 ; public final void rule__RosPublisher__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5630:1: ( rule__RosPublisher__Group__2__Impl rule__RosPublisher__Group__3 ) - // InternalRosSystem.g:5631:2: rule__RosPublisher__Group__2__Impl rule__RosPublisher__Group__3 + // InternalRosSystem.g:6760:1: ( rule__RosPublisher__Group__2__Impl rule__RosPublisher__Group__3 ) + // InternalRosSystem.g:6761:2: rule__RosPublisher__Group__2__Impl rule__RosPublisher__Group__3 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosPublisher__Group__2__Impl(); state._fsp--; @@ -17097,29 +20542,29 @@ public final void rule__RosPublisher__Group__2() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__2__Impl" - // InternalRosSystem.g:5638:1: rule__RosPublisher__Group__2__Impl : ( ( rule__RosPublisher__NameAssignment_2 )? ) ; + // InternalRosSystem.g:6768:1: rule__RosPublisher__Group__2__Impl : ( ( rule__RosPublisher__NameAssignment_2 )? ) ; public final void rule__RosPublisher__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5642:1: ( ( ( rule__RosPublisher__NameAssignment_2 )? ) ) - // InternalRosSystem.g:5643:1: ( ( rule__RosPublisher__NameAssignment_2 )? ) + // InternalRosSystem.g:6772:1: ( ( ( rule__RosPublisher__NameAssignment_2 )? ) ) + // InternalRosSystem.g:6773:1: ( ( rule__RosPublisher__NameAssignment_2 )? ) { - // InternalRosSystem.g:5643:1: ( ( rule__RosPublisher__NameAssignment_2 )? ) - // InternalRosSystem.g:5644:2: ( rule__RosPublisher__NameAssignment_2 )? + // InternalRosSystem.g:6773:1: ( ( rule__RosPublisher__NameAssignment_2 )? ) + // InternalRosSystem.g:6774:2: ( rule__RosPublisher__NameAssignment_2 )? { before(grammarAccess.getRosPublisherAccess().getNameAssignment_2()); - // InternalRosSystem.g:5645:2: ( rule__RosPublisher__NameAssignment_2 )? - int alt39=2; - int LA39_0 = input.LA(1); + // InternalRosSystem.g:6775:2: ( rule__RosPublisher__NameAssignment_2 )? + int alt50=2; + int LA50_0 = input.LA(1); - if ( ((LA39_0>=RULE_STRING && LA39_0<=RULE_ID)) ) { - alt39=1; + if ( ((LA50_0>=RULE_STRING && LA50_0<=RULE_ID)) ) { + alt50=1; } - switch (alt39) { + switch (alt50) { case 1 : - // InternalRosSystem.g:5645:3: rule__RosPublisher__NameAssignment_2 + // InternalRosSystem.g:6775:3: rule__RosPublisher__NameAssignment_2 { pushFollow(FOLLOW_2); rule__RosPublisher__NameAssignment_2(); @@ -17155,16 +20600,16 @@ public final void rule__RosPublisher__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group__3" - // InternalRosSystem.g:5653:1: rule__RosPublisher__Group__3 : rule__RosPublisher__Group__3__Impl rule__RosPublisher__Group__4 ; + // InternalRosSystem.g:6783:1: rule__RosPublisher__Group__3 : rule__RosPublisher__Group__3__Impl rule__RosPublisher__Group__4 ; public final void rule__RosPublisher__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5657:1: ( rule__RosPublisher__Group__3__Impl rule__RosPublisher__Group__4 ) - // InternalRosSystem.g:5658:2: rule__RosPublisher__Group__3__Impl rule__RosPublisher__Group__4 + // InternalRosSystem.g:6787:1: ( rule__RosPublisher__Group__3__Impl rule__RosPublisher__Group__4 ) + // InternalRosSystem.g:6788:2: rule__RosPublisher__Group__3__Impl rule__RosPublisher__Group__4 { - pushFollow(FOLLOW_36); + pushFollow(FOLLOW_44); rule__RosPublisher__Group__3__Impl(); state._fsp--; @@ -17193,17 +20638,17 @@ public final void rule__RosPublisher__Group__3() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__3__Impl" - // InternalRosSystem.g:5665:1: rule__RosPublisher__Group__3__Impl : ( '{' ) ; + // InternalRosSystem.g:6795:1: rule__RosPublisher__Group__3__Impl : ( '{' ) ; public final void rule__RosPublisher__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5669:1: ( ( '{' ) ) - // InternalRosSystem.g:5670:1: ( '{' ) + // InternalRosSystem.g:6799:1: ( ( '{' ) ) + // InternalRosSystem.g:6800:1: ( '{' ) { - // InternalRosSystem.g:5670:1: ( '{' ) - // InternalRosSystem.g:5671:2: '{' + // InternalRosSystem.g:6800:1: ( '{' ) + // InternalRosSystem.g:6801:2: '{' { before(grammarAccess.getRosPublisherAccess().getLeftCurlyBracketKeyword_3()); match(input,24,FOLLOW_2); @@ -17230,16 +20675,16 @@ public final void rule__RosPublisher__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group__4" - // InternalRosSystem.g:5680:1: rule__RosPublisher__Group__4 : rule__RosPublisher__Group__4__Impl rule__RosPublisher__Group__5 ; + // InternalRosSystem.g:6810:1: rule__RosPublisher__Group__4 : rule__RosPublisher__Group__4__Impl rule__RosPublisher__Group__5 ; public final void rule__RosPublisher__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5684:1: ( rule__RosPublisher__Group__4__Impl rule__RosPublisher__Group__5 ) - // InternalRosSystem.g:5685:2: rule__RosPublisher__Group__4__Impl rule__RosPublisher__Group__5 + // InternalRosSystem.g:6814:1: ( rule__RosPublisher__Group__4__Impl rule__RosPublisher__Group__5 ) + // InternalRosSystem.g:6815:2: rule__RosPublisher__Group__4__Impl rule__RosPublisher__Group__5 { - pushFollow(FOLLOW_36); + pushFollow(FOLLOW_44); rule__RosPublisher__Group__4__Impl(); state._fsp--; @@ -17268,29 +20713,29 @@ public final void rule__RosPublisher__Group__4() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__4__Impl" - // InternalRosSystem.g:5692:1: rule__RosPublisher__Group__4__Impl : ( ( rule__RosPublisher__Group_4__0 )? ) ; + // InternalRosSystem.g:6822:1: rule__RosPublisher__Group__4__Impl : ( ( rule__RosPublisher__Group_4__0 )? ) ; public final void rule__RosPublisher__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5696:1: ( ( ( rule__RosPublisher__Group_4__0 )? ) ) - // InternalRosSystem.g:5697:1: ( ( rule__RosPublisher__Group_4__0 )? ) + // InternalRosSystem.g:6826:1: ( ( ( rule__RosPublisher__Group_4__0 )? ) ) + // InternalRosSystem.g:6827:1: ( ( rule__RosPublisher__Group_4__0 )? ) { - // InternalRosSystem.g:5697:1: ( ( rule__RosPublisher__Group_4__0 )? ) - // InternalRosSystem.g:5698:2: ( rule__RosPublisher__Group_4__0 )? + // InternalRosSystem.g:6827:1: ( ( rule__RosPublisher__Group_4__0 )? ) + // InternalRosSystem.g:6828:2: ( rule__RosPublisher__Group_4__0 )? { before(grammarAccess.getRosPublisherAccess().getGroup_4()); - // InternalRosSystem.g:5699:2: ( rule__RosPublisher__Group_4__0 )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalRosSystem.g:6829:2: ( rule__RosPublisher__Group_4__0 )? + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA40_0==53) ) { - alt40=1; + if ( (LA51_0==59) ) { + alt51=1; } - switch (alt40) { + switch (alt51) { case 1 : - // InternalRosSystem.g:5699:3: rule__RosPublisher__Group_4__0 + // InternalRosSystem.g:6829:3: rule__RosPublisher__Group_4__0 { pushFollow(FOLLOW_2); rule__RosPublisher__Group_4__0(); @@ -17326,14 +20771,14 @@ public final void rule__RosPublisher__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group__5" - // InternalRosSystem.g:5707:1: rule__RosPublisher__Group__5 : rule__RosPublisher__Group__5__Impl rule__RosPublisher__Group__6 ; + // InternalRosSystem.g:6837:1: rule__RosPublisher__Group__5 : rule__RosPublisher__Group__5__Impl rule__RosPublisher__Group__6 ; public final void rule__RosPublisher__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5711:1: ( rule__RosPublisher__Group__5__Impl rule__RosPublisher__Group__6 ) - // InternalRosSystem.g:5712:2: rule__RosPublisher__Group__5__Impl rule__RosPublisher__Group__6 + // InternalRosSystem.g:6841:1: ( rule__RosPublisher__Group__5__Impl rule__RosPublisher__Group__6 ) + // InternalRosSystem.g:6842:2: rule__RosPublisher__Group__5__Impl rule__RosPublisher__Group__6 { pushFollow(FOLLOW_6); rule__RosPublisher__Group__5__Impl(); @@ -17364,20 +20809,20 @@ public final void rule__RosPublisher__Group__5() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__5__Impl" - // InternalRosSystem.g:5719:1: rule__RosPublisher__Group__5__Impl : ( 'RefPublisher' ) ; + // InternalRosSystem.g:6849:1: rule__RosPublisher__Group__5__Impl : ( 'RefPublisher' ) ; public final void rule__RosPublisher__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5723:1: ( ( 'RefPublisher' ) ) - // InternalRosSystem.g:5724:1: ( 'RefPublisher' ) + // InternalRosSystem.g:6853:1: ( ( 'RefPublisher' ) ) + // InternalRosSystem.g:6854:1: ( 'RefPublisher' ) { - // InternalRosSystem.g:5724:1: ( 'RefPublisher' ) - // InternalRosSystem.g:5725:2: 'RefPublisher' + // InternalRosSystem.g:6854:1: ( 'RefPublisher' ) + // InternalRosSystem.g:6855:2: 'RefPublisher' { before(grammarAccess.getRosPublisherAccess().getRefPublisherKeyword_5()); - match(input,52,FOLLOW_2); + match(input,58,FOLLOW_2); after(grammarAccess.getRosPublisherAccess().getRefPublisherKeyword_5()); } @@ -17401,16 +20846,16 @@ public final void rule__RosPublisher__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group__6" - // InternalRosSystem.g:5734:1: rule__RosPublisher__Group__6 : rule__RosPublisher__Group__6__Impl rule__RosPublisher__Group__7 ; + // InternalRosSystem.g:6864:1: rule__RosPublisher__Group__6 : rule__RosPublisher__Group__6__Impl rule__RosPublisher__Group__7 ; public final void rule__RosPublisher__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5738:1: ( rule__RosPublisher__Group__6__Impl rule__RosPublisher__Group__7 ) - // InternalRosSystem.g:5739:2: rule__RosPublisher__Group__6__Impl rule__RosPublisher__Group__7 + // InternalRosSystem.g:6868:1: ( rule__RosPublisher__Group__6__Impl rule__RosPublisher__Group__7 ) + // InternalRosSystem.g:6869:2: rule__RosPublisher__Group__6__Impl rule__RosPublisher__Group__7 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__RosPublisher__Group__6__Impl(); state._fsp--; @@ -17439,21 +20884,21 @@ public final void rule__RosPublisher__Group__6() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__6__Impl" - // InternalRosSystem.g:5746:1: rule__RosPublisher__Group__6__Impl : ( ( rule__RosPublisher__PublisherAssignment_6 ) ) ; + // InternalRosSystem.g:6876:1: rule__RosPublisher__Group__6__Impl : ( ( rule__RosPublisher__PublisherAssignment_6 ) ) ; public final void rule__RosPublisher__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5750:1: ( ( ( rule__RosPublisher__PublisherAssignment_6 ) ) ) - // InternalRosSystem.g:5751:1: ( ( rule__RosPublisher__PublisherAssignment_6 ) ) + // InternalRosSystem.g:6880:1: ( ( ( rule__RosPublisher__PublisherAssignment_6 ) ) ) + // InternalRosSystem.g:6881:1: ( ( rule__RosPublisher__PublisherAssignment_6 ) ) { - // InternalRosSystem.g:5751:1: ( ( rule__RosPublisher__PublisherAssignment_6 ) ) - // InternalRosSystem.g:5752:2: ( rule__RosPublisher__PublisherAssignment_6 ) + // InternalRosSystem.g:6881:1: ( ( rule__RosPublisher__PublisherAssignment_6 ) ) + // InternalRosSystem.g:6882:2: ( rule__RosPublisher__PublisherAssignment_6 ) { before(grammarAccess.getRosPublisherAccess().getPublisherAssignment_6()); - // InternalRosSystem.g:5753:2: ( rule__RosPublisher__PublisherAssignment_6 ) - // InternalRosSystem.g:5753:3: rule__RosPublisher__PublisherAssignment_6 + // InternalRosSystem.g:6883:2: ( rule__RosPublisher__PublisherAssignment_6 ) + // InternalRosSystem.g:6883:3: rule__RosPublisher__PublisherAssignment_6 { pushFollow(FOLLOW_2); rule__RosPublisher__PublisherAssignment_6(); @@ -17486,14 +20931,14 @@ public final void rule__RosPublisher__Group__6__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group__7" - // InternalRosSystem.g:5761:1: rule__RosPublisher__Group__7 : rule__RosPublisher__Group__7__Impl ; + // InternalRosSystem.g:6891:1: rule__RosPublisher__Group__7 : rule__RosPublisher__Group__7__Impl ; public final void rule__RosPublisher__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5765:1: ( rule__RosPublisher__Group__7__Impl ) - // InternalRosSystem.g:5766:2: rule__RosPublisher__Group__7__Impl + // InternalRosSystem.g:6895:1: ( rule__RosPublisher__Group__7__Impl ) + // InternalRosSystem.g:6896:2: rule__RosPublisher__Group__7__Impl { pushFollow(FOLLOW_2); rule__RosPublisher__Group__7__Impl(); @@ -17519,17 +20964,17 @@ public final void rule__RosPublisher__Group__7() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group__7__Impl" - // InternalRosSystem.g:5772:1: rule__RosPublisher__Group__7__Impl : ( '}' ) ; + // InternalRosSystem.g:6902:1: rule__RosPublisher__Group__7__Impl : ( '}' ) ; public final void rule__RosPublisher__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5776:1: ( ( '}' ) ) - // InternalRosSystem.g:5777:1: ( '}' ) + // InternalRosSystem.g:6906:1: ( ( '}' ) ) + // InternalRosSystem.g:6907:1: ( '}' ) { - // InternalRosSystem.g:5777:1: ( '}' ) - // InternalRosSystem.g:5778:2: '}' + // InternalRosSystem.g:6907:1: ( '}' ) + // InternalRosSystem.g:6908:2: '}' { before(grammarAccess.getRosPublisherAccess().getRightCurlyBracketKeyword_7()); match(input,26,FOLLOW_2); @@ -17556,14 +21001,14 @@ public final void rule__RosPublisher__Group__7__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosPublisher__Group_4__0" - // InternalRosSystem.g:5788:1: rule__RosPublisher__Group_4__0 : rule__RosPublisher__Group_4__0__Impl rule__RosPublisher__Group_4__1 ; + // InternalRosSystem.g:6918:1: rule__RosPublisher__Group_4__0 : rule__RosPublisher__Group_4__0__Impl rule__RosPublisher__Group_4__1 ; public final void rule__RosPublisher__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5792:1: ( rule__RosPublisher__Group_4__0__Impl rule__RosPublisher__Group_4__1 ) - // InternalRosSystem.g:5793:2: rule__RosPublisher__Group_4__0__Impl rule__RosPublisher__Group_4__1 + // InternalRosSystem.g:6922:1: ( rule__RosPublisher__Group_4__0__Impl rule__RosPublisher__Group_4__1 ) + // InternalRosSystem.g:6923:2: rule__RosPublisher__Group_4__0__Impl rule__RosPublisher__Group_4__1 { pushFollow(FOLLOW_6); rule__RosPublisher__Group_4__0__Impl(); @@ -17594,20 +21039,20 @@ public final void rule__RosPublisher__Group_4__0() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group_4__0__Impl" - // InternalRosSystem.g:5800:1: rule__RosPublisher__Group_4__0__Impl : ( 'ns' ) ; + // InternalRosSystem.g:6930:1: rule__RosPublisher__Group_4__0__Impl : ( 'ns' ) ; public final void rule__RosPublisher__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5804:1: ( ( 'ns' ) ) - // InternalRosSystem.g:5805:1: ( 'ns' ) + // InternalRosSystem.g:6934:1: ( ( 'ns' ) ) + // InternalRosSystem.g:6935:1: ( 'ns' ) { - // InternalRosSystem.g:5805:1: ( 'ns' ) - // InternalRosSystem.g:5806:2: 'ns' + // InternalRosSystem.g:6935:1: ( 'ns' ) + // InternalRosSystem.g:6936:2: 'ns' { before(grammarAccess.getRosPublisherAccess().getNsKeyword_4_0()); - match(input,53,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getRosPublisherAccess().getNsKeyword_4_0()); } @@ -17631,14 +21076,14 @@ public final void rule__RosPublisher__Group_4__0__Impl() throws RecognitionExcep // $ANTLR start "rule__RosPublisher__Group_4__1" - // InternalRosSystem.g:5815:1: rule__RosPublisher__Group_4__1 : rule__RosPublisher__Group_4__1__Impl ; + // InternalRosSystem.g:6945:1: rule__RosPublisher__Group_4__1 : rule__RosPublisher__Group_4__1__Impl ; public final void rule__RosPublisher__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5819:1: ( rule__RosPublisher__Group_4__1__Impl ) - // InternalRosSystem.g:5820:2: rule__RosPublisher__Group_4__1__Impl + // InternalRosSystem.g:6949:1: ( rule__RosPublisher__Group_4__1__Impl ) + // InternalRosSystem.g:6950:2: rule__RosPublisher__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__RosPublisher__Group_4__1__Impl(); @@ -17664,21 +21109,21 @@ public final void rule__RosPublisher__Group_4__1() throws RecognitionException { // $ANTLR start "rule__RosPublisher__Group_4__1__Impl" - // InternalRosSystem.g:5826:1: rule__RosPublisher__Group_4__1__Impl : ( ( rule__RosPublisher__NsAssignment_4_1 ) ) ; + // InternalRosSystem.g:6956:1: rule__RosPublisher__Group_4__1__Impl : ( ( rule__RosPublisher__NsAssignment_4_1 ) ) ; public final void rule__RosPublisher__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5830:1: ( ( ( rule__RosPublisher__NsAssignment_4_1 ) ) ) - // InternalRosSystem.g:5831:1: ( ( rule__RosPublisher__NsAssignment_4_1 ) ) + // InternalRosSystem.g:6960:1: ( ( ( rule__RosPublisher__NsAssignment_4_1 ) ) ) + // InternalRosSystem.g:6961:1: ( ( rule__RosPublisher__NsAssignment_4_1 ) ) { - // InternalRosSystem.g:5831:1: ( ( rule__RosPublisher__NsAssignment_4_1 ) ) - // InternalRosSystem.g:5832:2: ( rule__RosPublisher__NsAssignment_4_1 ) + // InternalRosSystem.g:6961:1: ( ( rule__RosPublisher__NsAssignment_4_1 ) ) + // InternalRosSystem.g:6962:2: ( rule__RosPublisher__NsAssignment_4_1 ) { before(grammarAccess.getRosPublisherAccess().getNsAssignment_4_1()); - // InternalRosSystem.g:5833:2: ( rule__RosPublisher__NsAssignment_4_1 ) - // InternalRosSystem.g:5833:3: rule__RosPublisher__NsAssignment_4_1 + // InternalRosSystem.g:6963:2: ( rule__RosPublisher__NsAssignment_4_1 ) + // InternalRosSystem.g:6963:3: rule__RosPublisher__NsAssignment_4_1 { pushFollow(FOLLOW_2); rule__RosPublisher__NsAssignment_4_1(); @@ -17711,16 +21156,16 @@ public final void rule__RosPublisher__Group_4__1__Impl() throws RecognitionExcep // $ANTLR start "rule__RosSubscriber__Group__0" - // InternalRosSystem.g:5842:1: rule__RosSubscriber__Group__0 : rule__RosSubscriber__Group__0__Impl rule__RosSubscriber__Group__1 ; + // InternalRosSystem.g:6972:1: rule__RosSubscriber__Group__0 : rule__RosSubscriber__Group__0__Impl rule__RosSubscriber__Group__1 ; public final void rule__RosSubscriber__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5846:1: ( rule__RosSubscriber__Group__0__Impl rule__RosSubscriber__Group__1 ) - // InternalRosSystem.g:5847:2: rule__RosSubscriber__Group__0__Impl rule__RosSubscriber__Group__1 + // InternalRosSystem.g:6976:1: ( rule__RosSubscriber__Group__0__Impl rule__RosSubscriber__Group__1 ) + // InternalRosSystem.g:6977:2: rule__RosSubscriber__Group__0__Impl rule__RosSubscriber__Group__1 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_37); rule__RosSubscriber__Group__0__Impl(); state._fsp--; @@ -17749,21 +21194,21 @@ public final void rule__RosSubscriber__Group__0() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__0__Impl" - // InternalRosSystem.g:5854:1: rule__RosSubscriber__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:6984:1: rule__RosSubscriber__Group__0__Impl : ( () ) ; public final void rule__RosSubscriber__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5858:1: ( ( () ) ) - // InternalRosSystem.g:5859:1: ( () ) + // InternalRosSystem.g:6988:1: ( ( () ) ) + // InternalRosSystem.g:6989:1: ( () ) { - // InternalRosSystem.g:5859:1: ( () ) - // InternalRosSystem.g:5860:2: () + // InternalRosSystem.g:6989:1: ( () ) + // InternalRosSystem.g:6990:2: () { before(grammarAccess.getRosSubscriberAccess().getRosSubscriberAction_0()); - // InternalRosSystem.g:5861:2: () - // InternalRosSystem.g:5861:3: + // InternalRosSystem.g:6991:2: () + // InternalRosSystem.g:6991:3: { } @@ -17786,16 +21231,16 @@ public final void rule__RosSubscriber__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group__1" - // InternalRosSystem.g:5869:1: rule__RosSubscriber__Group__1 : rule__RosSubscriber__Group__1__Impl rule__RosSubscriber__Group__2 ; + // InternalRosSystem.g:6999:1: rule__RosSubscriber__Group__1 : rule__RosSubscriber__Group__1__Impl rule__RosSubscriber__Group__2 ; public final void rule__RosSubscriber__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5873:1: ( rule__RosSubscriber__Group__1__Impl rule__RosSubscriber__Group__2 ) - // InternalRosSystem.g:5874:2: rule__RosSubscriber__Group__1__Impl rule__RosSubscriber__Group__2 + // InternalRosSystem.g:7003:1: ( rule__RosSubscriber__Group__1__Impl rule__RosSubscriber__Group__2 ) + // InternalRosSystem.g:7004:2: rule__RosSubscriber__Group__1__Impl rule__RosSubscriber__Group__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosSubscriber__Group__1__Impl(); state._fsp--; @@ -17824,20 +21269,20 @@ public final void rule__RosSubscriber__Group__1() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__1__Impl" - // InternalRosSystem.g:5881:1: rule__RosSubscriber__Group__1__Impl : ( 'RosSubscriber' ) ; + // InternalRosSystem.g:7011:1: rule__RosSubscriber__Group__1__Impl : ( 'RosSubscriber' ) ; public final void rule__RosSubscriber__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5885:1: ( ( 'RosSubscriber' ) ) - // InternalRosSystem.g:5886:1: ( 'RosSubscriber' ) + // InternalRosSystem.g:7015:1: ( ( 'RosSubscriber' ) ) + // InternalRosSystem.g:7016:1: ( 'RosSubscriber' ) { - // InternalRosSystem.g:5886:1: ( 'RosSubscriber' ) - // InternalRosSystem.g:5887:2: 'RosSubscriber' + // InternalRosSystem.g:7016:1: ( 'RosSubscriber' ) + // InternalRosSystem.g:7017:2: 'RosSubscriber' { before(grammarAccess.getRosSubscriberAccess().getRosSubscriberKeyword_1()); - match(input,54,FOLLOW_2); + match(input,60,FOLLOW_2); after(grammarAccess.getRosSubscriberAccess().getRosSubscriberKeyword_1()); } @@ -17861,16 +21306,16 @@ public final void rule__RosSubscriber__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group__2" - // InternalRosSystem.g:5896:1: rule__RosSubscriber__Group__2 : rule__RosSubscriber__Group__2__Impl rule__RosSubscriber__Group__3 ; + // InternalRosSystem.g:7026:1: rule__RosSubscriber__Group__2 : rule__RosSubscriber__Group__2__Impl rule__RosSubscriber__Group__3 ; public final void rule__RosSubscriber__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5900:1: ( rule__RosSubscriber__Group__2__Impl rule__RosSubscriber__Group__3 ) - // InternalRosSystem.g:5901:2: rule__RosSubscriber__Group__2__Impl rule__RosSubscriber__Group__3 + // InternalRosSystem.g:7030:1: ( rule__RosSubscriber__Group__2__Impl rule__RosSubscriber__Group__3 ) + // InternalRosSystem.g:7031:2: rule__RosSubscriber__Group__2__Impl rule__RosSubscriber__Group__3 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosSubscriber__Group__2__Impl(); state._fsp--; @@ -17899,29 +21344,29 @@ public final void rule__RosSubscriber__Group__2() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__2__Impl" - // InternalRosSystem.g:5908:1: rule__RosSubscriber__Group__2__Impl : ( ( rule__RosSubscriber__NameAssignment_2 )? ) ; + // InternalRosSystem.g:7038:1: rule__RosSubscriber__Group__2__Impl : ( ( rule__RosSubscriber__NameAssignment_2 )? ) ; public final void rule__RosSubscriber__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5912:1: ( ( ( rule__RosSubscriber__NameAssignment_2 )? ) ) - // InternalRosSystem.g:5913:1: ( ( rule__RosSubscriber__NameAssignment_2 )? ) + // InternalRosSystem.g:7042:1: ( ( ( rule__RosSubscriber__NameAssignment_2 )? ) ) + // InternalRosSystem.g:7043:1: ( ( rule__RosSubscriber__NameAssignment_2 )? ) { - // InternalRosSystem.g:5913:1: ( ( rule__RosSubscriber__NameAssignment_2 )? ) - // InternalRosSystem.g:5914:2: ( rule__RosSubscriber__NameAssignment_2 )? + // InternalRosSystem.g:7043:1: ( ( rule__RosSubscriber__NameAssignment_2 )? ) + // InternalRosSystem.g:7044:2: ( rule__RosSubscriber__NameAssignment_2 )? { before(grammarAccess.getRosSubscriberAccess().getNameAssignment_2()); - // InternalRosSystem.g:5915:2: ( rule__RosSubscriber__NameAssignment_2 )? - int alt41=2; - int LA41_0 = input.LA(1); + // InternalRosSystem.g:7045:2: ( rule__RosSubscriber__NameAssignment_2 )? + int alt52=2; + int LA52_0 = input.LA(1); - if ( ((LA41_0>=RULE_STRING && LA41_0<=RULE_ID)) ) { - alt41=1; + if ( ((LA52_0>=RULE_STRING && LA52_0<=RULE_ID)) ) { + alt52=1; } - switch (alt41) { + switch (alt52) { case 1 : - // InternalRosSystem.g:5915:3: rule__RosSubscriber__NameAssignment_2 + // InternalRosSystem.g:7045:3: rule__RosSubscriber__NameAssignment_2 { pushFollow(FOLLOW_2); rule__RosSubscriber__NameAssignment_2(); @@ -17957,16 +21402,16 @@ public final void rule__RosSubscriber__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group__3" - // InternalRosSystem.g:5923:1: rule__RosSubscriber__Group__3 : rule__RosSubscriber__Group__3__Impl rule__RosSubscriber__Group__4 ; + // InternalRosSystem.g:7053:1: rule__RosSubscriber__Group__3 : rule__RosSubscriber__Group__3__Impl rule__RosSubscriber__Group__4 ; public final void rule__RosSubscriber__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5927:1: ( rule__RosSubscriber__Group__3__Impl rule__RosSubscriber__Group__4 ) - // InternalRosSystem.g:5928:2: rule__RosSubscriber__Group__3__Impl rule__RosSubscriber__Group__4 + // InternalRosSystem.g:7057:1: ( rule__RosSubscriber__Group__3__Impl rule__RosSubscriber__Group__4 ) + // InternalRosSystem.g:7058:2: rule__RosSubscriber__Group__3__Impl rule__RosSubscriber__Group__4 { - pushFollow(FOLLOW_37); + pushFollow(FOLLOW_45); rule__RosSubscriber__Group__3__Impl(); state._fsp--; @@ -17995,17 +21440,17 @@ public final void rule__RosSubscriber__Group__3() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__3__Impl" - // InternalRosSystem.g:5935:1: rule__RosSubscriber__Group__3__Impl : ( '{' ) ; + // InternalRosSystem.g:7065:1: rule__RosSubscriber__Group__3__Impl : ( '{' ) ; public final void rule__RosSubscriber__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5939:1: ( ( '{' ) ) - // InternalRosSystem.g:5940:1: ( '{' ) + // InternalRosSystem.g:7069:1: ( ( '{' ) ) + // InternalRosSystem.g:7070:1: ( '{' ) { - // InternalRosSystem.g:5940:1: ( '{' ) - // InternalRosSystem.g:5941:2: '{' + // InternalRosSystem.g:7070:1: ( '{' ) + // InternalRosSystem.g:7071:2: '{' { before(grammarAccess.getRosSubscriberAccess().getLeftCurlyBracketKeyword_3()); match(input,24,FOLLOW_2); @@ -18032,16 +21477,16 @@ public final void rule__RosSubscriber__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group__4" - // InternalRosSystem.g:5950:1: rule__RosSubscriber__Group__4 : rule__RosSubscriber__Group__4__Impl rule__RosSubscriber__Group__5 ; + // InternalRosSystem.g:7080:1: rule__RosSubscriber__Group__4 : rule__RosSubscriber__Group__4__Impl rule__RosSubscriber__Group__5 ; public final void rule__RosSubscriber__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5954:1: ( rule__RosSubscriber__Group__4__Impl rule__RosSubscriber__Group__5 ) - // InternalRosSystem.g:5955:2: rule__RosSubscriber__Group__4__Impl rule__RosSubscriber__Group__5 + // InternalRosSystem.g:7084:1: ( rule__RosSubscriber__Group__4__Impl rule__RosSubscriber__Group__5 ) + // InternalRosSystem.g:7085:2: rule__RosSubscriber__Group__4__Impl rule__RosSubscriber__Group__5 { - pushFollow(FOLLOW_37); + pushFollow(FOLLOW_45); rule__RosSubscriber__Group__4__Impl(); state._fsp--; @@ -18070,29 +21515,29 @@ public final void rule__RosSubscriber__Group__4() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__4__Impl" - // InternalRosSystem.g:5962:1: rule__RosSubscriber__Group__4__Impl : ( ( rule__RosSubscriber__Group_4__0 )? ) ; + // InternalRosSystem.g:7092:1: rule__RosSubscriber__Group__4__Impl : ( ( rule__RosSubscriber__Group_4__0 )? ) ; public final void rule__RosSubscriber__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5966:1: ( ( ( rule__RosSubscriber__Group_4__0 )? ) ) - // InternalRosSystem.g:5967:1: ( ( rule__RosSubscriber__Group_4__0 )? ) + // InternalRosSystem.g:7096:1: ( ( ( rule__RosSubscriber__Group_4__0 )? ) ) + // InternalRosSystem.g:7097:1: ( ( rule__RosSubscriber__Group_4__0 )? ) { - // InternalRosSystem.g:5967:1: ( ( rule__RosSubscriber__Group_4__0 )? ) - // InternalRosSystem.g:5968:2: ( rule__RosSubscriber__Group_4__0 )? + // InternalRosSystem.g:7097:1: ( ( rule__RosSubscriber__Group_4__0 )? ) + // InternalRosSystem.g:7098:2: ( rule__RosSubscriber__Group_4__0 )? { before(grammarAccess.getRosSubscriberAccess().getGroup_4()); - // InternalRosSystem.g:5969:2: ( rule__RosSubscriber__Group_4__0 )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalRosSystem.g:7099:2: ( rule__RosSubscriber__Group_4__0 )? + int alt53=2; + int LA53_0 = input.LA(1); - if ( (LA42_0==53) ) { - alt42=1; + if ( (LA53_0==59) ) { + alt53=1; } - switch (alt42) { + switch (alt53) { case 1 : - // InternalRosSystem.g:5969:3: rule__RosSubscriber__Group_4__0 + // InternalRosSystem.g:7099:3: rule__RosSubscriber__Group_4__0 { pushFollow(FOLLOW_2); rule__RosSubscriber__Group_4__0(); @@ -18128,14 +21573,14 @@ public final void rule__RosSubscriber__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group__5" - // InternalRosSystem.g:5977:1: rule__RosSubscriber__Group__5 : rule__RosSubscriber__Group__5__Impl rule__RosSubscriber__Group__6 ; + // InternalRosSystem.g:7107:1: rule__RosSubscriber__Group__5 : rule__RosSubscriber__Group__5__Impl rule__RosSubscriber__Group__6 ; public final void rule__RosSubscriber__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5981:1: ( rule__RosSubscriber__Group__5__Impl rule__RosSubscriber__Group__6 ) - // InternalRosSystem.g:5982:2: rule__RosSubscriber__Group__5__Impl rule__RosSubscriber__Group__6 + // InternalRosSystem.g:7111:1: ( rule__RosSubscriber__Group__5__Impl rule__RosSubscriber__Group__6 ) + // InternalRosSystem.g:7112:2: rule__RosSubscriber__Group__5__Impl rule__RosSubscriber__Group__6 { pushFollow(FOLLOW_6); rule__RosSubscriber__Group__5__Impl(); @@ -18166,20 +21611,20 @@ public final void rule__RosSubscriber__Group__5() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__5__Impl" - // InternalRosSystem.g:5989:1: rule__RosSubscriber__Group__5__Impl : ( 'RefSubscriber' ) ; + // InternalRosSystem.g:7119:1: rule__RosSubscriber__Group__5__Impl : ( 'RefSubscriber' ) ; public final void rule__RosSubscriber__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:5993:1: ( ( 'RefSubscriber' ) ) - // InternalRosSystem.g:5994:1: ( 'RefSubscriber' ) + // InternalRosSystem.g:7123:1: ( ( 'RefSubscriber' ) ) + // InternalRosSystem.g:7124:1: ( 'RefSubscriber' ) { - // InternalRosSystem.g:5994:1: ( 'RefSubscriber' ) - // InternalRosSystem.g:5995:2: 'RefSubscriber' + // InternalRosSystem.g:7124:1: ( 'RefSubscriber' ) + // InternalRosSystem.g:7125:2: 'RefSubscriber' { before(grammarAccess.getRosSubscriberAccess().getRefSubscriberKeyword_5()); - match(input,55,FOLLOW_2); + match(input,61,FOLLOW_2); after(grammarAccess.getRosSubscriberAccess().getRefSubscriberKeyword_5()); } @@ -18203,16 +21648,16 @@ public final void rule__RosSubscriber__Group__5__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group__6" - // InternalRosSystem.g:6004:1: rule__RosSubscriber__Group__6 : rule__RosSubscriber__Group__6__Impl rule__RosSubscriber__Group__7 ; + // InternalRosSystem.g:7134:1: rule__RosSubscriber__Group__6 : rule__RosSubscriber__Group__6__Impl rule__RosSubscriber__Group__7 ; public final void rule__RosSubscriber__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6008:1: ( rule__RosSubscriber__Group__6__Impl rule__RosSubscriber__Group__7 ) - // InternalRosSystem.g:6009:2: rule__RosSubscriber__Group__6__Impl rule__RosSubscriber__Group__7 + // InternalRosSystem.g:7138:1: ( rule__RosSubscriber__Group__6__Impl rule__RosSubscriber__Group__7 ) + // InternalRosSystem.g:7139:2: rule__RosSubscriber__Group__6__Impl rule__RosSubscriber__Group__7 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__RosSubscriber__Group__6__Impl(); state._fsp--; @@ -18241,21 +21686,21 @@ public final void rule__RosSubscriber__Group__6() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__6__Impl" - // InternalRosSystem.g:6016:1: rule__RosSubscriber__Group__6__Impl : ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) ; + // InternalRosSystem.g:7146:1: rule__RosSubscriber__Group__6__Impl : ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) ; public final void rule__RosSubscriber__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6020:1: ( ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) ) - // InternalRosSystem.g:6021:1: ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) + // InternalRosSystem.g:7150:1: ( ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) ) + // InternalRosSystem.g:7151:1: ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) { - // InternalRosSystem.g:6021:1: ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) - // InternalRosSystem.g:6022:2: ( rule__RosSubscriber__SubscriberAssignment_6 ) + // InternalRosSystem.g:7151:1: ( ( rule__RosSubscriber__SubscriberAssignment_6 ) ) + // InternalRosSystem.g:7152:2: ( rule__RosSubscriber__SubscriberAssignment_6 ) { before(grammarAccess.getRosSubscriberAccess().getSubscriberAssignment_6()); - // InternalRosSystem.g:6023:2: ( rule__RosSubscriber__SubscriberAssignment_6 ) - // InternalRosSystem.g:6023:3: rule__RosSubscriber__SubscriberAssignment_6 + // InternalRosSystem.g:7153:2: ( rule__RosSubscriber__SubscriberAssignment_6 ) + // InternalRosSystem.g:7153:3: rule__RosSubscriber__SubscriberAssignment_6 { pushFollow(FOLLOW_2); rule__RosSubscriber__SubscriberAssignment_6(); @@ -18288,14 +21733,14 @@ public final void rule__RosSubscriber__Group__6__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group__7" - // InternalRosSystem.g:6031:1: rule__RosSubscriber__Group__7 : rule__RosSubscriber__Group__7__Impl ; + // InternalRosSystem.g:7161:1: rule__RosSubscriber__Group__7 : rule__RosSubscriber__Group__7__Impl ; public final void rule__RosSubscriber__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6035:1: ( rule__RosSubscriber__Group__7__Impl ) - // InternalRosSystem.g:6036:2: rule__RosSubscriber__Group__7__Impl + // InternalRosSystem.g:7165:1: ( rule__RosSubscriber__Group__7__Impl ) + // InternalRosSystem.g:7166:2: rule__RosSubscriber__Group__7__Impl { pushFollow(FOLLOW_2); rule__RosSubscriber__Group__7__Impl(); @@ -18321,17 +21766,17 @@ public final void rule__RosSubscriber__Group__7() throws RecognitionException { // $ANTLR start "rule__RosSubscriber__Group__7__Impl" - // InternalRosSystem.g:6042:1: rule__RosSubscriber__Group__7__Impl : ( '}' ) ; + // InternalRosSystem.g:7172:1: rule__RosSubscriber__Group__7__Impl : ( '}' ) ; public final void rule__RosSubscriber__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6046:1: ( ( '}' ) ) - // InternalRosSystem.g:6047:1: ( '}' ) + // InternalRosSystem.g:7176:1: ( ( '}' ) ) + // InternalRosSystem.g:7177:1: ( '}' ) { - // InternalRosSystem.g:6047:1: ( '}' ) - // InternalRosSystem.g:6048:2: '}' + // InternalRosSystem.g:7177:1: ( '}' ) + // InternalRosSystem.g:7178:2: '}' { before(grammarAccess.getRosSubscriberAccess().getRightCurlyBracketKeyword_7()); match(input,26,FOLLOW_2); @@ -18358,14 +21803,14 @@ public final void rule__RosSubscriber__Group__7__Impl() throws RecognitionExcept // $ANTLR start "rule__RosSubscriber__Group_4__0" - // InternalRosSystem.g:6058:1: rule__RosSubscriber__Group_4__0 : rule__RosSubscriber__Group_4__0__Impl rule__RosSubscriber__Group_4__1 ; + // InternalRosSystem.g:7188:1: rule__RosSubscriber__Group_4__0 : rule__RosSubscriber__Group_4__0__Impl rule__RosSubscriber__Group_4__1 ; public final void rule__RosSubscriber__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6062:1: ( rule__RosSubscriber__Group_4__0__Impl rule__RosSubscriber__Group_4__1 ) - // InternalRosSystem.g:6063:2: rule__RosSubscriber__Group_4__0__Impl rule__RosSubscriber__Group_4__1 + // InternalRosSystem.g:7192:1: ( rule__RosSubscriber__Group_4__0__Impl rule__RosSubscriber__Group_4__1 ) + // InternalRosSystem.g:7193:2: rule__RosSubscriber__Group_4__0__Impl rule__RosSubscriber__Group_4__1 { pushFollow(FOLLOW_6); rule__RosSubscriber__Group_4__0__Impl(); @@ -18396,20 +21841,20 @@ public final void rule__RosSubscriber__Group_4__0() throws RecognitionException // $ANTLR start "rule__RosSubscriber__Group_4__0__Impl" - // InternalRosSystem.g:6070:1: rule__RosSubscriber__Group_4__0__Impl : ( 'ns' ) ; + // InternalRosSystem.g:7200:1: rule__RosSubscriber__Group_4__0__Impl : ( 'ns' ) ; public final void rule__RosSubscriber__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6074:1: ( ( 'ns' ) ) - // InternalRosSystem.g:6075:1: ( 'ns' ) + // InternalRosSystem.g:7204:1: ( ( 'ns' ) ) + // InternalRosSystem.g:7205:1: ( 'ns' ) { - // InternalRosSystem.g:6075:1: ( 'ns' ) - // InternalRosSystem.g:6076:2: 'ns' + // InternalRosSystem.g:7205:1: ( 'ns' ) + // InternalRosSystem.g:7206:2: 'ns' { before(grammarAccess.getRosSubscriberAccess().getNsKeyword_4_0()); - match(input,53,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getRosSubscriberAccess().getNsKeyword_4_0()); } @@ -18433,14 +21878,14 @@ public final void rule__RosSubscriber__Group_4__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosSubscriber__Group_4__1" - // InternalRosSystem.g:6085:1: rule__RosSubscriber__Group_4__1 : rule__RosSubscriber__Group_4__1__Impl ; + // InternalRosSystem.g:7215:1: rule__RosSubscriber__Group_4__1 : rule__RosSubscriber__Group_4__1__Impl ; public final void rule__RosSubscriber__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6089:1: ( rule__RosSubscriber__Group_4__1__Impl ) - // InternalRosSystem.g:6090:2: rule__RosSubscriber__Group_4__1__Impl + // InternalRosSystem.g:7219:1: ( rule__RosSubscriber__Group_4__1__Impl ) + // InternalRosSystem.g:7220:2: rule__RosSubscriber__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__RosSubscriber__Group_4__1__Impl(); @@ -18466,21 +21911,21 @@ public final void rule__RosSubscriber__Group_4__1() throws RecognitionException // $ANTLR start "rule__RosSubscriber__Group_4__1__Impl" - // InternalRosSystem.g:6096:1: rule__RosSubscriber__Group_4__1__Impl : ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) ; + // InternalRosSystem.g:7226:1: rule__RosSubscriber__Group_4__1__Impl : ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) ; public final void rule__RosSubscriber__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6100:1: ( ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) ) - // InternalRosSystem.g:6101:1: ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) + // InternalRosSystem.g:7230:1: ( ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) ) + // InternalRosSystem.g:7231:1: ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) { - // InternalRosSystem.g:6101:1: ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) - // InternalRosSystem.g:6102:2: ( rule__RosSubscriber__NsAssignment_4_1 ) + // InternalRosSystem.g:7231:1: ( ( rule__RosSubscriber__NsAssignment_4_1 ) ) + // InternalRosSystem.g:7232:2: ( rule__RosSubscriber__NsAssignment_4_1 ) { before(grammarAccess.getRosSubscriberAccess().getNsAssignment_4_1()); - // InternalRosSystem.g:6103:2: ( rule__RosSubscriber__NsAssignment_4_1 ) - // InternalRosSystem.g:6103:3: rule__RosSubscriber__NsAssignment_4_1 + // InternalRosSystem.g:7233:2: ( rule__RosSubscriber__NsAssignment_4_1 ) + // InternalRosSystem.g:7233:3: rule__RosSubscriber__NsAssignment_4_1 { pushFollow(FOLLOW_2); rule__RosSubscriber__NsAssignment_4_1(); @@ -18513,16 +21958,16 @@ public final void rule__RosSubscriber__Group_4__1__Impl() throws RecognitionExce // $ANTLR start "rule__RosServiceServer__Group__0" - // InternalRosSystem.g:6112:1: rule__RosServiceServer__Group__0 : rule__RosServiceServer__Group__0__Impl rule__RosServiceServer__Group__1 ; + // InternalRosSystem.g:7242:1: rule__RosServiceServer__Group__0 : rule__RosServiceServer__Group__0__Impl rule__RosServiceServer__Group__1 ; public final void rule__RosServiceServer__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6116:1: ( rule__RosServiceServer__Group__0__Impl rule__RosServiceServer__Group__1 ) - // InternalRosSystem.g:6117:2: rule__RosServiceServer__Group__0__Impl rule__RosServiceServer__Group__1 + // InternalRosSystem.g:7246:1: ( rule__RosServiceServer__Group__0__Impl rule__RosServiceServer__Group__1 ) + // InternalRosSystem.g:7247:2: rule__RosServiceServer__Group__0__Impl rule__RosServiceServer__Group__1 { - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_38); rule__RosServiceServer__Group__0__Impl(); state._fsp--; @@ -18551,21 +21996,21 @@ public final void rule__RosServiceServer__Group__0() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__0__Impl" - // InternalRosSystem.g:6124:1: rule__RosServiceServer__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:7254:1: rule__RosServiceServer__Group__0__Impl : ( () ) ; public final void rule__RosServiceServer__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6128:1: ( ( () ) ) - // InternalRosSystem.g:6129:1: ( () ) + // InternalRosSystem.g:7258:1: ( ( () ) ) + // InternalRosSystem.g:7259:1: ( () ) { - // InternalRosSystem.g:6129:1: ( () ) - // InternalRosSystem.g:6130:2: () + // InternalRosSystem.g:7259:1: ( () ) + // InternalRosSystem.g:7260:2: () { before(grammarAccess.getRosServiceServerAccess().getRosServiceServerAction_0()); - // InternalRosSystem.g:6131:2: () - // InternalRosSystem.g:6131:3: + // InternalRosSystem.g:7261:2: () + // InternalRosSystem.g:7261:3: { } @@ -18588,16 +22033,16 @@ public final void rule__RosServiceServer__Group__0__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group__1" - // InternalRosSystem.g:6139:1: rule__RosServiceServer__Group__1 : rule__RosServiceServer__Group__1__Impl rule__RosServiceServer__Group__2 ; + // InternalRosSystem.g:7269:1: rule__RosServiceServer__Group__1 : rule__RosServiceServer__Group__1__Impl rule__RosServiceServer__Group__2 ; public final void rule__RosServiceServer__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6143:1: ( rule__RosServiceServer__Group__1__Impl rule__RosServiceServer__Group__2 ) - // InternalRosSystem.g:6144:2: rule__RosServiceServer__Group__1__Impl rule__RosServiceServer__Group__2 + // InternalRosSystem.g:7273:1: ( rule__RosServiceServer__Group__1__Impl rule__RosServiceServer__Group__2 ) + // InternalRosSystem.g:7274:2: rule__RosServiceServer__Group__1__Impl rule__RosServiceServer__Group__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosServiceServer__Group__1__Impl(); state._fsp--; @@ -18626,20 +22071,20 @@ public final void rule__RosServiceServer__Group__1() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__1__Impl" - // InternalRosSystem.g:6151:1: rule__RosServiceServer__Group__1__Impl : ( 'RosServiceServer' ) ; + // InternalRosSystem.g:7281:1: rule__RosServiceServer__Group__1__Impl : ( 'RosServiceServer' ) ; public final void rule__RosServiceServer__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6155:1: ( ( 'RosServiceServer' ) ) - // InternalRosSystem.g:6156:1: ( 'RosServiceServer' ) + // InternalRosSystem.g:7285:1: ( ( 'RosServiceServer' ) ) + // InternalRosSystem.g:7286:1: ( 'RosServiceServer' ) { - // InternalRosSystem.g:6156:1: ( 'RosServiceServer' ) - // InternalRosSystem.g:6157:2: 'RosServiceServer' + // InternalRosSystem.g:7286:1: ( 'RosServiceServer' ) + // InternalRosSystem.g:7287:2: 'RosServiceServer' { before(grammarAccess.getRosServiceServerAccess().getRosServiceServerKeyword_1()); - match(input,56,FOLLOW_2); + match(input,62,FOLLOW_2); after(grammarAccess.getRosServiceServerAccess().getRosServiceServerKeyword_1()); } @@ -18663,16 +22108,16 @@ public final void rule__RosServiceServer__Group__1__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group__2" - // InternalRosSystem.g:6166:1: rule__RosServiceServer__Group__2 : rule__RosServiceServer__Group__2__Impl rule__RosServiceServer__Group__3 ; + // InternalRosSystem.g:7296:1: rule__RosServiceServer__Group__2 : rule__RosServiceServer__Group__2__Impl rule__RosServiceServer__Group__3 ; public final void rule__RosServiceServer__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6170:1: ( rule__RosServiceServer__Group__2__Impl rule__RosServiceServer__Group__3 ) - // InternalRosSystem.g:6171:2: rule__RosServiceServer__Group__2__Impl rule__RosServiceServer__Group__3 + // InternalRosSystem.g:7300:1: ( rule__RosServiceServer__Group__2__Impl rule__RosServiceServer__Group__3 ) + // InternalRosSystem.g:7301:2: rule__RosServiceServer__Group__2__Impl rule__RosServiceServer__Group__3 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosServiceServer__Group__2__Impl(); state._fsp--; @@ -18701,29 +22146,29 @@ public final void rule__RosServiceServer__Group__2() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__2__Impl" - // InternalRosSystem.g:6178:1: rule__RosServiceServer__Group__2__Impl : ( ( rule__RosServiceServer__NameAssignment_2 )? ) ; + // InternalRosSystem.g:7308:1: rule__RosServiceServer__Group__2__Impl : ( ( rule__RosServiceServer__NameAssignment_2 )? ) ; public final void rule__RosServiceServer__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6182:1: ( ( ( rule__RosServiceServer__NameAssignment_2 )? ) ) - // InternalRosSystem.g:6183:1: ( ( rule__RosServiceServer__NameAssignment_2 )? ) + // InternalRosSystem.g:7312:1: ( ( ( rule__RosServiceServer__NameAssignment_2 )? ) ) + // InternalRosSystem.g:7313:1: ( ( rule__RosServiceServer__NameAssignment_2 )? ) { - // InternalRosSystem.g:6183:1: ( ( rule__RosServiceServer__NameAssignment_2 )? ) - // InternalRosSystem.g:6184:2: ( rule__RosServiceServer__NameAssignment_2 )? + // InternalRosSystem.g:7313:1: ( ( rule__RosServiceServer__NameAssignment_2 )? ) + // InternalRosSystem.g:7314:2: ( rule__RosServiceServer__NameAssignment_2 )? { before(grammarAccess.getRosServiceServerAccess().getNameAssignment_2()); - // InternalRosSystem.g:6185:2: ( rule__RosServiceServer__NameAssignment_2 )? - int alt43=2; - int LA43_0 = input.LA(1); + // InternalRosSystem.g:7315:2: ( rule__RosServiceServer__NameAssignment_2 )? + int alt54=2; + int LA54_0 = input.LA(1); - if ( ((LA43_0>=RULE_STRING && LA43_0<=RULE_ID)) ) { - alt43=1; + if ( ((LA54_0>=RULE_STRING && LA54_0<=RULE_ID)) ) { + alt54=1; } - switch (alt43) { + switch (alt54) { case 1 : - // InternalRosSystem.g:6185:3: rule__RosServiceServer__NameAssignment_2 + // InternalRosSystem.g:7315:3: rule__RosServiceServer__NameAssignment_2 { pushFollow(FOLLOW_2); rule__RosServiceServer__NameAssignment_2(); @@ -18759,16 +22204,16 @@ public final void rule__RosServiceServer__Group__2__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group__3" - // InternalRosSystem.g:6193:1: rule__RosServiceServer__Group__3 : rule__RosServiceServer__Group__3__Impl rule__RosServiceServer__Group__4 ; + // InternalRosSystem.g:7323:1: rule__RosServiceServer__Group__3 : rule__RosServiceServer__Group__3__Impl rule__RosServiceServer__Group__4 ; public final void rule__RosServiceServer__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6197:1: ( rule__RosServiceServer__Group__3__Impl rule__RosServiceServer__Group__4 ) - // InternalRosSystem.g:6198:2: rule__RosServiceServer__Group__3__Impl rule__RosServiceServer__Group__4 + // InternalRosSystem.g:7327:1: ( rule__RosServiceServer__Group__3__Impl rule__RosServiceServer__Group__4 ) + // InternalRosSystem.g:7328:2: rule__RosServiceServer__Group__3__Impl rule__RosServiceServer__Group__4 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_46); rule__RosServiceServer__Group__3__Impl(); state._fsp--; @@ -18797,17 +22242,17 @@ public final void rule__RosServiceServer__Group__3() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__3__Impl" - // InternalRosSystem.g:6205:1: rule__RosServiceServer__Group__3__Impl : ( '{' ) ; + // InternalRosSystem.g:7335:1: rule__RosServiceServer__Group__3__Impl : ( '{' ) ; public final void rule__RosServiceServer__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6209:1: ( ( '{' ) ) - // InternalRosSystem.g:6210:1: ( '{' ) + // InternalRosSystem.g:7339:1: ( ( '{' ) ) + // InternalRosSystem.g:7340:1: ( '{' ) { - // InternalRosSystem.g:6210:1: ( '{' ) - // InternalRosSystem.g:6211:2: '{' + // InternalRosSystem.g:7340:1: ( '{' ) + // InternalRosSystem.g:7341:2: '{' { before(grammarAccess.getRosServiceServerAccess().getLeftCurlyBracketKeyword_3()); match(input,24,FOLLOW_2); @@ -18834,16 +22279,16 @@ public final void rule__RosServiceServer__Group__3__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group__4" - // InternalRosSystem.g:6220:1: rule__RosServiceServer__Group__4 : rule__RosServiceServer__Group__4__Impl rule__RosServiceServer__Group__5 ; + // InternalRosSystem.g:7350:1: rule__RosServiceServer__Group__4 : rule__RosServiceServer__Group__4__Impl rule__RosServiceServer__Group__5 ; public final void rule__RosServiceServer__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6224:1: ( rule__RosServiceServer__Group__4__Impl rule__RosServiceServer__Group__5 ) - // InternalRosSystem.g:6225:2: rule__RosServiceServer__Group__4__Impl rule__RosServiceServer__Group__5 + // InternalRosSystem.g:7354:1: ( rule__RosServiceServer__Group__4__Impl rule__RosServiceServer__Group__5 ) + // InternalRosSystem.g:7355:2: rule__RosServiceServer__Group__4__Impl rule__RosServiceServer__Group__5 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_46); rule__RosServiceServer__Group__4__Impl(); state._fsp--; @@ -18872,29 +22317,29 @@ public final void rule__RosServiceServer__Group__4() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__4__Impl" - // InternalRosSystem.g:6232:1: rule__RosServiceServer__Group__4__Impl : ( ( rule__RosServiceServer__Group_4__0 )? ) ; + // InternalRosSystem.g:7362:1: rule__RosServiceServer__Group__4__Impl : ( ( rule__RosServiceServer__Group_4__0 )? ) ; public final void rule__RosServiceServer__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6236:1: ( ( ( rule__RosServiceServer__Group_4__0 )? ) ) - // InternalRosSystem.g:6237:1: ( ( rule__RosServiceServer__Group_4__0 )? ) + // InternalRosSystem.g:7366:1: ( ( ( rule__RosServiceServer__Group_4__0 )? ) ) + // InternalRosSystem.g:7367:1: ( ( rule__RosServiceServer__Group_4__0 )? ) { - // InternalRosSystem.g:6237:1: ( ( rule__RosServiceServer__Group_4__0 )? ) - // InternalRosSystem.g:6238:2: ( rule__RosServiceServer__Group_4__0 )? + // InternalRosSystem.g:7367:1: ( ( rule__RosServiceServer__Group_4__0 )? ) + // InternalRosSystem.g:7368:2: ( rule__RosServiceServer__Group_4__0 )? { before(grammarAccess.getRosServiceServerAccess().getGroup_4()); - // InternalRosSystem.g:6239:2: ( rule__RosServiceServer__Group_4__0 )? - int alt44=2; - int LA44_0 = input.LA(1); + // InternalRosSystem.g:7369:2: ( rule__RosServiceServer__Group_4__0 )? + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA44_0==53) ) { - alt44=1; + if ( (LA55_0==59) ) { + alt55=1; } - switch (alt44) { + switch (alt55) { case 1 : - // InternalRosSystem.g:6239:3: rule__RosServiceServer__Group_4__0 + // InternalRosSystem.g:7369:3: rule__RosServiceServer__Group_4__0 { pushFollow(FOLLOW_2); rule__RosServiceServer__Group_4__0(); @@ -18930,14 +22375,14 @@ public final void rule__RosServiceServer__Group__4__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group__5" - // InternalRosSystem.g:6247:1: rule__RosServiceServer__Group__5 : rule__RosServiceServer__Group__5__Impl rule__RosServiceServer__Group__6 ; + // InternalRosSystem.g:7377:1: rule__RosServiceServer__Group__5 : rule__RosServiceServer__Group__5__Impl rule__RosServiceServer__Group__6 ; public final void rule__RosServiceServer__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6251:1: ( rule__RosServiceServer__Group__5__Impl rule__RosServiceServer__Group__6 ) - // InternalRosSystem.g:6252:2: rule__RosServiceServer__Group__5__Impl rule__RosServiceServer__Group__6 + // InternalRosSystem.g:7381:1: ( rule__RosServiceServer__Group__5__Impl rule__RosServiceServer__Group__6 ) + // InternalRosSystem.g:7382:2: rule__RosServiceServer__Group__5__Impl rule__RosServiceServer__Group__6 { pushFollow(FOLLOW_6); rule__RosServiceServer__Group__5__Impl(); @@ -18968,20 +22413,20 @@ public final void rule__RosServiceServer__Group__5() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__5__Impl" - // InternalRosSystem.g:6259:1: rule__RosServiceServer__Group__5__Impl : ( 'RefServer' ) ; + // InternalRosSystem.g:7389:1: rule__RosServiceServer__Group__5__Impl : ( 'RefServer' ) ; public final void rule__RosServiceServer__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6263:1: ( ( 'RefServer' ) ) - // InternalRosSystem.g:6264:1: ( 'RefServer' ) + // InternalRosSystem.g:7393:1: ( ( 'RefServer' ) ) + // InternalRosSystem.g:7394:1: ( 'RefServer' ) { - // InternalRosSystem.g:6264:1: ( 'RefServer' ) - // InternalRosSystem.g:6265:2: 'RefServer' + // InternalRosSystem.g:7394:1: ( 'RefServer' ) + // InternalRosSystem.g:7395:2: 'RefServer' { before(grammarAccess.getRosServiceServerAccess().getRefServerKeyword_5()); - match(input,57,FOLLOW_2); + match(input,63,FOLLOW_2); after(grammarAccess.getRosServiceServerAccess().getRefServerKeyword_5()); } @@ -19005,16 +22450,16 @@ public final void rule__RosServiceServer__Group__5__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group__6" - // InternalRosSystem.g:6274:1: rule__RosServiceServer__Group__6 : rule__RosServiceServer__Group__6__Impl rule__RosServiceServer__Group__7 ; + // InternalRosSystem.g:7404:1: rule__RosServiceServer__Group__6 : rule__RosServiceServer__Group__6__Impl rule__RosServiceServer__Group__7 ; public final void rule__RosServiceServer__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6278:1: ( rule__RosServiceServer__Group__6__Impl rule__RosServiceServer__Group__7 ) - // InternalRosSystem.g:6279:2: rule__RosServiceServer__Group__6__Impl rule__RosServiceServer__Group__7 + // InternalRosSystem.g:7408:1: ( rule__RosServiceServer__Group__6__Impl rule__RosServiceServer__Group__7 ) + // InternalRosSystem.g:7409:2: rule__RosServiceServer__Group__6__Impl rule__RosServiceServer__Group__7 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__RosServiceServer__Group__6__Impl(); state._fsp--; @@ -19043,21 +22488,21 @@ public final void rule__RosServiceServer__Group__6() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__6__Impl" - // InternalRosSystem.g:6286:1: rule__RosServiceServer__Group__6__Impl : ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) ; + // InternalRosSystem.g:7416:1: rule__RosServiceServer__Group__6__Impl : ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) ; public final void rule__RosServiceServer__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6290:1: ( ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) ) - // InternalRosSystem.g:6291:1: ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) + // InternalRosSystem.g:7420:1: ( ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) ) + // InternalRosSystem.g:7421:1: ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) { - // InternalRosSystem.g:6291:1: ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) - // InternalRosSystem.g:6292:2: ( rule__RosServiceServer__SrvserverAssignment_6 ) + // InternalRosSystem.g:7421:1: ( ( rule__RosServiceServer__SrvserverAssignment_6 ) ) + // InternalRosSystem.g:7422:2: ( rule__RosServiceServer__SrvserverAssignment_6 ) { before(grammarAccess.getRosServiceServerAccess().getSrvserverAssignment_6()); - // InternalRosSystem.g:6293:2: ( rule__RosServiceServer__SrvserverAssignment_6 ) - // InternalRosSystem.g:6293:3: rule__RosServiceServer__SrvserverAssignment_6 + // InternalRosSystem.g:7423:2: ( rule__RosServiceServer__SrvserverAssignment_6 ) + // InternalRosSystem.g:7423:3: rule__RosServiceServer__SrvserverAssignment_6 { pushFollow(FOLLOW_2); rule__RosServiceServer__SrvserverAssignment_6(); @@ -19090,14 +22535,14 @@ public final void rule__RosServiceServer__Group__6__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group__7" - // InternalRosSystem.g:6301:1: rule__RosServiceServer__Group__7 : rule__RosServiceServer__Group__7__Impl ; + // InternalRosSystem.g:7431:1: rule__RosServiceServer__Group__7 : rule__RosServiceServer__Group__7__Impl ; public final void rule__RosServiceServer__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6305:1: ( rule__RosServiceServer__Group__7__Impl ) - // InternalRosSystem.g:6306:2: rule__RosServiceServer__Group__7__Impl + // InternalRosSystem.g:7435:1: ( rule__RosServiceServer__Group__7__Impl ) + // InternalRosSystem.g:7436:2: rule__RosServiceServer__Group__7__Impl { pushFollow(FOLLOW_2); rule__RosServiceServer__Group__7__Impl(); @@ -19123,17 +22568,17 @@ public final void rule__RosServiceServer__Group__7() throws RecognitionException // $ANTLR start "rule__RosServiceServer__Group__7__Impl" - // InternalRosSystem.g:6312:1: rule__RosServiceServer__Group__7__Impl : ( '}' ) ; + // InternalRosSystem.g:7442:1: rule__RosServiceServer__Group__7__Impl : ( '}' ) ; public final void rule__RosServiceServer__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6316:1: ( ( '}' ) ) - // InternalRosSystem.g:6317:1: ( '}' ) + // InternalRosSystem.g:7446:1: ( ( '}' ) ) + // InternalRosSystem.g:7447:1: ( '}' ) { - // InternalRosSystem.g:6317:1: ( '}' ) - // InternalRosSystem.g:6318:2: '}' + // InternalRosSystem.g:7447:1: ( '}' ) + // InternalRosSystem.g:7448:2: '}' { before(grammarAccess.getRosServiceServerAccess().getRightCurlyBracketKeyword_7()); match(input,26,FOLLOW_2); @@ -19160,14 +22605,14 @@ public final void rule__RosServiceServer__Group__7__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceServer__Group_4__0" - // InternalRosSystem.g:6328:1: rule__RosServiceServer__Group_4__0 : rule__RosServiceServer__Group_4__0__Impl rule__RosServiceServer__Group_4__1 ; + // InternalRosSystem.g:7458:1: rule__RosServiceServer__Group_4__0 : rule__RosServiceServer__Group_4__0__Impl rule__RosServiceServer__Group_4__1 ; public final void rule__RosServiceServer__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6332:1: ( rule__RosServiceServer__Group_4__0__Impl rule__RosServiceServer__Group_4__1 ) - // InternalRosSystem.g:6333:2: rule__RosServiceServer__Group_4__0__Impl rule__RosServiceServer__Group_4__1 + // InternalRosSystem.g:7462:1: ( rule__RosServiceServer__Group_4__0__Impl rule__RosServiceServer__Group_4__1 ) + // InternalRosSystem.g:7463:2: rule__RosServiceServer__Group_4__0__Impl rule__RosServiceServer__Group_4__1 { pushFollow(FOLLOW_6); rule__RosServiceServer__Group_4__0__Impl(); @@ -19198,20 +22643,20 @@ public final void rule__RosServiceServer__Group_4__0() throws RecognitionExcepti // $ANTLR start "rule__RosServiceServer__Group_4__0__Impl" - // InternalRosSystem.g:6340:1: rule__RosServiceServer__Group_4__0__Impl : ( 'ns' ) ; + // InternalRosSystem.g:7470:1: rule__RosServiceServer__Group_4__0__Impl : ( 'ns' ) ; public final void rule__RosServiceServer__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6344:1: ( ( 'ns' ) ) - // InternalRosSystem.g:6345:1: ( 'ns' ) + // InternalRosSystem.g:7474:1: ( ( 'ns' ) ) + // InternalRosSystem.g:7475:1: ( 'ns' ) { - // InternalRosSystem.g:6345:1: ( 'ns' ) - // InternalRosSystem.g:6346:2: 'ns' + // InternalRosSystem.g:7475:1: ( 'ns' ) + // InternalRosSystem.g:7476:2: 'ns' { before(grammarAccess.getRosServiceServerAccess().getNsKeyword_4_0()); - match(input,53,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getRosServiceServerAccess().getNsKeyword_4_0()); } @@ -19235,14 +22680,14 @@ public final void rule__RosServiceServer__Group_4__0__Impl() throws RecognitionE // $ANTLR start "rule__RosServiceServer__Group_4__1" - // InternalRosSystem.g:6355:1: rule__RosServiceServer__Group_4__1 : rule__RosServiceServer__Group_4__1__Impl ; + // InternalRosSystem.g:7485:1: rule__RosServiceServer__Group_4__1 : rule__RosServiceServer__Group_4__1__Impl ; public final void rule__RosServiceServer__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6359:1: ( rule__RosServiceServer__Group_4__1__Impl ) - // InternalRosSystem.g:6360:2: rule__RosServiceServer__Group_4__1__Impl + // InternalRosSystem.g:7489:1: ( rule__RosServiceServer__Group_4__1__Impl ) + // InternalRosSystem.g:7490:2: rule__RosServiceServer__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__RosServiceServer__Group_4__1__Impl(); @@ -19268,21 +22713,21 @@ public final void rule__RosServiceServer__Group_4__1() throws RecognitionExcepti // $ANTLR start "rule__RosServiceServer__Group_4__1__Impl" - // InternalRosSystem.g:6366:1: rule__RosServiceServer__Group_4__1__Impl : ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) ; + // InternalRosSystem.g:7496:1: rule__RosServiceServer__Group_4__1__Impl : ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) ; public final void rule__RosServiceServer__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6370:1: ( ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) ) - // InternalRosSystem.g:6371:1: ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) + // InternalRosSystem.g:7500:1: ( ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) ) + // InternalRosSystem.g:7501:1: ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) { - // InternalRosSystem.g:6371:1: ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) - // InternalRosSystem.g:6372:2: ( rule__RosServiceServer__NsAssignment_4_1 ) + // InternalRosSystem.g:7501:1: ( ( rule__RosServiceServer__NsAssignment_4_1 ) ) + // InternalRosSystem.g:7502:2: ( rule__RosServiceServer__NsAssignment_4_1 ) { before(grammarAccess.getRosServiceServerAccess().getNsAssignment_4_1()); - // InternalRosSystem.g:6373:2: ( rule__RosServiceServer__NsAssignment_4_1 ) - // InternalRosSystem.g:6373:3: rule__RosServiceServer__NsAssignment_4_1 + // InternalRosSystem.g:7503:2: ( rule__RosServiceServer__NsAssignment_4_1 ) + // InternalRosSystem.g:7503:3: rule__RosServiceServer__NsAssignment_4_1 { pushFollow(FOLLOW_2); rule__RosServiceServer__NsAssignment_4_1(); @@ -19315,16 +22760,16 @@ public final void rule__RosServiceServer__Group_4__1__Impl() throws RecognitionE // $ANTLR start "rule__RosServiceClient__Group__0" - // InternalRosSystem.g:6382:1: rule__RosServiceClient__Group__0 : rule__RosServiceClient__Group__0__Impl rule__RosServiceClient__Group__1 ; + // InternalRosSystem.g:7512:1: rule__RosServiceClient__Group__0 : rule__RosServiceClient__Group__0__Impl rule__RosServiceClient__Group__1 ; public final void rule__RosServiceClient__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6386:1: ( rule__RosServiceClient__Group__0__Impl rule__RosServiceClient__Group__1 ) - // InternalRosSystem.g:6387:2: rule__RosServiceClient__Group__0__Impl rule__RosServiceClient__Group__1 + // InternalRosSystem.g:7516:1: ( rule__RosServiceClient__Group__0__Impl rule__RosServiceClient__Group__1 ) + // InternalRosSystem.g:7517:2: rule__RosServiceClient__Group__0__Impl rule__RosServiceClient__Group__1 { - pushFollow(FOLLOW_31); + pushFollow(FOLLOW_39); rule__RosServiceClient__Group__0__Impl(); state._fsp--; @@ -19353,21 +22798,21 @@ public final void rule__RosServiceClient__Group__0() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__0__Impl" - // InternalRosSystem.g:6394:1: rule__RosServiceClient__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:7524:1: rule__RosServiceClient__Group__0__Impl : ( () ) ; public final void rule__RosServiceClient__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6398:1: ( ( () ) ) - // InternalRosSystem.g:6399:1: ( () ) + // InternalRosSystem.g:7528:1: ( ( () ) ) + // InternalRosSystem.g:7529:1: ( () ) { - // InternalRosSystem.g:6399:1: ( () ) - // InternalRosSystem.g:6400:2: () + // InternalRosSystem.g:7529:1: ( () ) + // InternalRosSystem.g:7530:2: () { before(grammarAccess.getRosServiceClientAccess().getRosServiceClientAction_0()); - // InternalRosSystem.g:6401:2: () - // InternalRosSystem.g:6401:3: + // InternalRosSystem.g:7531:2: () + // InternalRosSystem.g:7531:3: { } @@ -19390,16 +22835,16 @@ public final void rule__RosServiceClient__Group__0__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group__1" - // InternalRosSystem.g:6409:1: rule__RosServiceClient__Group__1 : rule__RosServiceClient__Group__1__Impl rule__RosServiceClient__Group__2 ; + // InternalRosSystem.g:7539:1: rule__RosServiceClient__Group__1 : rule__RosServiceClient__Group__1__Impl rule__RosServiceClient__Group__2 ; public final void rule__RosServiceClient__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6413:1: ( rule__RosServiceClient__Group__1__Impl rule__RosServiceClient__Group__2 ) - // InternalRosSystem.g:6414:2: rule__RosServiceClient__Group__1__Impl rule__RosServiceClient__Group__2 + // InternalRosSystem.g:7543:1: ( rule__RosServiceClient__Group__1__Impl rule__RosServiceClient__Group__2 ) + // InternalRosSystem.g:7544:2: rule__RosServiceClient__Group__1__Impl rule__RosServiceClient__Group__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosServiceClient__Group__1__Impl(); state._fsp--; @@ -19428,20 +22873,20 @@ public final void rule__RosServiceClient__Group__1() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__1__Impl" - // InternalRosSystem.g:6421:1: rule__RosServiceClient__Group__1__Impl : ( 'RosServiceClient' ) ; + // InternalRosSystem.g:7551:1: rule__RosServiceClient__Group__1__Impl : ( 'RosServiceClient' ) ; public final void rule__RosServiceClient__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6425:1: ( ( 'RosServiceClient' ) ) - // InternalRosSystem.g:6426:1: ( 'RosServiceClient' ) + // InternalRosSystem.g:7555:1: ( ( 'RosServiceClient' ) ) + // InternalRosSystem.g:7556:1: ( 'RosServiceClient' ) { - // InternalRosSystem.g:6426:1: ( 'RosServiceClient' ) - // InternalRosSystem.g:6427:2: 'RosServiceClient' + // InternalRosSystem.g:7556:1: ( 'RosServiceClient' ) + // InternalRosSystem.g:7557:2: 'RosServiceClient' { before(grammarAccess.getRosServiceClientAccess().getRosServiceClientKeyword_1()); - match(input,58,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getRosServiceClientAccess().getRosServiceClientKeyword_1()); } @@ -19465,16 +22910,16 @@ public final void rule__RosServiceClient__Group__1__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group__2" - // InternalRosSystem.g:6436:1: rule__RosServiceClient__Group__2 : rule__RosServiceClient__Group__2__Impl rule__RosServiceClient__Group__3 ; + // InternalRosSystem.g:7566:1: rule__RosServiceClient__Group__2 : rule__RosServiceClient__Group__2__Impl rule__RosServiceClient__Group__3 ; public final void rule__RosServiceClient__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6440:1: ( rule__RosServiceClient__Group__2__Impl rule__RosServiceClient__Group__3 ) - // InternalRosSystem.g:6441:2: rule__RosServiceClient__Group__2__Impl rule__RosServiceClient__Group__3 + // InternalRosSystem.g:7570:1: ( rule__RosServiceClient__Group__2__Impl rule__RosServiceClient__Group__3 ) + // InternalRosSystem.g:7571:2: rule__RosServiceClient__Group__2__Impl rule__RosServiceClient__Group__3 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosServiceClient__Group__2__Impl(); state._fsp--; @@ -19503,29 +22948,29 @@ public final void rule__RosServiceClient__Group__2() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__2__Impl" - // InternalRosSystem.g:6448:1: rule__RosServiceClient__Group__2__Impl : ( ( rule__RosServiceClient__NameAssignment_2 )? ) ; + // InternalRosSystem.g:7578:1: rule__RosServiceClient__Group__2__Impl : ( ( rule__RosServiceClient__NameAssignment_2 )? ) ; public final void rule__RosServiceClient__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6452:1: ( ( ( rule__RosServiceClient__NameAssignment_2 )? ) ) - // InternalRosSystem.g:6453:1: ( ( rule__RosServiceClient__NameAssignment_2 )? ) + // InternalRosSystem.g:7582:1: ( ( ( rule__RosServiceClient__NameAssignment_2 )? ) ) + // InternalRosSystem.g:7583:1: ( ( rule__RosServiceClient__NameAssignment_2 )? ) { - // InternalRosSystem.g:6453:1: ( ( rule__RosServiceClient__NameAssignment_2 )? ) - // InternalRosSystem.g:6454:2: ( rule__RosServiceClient__NameAssignment_2 )? + // InternalRosSystem.g:7583:1: ( ( rule__RosServiceClient__NameAssignment_2 )? ) + // InternalRosSystem.g:7584:2: ( rule__RosServiceClient__NameAssignment_2 )? { before(grammarAccess.getRosServiceClientAccess().getNameAssignment_2()); - // InternalRosSystem.g:6455:2: ( rule__RosServiceClient__NameAssignment_2 )? - int alt45=2; - int LA45_0 = input.LA(1); + // InternalRosSystem.g:7585:2: ( rule__RosServiceClient__NameAssignment_2 )? + int alt56=2; + int LA56_0 = input.LA(1); - if ( ((LA45_0>=RULE_STRING && LA45_0<=RULE_ID)) ) { - alt45=1; + if ( ((LA56_0>=RULE_STRING && LA56_0<=RULE_ID)) ) { + alt56=1; } - switch (alt45) { + switch (alt56) { case 1 : - // InternalRosSystem.g:6455:3: rule__RosServiceClient__NameAssignment_2 + // InternalRosSystem.g:7585:3: rule__RosServiceClient__NameAssignment_2 { pushFollow(FOLLOW_2); rule__RosServiceClient__NameAssignment_2(); @@ -19561,16 +23006,16 @@ public final void rule__RosServiceClient__Group__2__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group__3" - // InternalRosSystem.g:6463:1: rule__RosServiceClient__Group__3 : rule__RosServiceClient__Group__3__Impl rule__RosServiceClient__Group__4 ; + // InternalRosSystem.g:7593:1: rule__RosServiceClient__Group__3 : rule__RosServiceClient__Group__3__Impl rule__RosServiceClient__Group__4 ; public final void rule__RosServiceClient__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6467:1: ( rule__RosServiceClient__Group__3__Impl rule__RosServiceClient__Group__4 ) - // InternalRosSystem.g:6468:2: rule__RosServiceClient__Group__3__Impl rule__RosServiceClient__Group__4 + // InternalRosSystem.g:7597:1: ( rule__RosServiceClient__Group__3__Impl rule__RosServiceClient__Group__4 ) + // InternalRosSystem.g:7598:2: rule__RosServiceClient__Group__3__Impl rule__RosServiceClient__Group__4 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_47); rule__RosServiceClient__Group__3__Impl(); state._fsp--; @@ -19599,17 +23044,17 @@ public final void rule__RosServiceClient__Group__3() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__3__Impl" - // InternalRosSystem.g:6475:1: rule__RosServiceClient__Group__3__Impl : ( '{' ) ; + // InternalRosSystem.g:7605:1: rule__RosServiceClient__Group__3__Impl : ( '{' ) ; public final void rule__RosServiceClient__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6479:1: ( ( '{' ) ) - // InternalRosSystem.g:6480:1: ( '{' ) + // InternalRosSystem.g:7609:1: ( ( '{' ) ) + // InternalRosSystem.g:7610:1: ( '{' ) { - // InternalRosSystem.g:6480:1: ( '{' ) - // InternalRosSystem.g:6481:2: '{' + // InternalRosSystem.g:7610:1: ( '{' ) + // InternalRosSystem.g:7611:2: '{' { before(grammarAccess.getRosServiceClientAccess().getLeftCurlyBracketKeyword_3()); match(input,24,FOLLOW_2); @@ -19636,16 +23081,16 @@ public final void rule__RosServiceClient__Group__3__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group__4" - // InternalRosSystem.g:6490:1: rule__RosServiceClient__Group__4 : rule__RosServiceClient__Group__4__Impl rule__RosServiceClient__Group__5 ; + // InternalRosSystem.g:7620:1: rule__RosServiceClient__Group__4 : rule__RosServiceClient__Group__4__Impl rule__RosServiceClient__Group__5 ; public final void rule__RosServiceClient__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6494:1: ( rule__RosServiceClient__Group__4__Impl rule__RosServiceClient__Group__5 ) - // InternalRosSystem.g:6495:2: rule__RosServiceClient__Group__4__Impl rule__RosServiceClient__Group__5 + // InternalRosSystem.g:7624:1: ( rule__RosServiceClient__Group__4__Impl rule__RosServiceClient__Group__5 ) + // InternalRosSystem.g:7625:2: rule__RosServiceClient__Group__4__Impl rule__RosServiceClient__Group__5 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_47); rule__RosServiceClient__Group__4__Impl(); state._fsp--; @@ -19674,29 +23119,29 @@ public final void rule__RosServiceClient__Group__4() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__4__Impl" - // InternalRosSystem.g:6502:1: rule__RosServiceClient__Group__4__Impl : ( ( rule__RosServiceClient__Group_4__0 )? ) ; + // InternalRosSystem.g:7632:1: rule__RosServiceClient__Group__4__Impl : ( ( rule__RosServiceClient__Group_4__0 )? ) ; public final void rule__RosServiceClient__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6506:1: ( ( ( rule__RosServiceClient__Group_4__0 )? ) ) - // InternalRosSystem.g:6507:1: ( ( rule__RosServiceClient__Group_4__0 )? ) + // InternalRosSystem.g:7636:1: ( ( ( rule__RosServiceClient__Group_4__0 )? ) ) + // InternalRosSystem.g:7637:1: ( ( rule__RosServiceClient__Group_4__0 )? ) { - // InternalRosSystem.g:6507:1: ( ( rule__RosServiceClient__Group_4__0 )? ) - // InternalRosSystem.g:6508:2: ( rule__RosServiceClient__Group_4__0 )? + // InternalRosSystem.g:7637:1: ( ( rule__RosServiceClient__Group_4__0 )? ) + // InternalRosSystem.g:7638:2: ( rule__RosServiceClient__Group_4__0 )? { before(grammarAccess.getRosServiceClientAccess().getGroup_4()); - // InternalRosSystem.g:6509:2: ( rule__RosServiceClient__Group_4__0 )? - int alt46=2; - int LA46_0 = input.LA(1); + // InternalRosSystem.g:7639:2: ( rule__RosServiceClient__Group_4__0 )? + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA46_0==53) ) { - alt46=1; + if ( (LA57_0==59) ) { + alt57=1; } - switch (alt46) { + switch (alt57) { case 1 : - // InternalRosSystem.g:6509:3: rule__RosServiceClient__Group_4__0 + // InternalRosSystem.g:7639:3: rule__RosServiceClient__Group_4__0 { pushFollow(FOLLOW_2); rule__RosServiceClient__Group_4__0(); @@ -19732,14 +23177,14 @@ public final void rule__RosServiceClient__Group__4__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group__5" - // InternalRosSystem.g:6517:1: rule__RosServiceClient__Group__5 : rule__RosServiceClient__Group__5__Impl rule__RosServiceClient__Group__6 ; + // InternalRosSystem.g:7647:1: rule__RosServiceClient__Group__5 : rule__RosServiceClient__Group__5__Impl rule__RosServiceClient__Group__6 ; public final void rule__RosServiceClient__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6521:1: ( rule__RosServiceClient__Group__5__Impl rule__RosServiceClient__Group__6 ) - // InternalRosSystem.g:6522:2: rule__RosServiceClient__Group__5__Impl rule__RosServiceClient__Group__6 + // InternalRosSystem.g:7651:1: ( rule__RosServiceClient__Group__5__Impl rule__RosServiceClient__Group__6 ) + // InternalRosSystem.g:7652:2: rule__RosServiceClient__Group__5__Impl rule__RosServiceClient__Group__6 { pushFollow(FOLLOW_6); rule__RosServiceClient__Group__5__Impl(); @@ -19770,20 +23215,20 @@ public final void rule__RosServiceClient__Group__5() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__5__Impl" - // InternalRosSystem.g:6529:1: rule__RosServiceClient__Group__5__Impl : ( 'RefClient' ) ; + // InternalRosSystem.g:7659:1: rule__RosServiceClient__Group__5__Impl : ( 'RefClient' ) ; public final void rule__RosServiceClient__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6533:1: ( ( 'RefClient' ) ) - // InternalRosSystem.g:6534:1: ( 'RefClient' ) + // InternalRosSystem.g:7663:1: ( ( 'RefClient' ) ) + // InternalRosSystem.g:7664:1: ( 'RefClient' ) { - // InternalRosSystem.g:6534:1: ( 'RefClient' ) - // InternalRosSystem.g:6535:2: 'RefClient' + // InternalRosSystem.g:7664:1: ( 'RefClient' ) + // InternalRosSystem.g:7665:2: 'RefClient' { before(grammarAccess.getRosServiceClientAccess().getRefClientKeyword_5()); - match(input,59,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getRosServiceClientAccess().getRefClientKeyword_5()); } @@ -19807,16 +23252,16 @@ public final void rule__RosServiceClient__Group__5__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group__6" - // InternalRosSystem.g:6544:1: rule__RosServiceClient__Group__6 : rule__RosServiceClient__Group__6__Impl rule__RosServiceClient__Group__7 ; + // InternalRosSystem.g:7674:1: rule__RosServiceClient__Group__6 : rule__RosServiceClient__Group__6__Impl rule__RosServiceClient__Group__7 ; public final void rule__RosServiceClient__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6548:1: ( rule__RosServiceClient__Group__6__Impl rule__RosServiceClient__Group__7 ) - // InternalRosSystem.g:6549:2: rule__RosServiceClient__Group__6__Impl rule__RosServiceClient__Group__7 + // InternalRosSystem.g:7678:1: ( rule__RosServiceClient__Group__6__Impl rule__RosServiceClient__Group__7 ) + // InternalRosSystem.g:7679:2: rule__RosServiceClient__Group__6__Impl rule__RosServiceClient__Group__7 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__RosServiceClient__Group__6__Impl(); state._fsp--; @@ -19845,21 +23290,21 @@ public final void rule__RosServiceClient__Group__6() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__6__Impl" - // InternalRosSystem.g:6556:1: rule__RosServiceClient__Group__6__Impl : ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) ; + // InternalRosSystem.g:7686:1: rule__RosServiceClient__Group__6__Impl : ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) ; public final void rule__RosServiceClient__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6560:1: ( ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) ) - // InternalRosSystem.g:6561:1: ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) + // InternalRosSystem.g:7690:1: ( ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) ) + // InternalRosSystem.g:7691:1: ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) { - // InternalRosSystem.g:6561:1: ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) - // InternalRosSystem.g:6562:2: ( rule__RosServiceClient__SrvclientAssignment_6 ) + // InternalRosSystem.g:7691:1: ( ( rule__RosServiceClient__SrvclientAssignment_6 ) ) + // InternalRosSystem.g:7692:2: ( rule__RosServiceClient__SrvclientAssignment_6 ) { before(grammarAccess.getRosServiceClientAccess().getSrvclientAssignment_6()); - // InternalRosSystem.g:6563:2: ( rule__RosServiceClient__SrvclientAssignment_6 ) - // InternalRosSystem.g:6563:3: rule__RosServiceClient__SrvclientAssignment_6 + // InternalRosSystem.g:7693:2: ( rule__RosServiceClient__SrvclientAssignment_6 ) + // InternalRosSystem.g:7693:3: rule__RosServiceClient__SrvclientAssignment_6 { pushFollow(FOLLOW_2); rule__RosServiceClient__SrvclientAssignment_6(); @@ -19892,14 +23337,14 @@ public final void rule__RosServiceClient__Group__6__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group__7" - // InternalRosSystem.g:6571:1: rule__RosServiceClient__Group__7 : rule__RosServiceClient__Group__7__Impl ; + // InternalRosSystem.g:7701:1: rule__RosServiceClient__Group__7 : rule__RosServiceClient__Group__7__Impl ; public final void rule__RosServiceClient__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6575:1: ( rule__RosServiceClient__Group__7__Impl ) - // InternalRosSystem.g:6576:2: rule__RosServiceClient__Group__7__Impl + // InternalRosSystem.g:7705:1: ( rule__RosServiceClient__Group__7__Impl ) + // InternalRosSystem.g:7706:2: rule__RosServiceClient__Group__7__Impl { pushFollow(FOLLOW_2); rule__RosServiceClient__Group__7__Impl(); @@ -19925,17 +23370,17 @@ public final void rule__RosServiceClient__Group__7() throws RecognitionException // $ANTLR start "rule__RosServiceClient__Group__7__Impl" - // InternalRosSystem.g:6582:1: rule__RosServiceClient__Group__7__Impl : ( '}' ) ; + // InternalRosSystem.g:7712:1: rule__RosServiceClient__Group__7__Impl : ( '}' ) ; public final void rule__RosServiceClient__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6586:1: ( ( '}' ) ) - // InternalRosSystem.g:6587:1: ( '}' ) + // InternalRosSystem.g:7716:1: ( ( '}' ) ) + // InternalRosSystem.g:7717:1: ( '}' ) { - // InternalRosSystem.g:6587:1: ( '}' ) - // InternalRosSystem.g:6588:2: '}' + // InternalRosSystem.g:7717:1: ( '}' ) + // InternalRosSystem.g:7718:2: '}' { before(grammarAccess.getRosServiceClientAccess().getRightCurlyBracketKeyword_7()); match(input,26,FOLLOW_2); @@ -19962,14 +23407,14 @@ public final void rule__RosServiceClient__Group__7__Impl() throws RecognitionExc // $ANTLR start "rule__RosServiceClient__Group_4__0" - // InternalRosSystem.g:6598:1: rule__RosServiceClient__Group_4__0 : rule__RosServiceClient__Group_4__0__Impl rule__RosServiceClient__Group_4__1 ; + // InternalRosSystem.g:7728:1: rule__RosServiceClient__Group_4__0 : rule__RosServiceClient__Group_4__0__Impl rule__RosServiceClient__Group_4__1 ; public final void rule__RosServiceClient__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6602:1: ( rule__RosServiceClient__Group_4__0__Impl rule__RosServiceClient__Group_4__1 ) - // InternalRosSystem.g:6603:2: rule__RosServiceClient__Group_4__0__Impl rule__RosServiceClient__Group_4__1 + // InternalRosSystem.g:7732:1: ( rule__RosServiceClient__Group_4__0__Impl rule__RosServiceClient__Group_4__1 ) + // InternalRosSystem.g:7733:2: rule__RosServiceClient__Group_4__0__Impl rule__RosServiceClient__Group_4__1 { pushFollow(FOLLOW_6); rule__RosServiceClient__Group_4__0__Impl(); @@ -20000,20 +23445,20 @@ public final void rule__RosServiceClient__Group_4__0() throws RecognitionExcepti // $ANTLR start "rule__RosServiceClient__Group_4__0__Impl" - // InternalRosSystem.g:6610:1: rule__RosServiceClient__Group_4__0__Impl : ( 'ns' ) ; + // InternalRosSystem.g:7740:1: rule__RosServiceClient__Group_4__0__Impl : ( 'ns' ) ; public final void rule__RosServiceClient__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6614:1: ( ( 'ns' ) ) - // InternalRosSystem.g:6615:1: ( 'ns' ) + // InternalRosSystem.g:7744:1: ( ( 'ns' ) ) + // InternalRosSystem.g:7745:1: ( 'ns' ) { - // InternalRosSystem.g:6615:1: ( 'ns' ) - // InternalRosSystem.g:6616:2: 'ns' + // InternalRosSystem.g:7745:1: ( 'ns' ) + // InternalRosSystem.g:7746:2: 'ns' { before(grammarAccess.getRosServiceClientAccess().getNsKeyword_4_0()); - match(input,53,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getRosServiceClientAccess().getNsKeyword_4_0()); } @@ -20037,14 +23482,14 @@ public final void rule__RosServiceClient__Group_4__0__Impl() throws RecognitionE // $ANTLR start "rule__RosServiceClient__Group_4__1" - // InternalRosSystem.g:6625:1: rule__RosServiceClient__Group_4__1 : rule__RosServiceClient__Group_4__1__Impl ; + // InternalRosSystem.g:7755:1: rule__RosServiceClient__Group_4__1 : rule__RosServiceClient__Group_4__1__Impl ; public final void rule__RosServiceClient__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6629:1: ( rule__RosServiceClient__Group_4__1__Impl ) - // InternalRosSystem.g:6630:2: rule__RosServiceClient__Group_4__1__Impl + // InternalRosSystem.g:7759:1: ( rule__RosServiceClient__Group_4__1__Impl ) + // InternalRosSystem.g:7760:2: rule__RosServiceClient__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__RosServiceClient__Group_4__1__Impl(); @@ -20070,21 +23515,21 @@ public final void rule__RosServiceClient__Group_4__1() throws RecognitionExcepti // $ANTLR start "rule__RosServiceClient__Group_4__1__Impl" - // InternalRosSystem.g:6636:1: rule__RosServiceClient__Group_4__1__Impl : ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) ; + // InternalRosSystem.g:7766:1: rule__RosServiceClient__Group_4__1__Impl : ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) ; public final void rule__RosServiceClient__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6640:1: ( ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) ) - // InternalRosSystem.g:6641:1: ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) + // InternalRosSystem.g:7770:1: ( ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) ) + // InternalRosSystem.g:7771:1: ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) { - // InternalRosSystem.g:6641:1: ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) - // InternalRosSystem.g:6642:2: ( rule__RosServiceClient__NsAssignment_4_1 ) + // InternalRosSystem.g:7771:1: ( ( rule__RosServiceClient__NsAssignment_4_1 ) ) + // InternalRosSystem.g:7772:2: ( rule__RosServiceClient__NsAssignment_4_1 ) { before(grammarAccess.getRosServiceClientAccess().getNsAssignment_4_1()); - // InternalRosSystem.g:6643:2: ( rule__RosServiceClient__NsAssignment_4_1 ) - // InternalRosSystem.g:6643:3: rule__RosServiceClient__NsAssignment_4_1 + // InternalRosSystem.g:7773:2: ( rule__RosServiceClient__NsAssignment_4_1 ) + // InternalRosSystem.g:7773:3: rule__RosServiceClient__NsAssignment_4_1 { pushFollow(FOLLOW_2); rule__RosServiceClient__NsAssignment_4_1(); @@ -20117,16 +23562,16 @@ public final void rule__RosServiceClient__Group_4__1__Impl() throws RecognitionE // $ANTLR start "rule__RosActionServer__Group__0" - // InternalRosSystem.g:6652:1: rule__RosActionServer__Group__0 : rule__RosActionServer__Group__0__Impl rule__RosActionServer__Group__1 ; + // InternalRosSystem.g:7782:1: rule__RosActionServer__Group__0 : rule__RosActionServer__Group__0__Impl rule__RosActionServer__Group__1 ; public final void rule__RosActionServer__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6656:1: ( rule__RosActionServer__Group__0__Impl rule__RosActionServer__Group__1 ) - // InternalRosSystem.g:6657:2: rule__RosActionServer__Group__0__Impl rule__RosActionServer__Group__1 + // InternalRosSystem.g:7786:1: ( rule__RosActionServer__Group__0__Impl rule__RosActionServer__Group__1 ) + // InternalRosSystem.g:7787:2: rule__RosActionServer__Group__0__Impl rule__RosActionServer__Group__1 { - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_40); rule__RosActionServer__Group__0__Impl(); state._fsp--; @@ -20155,21 +23600,21 @@ public final void rule__RosActionServer__Group__0() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__0__Impl" - // InternalRosSystem.g:6664:1: rule__RosActionServer__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:7794:1: rule__RosActionServer__Group__0__Impl : ( () ) ; public final void rule__RosActionServer__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6668:1: ( ( () ) ) - // InternalRosSystem.g:6669:1: ( () ) + // InternalRosSystem.g:7798:1: ( ( () ) ) + // InternalRosSystem.g:7799:1: ( () ) { - // InternalRosSystem.g:6669:1: ( () ) - // InternalRosSystem.g:6670:2: () + // InternalRosSystem.g:7799:1: ( () ) + // InternalRosSystem.g:7800:2: () { before(grammarAccess.getRosActionServerAccess().getRosActionServerAction_0()); - // InternalRosSystem.g:6671:2: () - // InternalRosSystem.g:6671:3: + // InternalRosSystem.g:7801:2: () + // InternalRosSystem.g:7801:3: { } @@ -20192,16 +23637,16 @@ public final void rule__RosActionServer__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group__1" - // InternalRosSystem.g:6679:1: rule__RosActionServer__Group__1 : rule__RosActionServer__Group__1__Impl rule__RosActionServer__Group__2 ; + // InternalRosSystem.g:7809:1: rule__RosActionServer__Group__1 : rule__RosActionServer__Group__1__Impl rule__RosActionServer__Group__2 ; public final void rule__RosActionServer__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6683:1: ( rule__RosActionServer__Group__1__Impl rule__RosActionServer__Group__2 ) - // InternalRosSystem.g:6684:2: rule__RosActionServer__Group__1__Impl rule__RosActionServer__Group__2 + // InternalRosSystem.g:7813:1: ( rule__RosActionServer__Group__1__Impl rule__RosActionServer__Group__2 ) + // InternalRosSystem.g:7814:2: rule__RosActionServer__Group__1__Impl rule__RosActionServer__Group__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosActionServer__Group__1__Impl(); state._fsp--; @@ -20230,20 +23675,20 @@ public final void rule__RosActionServer__Group__1() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__1__Impl" - // InternalRosSystem.g:6691:1: rule__RosActionServer__Group__1__Impl : ( 'RosActionServer' ) ; + // InternalRosSystem.g:7821:1: rule__RosActionServer__Group__1__Impl : ( 'RosActionServer' ) ; public final void rule__RosActionServer__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6695:1: ( ( 'RosActionServer' ) ) - // InternalRosSystem.g:6696:1: ( 'RosActionServer' ) + // InternalRosSystem.g:7825:1: ( ( 'RosActionServer' ) ) + // InternalRosSystem.g:7826:1: ( 'RosActionServer' ) { - // InternalRosSystem.g:6696:1: ( 'RosActionServer' ) - // InternalRosSystem.g:6697:2: 'RosActionServer' + // InternalRosSystem.g:7826:1: ( 'RosActionServer' ) + // InternalRosSystem.g:7827:2: 'RosActionServer' { before(grammarAccess.getRosActionServerAccess().getRosActionServerKeyword_1()); - match(input,60,FOLLOW_2); + match(input,66,FOLLOW_2); after(grammarAccess.getRosActionServerAccess().getRosActionServerKeyword_1()); } @@ -20267,16 +23712,16 @@ public final void rule__RosActionServer__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group__2" - // InternalRosSystem.g:6706:1: rule__RosActionServer__Group__2 : rule__RosActionServer__Group__2__Impl rule__RosActionServer__Group__3 ; + // InternalRosSystem.g:7836:1: rule__RosActionServer__Group__2 : rule__RosActionServer__Group__2__Impl rule__RosActionServer__Group__3 ; public final void rule__RosActionServer__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6710:1: ( rule__RosActionServer__Group__2__Impl rule__RosActionServer__Group__3 ) - // InternalRosSystem.g:6711:2: rule__RosActionServer__Group__2__Impl rule__RosActionServer__Group__3 + // InternalRosSystem.g:7840:1: ( rule__RosActionServer__Group__2__Impl rule__RosActionServer__Group__3 ) + // InternalRosSystem.g:7841:2: rule__RosActionServer__Group__2__Impl rule__RosActionServer__Group__3 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosActionServer__Group__2__Impl(); state._fsp--; @@ -20305,29 +23750,29 @@ public final void rule__RosActionServer__Group__2() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__2__Impl" - // InternalRosSystem.g:6718:1: rule__RosActionServer__Group__2__Impl : ( ( rule__RosActionServer__NameAssignment_2 )? ) ; + // InternalRosSystem.g:7848:1: rule__RosActionServer__Group__2__Impl : ( ( rule__RosActionServer__NameAssignment_2 )? ) ; public final void rule__RosActionServer__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6722:1: ( ( ( rule__RosActionServer__NameAssignment_2 )? ) ) - // InternalRosSystem.g:6723:1: ( ( rule__RosActionServer__NameAssignment_2 )? ) + // InternalRosSystem.g:7852:1: ( ( ( rule__RosActionServer__NameAssignment_2 )? ) ) + // InternalRosSystem.g:7853:1: ( ( rule__RosActionServer__NameAssignment_2 )? ) { - // InternalRosSystem.g:6723:1: ( ( rule__RosActionServer__NameAssignment_2 )? ) - // InternalRosSystem.g:6724:2: ( rule__RosActionServer__NameAssignment_2 )? + // InternalRosSystem.g:7853:1: ( ( rule__RosActionServer__NameAssignment_2 )? ) + // InternalRosSystem.g:7854:2: ( rule__RosActionServer__NameAssignment_2 )? { before(grammarAccess.getRosActionServerAccess().getNameAssignment_2()); - // InternalRosSystem.g:6725:2: ( rule__RosActionServer__NameAssignment_2 )? - int alt47=2; - int LA47_0 = input.LA(1); + // InternalRosSystem.g:7855:2: ( rule__RosActionServer__NameAssignment_2 )? + int alt58=2; + int LA58_0 = input.LA(1); - if ( ((LA47_0>=RULE_STRING && LA47_0<=RULE_ID)) ) { - alt47=1; + if ( ((LA58_0>=RULE_STRING && LA58_0<=RULE_ID)) ) { + alt58=1; } - switch (alt47) { + switch (alt58) { case 1 : - // InternalRosSystem.g:6725:3: rule__RosActionServer__NameAssignment_2 + // InternalRosSystem.g:7855:3: rule__RosActionServer__NameAssignment_2 { pushFollow(FOLLOW_2); rule__RosActionServer__NameAssignment_2(); @@ -20363,16 +23808,16 @@ public final void rule__RosActionServer__Group__2__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group__3" - // InternalRosSystem.g:6733:1: rule__RosActionServer__Group__3 : rule__RosActionServer__Group__3__Impl rule__RosActionServer__Group__4 ; + // InternalRosSystem.g:7863:1: rule__RosActionServer__Group__3 : rule__RosActionServer__Group__3__Impl rule__RosActionServer__Group__4 ; public final void rule__RosActionServer__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6737:1: ( rule__RosActionServer__Group__3__Impl rule__RosActionServer__Group__4 ) - // InternalRosSystem.g:6738:2: rule__RosActionServer__Group__3__Impl rule__RosActionServer__Group__4 + // InternalRosSystem.g:7867:1: ( rule__RosActionServer__Group__3__Impl rule__RosActionServer__Group__4 ) + // InternalRosSystem.g:7868:2: rule__RosActionServer__Group__3__Impl rule__RosActionServer__Group__4 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_46); rule__RosActionServer__Group__3__Impl(); state._fsp--; @@ -20401,17 +23846,17 @@ public final void rule__RosActionServer__Group__3() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__3__Impl" - // InternalRosSystem.g:6745:1: rule__RosActionServer__Group__3__Impl : ( '{' ) ; + // InternalRosSystem.g:7875:1: rule__RosActionServer__Group__3__Impl : ( '{' ) ; public final void rule__RosActionServer__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6749:1: ( ( '{' ) ) - // InternalRosSystem.g:6750:1: ( '{' ) + // InternalRosSystem.g:7879:1: ( ( '{' ) ) + // InternalRosSystem.g:7880:1: ( '{' ) { - // InternalRosSystem.g:6750:1: ( '{' ) - // InternalRosSystem.g:6751:2: '{' + // InternalRosSystem.g:7880:1: ( '{' ) + // InternalRosSystem.g:7881:2: '{' { before(grammarAccess.getRosActionServerAccess().getLeftCurlyBracketKeyword_3()); match(input,24,FOLLOW_2); @@ -20438,16 +23883,16 @@ public final void rule__RosActionServer__Group__3__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group__4" - // InternalRosSystem.g:6760:1: rule__RosActionServer__Group__4 : rule__RosActionServer__Group__4__Impl rule__RosActionServer__Group__5 ; + // InternalRosSystem.g:7890:1: rule__RosActionServer__Group__4 : rule__RosActionServer__Group__4__Impl rule__RosActionServer__Group__5 ; public final void rule__RosActionServer__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6764:1: ( rule__RosActionServer__Group__4__Impl rule__RosActionServer__Group__5 ) - // InternalRosSystem.g:6765:2: rule__RosActionServer__Group__4__Impl rule__RosActionServer__Group__5 + // InternalRosSystem.g:7894:1: ( rule__RosActionServer__Group__4__Impl rule__RosActionServer__Group__5 ) + // InternalRosSystem.g:7895:2: rule__RosActionServer__Group__4__Impl rule__RosActionServer__Group__5 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_46); rule__RosActionServer__Group__4__Impl(); state._fsp--; @@ -20476,29 +23921,29 @@ public final void rule__RosActionServer__Group__4() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__4__Impl" - // InternalRosSystem.g:6772:1: rule__RosActionServer__Group__4__Impl : ( ( rule__RosActionServer__Group_4__0 )? ) ; + // InternalRosSystem.g:7902:1: rule__RosActionServer__Group__4__Impl : ( ( rule__RosActionServer__Group_4__0 )? ) ; public final void rule__RosActionServer__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6776:1: ( ( ( rule__RosActionServer__Group_4__0 )? ) ) - // InternalRosSystem.g:6777:1: ( ( rule__RosActionServer__Group_4__0 )? ) + // InternalRosSystem.g:7906:1: ( ( ( rule__RosActionServer__Group_4__0 )? ) ) + // InternalRosSystem.g:7907:1: ( ( rule__RosActionServer__Group_4__0 )? ) { - // InternalRosSystem.g:6777:1: ( ( rule__RosActionServer__Group_4__0 )? ) - // InternalRosSystem.g:6778:2: ( rule__RosActionServer__Group_4__0 )? + // InternalRosSystem.g:7907:1: ( ( rule__RosActionServer__Group_4__0 )? ) + // InternalRosSystem.g:7908:2: ( rule__RosActionServer__Group_4__0 )? { before(grammarAccess.getRosActionServerAccess().getGroup_4()); - // InternalRosSystem.g:6779:2: ( rule__RosActionServer__Group_4__0 )? - int alt48=2; - int LA48_0 = input.LA(1); + // InternalRosSystem.g:7909:2: ( rule__RosActionServer__Group_4__0 )? + int alt59=2; + int LA59_0 = input.LA(1); - if ( (LA48_0==53) ) { - alt48=1; + if ( (LA59_0==59) ) { + alt59=1; } - switch (alt48) { + switch (alt59) { case 1 : - // InternalRosSystem.g:6779:3: rule__RosActionServer__Group_4__0 + // InternalRosSystem.g:7909:3: rule__RosActionServer__Group_4__0 { pushFollow(FOLLOW_2); rule__RosActionServer__Group_4__0(); @@ -20534,14 +23979,14 @@ public final void rule__RosActionServer__Group__4__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group__5" - // InternalRosSystem.g:6787:1: rule__RosActionServer__Group__5 : rule__RosActionServer__Group__5__Impl rule__RosActionServer__Group__6 ; + // InternalRosSystem.g:7917:1: rule__RosActionServer__Group__5 : rule__RosActionServer__Group__5__Impl rule__RosActionServer__Group__6 ; public final void rule__RosActionServer__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6791:1: ( rule__RosActionServer__Group__5__Impl rule__RosActionServer__Group__6 ) - // InternalRosSystem.g:6792:2: rule__RosActionServer__Group__5__Impl rule__RosActionServer__Group__6 + // InternalRosSystem.g:7921:1: ( rule__RosActionServer__Group__5__Impl rule__RosActionServer__Group__6 ) + // InternalRosSystem.g:7922:2: rule__RosActionServer__Group__5__Impl rule__RosActionServer__Group__6 { pushFollow(FOLLOW_6); rule__RosActionServer__Group__5__Impl(); @@ -20572,20 +24017,20 @@ public final void rule__RosActionServer__Group__5() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__5__Impl" - // InternalRosSystem.g:6799:1: rule__RosActionServer__Group__5__Impl : ( 'RefServer' ) ; + // InternalRosSystem.g:7929:1: rule__RosActionServer__Group__5__Impl : ( 'RefServer' ) ; public final void rule__RosActionServer__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6803:1: ( ( 'RefServer' ) ) - // InternalRosSystem.g:6804:1: ( 'RefServer' ) + // InternalRosSystem.g:7933:1: ( ( 'RefServer' ) ) + // InternalRosSystem.g:7934:1: ( 'RefServer' ) { - // InternalRosSystem.g:6804:1: ( 'RefServer' ) - // InternalRosSystem.g:6805:2: 'RefServer' + // InternalRosSystem.g:7934:1: ( 'RefServer' ) + // InternalRosSystem.g:7935:2: 'RefServer' { before(grammarAccess.getRosActionServerAccess().getRefServerKeyword_5()); - match(input,57,FOLLOW_2); + match(input,63,FOLLOW_2); after(grammarAccess.getRosActionServerAccess().getRefServerKeyword_5()); } @@ -20609,16 +24054,16 @@ public final void rule__RosActionServer__Group__5__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group__6" - // InternalRosSystem.g:6814:1: rule__RosActionServer__Group__6 : rule__RosActionServer__Group__6__Impl rule__RosActionServer__Group__7 ; + // InternalRosSystem.g:7944:1: rule__RosActionServer__Group__6 : rule__RosActionServer__Group__6__Impl rule__RosActionServer__Group__7 ; public final void rule__RosActionServer__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6818:1: ( rule__RosActionServer__Group__6__Impl rule__RosActionServer__Group__7 ) - // InternalRosSystem.g:6819:2: rule__RosActionServer__Group__6__Impl rule__RosActionServer__Group__7 + // InternalRosSystem.g:7948:1: ( rule__RosActionServer__Group__6__Impl rule__RosActionServer__Group__7 ) + // InternalRosSystem.g:7949:2: rule__RosActionServer__Group__6__Impl rule__RosActionServer__Group__7 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__RosActionServer__Group__6__Impl(); state._fsp--; @@ -20647,21 +24092,21 @@ public final void rule__RosActionServer__Group__6() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__6__Impl" - // InternalRosSystem.g:6826:1: rule__RosActionServer__Group__6__Impl : ( ( rule__RosActionServer__ActserverAssignment_6 ) ) ; + // InternalRosSystem.g:7956:1: rule__RosActionServer__Group__6__Impl : ( ( rule__RosActionServer__ActserverAssignment_6 ) ) ; public final void rule__RosActionServer__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6830:1: ( ( ( rule__RosActionServer__ActserverAssignment_6 ) ) ) - // InternalRosSystem.g:6831:1: ( ( rule__RosActionServer__ActserverAssignment_6 ) ) + // InternalRosSystem.g:7960:1: ( ( ( rule__RosActionServer__ActserverAssignment_6 ) ) ) + // InternalRosSystem.g:7961:1: ( ( rule__RosActionServer__ActserverAssignment_6 ) ) { - // InternalRosSystem.g:6831:1: ( ( rule__RosActionServer__ActserverAssignment_6 ) ) - // InternalRosSystem.g:6832:2: ( rule__RosActionServer__ActserverAssignment_6 ) + // InternalRosSystem.g:7961:1: ( ( rule__RosActionServer__ActserverAssignment_6 ) ) + // InternalRosSystem.g:7962:2: ( rule__RosActionServer__ActserverAssignment_6 ) { before(grammarAccess.getRosActionServerAccess().getActserverAssignment_6()); - // InternalRosSystem.g:6833:2: ( rule__RosActionServer__ActserverAssignment_6 ) - // InternalRosSystem.g:6833:3: rule__RosActionServer__ActserverAssignment_6 + // InternalRosSystem.g:7963:2: ( rule__RosActionServer__ActserverAssignment_6 ) + // InternalRosSystem.g:7963:3: rule__RosActionServer__ActserverAssignment_6 { pushFollow(FOLLOW_2); rule__RosActionServer__ActserverAssignment_6(); @@ -20694,14 +24139,14 @@ public final void rule__RosActionServer__Group__6__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group__7" - // InternalRosSystem.g:6841:1: rule__RosActionServer__Group__7 : rule__RosActionServer__Group__7__Impl ; + // InternalRosSystem.g:7971:1: rule__RosActionServer__Group__7 : rule__RosActionServer__Group__7__Impl ; public final void rule__RosActionServer__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6845:1: ( rule__RosActionServer__Group__7__Impl ) - // InternalRosSystem.g:6846:2: rule__RosActionServer__Group__7__Impl + // InternalRosSystem.g:7975:1: ( rule__RosActionServer__Group__7__Impl ) + // InternalRosSystem.g:7976:2: rule__RosActionServer__Group__7__Impl { pushFollow(FOLLOW_2); rule__RosActionServer__Group__7__Impl(); @@ -20727,17 +24172,17 @@ public final void rule__RosActionServer__Group__7() throws RecognitionException // $ANTLR start "rule__RosActionServer__Group__7__Impl" - // InternalRosSystem.g:6852:1: rule__RosActionServer__Group__7__Impl : ( '}' ) ; + // InternalRosSystem.g:7982:1: rule__RosActionServer__Group__7__Impl : ( '}' ) ; public final void rule__RosActionServer__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6856:1: ( ( '}' ) ) - // InternalRosSystem.g:6857:1: ( '}' ) + // InternalRosSystem.g:7986:1: ( ( '}' ) ) + // InternalRosSystem.g:7987:1: ( '}' ) { - // InternalRosSystem.g:6857:1: ( '}' ) - // InternalRosSystem.g:6858:2: '}' + // InternalRosSystem.g:7987:1: ( '}' ) + // InternalRosSystem.g:7988:2: '}' { before(grammarAccess.getRosActionServerAccess().getRightCurlyBracketKeyword_7()); match(input,26,FOLLOW_2); @@ -20764,14 +24209,14 @@ public final void rule__RosActionServer__Group__7__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionServer__Group_4__0" - // InternalRosSystem.g:6868:1: rule__RosActionServer__Group_4__0 : rule__RosActionServer__Group_4__0__Impl rule__RosActionServer__Group_4__1 ; + // InternalRosSystem.g:7998:1: rule__RosActionServer__Group_4__0 : rule__RosActionServer__Group_4__0__Impl rule__RosActionServer__Group_4__1 ; public final void rule__RosActionServer__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6872:1: ( rule__RosActionServer__Group_4__0__Impl rule__RosActionServer__Group_4__1 ) - // InternalRosSystem.g:6873:2: rule__RosActionServer__Group_4__0__Impl rule__RosActionServer__Group_4__1 + // InternalRosSystem.g:8002:1: ( rule__RosActionServer__Group_4__0__Impl rule__RosActionServer__Group_4__1 ) + // InternalRosSystem.g:8003:2: rule__RosActionServer__Group_4__0__Impl rule__RosActionServer__Group_4__1 { pushFollow(FOLLOW_6); rule__RosActionServer__Group_4__0__Impl(); @@ -20802,20 +24247,20 @@ public final void rule__RosActionServer__Group_4__0() throws RecognitionExceptio // $ANTLR start "rule__RosActionServer__Group_4__0__Impl" - // InternalRosSystem.g:6880:1: rule__RosActionServer__Group_4__0__Impl : ( 'ns' ) ; + // InternalRosSystem.g:8010:1: rule__RosActionServer__Group_4__0__Impl : ( 'ns' ) ; public final void rule__RosActionServer__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6884:1: ( ( 'ns' ) ) - // InternalRosSystem.g:6885:1: ( 'ns' ) + // InternalRosSystem.g:8014:1: ( ( 'ns' ) ) + // InternalRosSystem.g:8015:1: ( 'ns' ) { - // InternalRosSystem.g:6885:1: ( 'ns' ) - // InternalRosSystem.g:6886:2: 'ns' + // InternalRosSystem.g:8015:1: ( 'ns' ) + // InternalRosSystem.g:8016:2: 'ns' { before(grammarAccess.getRosActionServerAccess().getNsKeyword_4_0()); - match(input,53,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getRosActionServerAccess().getNsKeyword_4_0()); } @@ -20839,14 +24284,14 @@ public final void rule__RosActionServer__Group_4__0__Impl() throws RecognitionEx // $ANTLR start "rule__RosActionServer__Group_4__1" - // InternalRosSystem.g:6895:1: rule__RosActionServer__Group_4__1 : rule__RosActionServer__Group_4__1__Impl ; + // InternalRosSystem.g:8025:1: rule__RosActionServer__Group_4__1 : rule__RosActionServer__Group_4__1__Impl ; public final void rule__RosActionServer__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6899:1: ( rule__RosActionServer__Group_4__1__Impl ) - // InternalRosSystem.g:6900:2: rule__RosActionServer__Group_4__1__Impl + // InternalRosSystem.g:8029:1: ( rule__RosActionServer__Group_4__1__Impl ) + // InternalRosSystem.g:8030:2: rule__RosActionServer__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__RosActionServer__Group_4__1__Impl(); @@ -20872,21 +24317,21 @@ public final void rule__RosActionServer__Group_4__1() throws RecognitionExceptio // $ANTLR start "rule__RosActionServer__Group_4__1__Impl" - // InternalRosSystem.g:6906:1: rule__RosActionServer__Group_4__1__Impl : ( ( rule__RosActionServer__NsAssignment_4_1 ) ) ; + // InternalRosSystem.g:8036:1: rule__RosActionServer__Group_4__1__Impl : ( ( rule__RosActionServer__NsAssignment_4_1 ) ) ; public final void rule__RosActionServer__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6910:1: ( ( ( rule__RosActionServer__NsAssignment_4_1 ) ) ) - // InternalRosSystem.g:6911:1: ( ( rule__RosActionServer__NsAssignment_4_1 ) ) + // InternalRosSystem.g:8040:1: ( ( ( rule__RosActionServer__NsAssignment_4_1 ) ) ) + // InternalRosSystem.g:8041:1: ( ( rule__RosActionServer__NsAssignment_4_1 ) ) { - // InternalRosSystem.g:6911:1: ( ( rule__RosActionServer__NsAssignment_4_1 ) ) - // InternalRosSystem.g:6912:2: ( rule__RosActionServer__NsAssignment_4_1 ) + // InternalRosSystem.g:8041:1: ( ( rule__RosActionServer__NsAssignment_4_1 ) ) + // InternalRosSystem.g:8042:2: ( rule__RosActionServer__NsAssignment_4_1 ) { before(grammarAccess.getRosActionServerAccess().getNsAssignment_4_1()); - // InternalRosSystem.g:6913:2: ( rule__RosActionServer__NsAssignment_4_1 ) - // InternalRosSystem.g:6913:3: rule__RosActionServer__NsAssignment_4_1 + // InternalRosSystem.g:8043:2: ( rule__RosActionServer__NsAssignment_4_1 ) + // InternalRosSystem.g:8043:3: rule__RosActionServer__NsAssignment_4_1 { pushFollow(FOLLOW_2); rule__RosActionServer__NsAssignment_4_1(); @@ -20919,16 +24364,16 @@ public final void rule__RosActionServer__Group_4__1__Impl() throws RecognitionEx // $ANTLR start "rule__RosActionClient__Group__0" - // InternalRosSystem.g:6922:1: rule__RosActionClient__Group__0 : rule__RosActionClient__Group__0__Impl rule__RosActionClient__Group__1 ; + // InternalRosSystem.g:8052:1: rule__RosActionClient__Group__0 : rule__RosActionClient__Group__0__Impl rule__RosActionClient__Group__1 ; public final void rule__RosActionClient__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6926:1: ( rule__RosActionClient__Group__0__Impl rule__RosActionClient__Group__1 ) - // InternalRosSystem.g:6927:2: rule__RosActionClient__Group__0__Impl rule__RosActionClient__Group__1 + // InternalRosSystem.g:8056:1: ( rule__RosActionClient__Group__0__Impl rule__RosActionClient__Group__1 ) + // InternalRosSystem.g:8057:2: rule__RosActionClient__Group__0__Impl rule__RosActionClient__Group__1 { - pushFollow(FOLLOW_33); + pushFollow(FOLLOW_41); rule__RosActionClient__Group__0__Impl(); state._fsp--; @@ -20957,21 +24402,21 @@ public final void rule__RosActionClient__Group__0() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__0__Impl" - // InternalRosSystem.g:6934:1: rule__RosActionClient__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:8064:1: rule__RosActionClient__Group__0__Impl : ( () ) ; public final void rule__RosActionClient__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6938:1: ( ( () ) ) - // InternalRosSystem.g:6939:1: ( () ) + // InternalRosSystem.g:8068:1: ( ( () ) ) + // InternalRosSystem.g:8069:1: ( () ) { - // InternalRosSystem.g:6939:1: ( () ) - // InternalRosSystem.g:6940:2: () + // InternalRosSystem.g:8069:1: ( () ) + // InternalRosSystem.g:8070:2: () { before(grammarAccess.getRosActionClientAccess().getRosActionClientAction_0()); - // InternalRosSystem.g:6941:2: () - // InternalRosSystem.g:6941:3: + // InternalRosSystem.g:8071:2: () + // InternalRosSystem.g:8071:3: { } @@ -20994,16 +24439,16 @@ public final void rule__RosActionClient__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group__1" - // InternalRosSystem.g:6949:1: rule__RosActionClient__Group__1 : rule__RosActionClient__Group__1__Impl rule__RosActionClient__Group__2 ; + // InternalRosSystem.g:8079:1: rule__RosActionClient__Group__1 : rule__RosActionClient__Group__1__Impl rule__RosActionClient__Group__2 ; public final void rule__RosActionClient__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6953:1: ( rule__RosActionClient__Group__1__Impl rule__RosActionClient__Group__2 ) - // InternalRosSystem.g:6954:2: rule__RosActionClient__Group__1__Impl rule__RosActionClient__Group__2 + // InternalRosSystem.g:8083:1: ( rule__RosActionClient__Group__1__Impl rule__RosActionClient__Group__2 ) + // InternalRosSystem.g:8084:2: rule__RosActionClient__Group__1__Impl rule__RosActionClient__Group__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosActionClient__Group__1__Impl(); state._fsp--; @@ -21032,20 +24477,20 @@ public final void rule__RosActionClient__Group__1() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__1__Impl" - // InternalRosSystem.g:6961:1: rule__RosActionClient__Group__1__Impl : ( 'RosActionClient' ) ; + // InternalRosSystem.g:8091:1: rule__RosActionClient__Group__1__Impl : ( 'RosActionClient' ) ; public final void rule__RosActionClient__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6965:1: ( ( 'RosActionClient' ) ) - // InternalRosSystem.g:6966:1: ( 'RosActionClient' ) + // InternalRosSystem.g:8095:1: ( ( 'RosActionClient' ) ) + // InternalRosSystem.g:8096:1: ( 'RosActionClient' ) { - // InternalRosSystem.g:6966:1: ( 'RosActionClient' ) - // InternalRosSystem.g:6967:2: 'RosActionClient' + // InternalRosSystem.g:8096:1: ( 'RosActionClient' ) + // InternalRosSystem.g:8097:2: 'RosActionClient' { before(grammarAccess.getRosActionClientAccess().getRosActionClientKeyword_1()); - match(input,61,FOLLOW_2); + match(input,67,FOLLOW_2); after(grammarAccess.getRosActionClientAccess().getRosActionClientKeyword_1()); } @@ -21069,16 +24514,16 @@ public final void rule__RosActionClient__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group__2" - // InternalRosSystem.g:6976:1: rule__RosActionClient__Group__2 : rule__RosActionClient__Group__2__Impl rule__RosActionClient__Group__3 ; + // InternalRosSystem.g:8106:1: rule__RosActionClient__Group__2 : rule__RosActionClient__Group__2__Impl rule__RosActionClient__Group__3 ; public final void rule__RosActionClient__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6980:1: ( rule__RosActionClient__Group__2__Impl rule__RosActionClient__Group__3 ) - // InternalRosSystem.g:6981:2: rule__RosActionClient__Group__2__Impl rule__RosActionClient__Group__3 + // InternalRosSystem.g:8110:1: ( rule__RosActionClient__Group__2__Impl rule__RosActionClient__Group__3 ) + // InternalRosSystem.g:8111:2: rule__RosActionClient__Group__2__Impl rule__RosActionClient__Group__3 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosActionClient__Group__2__Impl(); state._fsp--; @@ -21107,29 +24552,29 @@ public final void rule__RosActionClient__Group__2() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__2__Impl" - // InternalRosSystem.g:6988:1: rule__RosActionClient__Group__2__Impl : ( ( rule__RosActionClient__NameAssignment_2 )? ) ; + // InternalRosSystem.g:8118:1: rule__RosActionClient__Group__2__Impl : ( ( rule__RosActionClient__NameAssignment_2 )? ) ; public final void rule__RosActionClient__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:6992:1: ( ( ( rule__RosActionClient__NameAssignment_2 )? ) ) - // InternalRosSystem.g:6993:1: ( ( rule__RosActionClient__NameAssignment_2 )? ) + // InternalRosSystem.g:8122:1: ( ( ( rule__RosActionClient__NameAssignment_2 )? ) ) + // InternalRosSystem.g:8123:1: ( ( rule__RosActionClient__NameAssignment_2 )? ) { - // InternalRosSystem.g:6993:1: ( ( rule__RosActionClient__NameAssignment_2 )? ) - // InternalRosSystem.g:6994:2: ( rule__RosActionClient__NameAssignment_2 )? + // InternalRosSystem.g:8123:1: ( ( rule__RosActionClient__NameAssignment_2 )? ) + // InternalRosSystem.g:8124:2: ( rule__RosActionClient__NameAssignment_2 )? { before(grammarAccess.getRosActionClientAccess().getNameAssignment_2()); - // InternalRosSystem.g:6995:2: ( rule__RosActionClient__NameAssignment_2 )? - int alt49=2; - int LA49_0 = input.LA(1); + // InternalRosSystem.g:8125:2: ( rule__RosActionClient__NameAssignment_2 )? + int alt60=2; + int LA60_0 = input.LA(1); - if ( ((LA49_0>=RULE_STRING && LA49_0<=RULE_ID)) ) { - alt49=1; + if ( ((LA60_0>=RULE_STRING && LA60_0<=RULE_ID)) ) { + alt60=1; } - switch (alt49) { + switch (alt60) { case 1 : - // InternalRosSystem.g:6995:3: rule__RosActionClient__NameAssignment_2 + // InternalRosSystem.g:8125:3: rule__RosActionClient__NameAssignment_2 { pushFollow(FOLLOW_2); rule__RosActionClient__NameAssignment_2(); @@ -21165,16 +24610,16 @@ public final void rule__RosActionClient__Group__2__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group__3" - // InternalRosSystem.g:7003:1: rule__RosActionClient__Group__3 : rule__RosActionClient__Group__3__Impl rule__RosActionClient__Group__4 ; + // InternalRosSystem.g:8133:1: rule__RosActionClient__Group__3 : rule__RosActionClient__Group__3__Impl rule__RosActionClient__Group__4 ; public final void rule__RosActionClient__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7007:1: ( rule__RosActionClient__Group__3__Impl rule__RosActionClient__Group__4 ) - // InternalRosSystem.g:7008:2: rule__RosActionClient__Group__3__Impl rule__RosActionClient__Group__4 + // InternalRosSystem.g:8137:1: ( rule__RosActionClient__Group__3__Impl rule__RosActionClient__Group__4 ) + // InternalRosSystem.g:8138:2: rule__RosActionClient__Group__3__Impl rule__RosActionClient__Group__4 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_47); rule__RosActionClient__Group__3__Impl(); state._fsp--; @@ -21203,17 +24648,17 @@ public final void rule__RosActionClient__Group__3() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__3__Impl" - // InternalRosSystem.g:7015:1: rule__RosActionClient__Group__3__Impl : ( '{' ) ; + // InternalRosSystem.g:8145:1: rule__RosActionClient__Group__3__Impl : ( '{' ) ; public final void rule__RosActionClient__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7019:1: ( ( '{' ) ) - // InternalRosSystem.g:7020:1: ( '{' ) + // InternalRosSystem.g:8149:1: ( ( '{' ) ) + // InternalRosSystem.g:8150:1: ( '{' ) { - // InternalRosSystem.g:7020:1: ( '{' ) - // InternalRosSystem.g:7021:2: '{' + // InternalRosSystem.g:8150:1: ( '{' ) + // InternalRosSystem.g:8151:2: '{' { before(grammarAccess.getRosActionClientAccess().getLeftCurlyBracketKeyword_3()); match(input,24,FOLLOW_2); @@ -21240,16 +24685,16 @@ public final void rule__RosActionClient__Group__3__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group__4" - // InternalRosSystem.g:7030:1: rule__RosActionClient__Group__4 : rule__RosActionClient__Group__4__Impl rule__RosActionClient__Group__5 ; + // InternalRosSystem.g:8160:1: rule__RosActionClient__Group__4 : rule__RosActionClient__Group__4__Impl rule__RosActionClient__Group__5 ; public final void rule__RosActionClient__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7034:1: ( rule__RosActionClient__Group__4__Impl rule__RosActionClient__Group__5 ) - // InternalRosSystem.g:7035:2: rule__RosActionClient__Group__4__Impl rule__RosActionClient__Group__5 + // InternalRosSystem.g:8164:1: ( rule__RosActionClient__Group__4__Impl rule__RosActionClient__Group__5 ) + // InternalRosSystem.g:8165:2: rule__RosActionClient__Group__4__Impl rule__RosActionClient__Group__5 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_47); rule__RosActionClient__Group__4__Impl(); state._fsp--; @@ -21278,29 +24723,29 @@ public final void rule__RosActionClient__Group__4() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__4__Impl" - // InternalRosSystem.g:7042:1: rule__RosActionClient__Group__4__Impl : ( ( rule__RosActionClient__Group_4__0 )? ) ; + // InternalRosSystem.g:8172:1: rule__RosActionClient__Group__4__Impl : ( ( rule__RosActionClient__Group_4__0 )? ) ; public final void rule__RosActionClient__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7046:1: ( ( ( rule__RosActionClient__Group_4__0 )? ) ) - // InternalRosSystem.g:7047:1: ( ( rule__RosActionClient__Group_4__0 )? ) + // InternalRosSystem.g:8176:1: ( ( ( rule__RosActionClient__Group_4__0 )? ) ) + // InternalRosSystem.g:8177:1: ( ( rule__RosActionClient__Group_4__0 )? ) { - // InternalRosSystem.g:7047:1: ( ( rule__RosActionClient__Group_4__0 )? ) - // InternalRosSystem.g:7048:2: ( rule__RosActionClient__Group_4__0 )? + // InternalRosSystem.g:8177:1: ( ( rule__RosActionClient__Group_4__0 )? ) + // InternalRosSystem.g:8178:2: ( rule__RosActionClient__Group_4__0 )? { before(grammarAccess.getRosActionClientAccess().getGroup_4()); - // InternalRosSystem.g:7049:2: ( rule__RosActionClient__Group_4__0 )? - int alt50=2; - int LA50_0 = input.LA(1); + // InternalRosSystem.g:8179:2: ( rule__RosActionClient__Group_4__0 )? + int alt61=2; + int LA61_0 = input.LA(1); - if ( (LA50_0==53) ) { - alt50=1; + if ( (LA61_0==59) ) { + alt61=1; } - switch (alt50) { + switch (alt61) { case 1 : - // InternalRosSystem.g:7049:3: rule__RosActionClient__Group_4__0 + // InternalRosSystem.g:8179:3: rule__RosActionClient__Group_4__0 { pushFollow(FOLLOW_2); rule__RosActionClient__Group_4__0(); @@ -21336,14 +24781,14 @@ public final void rule__RosActionClient__Group__4__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group__5" - // InternalRosSystem.g:7057:1: rule__RosActionClient__Group__5 : rule__RosActionClient__Group__5__Impl rule__RosActionClient__Group__6 ; + // InternalRosSystem.g:8187:1: rule__RosActionClient__Group__5 : rule__RosActionClient__Group__5__Impl rule__RosActionClient__Group__6 ; public final void rule__RosActionClient__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7061:1: ( rule__RosActionClient__Group__5__Impl rule__RosActionClient__Group__6 ) - // InternalRosSystem.g:7062:2: rule__RosActionClient__Group__5__Impl rule__RosActionClient__Group__6 + // InternalRosSystem.g:8191:1: ( rule__RosActionClient__Group__5__Impl rule__RosActionClient__Group__6 ) + // InternalRosSystem.g:8192:2: rule__RosActionClient__Group__5__Impl rule__RosActionClient__Group__6 { pushFollow(FOLLOW_6); rule__RosActionClient__Group__5__Impl(); @@ -21374,20 +24819,20 @@ public final void rule__RosActionClient__Group__5() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__5__Impl" - // InternalRosSystem.g:7069:1: rule__RosActionClient__Group__5__Impl : ( 'RefClient' ) ; + // InternalRosSystem.g:8199:1: rule__RosActionClient__Group__5__Impl : ( 'RefClient' ) ; public final void rule__RosActionClient__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7073:1: ( ( 'RefClient' ) ) - // InternalRosSystem.g:7074:1: ( 'RefClient' ) + // InternalRosSystem.g:8203:1: ( ( 'RefClient' ) ) + // InternalRosSystem.g:8204:1: ( 'RefClient' ) { - // InternalRosSystem.g:7074:1: ( 'RefClient' ) - // InternalRosSystem.g:7075:2: 'RefClient' + // InternalRosSystem.g:8204:1: ( 'RefClient' ) + // InternalRosSystem.g:8205:2: 'RefClient' { before(grammarAccess.getRosActionClientAccess().getRefClientKeyword_5()); - match(input,59,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getRosActionClientAccess().getRefClientKeyword_5()); } @@ -21411,16 +24856,16 @@ public final void rule__RosActionClient__Group__5__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group__6" - // InternalRosSystem.g:7084:1: rule__RosActionClient__Group__6 : rule__RosActionClient__Group__6__Impl rule__RosActionClient__Group__7 ; + // InternalRosSystem.g:8214:1: rule__RosActionClient__Group__6 : rule__RosActionClient__Group__6__Impl rule__RosActionClient__Group__7 ; public final void rule__RosActionClient__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7088:1: ( rule__RosActionClient__Group__6__Impl rule__RosActionClient__Group__7 ) - // InternalRosSystem.g:7089:2: rule__RosActionClient__Group__6__Impl rule__RosActionClient__Group__7 + // InternalRosSystem.g:8218:1: ( rule__RosActionClient__Group__6__Impl rule__RosActionClient__Group__7 ) + // InternalRosSystem.g:8219:2: rule__RosActionClient__Group__6__Impl rule__RosActionClient__Group__7 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__RosActionClient__Group__6__Impl(); state._fsp--; @@ -21449,21 +24894,21 @@ public final void rule__RosActionClient__Group__6() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__6__Impl" - // InternalRosSystem.g:7096:1: rule__RosActionClient__Group__6__Impl : ( ( rule__RosActionClient__ActclientAssignment_6 ) ) ; + // InternalRosSystem.g:8226:1: rule__RosActionClient__Group__6__Impl : ( ( rule__RosActionClient__ActclientAssignment_6 ) ) ; public final void rule__RosActionClient__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7100:1: ( ( ( rule__RosActionClient__ActclientAssignment_6 ) ) ) - // InternalRosSystem.g:7101:1: ( ( rule__RosActionClient__ActclientAssignment_6 ) ) + // InternalRosSystem.g:8230:1: ( ( ( rule__RosActionClient__ActclientAssignment_6 ) ) ) + // InternalRosSystem.g:8231:1: ( ( rule__RosActionClient__ActclientAssignment_6 ) ) { - // InternalRosSystem.g:7101:1: ( ( rule__RosActionClient__ActclientAssignment_6 ) ) - // InternalRosSystem.g:7102:2: ( rule__RosActionClient__ActclientAssignment_6 ) + // InternalRosSystem.g:8231:1: ( ( rule__RosActionClient__ActclientAssignment_6 ) ) + // InternalRosSystem.g:8232:2: ( rule__RosActionClient__ActclientAssignment_6 ) { before(grammarAccess.getRosActionClientAccess().getActclientAssignment_6()); - // InternalRosSystem.g:7103:2: ( rule__RosActionClient__ActclientAssignment_6 ) - // InternalRosSystem.g:7103:3: rule__RosActionClient__ActclientAssignment_6 + // InternalRosSystem.g:8233:2: ( rule__RosActionClient__ActclientAssignment_6 ) + // InternalRosSystem.g:8233:3: rule__RosActionClient__ActclientAssignment_6 { pushFollow(FOLLOW_2); rule__RosActionClient__ActclientAssignment_6(); @@ -21496,14 +24941,14 @@ public final void rule__RosActionClient__Group__6__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group__7" - // InternalRosSystem.g:7111:1: rule__RosActionClient__Group__7 : rule__RosActionClient__Group__7__Impl ; + // InternalRosSystem.g:8241:1: rule__RosActionClient__Group__7 : rule__RosActionClient__Group__7__Impl ; public final void rule__RosActionClient__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7115:1: ( rule__RosActionClient__Group__7__Impl ) - // InternalRosSystem.g:7116:2: rule__RosActionClient__Group__7__Impl + // InternalRosSystem.g:8245:1: ( rule__RosActionClient__Group__7__Impl ) + // InternalRosSystem.g:8246:2: rule__RosActionClient__Group__7__Impl { pushFollow(FOLLOW_2); rule__RosActionClient__Group__7__Impl(); @@ -21529,17 +24974,17 @@ public final void rule__RosActionClient__Group__7() throws RecognitionException // $ANTLR start "rule__RosActionClient__Group__7__Impl" - // InternalRosSystem.g:7122:1: rule__RosActionClient__Group__7__Impl : ( '}' ) ; + // InternalRosSystem.g:8252:1: rule__RosActionClient__Group__7__Impl : ( '}' ) ; public final void rule__RosActionClient__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7126:1: ( ( '}' ) ) - // InternalRosSystem.g:7127:1: ( '}' ) + // InternalRosSystem.g:8256:1: ( ( '}' ) ) + // InternalRosSystem.g:8257:1: ( '}' ) { - // InternalRosSystem.g:7127:1: ( '}' ) - // InternalRosSystem.g:7128:2: '}' + // InternalRosSystem.g:8257:1: ( '}' ) + // InternalRosSystem.g:8258:2: '}' { before(grammarAccess.getRosActionClientAccess().getRightCurlyBracketKeyword_7()); match(input,26,FOLLOW_2); @@ -21566,14 +25011,14 @@ public final void rule__RosActionClient__Group__7__Impl() throws RecognitionExce // $ANTLR start "rule__RosActionClient__Group_4__0" - // InternalRosSystem.g:7138:1: rule__RosActionClient__Group_4__0 : rule__RosActionClient__Group_4__0__Impl rule__RosActionClient__Group_4__1 ; + // InternalRosSystem.g:8268:1: rule__RosActionClient__Group_4__0 : rule__RosActionClient__Group_4__0__Impl rule__RosActionClient__Group_4__1 ; public final void rule__RosActionClient__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7142:1: ( rule__RosActionClient__Group_4__0__Impl rule__RosActionClient__Group_4__1 ) - // InternalRosSystem.g:7143:2: rule__RosActionClient__Group_4__0__Impl rule__RosActionClient__Group_4__1 + // InternalRosSystem.g:8272:1: ( rule__RosActionClient__Group_4__0__Impl rule__RosActionClient__Group_4__1 ) + // InternalRosSystem.g:8273:2: rule__RosActionClient__Group_4__0__Impl rule__RosActionClient__Group_4__1 { pushFollow(FOLLOW_6); rule__RosActionClient__Group_4__0__Impl(); @@ -21604,20 +25049,20 @@ public final void rule__RosActionClient__Group_4__0() throws RecognitionExceptio // $ANTLR start "rule__RosActionClient__Group_4__0__Impl" - // InternalRosSystem.g:7150:1: rule__RosActionClient__Group_4__0__Impl : ( 'ns' ) ; + // InternalRosSystem.g:8280:1: rule__RosActionClient__Group_4__0__Impl : ( 'ns' ) ; public final void rule__RosActionClient__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7154:1: ( ( 'ns' ) ) - // InternalRosSystem.g:7155:1: ( 'ns' ) + // InternalRosSystem.g:8284:1: ( ( 'ns' ) ) + // InternalRosSystem.g:8285:1: ( 'ns' ) { - // InternalRosSystem.g:7155:1: ( 'ns' ) - // InternalRosSystem.g:7156:2: 'ns' + // InternalRosSystem.g:8285:1: ( 'ns' ) + // InternalRosSystem.g:8286:2: 'ns' { before(grammarAccess.getRosActionClientAccess().getNsKeyword_4_0()); - match(input,53,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getRosActionClientAccess().getNsKeyword_4_0()); } @@ -21641,14 +25086,14 @@ public final void rule__RosActionClient__Group_4__0__Impl() throws RecognitionEx // $ANTLR start "rule__RosActionClient__Group_4__1" - // InternalRosSystem.g:7165:1: rule__RosActionClient__Group_4__1 : rule__RosActionClient__Group_4__1__Impl ; + // InternalRosSystem.g:8295:1: rule__RosActionClient__Group_4__1 : rule__RosActionClient__Group_4__1__Impl ; public final void rule__RosActionClient__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7169:1: ( rule__RosActionClient__Group_4__1__Impl ) - // InternalRosSystem.g:7170:2: rule__RosActionClient__Group_4__1__Impl + // InternalRosSystem.g:8299:1: ( rule__RosActionClient__Group_4__1__Impl ) + // InternalRosSystem.g:8300:2: rule__RosActionClient__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__RosActionClient__Group_4__1__Impl(); @@ -21674,21 +25119,21 @@ public final void rule__RosActionClient__Group_4__1() throws RecognitionExceptio // $ANTLR start "rule__RosActionClient__Group_4__1__Impl" - // InternalRosSystem.g:7176:1: rule__RosActionClient__Group_4__1__Impl : ( ( rule__RosActionClient__NsAssignment_4_1 ) ) ; + // InternalRosSystem.g:8306:1: rule__RosActionClient__Group_4__1__Impl : ( ( rule__RosActionClient__NsAssignment_4_1 ) ) ; public final void rule__RosActionClient__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7180:1: ( ( ( rule__RosActionClient__NsAssignment_4_1 ) ) ) - // InternalRosSystem.g:7181:1: ( ( rule__RosActionClient__NsAssignment_4_1 ) ) + // InternalRosSystem.g:8310:1: ( ( ( rule__RosActionClient__NsAssignment_4_1 ) ) ) + // InternalRosSystem.g:8311:1: ( ( rule__RosActionClient__NsAssignment_4_1 ) ) { - // InternalRosSystem.g:7181:1: ( ( rule__RosActionClient__NsAssignment_4_1 ) ) - // InternalRosSystem.g:7182:2: ( rule__RosActionClient__NsAssignment_4_1 ) + // InternalRosSystem.g:8311:1: ( ( rule__RosActionClient__NsAssignment_4_1 ) ) + // InternalRosSystem.g:8312:2: ( rule__RosActionClient__NsAssignment_4_1 ) { before(grammarAccess.getRosActionClientAccess().getNsAssignment_4_1()); - // InternalRosSystem.g:7183:2: ( rule__RosActionClient__NsAssignment_4_1 ) - // InternalRosSystem.g:7183:3: rule__RosActionClient__NsAssignment_4_1 + // InternalRosSystem.g:8313:2: ( rule__RosActionClient__NsAssignment_4_1 ) + // InternalRosSystem.g:8313:3: rule__RosActionClient__NsAssignment_4_1 { pushFollow(FOLLOW_2); rule__RosActionClient__NsAssignment_4_1(); @@ -21721,16 +25166,16 @@ public final void rule__RosActionClient__Group_4__1__Impl() throws RecognitionEx // $ANTLR start "rule__RosParameter__Group__0" - // InternalRosSystem.g:7192:1: rule__RosParameter__Group__0 : rule__RosParameter__Group__0__Impl rule__RosParameter__Group__1 ; + // InternalRosSystem.g:8322:1: rule__RosParameter__Group__0 : rule__RosParameter__Group__0__Impl rule__RosParameter__Group__1 ; public final void rule__RosParameter__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7196:1: ( rule__RosParameter__Group__0__Impl rule__RosParameter__Group__1 ) - // InternalRosSystem.g:7197:2: rule__RosParameter__Group__0__Impl rule__RosParameter__Group__1 + // InternalRosSystem.g:8326:1: ( rule__RosParameter__Group__0__Impl rule__RosParameter__Group__1 ) + // InternalRosSystem.g:8327:2: rule__RosParameter__Group__0__Impl rule__RosParameter__Group__1 { - pushFollow(FOLLOW_34); + pushFollow(FOLLOW_42); rule__RosParameter__Group__0__Impl(); state._fsp--; @@ -21759,21 +25204,21 @@ public final void rule__RosParameter__Group__0() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__0__Impl" - // InternalRosSystem.g:7204:1: rule__RosParameter__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:8334:1: rule__RosParameter__Group__0__Impl : ( () ) ; public final void rule__RosParameter__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7208:1: ( ( () ) ) - // InternalRosSystem.g:7209:1: ( () ) + // InternalRosSystem.g:8338:1: ( ( () ) ) + // InternalRosSystem.g:8339:1: ( () ) { - // InternalRosSystem.g:7209:1: ( () ) - // InternalRosSystem.g:7210:2: () + // InternalRosSystem.g:8339:1: ( () ) + // InternalRosSystem.g:8340:2: () { before(grammarAccess.getRosParameterAccess().getRosParameterAction_0()); - // InternalRosSystem.g:7211:2: () - // InternalRosSystem.g:7211:3: + // InternalRosSystem.g:8341:2: () + // InternalRosSystem.g:8341:3: { } @@ -21796,16 +25241,16 @@ public final void rule__RosParameter__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__1" - // InternalRosSystem.g:7219:1: rule__RosParameter__Group__1 : rule__RosParameter__Group__1__Impl rule__RosParameter__Group__2 ; + // InternalRosSystem.g:8349:1: rule__RosParameter__Group__1 : rule__RosParameter__Group__1__Impl rule__RosParameter__Group__2 ; public final void rule__RosParameter__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7223:1: ( rule__RosParameter__Group__1__Impl rule__RosParameter__Group__2 ) - // InternalRosSystem.g:7224:2: rule__RosParameter__Group__1__Impl rule__RosParameter__Group__2 + // InternalRosSystem.g:8353:1: ( rule__RosParameter__Group__1__Impl rule__RosParameter__Group__2 ) + // InternalRosSystem.g:8354:2: rule__RosParameter__Group__1__Impl rule__RosParameter__Group__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosParameter__Group__1__Impl(); state._fsp--; @@ -21834,20 +25279,20 @@ public final void rule__RosParameter__Group__1() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__1__Impl" - // InternalRosSystem.g:7231:1: rule__RosParameter__Group__1__Impl : ( 'RosParameter' ) ; + // InternalRosSystem.g:8361:1: rule__RosParameter__Group__1__Impl : ( 'RosParameter' ) ; public final void rule__RosParameter__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7235:1: ( ( 'RosParameter' ) ) - // InternalRosSystem.g:7236:1: ( 'RosParameter' ) + // InternalRosSystem.g:8365:1: ( ( 'RosParameter' ) ) + // InternalRosSystem.g:8366:1: ( 'RosParameter' ) { - // InternalRosSystem.g:7236:1: ( 'RosParameter' ) - // InternalRosSystem.g:7237:2: 'RosParameter' + // InternalRosSystem.g:8366:1: ( 'RosParameter' ) + // InternalRosSystem.g:8367:2: 'RosParameter' { before(grammarAccess.getRosParameterAccess().getRosParameterKeyword_1()); - match(input,62,FOLLOW_2); + match(input,68,FOLLOW_2); after(grammarAccess.getRosParameterAccess().getRosParameterKeyword_1()); } @@ -21871,16 +25316,16 @@ public final void rule__RosParameter__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__2" - // InternalRosSystem.g:7246:1: rule__RosParameter__Group__2 : rule__RosParameter__Group__2__Impl rule__RosParameter__Group__3 ; + // InternalRosSystem.g:8376:1: rule__RosParameter__Group__2 : rule__RosParameter__Group__2__Impl rule__RosParameter__Group__3 ; public final void rule__RosParameter__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7250:1: ( rule__RosParameter__Group__2__Impl rule__RosParameter__Group__3 ) - // InternalRosSystem.g:7251:2: rule__RosParameter__Group__2__Impl rule__RosParameter__Group__3 + // InternalRosSystem.g:8380:1: ( rule__RosParameter__Group__2__Impl rule__RosParameter__Group__3 ) + // InternalRosSystem.g:8381:2: rule__RosParameter__Group__2__Impl rule__RosParameter__Group__3 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_43); rule__RosParameter__Group__2__Impl(); state._fsp--; @@ -21909,29 +25354,29 @@ public final void rule__RosParameter__Group__2() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__2__Impl" - // InternalRosSystem.g:7258:1: rule__RosParameter__Group__2__Impl : ( ( rule__RosParameter__NameAssignment_2 )? ) ; + // InternalRosSystem.g:8388:1: rule__RosParameter__Group__2__Impl : ( ( rule__RosParameter__NameAssignment_2 )? ) ; public final void rule__RosParameter__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7262:1: ( ( ( rule__RosParameter__NameAssignment_2 )? ) ) - // InternalRosSystem.g:7263:1: ( ( rule__RosParameter__NameAssignment_2 )? ) + // InternalRosSystem.g:8392:1: ( ( ( rule__RosParameter__NameAssignment_2 )? ) ) + // InternalRosSystem.g:8393:1: ( ( rule__RosParameter__NameAssignment_2 )? ) { - // InternalRosSystem.g:7263:1: ( ( rule__RosParameter__NameAssignment_2 )? ) - // InternalRosSystem.g:7264:2: ( rule__RosParameter__NameAssignment_2 )? + // InternalRosSystem.g:8393:1: ( ( rule__RosParameter__NameAssignment_2 )? ) + // InternalRosSystem.g:8394:2: ( rule__RosParameter__NameAssignment_2 )? { before(grammarAccess.getRosParameterAccess().getNameAssignment_2()); - // InternalRosSystem.g:7265:2: ( rule__RosParameter__NameAssignment_2 )? - int alt51=2; - int LA51_0 = input.LA(1); + // InternalRosSystem.g:8395:2: ( rule__RosParameter__NameAssignment_2 )? + int alt62=2; + int LA62_0 = input.LA(1); - if ( ((LA51_0>=RULE_STRING && LA51_0<=RULE_ID)) ) { - alt51=1; + if ( ((LA62_0>=RULE_STRING && LA62_0<=RULE_ID)) ) { + alt62=1; } - switch (alt51) { + switch (alt62) { case 1 : - // InternalRosSystem.g:7265:3: rule__RosParameter__NameAssignment_2 + // InternalRosSystem.g:8395:3: rule__RosParameter__NameAssignment_2 { pushFollow(FOLLOW_2); rule__RosParameter__NameAssignment_2(); @@ -21967,16 +25412,16 @@ public final void rule__RosParameter__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__3" - // InternalRosSystem.g:7273:1: rule__RosParameter__Group__3 : rule__RosParameter__Group__3__Impl rule__RosParameter__Group__4 ; + // InternalRosSystem.g:8403:1: rule__RosParameter__Group__3 : rule__RosParameter__Group__3__Impl rule__RosParameter__Group__4 ; public final void rule__RosParameter__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7277:1: ( rule__RosParameter__Group__3__Impl rule__RosParameter__Group__4 ) - // InternalRosSystem.g:7278:2: rule__RosParameter__Group__3__Impl rule__RosParameter__Group__4 + // InternalRosSystem.g:8407:1: ( rule__RosParameter__Group__3__Impl rule__RosParameter__Group__4 ) + // InternalRosSystem.g:8408:2: rule__RosParameter__Group__3__Impl rule__RosParameter__Group__4 { - pushFollow(FOLLOW_40); + pushFollow(FOLLOW_48); rule__RosParameter__Group__3__Impl(); state._fsp--; @@ -22005,17 +25450,17 @@ public final void rule__RosParameter__Group__3() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__3__Impl" - // InternalRosSystem.g:7285:1: rule__RosParameter__Group__3__Impl : ( '{' ) ; + // InternalRosSystem.g:8415:1: rule__RosParameter__Group__3__Impl : ( '{' ) ; public final void rule__RosParameter__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7289:1: ( ( '{' ) ) - // InternalRosSystem.g:7290:1: ( '{' ) + // InternalRosSystem.g:8419:1: ( ( '{' ) ) + // InternalRosSystem.g:8420:1: ( '{' ) { - // InternalRosSystem.g:7290:1: ( '{' ) - // InternalRosSystem.g:7291:2: '{' + // InternalRosSystem.g:8420:1: ( '{' ) + // InternalRosSystem.g:8421:2: '{' { before(grammarAccess.getRosParameterAccess().getLeftCurlyBracketKeyword_3()); match(input,24,FOLLOW_2); @@ -22042,16 +25487,16 @@ public final void rule__RosParameter__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__4" - // InternalRosSystem.g:7300:1: rule__RosParameter__Group__4 : rule__RosParameter__Group__4__Impl rule__RosParameter__Group__5 ; + // InternalRosSystem.g:8430:1: rule__RosParameter__Group__4 : rule__RosParameter__Group__4__Impl rule__RosParameter__Group__5 ; public final void rule__RosParameter__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7304:1: ( rule__RosParameter__Group__4__Impl rule__RosParameter__Group__5 ) - // InternalRosSystem.g:7305:2: rule__RosParameter__Group__4__Impl rule__RosParameter__Group__5 + // InternalRosSystem.g:8434:1: ( rule__RosParameter__Group__4__Impl rule__RosParameter__Group__5 ) + // InternalRosSystem.g:8435:2: rule__RosParameter__Group__4__Impl rule__RosParameter__Group__5 { - pushFollow(FOLLOW_40); + pushFollow(FOLLOW_48); rule__RosParameter__Group__4__Impl(); state._fsp--; @@ -22080,29 +25525,29 @@ public final void rule__RosParameter__Group__4() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__4__Impl" - // InternalRosSystem.g:7312:1: rule__RosParameter__Group__4__Impl : ( ( rule__RosParameter__Group_4__0 )? ) ; + // InternalRosSystem.g:8442:1: rule__RosParameter__Group__4__Impl : ( ( rule__RosParameter__Group_4__0 )? ) ; public final void rule__RosParameter__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7316:1: ( ( ( rule__RosParameter__Group_4__0 )? ) ) - // InternalRosSystem.g:7317:1: ( ( rule__RosParameter__Group_4__0 )? ) + // InternalRosSystem.g:8446:1: ( ( ( rule__RosParameter__Group_4__0 )? ) ) + // InternalRosSystem.g:8447:1: ( ( rule__RosParameter__Group_4__0 )? ) { - // InternalRosSystem.g:7317:1: ( ( rule__RosParameter__Group_4__0 )? ) - // InternalRosSystem.g:7318:2: ( rule__RosParameter__Group_4__0 )? + // InternalRosSystem.g:8447:1: ( ( rule__RosParameter__Group_4__0 )? ) + // InternalRosSystem.g:8448:2: ( rule__RosParameter__Group_4__0 )? { before(grammarAccess.getRosParameterAccess().getGroup_4()); - // InternalRosSystem.g:7319:2: ( rule__RosParameter__Group_4__0 )? - int alt52=2; - int LA52_0 = input.LA(1); + // InternalRosSystem.g:8449:2: ( rule__RosParameter__Group_4__0 )? + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA52_0==53) ) { - alt52=1; + if ( (LA63_0==59) ) { + alt63=1; } - switch (alt52) { + switch (alt63) { case 1 : - // InternalRosSystem.g:7319:3: rule__RosParameter__Group_4__0 + // InternalRosSystem.g:8449:3: rule__RosParameter__Group_4__0 { pushFollow(FOLLOW_2); rule__RosParameter__Group_4__0(); @@ -22138,14 +25583,14 @@ public final void rule__RosParameter__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__5" - // InternalRosSystem.g:7327:1: rule__RosParameter__Group__5 : rule__RosParameter__Group__5__Impl rule__RosParameter__Group__6 ; + // InternalRosSystem.g:8457:1: rule__RosParameter__Group__5 : rule__RosParameter__Group__5__Impl rule__RosParameter__Group__6 ; public final void rule__RosParameter__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7331:1: ( rule__RosParameter__Group__5__Impl rule__RosParameter__Group__6 ) - // InternalRosSystem.g:7332:2: rule__RosParameter__Group__5__Impl rule__RosParameter__Group__6 + // InternalRosSystem.g:8461:1: ( rule__RosParameter__Group__5__Impl rule__RosParameter__Group__6 ) + // InternalRosSystem.g:8462:2: rule__RosParameter__Group__5__Impl rule__RosParameter__Group__6 { pushFollow(FOLLOW_6); rule__RosParameter__Group__5__Impl(); @@ -22176,20 +25621,20 @@ public final void rule__RosParameter__Group__5() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__5__Impl" - // InternalRosSystem.g:7339:1: rule__RosParameter__Group__5__Impl : ( 'RefParameter' ) ; + // InternalRosSystem.g:8469:1: rule__RosParameter__Group__5__Impl : ( 'RefParameter' ) ; public final void rule__RosParameter__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7343:1: ( ( 'RefParameter' ) ) - // InternalRosSystem.g:7344:1: ( 'RefParameter' ) + // InternalRosSystem.g:8473:1: ( ( 'RefParameter' ) ) + // InternalRosSystem.g:8474:1: ( 'RefParameter' ) { - // InternalRosSystem.g:7344:1: ( 'RefParameter' ) - // InternalRosSystem.g:7345:2: 'RefParameter' + // InternalRosSystem.g:8474:1: ( 'RefParameter' ) + // InternalRosSystem.g:8475:2: 'RefParameter' { before(grammarAccess.getRosParameterAccess().getRefParameterKeyword_5()); - match(input,63,FOLLOW_2); + match(input,69,FOLLOW_2); after(grammarAccess.getRosParameterAccess().getRefParameterKeyword_5()); } @@ -22213,16 +25658,16 @@ public final void rule__RosParameter__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__6" - // InternalRosSystem.g:7354:1: rule__RosParameter__Group__6 : rule__RosParameter__Group__6__Impl rule__RosParameter__Group__7 ; + // InternalRosSystem.g:8484:1: rule__RosParameter__Group__6 : rule__RosParameter__Group__6__Impl rule__RosParameter__Group__7 ; public final void rule__RosParameter__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7358:1: ( rule__RosParameter__Group__6__Impl rule__RosParameter__Group__7 ) - // InternalRosSystem.g:7359:2: rule__RosParameter__Group__6__Impl rule__RosParameter__Group__7 + // InternalRosSystem.g:8488:1: ( rule__RosParameter__Group__6__Impl rule__RosParameter__Group__7 ) + // InternalRosSystem.g:8489:2: rule__RosParameter__Group__6__Impl rule__RosParameter__Group__7 { - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_49); rule__RosParameter__Group__6__Impl(); state._fsp--; @@ -22251,21 +25696,21 @@ public final void rule__RosParameter__Group__6() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__6__Impl" - // InternalRosSystem.g:7366:1: rule__RosParameter__Group__6__Impl : ( ( rule__RosParameter__ParameterAssignment_6 ) ) ; + // InternalRosSystem.g:8496:1: rule__RosParameter__Group__6__Impl : ( ( rule__RosParameter__ParameterAssignment_6 ) ) ; public final void rule__RosParameter__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7370:1: ( ( ( rule__RosParameter__ParameterAssignment_6 ) ) ) - // InternalRosSystem.g:7371:1: ( ( rule__RosParameter__ParameterAssignment_6 ) ) + // InternalRosSystem.g:8500:1: ( ( ( rule__RosParameter__ParameterAssignment_6 ) ) ) + // InternalRosSystem.g:8501:1: ( ( rule__RosParameter__ParameterAssignment_6 ) ) { - // InternalRosSystem.g:7371:1: ( ( rule__RosParameter__ParameterAssignment_6 ) ) - // InternalRosSystem.g:7372:2: ( rule__RosParameter__ParameterAssignment_6 ) + // InternalRosSystem.g:8501:1: ( ( rule__RosParameter__ParameterAssignment_6 ) ) + // InternalRosSystem.g:8502:2: ( rule__RosParameter__ParameterAssignment_6 ) { before(grammarAccess.getRosParameterAccess().getParameterAssignment_6()); - // InternalRosSystem.g:7373:2: ( rule__RosParameter__ParameterAssignment_6 ) - // InternalRosSystem.g:7373:3: rule__RosParameter__ParameterAssignment_6 + // InternalRosSystem.g:8503:2: ( rule__RosParameter__ParameterAssignment_6 ) + // InternalRosSystem.g:8503:3: rule__RosParameter__ParameterAssignment_6 { pushFollow(FOLLOW_2); rule__RosParameter__ParameterAssignment_6(); @@ -22298,16 +25743,16 @@ public final void rule__RosParameter__Group__6__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__7" - // InternalRosSystem.g:7381:1: rule__RosParameter__Group__7 : rule__RosParameter__Group__7__Impl rule__RosParameter__Group__8 ; + // InternalRosSystem.g:8511:1: rule__RosParameter__Group__7 : rule__RosParameter__Group__7__Impl rule__RosParameter__Group__8 ; public final void rule__RosParameter__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7385:1: ( rule__RosParameter__Group__7__Impl rule__RosParameter__Group__8 ) - // InternalRosSystem.g:7386:2: rule__RosParameter__Group__7__Impl rule__RosParameter__Group__8 + // InternalRosSystem.g:8515:1: ( rule__RosParameter__Group__7__Impl rule__RosParameter__Group__8 ) + // InternalRosSystem.g:8516:2: rule__RosParameter__Group__7__Impl rule__RosParameter__Group__8 { - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_49); rule__RosParameter__Group__7__Impl(); state._fsp--; @@ -22336,29 +25781,29 @@ public final void rule__RosParameter__Group__7() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__7__Impl" - // InternalRosSystem.g:7393:1: rule__RosParameter__Group__7__Impl : ( ( rule__RosParameter__Group_7__0 )? ) ; + // InternalRosSystem.g:8523:1: rule__RosParameter__Group__7__Impl : ( ( rule__RosParameter__Group_7__0 )? ) ; public final void rule__RosParameter__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7397:1: ( ( ( rule__RosParameter__Group_7__0 )? ) ) - // InternalRosSystem.g:7398:1: ( ( rule__RosParameter__Group_7__0 )? ) + // InternalRosSystem.g:8527:1: ( ( ( rule__RosParameter__Group_7__0 )? ) ) + // InternalRosSystem.g:8528:1: ( ( rule__RosParameter__Group_7__0 )? ) { - // InternalRosSystem.g:7398:1: ( ( rule__RosParameter__Group_7__0 )? ) - // InternalRosSystem.g:7399:2: ( rule__RosParameter__Group_7__0 )? + // InternalRosSystem.g:8528:1: ( ( rule__RosParameter__Group_7__0 )? ) + // InternalRosSystem.g:8529:2: ( rule__RosParameter__Group_7__0 )? { before(grammarAccess.getRosParameterAccess().getGroup_7()); - // InternalRosSystem.g:7400:2: ( rule__RosParameter__Group_7__0 )? - int alt53=2; - int LA53_0 = input.LA(1); + // InternalRosSystem.g:8530:2: ( rule__RosParameter__Group_7__0 )? + int alt64=2; + int LA64_0 = input.LA(1); - if ( (LA53_0==64) ) { - alt53=1; + if ( (LA64_0==46) ) { + alt64=1; } - switch (alt53) { + switch (alt64) { case 1 : - // InternalRosSystem.g:7400:3: rule__RosParameter__Group_7__0 + // InternalRosSystem.g:8530:3: rule__RosParameter__Group_7__0 { pushFollow(FOLLOW_2); rule__RosParameter__Group_7__0(); @@ -22394,14 +25839,14 @@ public final void rule__RosParameter__Group__7__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group__8" - // InternalRosSystem.g:7408:1: rule__RosParameter__Group__8 : rule__RosParameter__Group__8__Impl ; + // InternalRosSystem.g:8538:1: rule__RosParameter__Group__8 : rule__RosParameter__Group__8__Impl ; public final void rule__RosParameter__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7412:1: ( rule__RosParameter__Group__8__Impl ) - // InternalRosSystem.g:7413:2: rule__RosParameter__Group__8__Impl + // InternalRosSystem.g:8542:1: ( rule__RosParameter__Group__8__Impl ) + // InternalRosSystem.g:8543:2: rule__RosParameter__Group__8__Impl { pushFollow(FOLLOW_2); rule__RosParameter__Group__8__Impl(); @@ -22427,17 +25872,17 @@ public final void rule__RosParameter__Group__8() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group__8__Impl" - // InternalRosSystem.g:7419:1: rule__RosParameter__Group__8__Impl : ( '}' ) ; + // InternalRosSystem.g:8549:1: rule__RosParameter__Group__8__Impl : ( '}' ) ; public final void rule__RosParameter__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7423:1: ( ( '}' ) ) - // InternalRosSystem.g:7424:1: ( '}' ) + // InternalRosSystem.g:8553:1: ( ( '}' ) ) + // InternalRosSystem.g:8554:1: ( '}' ) { - // InternalRosSystem.g:7424:1: ( '}' ) - // InternalRosSystem.g:7425:2: '}' + // InternalRosSystem.g:8554:1: ( '}' ) + // InternalRosSystem.g:8555:2: '}' { before(grammarAccess.getRosParameterAccess().getRightCurlyBracketKeyword_8()); match(input,26,FOLLOW_2); @@ -22464,14 +25909,14 @@ public final void rule__RosParameter__Group__8__Impl() throws RecognitionExcepti // $ANTLR start "rule__RosParameter__Group_4__0" - // InternalRosSystem.g:7435:1: rule__RosParameter__Group_4__0 : rule__RosParameter__Group_4__0__Impl rule__RosParameter__Group_4__1 ; + // InternalRosSystem.g:8565:1: rule__RosParameter__Group_4__0 : rule__RosParameter__Group_4__0__Impl rule__RosParameter__Group_4__1 ; public final void rule__RosParameter__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7439:1: ( rule__RosParameter__Group_4__0__Impl rule__RosParameter__Group_4__1 ) - // InternalRosSystem.g:7440:2: rule__RosParameter__Group_4__0__Impl rule__RosParameter__Group_4__1 + // InternalRosSystem.g:8569:1: ( rule__RosParameter__Group_4__0__Impl rule__RosParameter__Group_4__1 ) + // InternalRosSystem.g:8570:2: rule__RosParameter__Group_4__0__Impl rule__RosParameter__Group_4__1 { pushFollow(FOLLOW_6); rule__RosParameter__Group_4__0__Impl(); @@ -22502,20 +25947,20 @@ public final void rule__RosParameter__Group_4__0() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group_4__0__Impl" - // InternalRosSystem.g:7447:1: rule__RosParameter__Group_4__0__Impl : ( 'ns' ) ; + // InternalRosSystem.g:8577:1: rule__RosParameter__Group_4__0__Impl : ( 'ns' ) ; public final void rule__RosParameter__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7451:1: ( ( 'ns' ) ) - // InternalRosSystem.g:7452:1: ( 'ns' ) + // InternalRosSystem.g:8581:1: ( ( 'ns' ) ) + // InternalRosSystem.g:8582:1: ( 'ns' ) { - // InternalRosSystem.g:7452:1: ( 'ns' ) - // InternalRosSystem.g:7453:2: 'ns' + // InternalRosSystem.g:8582:1: ( 'ns' ) + // InternalRosSystem.g:8583:2: 'ns' { before(grammarAccess.getRosParameterAccess().getNsKeyword_4_0()); - match(input,53,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getRosParameterAccess().getNsKeyword_4_0()); } @@ -22539,14 +25984,14 @@ public final void rule__RosParameter__Group_4__0__Impl() throws RecognitionExcep // $ANTLR start "rule__RosParameter__Group_4__1" - // InternalRosSystem.g:7462:1: rule__RosParameter__Group_4__1 : rule__RosParameter__Group_4__1__Impl ; + // InternalRosSystem.g:8592:1: rule__RosParameter__Group_4__1 : rule__RosParameter__Group_4__1__Impl ; public final void rule__RosParameter__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7466:1: ( rule__RosParameter__Group_4__1__Impl ) - // InternalRosSystem.g:7467:2: rule__RosParameter__Group_4__1__Impl + // InternalRosSystem.g:8596:1: ( rule__RosParameter__Group_4__1__Impl ) + // InternalRosSystem.g:8597:2: rule__RosParameter__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__RosParameter__Group_4__1__Impl(); @@ -22572,21 +26017,21 @@ public final void rule__RosParameter__Group_4__1() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group_4__1__Impl" - // InternalRosSystem.g:7473:1: rule__RosParameter__Group_4__1__Impl : ( ( rule__RosParameter__NsAssignment_4_1 ) ) ; + // InternalRosSystem.g:8603:1: rule__RosParameter__Group_4__1__Impl : ( ( rule__RosParameter__NsAssignment_4_1 ) ) ; public final void rule__RosParameter__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7477:1: ( ( ( rule__RosParameter__NsAssignment_4_1 ) ) ) - // InternalRosSystem.g:7478:1: ( ( rule__RosParameter__NsAssignment_4_1 ) ) + // InternalRosSystem.g:8607:1: ( ( ( rule__RosParameter__NsAssignment_4_1 ) ) ) + // InternalRosSystem.g:8608:1: ( ( rule__RosParameter__NsAssignment_4_1 ) ) { - // InternalRosSystem.g:7478:1: ( ( rule__RosParameter__NsAssignment_4_1 ) ) - // InternalRosSystem.g:7479:2: ( rule__RosParameter__NsAssignment_4_1 ) + // InternalRosSystem.g:8608:1: ( ( rule__RosParameter__NsAssignment_4_1 ) ) + // InternalRosSystem.g:8609:2: ( rule__RosParameter__NsAssignment_4_1 ) { before(grammarAccess.getRosParameterAccess().getNsAssignment_4_1()); - // InternalRosSystem.g:7480:2: ( rule__RosParameter__NsAssignment_4_1 ) - // InternalRosSystem.g:7480:3: rule__RosParameter__NsAssignment_4_1 + // InternalRosSystem.g:8610:2: ( rule__RosParameter__NsAssignment_4_1 ) + // InternalRosSystem.g:8610:3: rule__RosParameter__NsAssignment_4_1 { pushFollow(FOLLOW_2); rule__RosParameter__NsAssignment_4_1(); @@ -22619,16 +26064,16 @@ public final void rule__RosParameter__Group_4__1__Impl() throws RecognitionExcep // $ANTLR start "rule__RosParameter__Group_7__0" - // InternalRosSystem.g:7489:1: rule__RosParameter__Group_7__0 : rule__RosParameter__Group_7__0__Impl rule__RosParameter__Group_7__1 ; + // InternalRosSystem.g:8619:1: rule__RosParameter__Group_7__0 : rule__RosParameter__Group_7__0__Impl rule__RosParameter__Group_7__1 ; public final void rule__RosParameter__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7493:1: ( rule__RosParameter__Group_7__0__Impl rule__RosParameter__Group_7__1 ) - // InternalRosSystem.g:7494:2: rule__RosParameter__Group_7__0__Impl rule__RosParameter__Group_7__1 + // InternalRosSystem.g:8623:1: ( rule__RosParameter__Group_7__0__Impl rule__RosParameter__Group_7__1 ) + // InternalRosSystem.g:8624:2: rule__RosParameter__Group_7__0__Impl rule__RosParameter__Group_7__1 { - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_33); rule__RosParameter__Group_7__0__Impl(); state._fsp--; @@ -22657,20 +26102,20 @@ public final void rule__RosParameter__Group_7__0() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group_7__0__Impl" - // InternalRosSystem.g:7501:1: rule__RosParameter__Group_7__0__Impl : ( 'value' ) ; + // InternalRosSystem.g:8631:1: rule__RosParameter__Group_7__0__Impl : ( 'value' ) ; public final void rule__RosParameter__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7505:1: ( ( 'value' ) ) - // InternalRosSystem.g:7506:1: ( 'value' ) + // InternalRosSystem.g:8635:1: ( ( 'value' ) ) + // InternalRosSystem.g:8636:1: ( 'value' ) { - // InternalRosSystem.g:7506:1: ( 'value' ) - // InternalRosSystem.g:7507:2: 'value' + // InternalRosSystem.g:8636:1: ( 'value' ) + // InternalRosSystem.g:8637:2: 'value' { before(grammarAccess.getRosParameterAccess().getValueKeyword_7_0()); - match(input,64,FOLLOW_2); + match(input,46,FOLLOW_2); after(grammarAccess.getRosParameterAccess().getValueKeyword_7_0()); } @@ -22694,14 +26139,14 @@ public final void rule__RosParameter__Group_7__0__Impl() throws RecognitionExcep // $ANTLR start "rule__RosParameter__Group_7__1" - // InternalRosSystem.g:7516:1: rule__RosParameter__Group_7__1 : rule__RosParameter__Group_7__1__Impl ; + // InternalRosSystem.g:8646:1: rule__RosParameter__Group_7__1 : rule__RosParameter__Group_7__1__Impl ; public final void rule__RosParameter__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7520:1: ( rule__RosParameter__Group_7__1__Impl ) - // InternalRosSystem.g:7521:2: rule__RosParameter__Group_7__1__Impl + // InternalRosSystem.g:8650:1: ( rule__RosParameter__Group_7__1__Impl ) + // InternalRosSystem.g:8651:2: rule__RosParameter__Group_7__1__Impl { pushFollow(FOLLOW_2); rule__RosParameter__Group_7__1__Impl(); @@ -22727,21 +26172,21 @@ public final void rule__RosParameter__Group_7__1() throws RecognitionException { // $ANTLR start "rule__RosParameter__Group_7__1__Impl" - // InternalRosSystem.g:7527:1: rule__RosParameter__Group_7__1__Impl : ( ( rule__RosParameter__ValueAssignment_7_1 ) ) ; + // InternalRosSystem.g:8657:1: rule__RosParameter__Group_7__1__Impl : ( ( rule__RosParameter__ValueAssignment_7_1 ) ) ; public final void rule__RosParameter__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7531:1: ( ( ( rule__RosParameter__ValueAssignment_7_1 ) ) ) - // InternalRosSystem.g:7532:1: ( ( rule__RosParameter__ValueAssignment_7_1 ) ) + // InternalRosSystem.g:8661:1: ( ( ( rule__RosParameter__ValueAssignment_7_1 ) ) ) + // InternalRosSystem.g:8662:1: ( ( rule__RosParameter__ValueAssignment_7_1 ) ) { - // InternalRosSystem.g:7532:1: ( ( rule__RosParameter__ValueAssignment_7_1 ) ) - // InternalRosSystem.g:7533:2: ( rule__RosParameter__ValueAssignment_7_1 ) + // InternalRosSystem.g:8662:1: ( ( rule__RosParameter__ValueAssignment_7_1 ) ) + // InternalRosSystem.g:8663:2: ( rule__RosParameter__ValueAssignment_7_1 ) { before(grammarAccess.getRosParameterAccess().getValueAssignment_7_1()); - // InternalRosSystem.g:7534:2: ( rule__RosParameter__ValueAssignment_7_1 ) - // InternalRosSystem.g:7534:3: rule__RosParameter__ValueAssignment_7_1 + // InternalRosSystem.g:8664:2: ( rule__RosParameter__ValueAssignment_7_1 ) + // InternalRosSystem.g:8664:3: rule__RosParameter__ValueAssignment_7_1 { pushFollow(FOLLOW_2); rule__RosParameter__ValueAssignment_7_1(); @@ -22774,14 +26219,14 @@ public final void rule__RosParameter__Group_7__1__Impl() throws RecognitionExcep // $ANTLR start "rule__Parameter__Group__0" - // InternalRosSystem.g:7543:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; + // InternalRosSystem.g:8673:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; public final void rule__Parameter__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7547:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) - // InternalRosSystem.g:7548:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 + // InternalRosSystem.g:8677:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) + // InternalRosSystem.g:8678:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 { pushFollow(FOLLOW_4); rule__Parameter__Group__0__Impl(); @@ -22812,20 +26257,20 @@ public final void rule__Parameter__Group__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__0__Impl" - // InternalRosSystem.g:7555:1: rule__Parameter__Group__0__Impl : ( 'Parameter' ) ; + // InternalRosSystem.g:8685:1: rule__Parameter__Group__0__Impl : ( 'Parameter' ) ; public final void rule__Parameter__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7559:1: ( ( 'Parameter' ) ) - // InternalRosSystem.g:7560:1: ( 'Parameter' ) + // InternalRosSystem.g:8689:1: ( ( 'Parameter' ) ) + // InternalRosSystem.g:8690:1: ( 'Parameter' ) { - // InternalRosSystem.g:7560:1: ( 'Parameter' ) - // InternalRosSystem.g:7561:2: 'Parameter' + // InternalRosSystem.g:8690:1: ( 'Parameter' ) + // InternalRosSystem.g:8691:2: 'Parameter' { before(grammarAccess.getParameterAccess().getParameterKeyword_0()); - match(input,65,FOLLOW_2); + match(input,70,FOLLOW_2); after(grammarAccess.getParameterAccess().getParameterKeyword_0()); } @@ -22849,16 +26294,16 @@ public final void rule__Parameter__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__1" - // InternalRosSystem.g:7570:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ; + // InternalRosSystem.g:8700:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ; public final void rule__Parameter__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7574:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ) - // InternalRosSystem.g:7575:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2 + // InternalRosSystem.g:8704:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ) + // InternalRosSystem.g:8705:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2 { - pushFollow(FOLLOW_25); + pushFollow(FOLLOW_27); rule__Parameter__Group__1__Impl(); state._fsp--; @@ -22887,17 +26332,17 @@ public final void rule__Parameter__Group__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__1__Impl" - // InternalRosSystem.g:7582:1: rule__Parameter__Group__1__Impl : ( '{' ) ; + // InternalRosSystem.g:8712:1: rule__Parameter__Group__1__Impl : ( '{' ) ; public final void rule__Parameter__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7586:1: ( ( '{' ) ) - // InternalRosSystem.g:7587:1: ( '{' ) + // InternalRosSystem.g:8716:1: ( ( '{' ) ) + // InternalRosSystem.g:8717:1: ( '{' ) { - // InternalRosSystem.g:7587:1: ( '{' ) - // InternalRosSystem.g:7588:2: '{' + // InternalRosSystem.g:8717:1: ( '{' ) + // InternalRosSystem.g:8718:2: '{' { before(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_1()); match(input,24,FOLLOW_2); @@ -22924,14 +26369,14 @@ public final void rule__Parameter__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__2" - // InternalRosSystem.g:7597:1: rule__Parameter__Group__2 : rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ; + // InternalRosSystem.g:8727:1: rule__Parameter__Group__2 : rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ; public final void rule__Parameter__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7601:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ) - // InternalRosSystem.g:7602:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3 + // InternalRosSystem.g:8731:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ) + // InternalRosSystem.g:8732:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3 { pushFollow(FOLLOW_6); rule__Parameter__Group__2__Impl(); @@ -22962,20 +26407,20 @@ public final void rule__Parameter__Group__2() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__2__Impl" - // InternalRosSystem.g:7609:1: rule__Parameter__Group__2__Impl : ( 'name' ) ; + // InternalRosSystem.g:8739:1: rule__Parameter__Group__2__Impl : ( 'name' ) ; public final void rule__Parameter__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7613:1: ( ( 'name' ) ) - // InternalRosSystem.g:7614:1: ( 'name' ) + // InternalRosSystem.g:8743:1: ( ( 'name' ) ) + // InternalRosSystem.g:8744:1: ( 'name' ) { - // InternalRosSystem.g:7614:1: ( 'name' ) - // InternalRosSystem.g:7615:2: 'name' + // InternalRosSystem.g:8744:1: ( 'name' ) + // InternalRosSystem.g:8745:2: 'name' { before(grammarAccess.getParameterAccess().getNameKeyword_2()); - match(input,41,FOLLOW_2); + match(input,42,FOLLOW_2); after(grammarAccess.getParameterAccess().getNameKeyword_2()); } @@ -22999,16 +26444,16 @@ public final void rule__Parameter__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__3" - // InternalRosSystem.g:7624:1: rule__Parameter__Group__3 : rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ; + // InternalRosSystem.g:8754:1: rule__Parameter__Group__3 : rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ; public final void rule__Parameter__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7628:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ) - // InternalRosSystem.g:7629:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4 + // InternalRosSystem.g:8758:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ) + // InternalRosSystem.g:8759:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_50); rule__Parameter__Group__3__Impl(); state._fsp--; @@ -23037,21 +26482,21 @@ public final void rule__Parameter__Group__3() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__3__Impl" - // InternalRosSystem.g:7636:1: rule__Parameter__Group__3__Impl : ( ( rule__Parameter__NameAssignment_3 ) ) ; + // InternalRosSystem.g:8766:1: rule__Parameter__Group__3__Impl : ( ( rule__Parameter__NameAssignment_3 ) ) ; public final void rule__Parameter__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7640:1: ( ( ( rule__Parameter__NameAssignment_3 ) ) ) - // InternalRosSystem.g:7641:1: ( ( rule__Parameter__NameAssignment_3 ) ) + // InternalRosSystem.g:8770:1: ( ( ( rule__Parameter__NameAssignment_3 ) ) ) + // InternalRosSystem.g:8771:1: ( ( rule__Parameter__NameAssignment_3 ) ) { - // InternalRosSystem.g:7641:1: ( ( rule__Parameter__NameAssignment_3 ) ) - // InternalRosSystem.g:7642:2: ( rule__Parameter__NameAssignment_3 ) + // InternalRosSystem.g:8771:1: ( ( rule__Parameter__NameAssignment_3 ) ) + // InternalRosSystem.g:8772:2: ( rule__Parameter__NameAssignment_3 ) { before(grammarAccess.getParameterAccess().getNameAssignment_3()); - // InternalRosSystem.g:7643:2: ( rule__Parameter__NameAssignment_3 ) - // InternalRosSystem.g:7643:3: rule__Parameter__NameAssignment_3 + // InternalRosSystem.g:8773:2: ( rule__Parameter__NameAssignment_3 ) + // InternalRosSystem.g:8773:3: rule__Parameter__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Parameter__NameAssignment_3(); @@ -23084,16 +26529,16 @@ public final void rule__Parameter__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__4" - // InternalRosSystem.g:7651:1: rule__Parameter__Group__4 : rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ; + // InternalRosSystem.g:8781:1: rule__Parameter__Group__4 : rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ; public final void rule__Parameter__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7655:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ) - // InternalRosSystem.g:7656:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5 + // InternalRosSystem.g:8785:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ) + // InternalRosSystem.g:8786:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_50); rule__Parameter__Group__4__Impl(); state._fsp--; @@ -23122,29 +26567,29 @@ public final void rule__Parameter__Group__4() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__4__Impl" - // InternalRosSystem.g:7663:1: rule__Parameter__Group__4__Impl : ( ( rule__Parameter__Group_4__0 )? ) ; + // InternalRosSystem.g:8793:1: rule__Parameter__Group__4__Impl : ( ( rule__Parameter__Group_4__0 )? ) ; public final void rule__Parameter__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7667:1: ( ( ( rule__Parameter__Group_4__0 )? ) ) - // InternalRosSystem.g:7668:1: ( ( rule__Parameter__Group_4__0 )? ) + // InternalRosSystem.g:8797:1: ( ( ( rule__Parameter__Group_4__0 )? ) ) + // InternalRosSystem.g:8798:1: ( ( rule__Parameter__Group_4__0 )? ) { - // InternalRosSystem.g:7668:1: ( ( rule__Parameter__Group_4__0 )? ) - // InternalRosSystem.g:7669:2: ( rule__Parameter__Group_4__0 )? + // InternalRosSystem.g:8798:1: ( ( rule__Parameter__Group_4__0 )? ) + // InternalRosSystem.g:8799:2: ( rule__Parameter__Group_4__0 )? { before(grammarAccess.getParameterAccess().getGroup_4()); - // InternalRosSystem.g:7670:2: ( rule__Parameter__Group_4__0 )? - int alt54=2; - int LA54_0 = input.LA(1); + // InternalRosSystem.g:8800:2: ( rule__Parameter__Group_4__0 )? + int alt65=2; + int LA65_0 = input.LA(1); - if ( (LA54_0==42) ) { - alt54=1; + if ( (LA65_0==48) ) { + alt65=1; } - switch (alt54) { + switch (alt65) { case 1 : - // InternalRosSystem.g:7670:3: rule__Parameter__Group_4__0 + // InternalRosSystem.g:8800:3: rule__Parameter__Group_4__0 { pushFollow(FOLLOW_2); rule__Parameter__Group_4__0(); @@ -23180,16 +26625,16 @@ public final void rule__Parameter__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__5" - // InternalRosSystem.g:7678:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ; + // InternalRosSystem.g:8808:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ; public final void rule__Parameter__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7682:1: ( rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ) - // InternalRosSystem.g:7683:2: rule__Parameter__Group__5__Impl rule__Parameter__Group__6 + // InternalRosSystem.g:8812:1: ( rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ) + // InternalRosSystem.g:8813:2: rule__Parameter__Group__5__Impl rule__Parameter__Group__6 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_50); rule__Parameter__Group__5__Impl(); state._fsp--; @@ -23218,29 +26663,29 @@ public final void rule__Parameter__Group__5() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__5__Impl" - // InternalRosSystem.g:7690:1: rule__Parameter__Group__5__Impl : ( ( rule__Parameter__Group_5__0 )? ) ; + // InternalRosSystem.g:8820:1: rule__Parameter__Group__5__Impl : ( ( rule__Parameter__Group_5__0 )? ) ; public final void rule__Parameter__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7694:1: ( ( ( rule__Parameter__Group_5__0 )? ) ) - // InternalRosSystem.g:7695:1: ( ( rule__Parameter__Group_5__0 )? ) + // InternalRosSystem.g:8824:1: ( ( ( rule__Parameter__Group_5__0 )? ) ) + // InternalRosSystem.g:8825:1: ( ( rule__Parameter__Group_5__0 )? ) { - // InternalRosSystem.g:7695:1: ( ( rule__Parameter__Group_5__0 )? ) - // InternalRosSystem.g:7696:2: ( rule__Parameter__Group_5__0 )? + // InternalRosSystem.g:8825:1: ( ( rule__Parameter__Group_5__0 )? ) + // InternalRosSystem.g:8826:2: ( rule__Parameter__Group_5__0 )? { before(grammarAccess.getParameterAccess().getGroup_5()); - // InternalRosSystem.g:7697:2: ( rule__Parameter__Group_5__0 )? - int alt55=2; - int LA55_0 = input.LA(1); + // InternalRosSystem.g:8827:2: ( rule__Parameter__Group_5__0 )? + int alt66=2; + int LA66_0 = input.LA(1); - if ( (LA55_0==66) ) { - alt55=1; + if ( (LA66_0==45) ) { + alt66=1; } - switch (alt55) { + switch (alt66) { case 1 : - // InternalRosSystem.g:7697:3: rule__Parameter__Group_5__0 + // InternalRosSystem.g:8827:3: rule__Parameter__Group_5__0 { pushFollow(FOLLOW_2); rule__Parameter__Group_5__0(); @@ -23276,16 +26721,16 @@ public final void rule__Parameter__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__6" - // InternalRosSystem.g:7705:1: rule__Parameter__Group__6 : rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ; + // InternalRosSystem.g:8835:1: rule__Parameter__Group__6 : rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ; public final void rule__Parameter__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7709:1: ( rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ) - // InternalRosSystem.g:7710:2: rule__Parameter__Group__6__Impl rule__Parameter__Group__7 + // InternalRosSystem.g:8839:1: ( rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ) + // InternalRosSystem.g:8840:2: rule__Parameter__Group__6__Impl rule__Parameter__Group__7 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_50); rule__Parameter__Group__6__Impl(); state._fsp--; @@ -23314,29 +26759,29 @@ public final void rule__Parameter__Group__6() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__6__Impl" - // InternalRosSystem.g:7717:1: rule__Parameter__Group__6__Impl : ( ( rule__Parameter__Group_6__0 )? ) ; + // InternalRosSystem.g:8847:1: rule__Parameter__Group__6__Impl : ( ( rule__Parameter__Group_6__0 )? ) ; public final void rule__Parameter__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7721:1: ( ( ( rule__Parameter__Group_6__0 )? ) ) - // InternalRosSystem.g:7722:1: ( ( rule__Parameter__Group_6__0 )? ) + // InternalRosSystem.g:8851:1: ( ( ( rule__Parameter__Group_6__0 )? ) ) + // InternalRosSystem.g:8852:1: ( ( rule__Parameter__Group_6__0 )? ) { - // InternalRosSystem.g:7722:1: ( ( rule__Parameter__Group_6__0 )? ) - // InternalRosSystem.g:7723:2: ( rule__Parameter__Group_6__0 )? + // InternalRosSystem.g:8852:1: ( ( rule__Parameter__Group_6__0 )? ) + // InternalRosSystem.g:8853:2: ( rule__Parameter__Group_6__0 )? { before(grammarAccess.getParameterAccess().getGroup_6()); - // InternalRosSystem.g:7724:2: ( rule__Parameter__Group_6__0 )? - int alt56=2; - int LA56_0 = input.LA(1); + // InternalRosSystem.g:8854:2: ( rule__Parameter__Group_6__0 )? + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA56_0==64) ) { - alt56=1; + if ( (LA67_0==46) ) { + alt67=1; } - switch (alt56) { + switch (alt67) { case 1 : - // InternalRosSystem.g:7724:3: rule__Parameter__Group_6__0 + // InternalRosSystem.g:8854:3: rule__Parameter__Group_6__0 { pushFollow(FOLLOW_2); rule__Parameter__Group_6__0(); @@ -23372,14 +26817,14 @@ public final void rule__Parameter__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__7" - // InternalRosSystem.g:7732:1: rule__Parameter__Group__7 : rule__Parameter__Group__7__Impl ; + // InternalRosSystem.g:8862:1: rule__Parameter__Group__7 : rule__Parameter__Group__7__Impl ; public final void rule__Parameter__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7736:1: ( rule__Parameter__Group__7__Impl ) - // InternalRosSystem.g:7737:2: rule__Parameter__Group__7__Impl + // InternalRosSystem.g:8866:1: ( rule__Parameter__Group__7__Impl ) + // InternalRosSystem.g:8867:2: rule__Parameter__Group__7__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group__7__Impl(); @@ -23405,17 +26850,17 @@ public final void rule__Parameter__Group__7() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__7__Impl" - // InternalRosSystem.g:7743:1: rule__Parameter__Group__7__Impl : ( '}' ) ; + // InternalRosSystem.g:8873:1: rule__Parameter__Group__7__Impl : ( '}' ) ; public final void rule__Parameter__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7747:1: ( ( '}' ) ) - // InternalRosSystem.g:7748:1: ( '}' ) + // InternalRosSystem.g:8877:1: ( ( '}' ) ) + // InternalRosSystem.g:8878:1: ( '}' ) { - // InternalRosSystem.g:7748:1: ( '}' ) - // InternalRosSystem.g:7749:2: '}' + // InternalRosSystem.g:8878:1: ( '}' ) + // InternalRosSystem.g:8879:2: '}' { before(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); match(input,26,FOLLOW_2); @@ -23442,16 +26887,16 @@ public final void rule__Parameter__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group_4__0" - // InternalRosSystem.g:7759:1: rule__Parameter__Group_4__0 : rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ; + // InternalRosSystem.g:8889:1: rule__Parameter__Group_4__0 : rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ; public final void rule__Parameter__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7763:1: ( rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ) - // InternalRosSystem.g:7764:2: rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 + // InternalRosSystem.g:8893:1: ( rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ) + // InternalRosSystem.g:8894:2: rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_51); rule__Parameter__Group_4__0__Impl(); state._fsp--; @@ -23480,20 +26925,20 @@ public final void rule__Parameter__Group_4__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_4__0__Impl" - // InternalRosSystem.g:7771:1: rule__Parameter__Group_4__0__Impl : ( 'NameSpace' ) ; + // InternalRosSystem.g:8901:1: rule__Parameter__Group_4__0__Impl : ( 'NameSpace' ) ; public final void rule__Parameter__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7775:1: ( ( 'NameSpace' ) ) - // InternalRosSystem.g:7776:1: ( 'NameSpace' ) + // InternalRosSystem.g:8905:1: ( ( 'NameSpace' ) ) + // InternalRosSystem.g:8906:1: ( 'NameSpace' ) { - // InternalRosSystem.g:7776:1: ( 'NameSpace' ) - // InternalRosSystem.g:7777:2: 'NameSpace' + // InternalRosSystem.g:8906:1: ( 'NameSpace' ) + // InternalRosSystem.g:8907:2: 'NameSpace' { before(grammarAccess.getParameterAccess().getNameSpaceKeyword_4_0()); - match(input,42,FOLLOW_2); + match(input,48,FOLLOW_2); after(grammarAccess.getParameterAccess().getNameSpaceKeyword_4_0()); } @@ -23517,14 +26962,14 @@ public final void rule__Parameter__Group_4__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Parameter__Group_4__1" - // InternalRosSystem.g:7786:1: rule__Parameter__Group_4__1 : rule__Parameter__Group_4__1__Impl ; + // InternalRosSystem.g:8916:1: rule__Parameter__Group_4__1 : rule__Parameter__Group_4__1__Impl ; public final void rule__Parameter__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7790:1: ( rule__Parameter__Group_4__1__Impl ) - // InternalRosSystem.g:7791:2: rule__Parameter__Group_4__1__Impl + // InternalRosSystem.g:8920:1: ( rule__Parameter__Group_4__1__Impl ) + // InternalRosSystem.g:8921:2: rule__Parameter__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group_4__1__Impl(); @@ -23550,21 +26995,21 @@ public final void rule__Parameter__Group_4__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_4__1__Impl" - // InternalRosSystem.g:7797:1: rule__Parameter__Group_4__1__Impl : ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ; + // InternalRosSystem.g:8927:1: rule__Parameter__Group_4__1__Impl : ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ; public final void rule__Parameter__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7801:1: ( ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ) - // InternalRosSystem.g:7802:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) + // InternalRosSystem.g:8931:1: ( ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ) + // InternalRosSystem.g:8932:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) { - // InternalRosSystem.g:7802:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) - // InternalRosSystem.g:7803:2: ( rule__Parameter__NamespaceAssignment_4_1 ) + // InternalRosSystem.g:8932:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) + // InternalRosSystem.g:8933:2: ( rule__Parameter__NamespaceAssignment_4_1 ) { before(grammarAccess.getParameterAccess().getNamespaceAssignment_4_1()); - // InternalRosSystem.g:7804:2: ( rule__Parameter__NamespaceAssignment_4_1 ) - // InternalRosSystem.g:7804:3: rule__Parameter__NamespaceAssignment_4_1 + // InternalRosSystem.g:8934:2: ( rule__Parameter__NamespaceAssignment_4_1 ) + // InternalRosSystem.g:8934:3: rule__Parameter__NamespaceAssignment_4_1 { pushFollow(FOLLOW_2); rule__Parameter__NamespaceAssignment_4_1(); @@ -23597,16 +27042,16 @@ public final void rule__Parameter__Group_4__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Parameter__Group_5__0" - // InternalRosSystem.g:7813:1: rule__Parameter__Group_5__0 : rule__Parameter__Group_5__0__Impl rule__Parameter__Group_5__1 ; + // InternalRosSystem.g:8943:1: rule__Parameter__Group_5__0 : rule__Parameter__Group_5__0__Impl rule__Parameter__Group_5__1 ; public final void rule__Parameter__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7817:1: ( rule__Parameter__Group_5__0__Impl rule__Parameter__Group_5__1 ) - // InternalRosSystem.g:7818:2: rule__Parameter__Group_5__0__Impl rule__Parameter__Group_5__1 + // InternalRosSystem.g:8947:1: ( rule__Parameter__Group_5__0__Impl rule__Parameter__Group_5__1 ) + // InternalRosSystem.g:8948:2: rule__Parameter__Group_5__0__Impl rule__Parameter__Group_5__1 { - pushFollow(FOLLOW_45); + pushFollow(FOLLOW_32); rule__Parameter__Group_5__0__Impl(); state._fsp--; @@ -23635,20 +27080,20 @@ public final void rule__Parameter__Group_5__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_5__0__Impl" - // InternalRosSystem.g:7825:1: rule__Parameter__Group_5__0__Impl : ( 'type' ) ; + // InternalRosSystem.g:8955:1: rule__Parameter__Group_5__0__Impl : ( 'type' ) ; public final void rule__Parameter__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7829:1: ( ( 'type' ) ) - // InternalRosSystem.g:7830:1: ( 'type' ) + // InternalRosSystem.g:8959:1: ( ( 'type' ) ) + // InternalRosSystem.g:8960:1: ( 'type' ) { - // InternalRosSystem.g:7830:1: ( 'type' ) - // InternalRosSystem.g:7831:2: 'type' + // InternalRosSystem.g:8960:1: ( 'type' ) + // InternalRosSystem.g:8961:2: 'type' { before(grammarAccess.getParameterAccess().getTypeKeyword_5_0()); - match(input,66,FOLLOW_2); + match(input,45,FOLLOW_2); after(grammarAccess.getParameterAccess().getTypeKeyword_5_0()); } @@ -23672,14 +27117,14 @@ public final void rule__Parameter__Group_5__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Parameter__Group_5__1" - // InternalRosSystem.g:7840:1: rule__Parameter__Group_5__1 : rule__Parameter__Group_5__1__Impl ; + // InternalRosSystem.g:8970:1: rule__Parameter__Group_5__1 : rule__Parameter__Group_5__1__Impl ; public final void rule__Parameter__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7844:1: ( rule__Parameter__Group_5__1__Impl ) - // InternalRosSystem.g:7845:2: rule__Parameter__Group_5__1__Impl + // InternalRosSystem.g:8974:1: ( rule__Parameter__Group_5__1__Impl ) + // InternalRosSystem.g:8975:2: rule__Parameter__Group_5__1__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group_5__1__Impl(); @@ -23705,21 +27150,21 @@ public final void rule__Parameter__Group_5__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_5__1__Impl" - // InternalRosSystem.g:7851:1: rule__Parameter__Group_5__1__Impl : ( ( rule__Parameter__TypeAssignment_5_1 ) ) ; + // InternalRosSystem.g:8981:1: rule__Parameter__Group_5__1__Impl : ( ( rule__Parameter__TypeAssignment_5_1 ) ) ; public final void rule__Parameter__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7855:1: ( ( ( rule__Parameter__TypeAssignment_5_1 ) ) ) - // InternalRosSystem.g:7856:1: ( ( rule__Parameter__TypeAssignment_5_1 ) ) + // InternalRosSystem.g:8985:1: ( ( ( rule__Parameter__TypeAssignment_5_1 ) ) ) + // InternalRosSystem.g:8986:1: ( ( rule__Parameter__TypeAssignment_5_1 ) ) { - // InternalRosSystem.g:7856:1: ( ( rule__Parameter__TypeAssignment_5_1 ) ) - // InternalRosSystem.g:7857:2: ( rule__Parameter__TypeAssignment_5_1 ) + // InternalRosSystem.g:8986:1: ( ( rule__Parameter__TypeAssignment_5_1 ) ) + // InternalRosSystem.g:8987:2: ( rule__Parameter__TypeAssignment_5_1 ) { before(grammarAccess.getParameterAccess().getTypeAssignment_5_1()); - // InternalRosSystem.g:7858:2: ( rule__Parameter__TypeAssignment_5_1 ) - // InternalRosSystem.g:7858:3: rule__Parameter__TypeAssignment_5_1 + // InternalRosSystem.g:8988:2: ( rule__Parameter__TypeAssignment_5_1 ) + // InternalRosSystem.g:8988:3: rule__Parameter__TypeAssignment_5_1 { pushFollow(FOLLOW_2); rule__Parameter__TypeAssignment_5_1(); @@ -23752,16 +27197,16 @@ public final void rule__Parameter__Group_5__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Parameter__Group_6__0" - // InternalRosSystem.g:7867:1: rule__Parameter__Group_6__0 : rule__Parameter__Group_6__0__Impl rule__Parameter__Group_6__1 ; + // InternalRosSystem.g:8997:1: rule__Parameter__Group_6__0 : rule__Parameter__Group_6__0__Impl rule__Parameter__Group_6__1 ; public final void rule__Parameter__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7871:1: ( rule__Parameter__Group_6__0__Impl rule__Parameter__Group_6__1 ) - // InternalRosSystem.g:7872:2: rule__Parameter__Group_6__0__Impl rule__Parameter__Group_6__1 + // InternalRosSystem.g:9001:1: ( rule__Parameter__Group_6__0__Impl rule__Parameter__Group_6__1 ) + // InternalRosSystem.g:9002:2: rule__Parameter__Group_6__0__Impl rule__Parameter__Group_6__1 { - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_33); rule__Parameter__Group_6__0__Impl(); state._fsp--; @@ -23790,20 +27235,20 @@ public final void rule__Parameter__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_6__0__Impl" - // InternalRosSystem.g:7879:1: rule__Parameter__Group_6__0__Impl : ( 'value' ) ; + // InternalRosSystem.g:9009:1: rule__Parameter__Group_6__0__Impl : ( 'value' ) ; public final void rule__Parameter__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7883:1: ( ( 'value' ) ) - // InternalRosSystem.g:7884:1: ( 'value' ) + // InternalRosSystem.g:9013:1: ( ( 'value' ) ) + // InternalRosSystem.g:9014:1: ( 'value' ) { - // InternalRosSystem.g:7884:1: ( 'value' ) - // InternalRosSystem.g:7885:2: 'value' + // InternalRosSystem.g:9014:1: ( 'value' ) + // InternalRosSystem.g:9015:2: 'value' { before(grammarAccess.getParameterAccess().getValueKeyword_6_0()); - match(input,64,FOLLOW_2); + match(input,46,FOLLOW_2); after(grammarAccess.getParameterAccess().getValueKeyword_6_0()); } @@ -23827,14 +27272,14 @@ public final void rule__Parameter__Group_6__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Parameter__Group_6__1" - // InternalRosSystem.g:7894:1: rule__Parameter__Group_6__1 : rule__Parameter__Group_6__1__Impl ; + // InternalRosSystem.g:9024:1: rule__Parameter__Group_6__1 : rule__Parameter__Group_6__1__Impl ; public final void rule__Parameter__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7898:1: ( rule__Parameter__Group_6__1__Impl ) - // InternalRosSystem.g:7899:2: rule__Parameter__Group_6__1__Impl + // InternalRosSystem.g:9028:1: ( rule__Parameter__Group_6__1__Impl ) + // InternalRosSystem.g:9029:2: rule__Parameter__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group_6__1__Impl(); @@ -23860,21 +27305,21 @@ public final void rule__Parameter__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_6__1__Impl" - // InternalRosSystem.g:7905:1: rule__Parameter__Group_6__1__Impl : ( ( rule__Parameter__ValueAssignment_6_1 ) ) ; + // InternalRosSystem.g:9035:1: rule__Parameter__Group_6__1__Impl : ( ( rule__Parameter__ValueAssignment_6_1 ) ) ; public final void rule__Parameter__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7909:1: ( ( ( rule__Parameter__ValueAssignment_6_1 ) ) ) - // InternalRosSystem.g:7910:1: ( ( rule__Parameter__ValueAssignment_6_1 ) ) + // InternalRosSystem.g:9039:1: ( ( ( rule__Parameter__ValueAssignment_6_1 ) ) ) + // InternalRosSystem.g:9040:1: ( ( rule__Parameter__ValueAssignment_6_1 ) ) { - // InternalRosSystem.g:7910:1: ( ( rule__Parameter__ValueAssignment_6_1 ) ) - // InternalRosSystem.g:7911:2: ( rule__Parameter__ValueAssignment_6_1 ) + // InternalRosSystem.g:9040:1: ( ( rule__Parameter__ValueAssignment_6_1 ) ) + // InternalRosSystem.g:9041:2: ( rule__Parameter__ValueAssignment_6_1 ) { before(grammarAccess.getParameterAccess().getValueAssignment_6_1()); - // InternalRosSystem.g:7912:2: ( rule__Parameter__ValueAssignment_6_1 ) - // InternalRosSystem.g:7912:3: rule__Parameter__ValueAssignment_6_1 + // InternalRosSystem.g:9042:2: ( rule__Parameter__ValueAssignment_6_1 ) + // InternalRosSystem.g:9042:3: rule__Parameter__ValueAssignment_6_1 { pushFollow(FOLLOW_2); rule__Parameter__ValueAssignment_6_1(); @@ -23907,16 +27352,16 @@ public final void rule__Parameter__Group_6__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__0" - // InternalRosSystem.g:7921:1: rule__ParameterListType__Group__0 : rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ; + // InternalRosSystem.g:9051:1: rule__ParameterListType__Group__0 : rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ; public final void rule__ParameterListType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7925:1: ( rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ) - // InternalRosSystem.g:7926:2: rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 + // InternalRosSystem.g:9055:1: ( rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ) + // InternalRosSystem.g:9056:2: rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 { - pushFollow(FOLLOW_46); + pushFollow(FOLLOW_52); rule__ParameterListType__Group__0__Impl(); state._fsp--; @@ -23945,21 +27390,21 @@ public final void rule__ParameterListType__Group__0() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__0__Impl" - // InternalRosSystem.g:7933:1: rule__ParameterListType__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:9063:1: rule__ParameterListType__Group__0__Impl : ( () ) ; public final void rule__ParameterListType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7937:1: ( ( () ) ) - // InternalRosSystem.g:7938:1: ( () ) + // InternalRosSystem.g:9067:1: ( ( () ) ) + // InternalRosSystem.g:9068:1: ( () ) { - // InternalRosSystem.g:7938:1: ( () ) - // InternalRosSystem.g:7939:2: () + // InternalRosSystem.g:9068:1: ( () ) + // InternalRosSystem.g:9069:2: () { before(grammarAccess.getParameterListTypeAccess().getParameterListTypeAction_0()); - // InternalRosSystem.g:7940:2: () - // InternalRosSystem.g:7940:3: + // InternalRosSystem.g:9070:2: () + // InternalRosSystem.g:9070:3: { } @@ -23982,14 +27427,14 @@ public final void rule__ParameterListType__Group__0__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__1" - // InternalRosSystem.g:7948:1: rule__ParameterListType__Group__1 : rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ; + // InternalRosSystem.g:9078:1: rule__ParameterListType__Group__1 : rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ; public final void rule__ParameterListType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7952:1: ( rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ) - // InternalRosSystem.g:7953:2: rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 + // InternalRosSystem.g:9082:1: ( rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ) + // InternalRosSystem.g:9083:2: rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 { pushFollow(FOLLOW_4); rule__ParameterListType__Group__1__Impl(); @@ -24020,20 +27465,20 @@ public final void rule__ParameterListType__Group__1() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__1__Impl" - // InternalRosSystem.g:7960:1: rule__ParameterListType__Group__1__Impl : ( 'List' ) ; + // InternalRosSystem.g:9090:1: rule__ParameterListType__Group__1__Impl : ( 'List' ) ; public final void rule__ParameterListType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7964:1: ( ( 'List' ) ) - // InternalRosSystem.g:7965:1: ( 'List' ) + // InternalRosSystem.g:9094:1: ( ( 'List' ) ) + // InternalRosSystem.g:9095:1: ( 'List' ) { - // InternalRosSystem.g:7965:1: ( 'List' ) - // InternalRosSystem.g:7966:2: 'List' + // InternalRosSystem.g:9095:1: ( 'List' ) + // InternalRosSystem.g:9096:2: 'List' { before(grammarAccess.getParameterListTypeAccess().getListKeyword_1()); - match(input,67,FOLLOW_2); + match(input,71,FOLLOW_2); after(grammarAccess.getParameterListTypeAccess().getListKeyword_1()); } @@ -24057,16 +27502,16 @@ public final void rule__ParameterListType__Group__1__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__2" - // InternalRosSystem.g:7975:1: rule__ParameterListType__Group__2 : rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ; + // InternalRosSystem.g:9105:1: rule__ParameterListType__Group__2 : rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ; public final void rule__ParameterListType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7979:1: ( rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ) - // InternalRosSystem.g:7980:2: rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 + // InternalRosSystem.g:9109:1: ( rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ) + // InternalRosSystem.g:9110:2: rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 { - pushFollow(FOLLOW_45); + pushFollow(FOLLOW_32); rule__ParameterListType__Group__2__Impl(); state._fsp--; @@ -24095,17 +27540,17 @@ public final void rule__ParameterListType__Group__2() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__2__Impl" - // InternalRosSystem.g:7987:1: rule__ParameterListType__Group__2__Impl : ( '{' ) ; + // InternalRosSystem.g:9117:1: rule__ParameterListType__Group__2__Impl : ( '{' ) ; public final void rule__ParameterListType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:7991:1: ( ( '{' ) ) - // InternalRosSystem.g:7992:1: ( '{' ) + // InternalRosSystem.g:9121:1: ( ( '{' ) ) + // InternalRosSystem.g:9122:1: ( '{' ) { - // InternalRosSystem.g:7992:1: ( '{' ) - // InternalRosSystem.g:7993:2: '{' + // InternalRosSystem.g:9122:1: ( '{' ) + // InternalRosSystem.g:9123:2: '{' { before(grammarAccess.getParameterListTypeAccess().getLeftCurlyBracketKeyword_2()); match(input,24,FOLLOW_2); @@ -24132,16 +27577,16 @@ public final void rule__ParameterListType__Group__2__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__3" - // InternalRosSystem.g:8002:1: rule__ParameterListType__Group__3 : rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ; + // InternalRosSystem.g:9132:1: rule__ParameterListType__Group__3 : rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ; public final void rule__ParameterListType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8006:1: ( rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ) - // InternalRosSystem.g:8007:2: rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 + // InternalRosSystem.g:9136:1: ( rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ) + // InternalRosSystem.g:9137:2: rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterListType__Group__3__Impl(); state._fsp--; @@ -24170,21 +27615,21 @@ public final void rule__ParameterListType__Group__3() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__3__Impl" - // InternalRosSystem.g:8014:1: rule__ParameterListType__Group__3__Impl : ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ; + // InternalRosSystem.g:9144:1: rule__ParameterListType__Group__3__Impl : ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ; public final void rule__ParameterListType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8018:1: ( ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ) - // InternalRosSystem.g:8019:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) + // InternalRosSystem.g:9148:1: ( ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ) + // InternalRosSystem.g:9149:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) { - // InternalRosSystem.g:8019:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) - // InternalRosSystem.g:8020:2: ( rule__ParameterListType__SequenceAssignment_3 ) + // InternalRosSystem.g:9149:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) + // InternalRosSystem.g:9150:2: ( rule__ParameterListType__SequenceAssignment_3 ) { before(grammarAccess.getParameterListTypeAccess().getSequenceAssignment_3()); - // InternalRosSystem.g:8021:2: ( rule__ParameterListType__SequenceAssignment_3 ) - // InternalRosSystem.g:8021:3: rule__ParameterListType__SequenceAssignment_3 + // InternalRosSystem.g:9151:2: ( rule__ParameterListType__SequenceAssignment_3 ) + // InternalRosSystem.g:9151:3: rule__ParameterListType__SequenceAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterListType__SequenceAssignment_3(); @@ -24217,16 +27662,16 @@ public final void rule__ParameterListType__Group__3__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__4" - // InternalRosSystem.g:8029:1: rule__ParameterListType__Group__4 : rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ; + // InternalRosSystem.g:9159:1: rule__ParameterListType__Group__4 : rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ; public final void rule__ParameterListType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8033:1: ( rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ) - // InternalRosSystem.g:8034:2: rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 + // InternalRosSystem.g:9163:1: ( rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ) + // InternalRosSystem.g:9164:2: rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterListType__Group__4__Impl(); state._fsp--; @@ -24255,33 +27700,33 @@ public final void rule__ParameterListType__Group__4() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__4__Impl" - // InternalRosSystem.g:8041:1: rule__ParameterListType__Group__4__Impl : ( ( rule__ParameterListType__Group_4__0 )* ) ; + // InternalRosSystem.g:9171:1: rule__ParameterListType__Group__4__Impl : ( ( rule__ParameterListType__Group_4__0 )* ) ; public final void rule__ParameterListType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8045:1: ( ( ( rule__ParameterListType__Group_4__0 )* ) ) - // InternalRosSystem.g:8046:1: ( ( rule__ParameterListType__Group_4__0 )* ) + // InternalRosSystem.g:9175:1: ( ( ( rule__ParameterListType__Group_4__0 )* ) ) + // InternalRosSystem.g:9176:1: ( ( rule__ParameterListType__Group_4__0 )* ) { - // InternalRosSystem.g:8046:1: ( ( rule__ParameterListType__Group_4__0 )* ) - // InternalRosSystem.g:8047:2: ( rule__ParameterListType__Group_4__0 )* + // InternalRosSystem.g:9176:1: ( ( rule__ParameterListType__Group_4__0 )* ) + // InternalRosSystem.g:9177:2: ( rule__ParameterListType__Group_4__0 )* { before(grammarAccess.getParameterListTypeAccess().getGroup_4()); - // InternalRosSystem.g:8048:2: ( rule__ParameterListType__Group_4__0 )* - loop57: + // InternalRosSystem.g:9178:2: ( rule__ParameterListType__Group_4__0 )* + loop68: do { - int alt57=2; - int LA57_0 = input.LA(1); + int alt68=2; + int LA68_0 = input.LA(1); - if ( (LA57_0==30) ) { - alt57=1; + if ( (LA68_0==30) ) { + alt68=1; } - switch (alt57) { + switch (alt68) { case 1 : - // InternalRosSystem.g:8048:3: rule__ParameterListType__Group_4__0 + // InternalRosSystem.g:9178:3: rule__ParameterListType__Group_4__0 { pushFollow(FOLLOW_11); rule__ParameterListType__Group_4__0(); @@ -24293,7 +27738,7 @@ public final void rule__ParameterListType__Group__4__Impl() throws RecognitionEx break; default : - break loop57; + break loop68; } } while (true); @@ -24320,14 +27765,14 @@ public final void rule__ParameterListType__Group__4__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__5" - // InternalRosSystem.g:8056:1: rule__ParameterListType__Group__5 : rule__ParameterListType__Group__5__Impl ; + // InternalRosSystem.g:9186:1: rule__ParameterListType__Group__5 : rule__ParameterListType__Group__5__Impl ; public final void rule__ParameterListType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8060:1: ( rule__ParameterListType__Group__5__Impl ) - // InternalRosSystem.g:8061:2: rule__ParameterListType__Group__5__Impl + // InternalRosSystem.g:9190:1: ( rule__ParameterListType__Group__5__Impl ) + // InternalRosSystem.g:9191:2: rule__ParameterListType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterListType__Group__5__Impl(); @@ -24353,17 +27798,17 @@ public final void rule__ParameterListType__Group__5() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__5__Impl" - // InternalRosSystem.g:8067:1: rule__ParameterListType__Group__5__Impl : ( '}' ) ; + // InternalRosSystem.g:9197:1: rule__ParameterListType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterListType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8071:1: ( ( '}' ) ) - // InternalRosSystem.g:8072:1: ( '}' ) + // InternalRosSystem.g:9201:1: ( ( '}' ) ) + // InternalRosSystem.g:9202:1: ( '}' ) { - // InternalRosSystem.g:8072:1: ( '}' ) - // InternalRosSystem.g:8073:2: '}' + // InternalRosSystem.g:9202:1: ( '}' ) + // InternalRosSystem.g:9203:2: '}' { before(grammarAccess.getParameterListTypeAccess().getRightCurlyBracketKeyword_5()); match(input,26,FOLLOW_2); @@ -24390,16 +27835,16 @@ public final void rule__ParameterListType__Group__5__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group_4__0" - // InternalRosSystem.g:8083:1: rule__ParameterListType__Group_4__0 : rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ; + // InternalRosSystem.g:9213:1: rule__ParameterListType__Group_4__0 : rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ; public final void rule__ParameterListType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8087:1: ( rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ) - // InternalRosSystem.g:8088:2: rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 + // InternalRosSystem.g:9217:1: ( rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ) + // InternalRosSystem.g:9218:2: rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 { - pushFollow(FOLLOW_45); + pushFollow(FOLLOW_32); rule__ParameterListType__Group_4__0__Impl(); state._fsp--; @@ -24428,17 +27873,17 @@ public final void rule__ParameterListType__Group_4__0() throws RecognitionExcept // $ANTLR start "rule__ParameterListType__Group_4__0__Impl" - // InternalRosSystem.g:8095:1: rule__ParameterListType__Group_4__0__Impl : ( ',' ) ; + // InternalRosSystem.g:9225:1: rule__ParameterListType__Group_4__0__Impl : ( ',' ) ; public final void rule__ParameterListType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8099:1: ( ( ',' ) ) - // InternalRosSystem.g:8100:1: ( ',' ) + // InternalRosSystem.g:9229:1: ( ( ',' ) ) + // InternalRosSystem.g:9230:1: ( ',' ) { - // InternalRosSystem.g:8100:1: ( ',' ) - // InternalRosSystem.g:8101:2: ',' + // InternalRosSystem.g:9230:1: ( ',' ) + // InternalRosSystem.g:9231:2: ',' { before(grammarAccess.getParameterListTypeAccess().getCommaKeyword_4_0()); match(input,30,FOLLOW_2); @@ -24465,14 +27910,14 @@ public final void rule__ParameterListType__Group_4__0__Impl() throws Recognition // $ANTLR start "rule__ParameterListType__Group_4__1" - // InternalRosSystem.g:8110:1: rule__ParameterListType__Group_4__1 : rule__ParameterListType__Group_4__1__Impl ; + // InternalRosSystem.g:9240:1: rule__ParameterListType__Group_4__1 : rule__ParameterListType__Group_4__1__Impl ; public final void rule__ParameterListType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8114:1: ( rule__ParameterListType__Group_4__1__Impl ) - // InternalRosSystem.g:8115:2: rule__ParameterListType__Group_4__1__Impl + // InternalRosSystem.g:9244:1: ( rule__ParameterListType__Group_4__1__Impl ) + // InternalRosSystem.g:9245:2: rule__ParameterListType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterListType__Group_4__1__Impl(); @@ -24498,21 +27943,21 @@ public final void rule__ParameterListType__Group_4__1() throws RecognitionExcept // $ANTLR start "rule__ParameterListType__Group_4__1__Impl" - // InternalRosSystem.g:8121:1: rule__ParameterListType__Group_4__1__Impl : ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ; + // InternalRosSystem.g:9251:1: rule__ParameterListType__Group_4__1__Impl : ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ; public final void rule__ParameterListType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8125:1: ( ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ) - // InternalRosSystem.g:8126:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) + // InternalRosSystem.g:9255:1: ( ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ) + // InternalRosSystem.g:9256:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) { - // InternalRosSystem.g:8126:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) - // InternalRosSystem.g:8127:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) + // InternalRosSystem.g:9256:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) + // InternalRosSystem.g:9257:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) { before(grammarAccess.getParameterListTypeAccess().getSequenceAssignment_4_1()); - // InternalRosSystem.g:8128:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) - // InternalRosSystem.g:8128:3: rule__ParameterListType__SequenceAssignment_4_1 + // InternalRosSystem.g:9258:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) + // InternalRosSystem.g:9258:3: rule__ParameterListType__SequenceAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterListType__SequenceAssignment_4_1(); @@ -24545,16 +27990,16 @@ public final void rule__ParameterListType__Group_4__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__0" - // InternalRosSystem.g:8137:1: rule__ParameterStructType__Group__0 : rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ; + // InternalRosSystem.g:9267:1: rule__ParameterStructType__Group__0 : rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ; public final void rule__ParameterStructType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8141:1: ( rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ) - // InternalRosSystem.g:8142:2: rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 + // InternalRosSystem.g:9271:1: ( rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ) + // InternalRosSystem.g:9272:2: rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 { - pushFollow(FOLLOW_47); + pushFollow(FOLLOW_53); rule__ParameterStructType__Group__0__Impl(); state._fsp--; @@ -24583,21 +28028,21 @@ public final void rule__ParameterStructType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__0__Impl" - // InternalRosSystem.g:8149:1: rule__ParameterStructType__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:9279:1: rule__ParameterStructType__Group__0__Impl : ( () ) ; public final void rule__ParameterStructType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8153:1: ( ( () ) ) - // InternalRosSystem.g:8154:1: ( () ) + // InternalRosSystem.g:9283:1: ( ( () ) ) + // InternalRosSystem.g:9284:1: ( () ) { - // InternalRosSystem.g:8154:1: ( () ) - // InternalRosSystem.g:8155:2: () + // InternalRosSystem.g:9284:1: ( () ) + // InternalRosSystem.g:9285:2: () { before(grammarAccess.getParameterStructTypeAccess().getParameterStructTypeAction_0()); - // InternalRosSystem.g:8156:2: () - // InternalRosSystem.g:8156:3: + // InternalRosSystem.g:9286:2: () + // InternalRosSystem.g:9286:3: { } @@ -24620,14 +28065,14 @@ public final void rule__ParameterStructType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__1" - // InternalRosSystem.g:8164:1: rule__ParameterStructType__Group__1 : rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ; + // InternalRosSystem.g:9294:1: rule__ParameterStructType__Group__1 : rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ; public final void rule__ParameterStructType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8168:1: ( rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ) - // InternalRosSystem.g:8169:2: rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 + // InternalRosSystem.g:9298:1: ( rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ) + // InternalRosSystem.g:9299:2: rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 { pushFollow(FOLLOW_4); rule__ParameterStructType__Group__1__Impl(); @@ -24658,20 +28103,20 @@ public final void rule__ParameterStructType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__1__Impl" - // InternalRosSystem.g:8176:1: rule__ParameterStructType__Group__1__Impl : ( 'Struct' ) ; + // InternalRosSystem.g:9306:1: rule__ParameterStructType__Group__1__Impl : ( 'Struct' ) ; public final void rule__ParameterStructType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8180:1: ( ( 'Struct' ) ) - // InternalRosSystem.g:8181:1: ( 'Struct' ) + // InternalRosSystem.g:9310:1: ( ( 'Struct' ) ) + // InternalRosSystem.g:9311:1: ( 'Struct' ) { - // InternalRosSystem.g:8181:1: ( 'Struct' ) - // InternalRosSystem.g:8182:2: 'Struct' + // InternalRosSystem.g:9311:1: ( 'Struct' ) + // InternalRosSystem.g:9312:2: 'Struct' { before(grammarAccess.getParameterStructTypeAccess().getStructKeyword_1()); - match(input,68,FOLLOW_2); + match(input,72,FOLLOW_2); after(grammarAccess.getParameterStructTypeAccess().getStructKeyword_1()); } @@ -24695,14 +28140,14 @@ public final void rule__ParameterStructType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__2" - // InternalRosSystem.g:8191:1: rule__ParameterStructType__Group__2 : rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ; + // InternalRosSystem.g:9321:1: rule__ParameterStructType__Group__2 : rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ; public final void rule__ParameterStructType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8195:1: ( rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ) - // InternalRosSystem.g:8196:2: rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 + // InternalRosSystem.g:9325:1: ( rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ) + // InternalRosSystem.g:9326:2: rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 { pushFollow(FOLLOW_6); rule__ParameterStructType__Group__2__Impl(); @@ -24733,17 +28178,17 @@ public final void rule__ParameterStructType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__2__Impl" - // InternalRosSystem.g:8203:1: rule__ParameterStructType__Group__2__Impl : ( '{' ) ; + // InternalRosSystem.g:9333:1: rule__ParameterStructType__Group__2__Impl : ( '{' ) ; public final void rule__ParameterStructType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8207:1: ( ( '{' ) ) - // InternalRosSystem.g:8208:1: ( '{' ) + // InternalRosSystem.g:9337:1: ( ( '{' ) ) + // InternalRosSystem.g:9338:1: ( '{' ) { - // InternalRosSystem.g:8208:1: ( '{' ) - // InternalRosSystem.g:8209:2: '{' + // InternalRosSystem.g:9338:1: ( '{' ) + // InternalRosSystem.g:9339:2: '{' { before(grammarAccess.getParameterStructTypeAccess().getLeftCurlyBracketKeyword_2()); match(input,24,FOLLOW_2); @@ -24770,16 +28215,16 @@ public final void rule__ParameterStructType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__3" - // InternalRosSystem.g:8218:1: rule__ParameterStructType__Group__3 : rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ; + // InternalRosSystem.g:9348:1: rule__ParameterStructType__Group__3 : rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ; public final void rule__ParameterStructType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8222:1: ( rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ) - // InternalRosSystem.g:8223:2: rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 + // InternalRosSystem.g:9352:1: ( rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ) + // InternalRosSystem.g:9353:2: rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterStructType__Group__3__Impl(); state._fsp--; @@ -24808,21 +28253,21 @@ public final void rule__ParameterStructType__Group__3() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__3__Impl" - // InternalRosSystem.g:8230:1: rule__ParameterStructType__Group__3__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ; + // InternalRosSystem.g:9360:1: rule__ParameterStructType__Group__3__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ; public final void rule__ParameterStructType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8234:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ) - // InternalRosSystem.g:8235:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) + // InternalRosSystem.g:9364:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ) + // InternalRosSystem.g:9365:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) { - // InternalRosSystem.g:8235:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) - // InternalRosSystem.g:8236:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) + // InternalRosSystem.g:9365:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) + // InternalRosSystem.g:9366:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberAssignment_3()); - // InternalRosSystem.g:8237:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) - // InternalRosSystem.g:8237:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 + // InternalRosSystem.g:9367:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) + // InternalRosSystem.g:9367:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterStructType__ParameterstructypetmemberAssignment_3(); @@ -24855,16 +28300,16 @@ public final void rule__ParameterStructType__Group__3__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__4" - // InternalRosSystem.g:8245:1: rule__ParameterStructType__Group__4 : rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ; + // InternalRosSystem.g:9375:1: rule__ParameterStructType__Group__4 : rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ; public final void rule__ParameterStructType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8249:1: ( rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ) - // InternalRosSystem.g:8250:2: rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 + // InternalRosSystem.g:9379:1: ( rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ) + // InternalRosSystem.g:9380:2: rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterStructType__Group__4__Impl(); state._fsp--; @@ -24893,33 +28338,33 @@ public final void rule__ParameterStructType__Group__4() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__4__Impl" - // InternalRosSystem.g:8257:1: rule__ParameterStructType__Group__4__Impl : ( ( rule__ParameterStructType__Group_4__0 )* ) ; + // InternalRosSystem.g:9387:1: rule__ParameterStructType__Group__4__Impl : ( ( rule__ParameterStructType__Group_4__0 )* ) ; public final void rule__ParameterStructType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8261:1: ( ( ( rule__ParameterStructType__Group_4__0 )* ) ) - // InternalRosSystem.g:8262:1: ( ( rule__ParameterStructType__Group_4__0 )* ) + // InternalRosSystem.g:9391:1: ( ( ( rule__ParameterStructType__Group_4__0 )* ) ) + // InternalRosSystem.g:9392:1: ( ( rule__ParameterStructType__Group_4__0 )* ) { - // InternalRosSystem.g:8262:1: ( ( rule__ParameterStructType__Group_4__0 )* ) - // InternalRosSystem.g:8263:2: ( rule__ParameterStructType__Group_4__0 )* + // InternalRosSystem.g:9392:1: ( ( rule__ParameterStructType__Group_4__0 )* ) + // InternalRosSystem.g:9393:2: ( rule__ParameterStructType__Group_4__0 )* { before(grammarAccess.getParameterStructTypeAccess().getGroup_4()); - // InternalRosSystem.g:8264:2: ( rule__ParameterStructType__Group_4__0 )* - loop58: + // InternalRosSystem.g:9394:2: ( rule__ParameterStructType__Group_4__0 )* + loop69: do { - int alt58=2; - int LA58_0 = input.LA(1); + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA58_0==30) ) { - alt58=1; + if ( (LA69_0==30) ) { + alt69=1; } - switch (alt58) { + switch (alt69) { case 1 : - // InternalRosSystem.g:8264:3: rule__ParameterStructType__Group_4__0 + // InternalRosSystem.g:9394:3: rule__ParameterStructType__Group_4__0 { pushFollow(FOLLOW_11); rule__ParameterStructType__Group_4__0(); @@ -24931,7 +28376,7 @@ public final void rule__ParameterStructType__Group__4__Impl() throws Recognition break; default : - break loop58; + break loop69; } } while (true); @@ -24958,14 +28403,14 @@ public final void rule__ParameterStructType__Group__4__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__5" - // InternalRosSystem.g:8272:1: rule__ParameterStructType__Group__5 : rule__ParameterStructType__Group__5__Impl ; + // InternalRosSystem.g:9402:1: rule__ParameterStructType__Group__5 : rule__ParameterStructType__Group__5__Impl ; public final void rule__ParameterStructType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8276:1: ( rule__ParameterStructType__Group__5__Impl ) - // InternalRosSystem.g:8277:2: rule__ParameterStructType__Group__5__Impl + // InternalRosSystem.g:9406:1: ( rule__ParameterStructType__Group__5__Impl ) + // InternalRosSystem.g:9407:2: rule__ParameterStructType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterStructType__Group__5__Impl(); @@ -24991,17 +28436,17 @@ public final void rule__ParameterStructType__Group__5() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__5__Impl" - // InternalRosSystem.g:8283:1: rule__ParameterStructType__Group__5__Impl : ( '}' ) ; + // InternalRosSystem.g:9413:1: rule__ParameterStructType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterStructType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8287:1: ( ( '}' ) ) - // InternalRosSystem.g:8288:1: ( '}' ) + // InternalRosSystem.g:9417:1: ( ( '}' ) ) + // InternalRosSystem.g:9418:1: ( '}' ) { - // InternalRosSystem.g:8288:1: ( '}' ) - // InternalRosSystem.g:8289:2: '}' + // InternalRosSystem.g:9418:1: ( '}' ) + // InternalRosSystem.g:9419:2: '}' { before(grammarAccess.getParameterStructTypeAccess().getRightCurlyBracketKeyword_5()); match(input,26,FOLLOW_2); @@ -25028,14 +28473,14 @@ public final void rule__ParameterStructType__Group__5__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group_4__0" - // InternalRosSystem.g:8299:1: rule__ParameterStructType__Group_4__0 : rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ; + // InternalRosSystem.g:9429:1: rule__ParameterStructType__Group_4__0 : rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ; public final void rule__ParameterStructType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8303:1: ( rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ) - // InternalRosSystem.g:8304:2: rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 + // InternalRosSystem.g:9433:1: ( rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ) + // InternalRosSystem.g:9434:2: rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 { pushFollow(FOLLOW_6); rule__ParameterStructType__Group_4__0__Impl(); @@ -25066,17 +28511,17 @@ public final void rule__ParameterStructType__Group_4__0() throws RecognitionExce // $ANTLR start "rule__ParameterStructType__Group_4__0__Impl" - // InternalRosSystem.g:8311:1: rule__ParameterStructType__Group_4__0__Impl : ( ',' ) ; + // InternalRosSystem.g:9441:1: rule__ParameterStructType__Group_4__0__Impl : ( ',' ) ; public final void rule__ParameterStructType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8315:1: ( ( ',' ) ) - // InternalRosSystem.g:8316:1: ( ',' ) + // InternalRosSystem.g:9445:1: ( ( ',' ) ) + // InternalRosSystem.g:9446:1: ( ',' ) { - // InternalRosSystem.g:8316:1: ( ',' ) - // InternalRosSystem.g:8317:2: ',' + // InternalRosSystem.g:9446:1: ( ',' ) + // InternalRosSystem.g:9447:2: ',' { before(grammarAccess.getParameterStructTypeAccess().getCommaKeyword_4_0()); match(input,30,FOLLOW_2); @@ -25103,14 +28548,14 @@ public final void rule__ParameterStructType__Group_4__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructType__Group_4__1" - // InternalRosSystem.g:8326:1: rule__ParameterStructType__Group_4__1 : rule__ParameterStructType__Group_4__1__Impl ; + // InternalRosSystem.g:9456:1: rule__ParameterStructType__Group_4__1 : rule__ParameterStructType__Group_4__1__Impl ; public final void rule__ParameterStructType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8330:1: ( rule__ParameterStructType__Group_4__1__Impl ) - // InternalRosSystem.g:8331:2: rule__ParameterStructType__Group_4__1__Impl + // InternalRosSystem.g:9460:1: ( rule__ParameterStructType__Group_4__1__Impl ) + // InternalRosSystem.g:9461:2: rule__ParameterStructType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStructType__Group_4__1__Impl(); @@ -25136,21 +28581,21 @@ public final void rule__ParameterStructType__Group_4__1() throws RecognitionExce // $ANTLR start "rule__ParameterStructType__Group_4__1__Impl" - // InternalRosSystem.g:8337:1: rule__ParameterStructType__Group_4__1__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ; + // InternalRosSystem.g:9467:1: rule__ParameterStructType__Group_4__1__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ; public final void rule__ParameterStructType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8341:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ) - // InternalRosSystem.g:8342:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) + // InternalRosSystem.g:9471:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ) + // InternalRosSystem.g:9472:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) { - // InternalRosSystem.g:8342:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) - // InternalRosSystem.g:8343:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) + // InternalRosSystem.g:9472:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) + // InternalRosSystem.g:9473:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberAssignment_4_1()); - // InternalRosSystem.g:8344:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) - // InternalRosSystem.g:8344:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 + // InternalRosSystem.g:9474:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) + // InternalRosSystem.g:9474:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1(); @@ -25183,16 +28628,16 @@ public final void rule__ParameterStructType__Group_4__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterIntegerType__Group__0" - // InternalRosSystem.g:8353:1: rule__ParameterIntegerType__Group__0 : rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ; + // InternalRosSystem.g:9483:1: rule__ParameterIntegerType__Group__0 : rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ; public final void rule__ParameterIntegerType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8357:1: ( rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ) - // InternalRosSystem.g:8358:2: rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 + // InternalRosSystem.g:9487:1: ( rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ) + // InternalRosSystem.g:9488:2: rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 { - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_54); rule__ParameterIntegerType__Group__0__Impl(); state._fsp--; @@ -25221,21 +28666,21 @@ public final void rule__ParameterIntegerType__Group__0() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__0__Impl" - // InternalRosSystem.g:8365:1: rule__ParameterIntegerType__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:9495:1: rule__ParameterIntegerType__Group__0__Impl : ( () ) ; public final void rule__ParameterIntegerType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8369:1: ( ( () ) ) - // InternalRosSystem.g:8370:1: ( () ) + // InternalRosSystem.g:9499:1: ( ( () ) ) + // InternalRosSystem.g:9500:1: ( () ) { - // InternalRosSystem.g:8370:1: ( () ) - // InternalRosSystem.g:8371:2: () + // InternalRosSystem.g:9500:1: ( () ) + // InternalRosSystem.g:9501:2: () { before(grammarAccess.getParameterIntegerTypeAccess().getParameterIntegerTypeAction_0()); - // InternalRosSystem.g:8372:2: () - // InternalRosSystem.g:8372:3: + // InternalRosSystem.g:9502:2: () + // InternalRosSystem.g:9502:3: { } @@ -25258,16 +28703,16 @@ public final void rule__ParameterIntegerType__Group__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group__1" - // InternalRosSystem.g:8380:1: rule__ParameterIntegerType__Group__1 : rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ; + // InternalRosSystem.g:9510:1: rule__ParameterIntegerType__Group__1 : rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ; public final void rule__ParameterIntegerType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8384:1: ( rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ) - // InternalRosSystem.g:8385:2: rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 + // InternalRosSystem.g:9514:1: ( rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ) + // InternalRosSystem.g:9515:2: rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 { - pushFollow(FOLLOW_49); + pushFollow(FOLLOW_55); rule__ParameterIntegerType__Group__1__Impl(); state._fsp--; @@ -25296,20 +28741,20 @@ public final void rule__ParameterIntegerType__Group__1() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__1__Impl" - // InternalRosSystem.g:8392:1: rule__ParameterIntegerType__Group__1__Impl : ( 'Integer' ) ; + // InternalRosSystem.g:9522:1: rule__ParameterIntegerType__Group__1__Impl : ( 'Integer' ) ; public final void rule__ParameterIntegerType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8396:1: ( ( 'Integer' ) ) - // InternalRosSystem.g:8397:1: ( 'Integer' ) + // InternalRosSystem.g:9526:1: ( ( 'Integer' ) ) + // InternalRosSystem.g:9527:1: ( 'Integer' ) { - // InternalRosSystem.g:8397:1: ( 'Integer' ) - // InternalRosSystem.g:8398:2: 'Integer' + // InternalRosSystem.g:9527:1: ( 'Integer' ) + // InternalRosSystem.g:9528:2: 'Integer' { before(grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); - match(input,69,FOLLOW_2); + match(input,73,FOLLOW_2); after(grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); } @@ -25333,14 +28778,14 @@ public final void rule__ParameterIntegerType__Group__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group__2" - // InternalRosSystem.g:8407:1: rule__ParameterIntegerType__Group__2 : rule__ParameterIntegerType__Group__2__Impl ; + // InternalRosSystem.g:9537:1: rule__ParameterIntegerType__Group__2 : rule__ParameterIntegerType__Group__2__Impl ; public final void rule__ParameterIntegerType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8411:1: ( rule__ParameterIntegerType__Group__2__Impl ) - // InternalRosSystem.g:8412:2: rule__ParameterIntegerType__Group__2__Impl + // InternalRosSystem.g:9541:1: ( rule__ParameterIntegerType__Group__2__Impl ) + // InternalRosSystem.g:9542:2: rule__ParameterIntegerType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group__2__Impl(); @@ -25366,33 +28811,33 @@ public final void rule__ParameterIntegerType__Group__2() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__2__Impl" - // InternalRosSystem.g:8418:1: rule__ParameterIntegerType__Group__2__Impl : ( ( rule__ParameterIntegerType__Group_2__0 )? ) ; + // InternalRosSystem.g:9548:1: rule__ParameterIntegerType__Group__2__Impl : ( ( rule__ParameterIntegerType__Group_2__0 )? ) ; public final void rule__ParameterIntegerType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8422:1: ( ( ( rule__ParameterIntegerType__Group_2__0 )? ) ) - // InternalRosSystem.g:8423:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) + // InternalRosSystem.g:9552:1: ( ( ( rule__ParameterIntegerType__Group_2__0 )? ) ) + // InternalRosSystem.g:9553:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) { - // InternalRosSystem.g:8423:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) - // InternalRosSystem.g:8424:2: ( rule__ParameterIntegerType__Group_2__0 )? + // InternalRosSystem.g:9553:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) + // InternalRosSystem.g:9554:2: ( rule__ParameterIntegerType__Group_2__0 )? { before(grammarAccess.getParameterIntegerTypeAccess().getGroup_2()); - // InternalRosSystem.g:8425:2: ( rule__ParameterIntegerType__Group_2__0 )? - int alt59=2; - int LA59_0 = input.LA(1); + // InternalRosSystem.g:9555:2: ( rule__ParameterIntegerType__Group_2__0 )? + int alt70=2; + int LA70_0 = input.LA(1); - if ( (LA59_0==70) ) { - int LA59_1 = input.LA(2); + if ( (LA70_0==74) ) { + int LA70_1 = input.LA(2); - if ( (LA59_1==RULE_DECINT) ) { - alt59=1; + if ( (LA70_1==RULE_DECINT) ) { + alt70=1; } } - switch (alt59) { + switch (alt70) { case 1 : - // InternalRosSystem.g:8425:3: rule__ParameterIntegerType__Group_2__0 + // InternalRosSystem.g:9555:3: rule__ParameterIntegerType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group_2__0(); @@ -25428,16 +28873,16 @@ public final void rule__ParameterIntegerType__Group__2__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group_2__0" - // InternalRosSystem.g:8434:1: rule__ParameterIntegerType__Group_2__0 : rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ; + // InternalRosSystem.g:9564:1: rule__ParameterIntegerType__Group_2__0 : rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ; public final void rule__ParameterIntegerType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8438:1: ( rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ) - // InternalRosSystem.g:8439:2: rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 + // InternalRosSystem.g:9568:1: ( rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ) + // InternalRosSystem.g:9569:2: rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 { - pushFollow(FOLLOW_50); + pushFollow(FOLLOW_56); rule__ParameterIntegerType__Group_2__0__Impl(); state._fsp--; @@ -25466,20 +28911,20 @@ public final void rule__ParameterIntegerType__Group_2__0() throws RecognitionExc // $ANTLR start "rule__ParameterIntegerType__Group_2__0__Impl" - // InternalRosSystem.g:8446:1: rule__ParameterIntegerType__Group_2__0__Impl : ( 'default' ) ; + // InternalRosSystem.g:9576:1: rule__ParameterIntegerType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterIntegerType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8450:1: ( ( 'default' ) ) - // InternalRosSystem.g:8451:1: ( 'default' ) + // InternalRosSystem.g:9580:1: ( ( 'default' ) ) + // InternalRosSystem.g:9581:1: ( 'default' ) { - // InternalRosSystem.g:8451:1: ( 'default' ) - // InternalRosSystem.g:8452:2: 'default' + // InternalRosSystem.g:9581:1: ( 'default' ) + // InternalRosSystem.g:9582:2: 'default' { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); - match(input,70,FOLLOW_2); + match(input,74,FOLLOW_2); after(grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); } @@ -25503,14 +28948,14 @@ public final void rule__ParameterIntegerType__Group_2__0__Impl() throws Recognit // $ANTLR start "rule__ParameterIntegerType__Group_2__1" - // InternalRosSystem.g:8461:1: rule__ParameterIntegerType__Group_2__1 : rule__ParameterIntegerType__Group_2__1__Impl ; + // InternalRosSystem.g:9591:1: rule__ParameterIntegerType__Group_2__1 : rule__ParameterIntegerType__Group_2__1__Impl ; public final void rule__ParameterIntegerType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8465:1: ( rule__ParameterIntegerType__Group_2__1__Impl ) - // InternalRosSystem.g:8466:2: rule__ParameterIntegerType__Group_2__1__Impl + // InternalRosSystem.g:9595:1: ( rule__ParameterIntegerType__Group_2__1__Impl ) + // InternalRosSystem.g:9596:2: rule__ParameterIntegerType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group_2__1__Impl(); @@ -25536,21 +28981,21 @@ public final void rule__ParameterIntegerType__Group_2__1() throws RecognitionExc // $ANTLR start "rule__ParameterIntegerType__Group_2__1__Impl" - // InternalRosSystem.g:8472:1: rule__ParameterIntegerType__Group_2__1__Impl : ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ; + // InternalRosSystem.g:9602:1: rule__ParameterIntegerType__Group_2__1__Impl : ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterIntegerType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8476:1: ( ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ) - // InternalRosSystem.g:8477:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:9606:1: ( ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ) + // InternalRosSystem.g:9607:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) { - // InternalRosSystem.g:8477:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) - // InternalRosSystem.g:8478:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:9607:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:9608:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultAssignment_2_1()); - // InternalRosSystem.g:8479:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) - // InternalRosSystem.g:8479:3: rule__ParameterIntegerType__DefaultAssignment_2_1 + // InternalRosSystem.g:9609:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:9609:3: rule__ParameterIntegerType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__DefaultAssignment_2_1(); @@ -25583,16 +29028,16 @@ public final void rule__ParameterIntegerType__Group_2__1__Impl() throws Recognit // $ANTLR start "rule__ParameterStringType__Group__0" - // InternalRosSystem.g:8488:1: rule__ParameterStringType__Group__0 : rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ; + // InternalRosSystem.g:9618:1: rule__ParameterStringType__Group__0 : rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ; public final void rule__ParameterStringType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8492:1: ( rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ) - // InternalRosSystem.g:8493:2: rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 + // InternalRosSystem.g:9622:1: ( rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ) + // InternalRosSystem.g:9623:2: rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 { - pushFollow(FOLLOW_51); + pushFollow(FOLLOW_57); rule__ParameterStringType__Group__0__Impl(); state._fsp--; @@ -25621,21 +29066,21 @@ public final void rule__ParameterStringType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__0__Impl" - // InternalRosSystem.g:8500:1: rule__ParameterStringType__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:9630:1: rule__ParameterStringType__Group__0__Impl : ( () ) ; public final void rule__ParameterStringType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8504:1: ( ( () ) ) - // InternalRosSystem.g:8505:1: ( () ) + // InternalRosSystem.g:9634:1: ( ( () ) ) + // InternalRosSystem.g:9635:1: ( () ) { - // InternalRosSystem.g:8505:1: ( () ) - // InternalRosSystem.g:8506:2: () + // InternalRosSystem.g:9635:1: ( () ) + // InternalRosSystem.g:9636:2: () { before(grammarAccess.getParameterStringTypeAccess().getParameterStringTypeAction_0()); - // InternalRosSystem.g:8507:2: () - // InternalRosSystem.g:8507:3: + // InternalRosSystem.g:9637:2: () + // InternalRosSystem.g:9637:3: { } @@ -25658,16 +29103,16 @@ public final void rule__ParameterStringType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group__1" - // InternalRosSystem.g:8515:1: rule__ParameterStringType__Group__1 : rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ; + // InternalRosSystem.g:9645:1: rule__ParameterStringType__Group__1 : rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ; public final void rule__ParameterStringType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8519:1: ( rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ) - // InternalRosSystem.g:8520:2: rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 + // InternalRosSystem.g:9649:1: ( rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ) + // InternalRosSystem.g:9650:2: rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 { - pushFollow(FOLLOW_49); + pushFollow(FOLLOW_55); rule__ParameterStringType__Group__1__Impl(); state._fsp--; @@ -25696,20 +29141,20 @@ public final void rule__ParameterStringType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__1__Impl" - // InternalRosSystem.g:8527:1: rule__ParameterStringType__Group__1__Impl : ( 'String' ) ; + // InternalRosSystem.g:9657:1: rule__ParameterStringType__Group__1__Impl : ( 'String' ) ; public final void rule__ParameterStringType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8531:1: ( ( 'String' ) ) - // InternalRosSystem.g:8532:1: ( 'String' ) + // InternalRosSystem.g:9661:1: ( ( 'String' ) ) + // InternalRosSystem.g:9662:1: ( 'String' ) { - // InternalRosSystem.g:8532:1: ( 'String' ) - // InternalRosSystem.g:8533:2: 'String' + // InternalRosSystem.g:9662:1: ( 'String' ) + // InternalRosSystem.g:9663:2: 'String' { before(grammarAccess.getParameterStringTypeAccess().getStringKeyword_1()); - match(input,71,FOLLOW_2); + match(input,75,FOLLOW_2); after(grammarAccess.getParameterStringTypeAccess().getStringKeyword_1()); } @@ -25733,14 +29178,14 @@ public final void rule__ParameterStringType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group__2" - // InternalRosSystem.g:8542:1: rule__ParameterStringType__Group__2 : rule__ParameterStringType__Group__2__Impl ; + // InternalRosSystem.g:9672:1: rule__ParameterStringType__Group__2 : rule__ParameterStringType__Group__2__Impl ; public final void rule__ParameterStringType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8546:1: ( rule__ParameterStringType__Group__2__Impl ) - // InternalRosSystem.g:8547:2: rule__ParameterStringType__Group__2__Impl + // InternalRosSystem.g:9676:1: ( rule__ParameterStringType__Group__2__Impl ) + // InternalRosSystem.g:9677:2: rule__ParameterStringType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterStringType__Group__2__Impl(); @@ -25766,33 +29211,33 @@ public final void rule__ParameterStringType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__2__Impl" - // InternalRosSystem.g:8553:1: rule__ParameterStringType__Group__2__Impl : ( ( rule__ParameterStringType__Group_2__0 )? ) ; + // InternalRosSystem.g:9683:1: rule__ParameterStringType__Group__2__Impl : ( ( rule__ParameterStringType__Group_2__0 )? ) ; public final void rule__ParameterStringType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8557:1: ( ( ( rule__ParameterStringType__Group_2__0 )? ) ) - // InternalRosSystem.g:8558:1: ( ( rule__ParameterStringType__Group_2__0 )? ) + // InternalRosSystem.g:9687:1: ( ( ( rule__ParameterStringType__Group_2__0 )? ) ) + // InternalRosSystem.g:9688:1: ( ( rule__ParameterStringType__Group_2__0 )? ) { - // InternalRosSystem.g:8558:1: ( ( rule__ParameterStringType__Group_2__0 )? ) - // InternalRosSystem.g:8559:2: ( rule__ParameterStringType__Group_2__0 )? + // InternalRosSystem.g:9688:1: ( ( rule__ParameterStringType__Group_2__0 )? ) + // InternalRosSystem.g:9689:2: ( rule__ParameterStringType__Group_2__0 )? { before(grammarAccess.getParameterStringTypeAccess().getGroup_2()); - // InternalRosSystem.g:8560:2: ( rule__ParameterStringType__Group_2__0 )? - int alt60=2; - int LA60_0 = input.LA(1); + // InternalRosSystem.g:9690:2: ( rule__ParameterStringType__Group_2__0 )? + int alt71=2; + int LA71_0 = input.LA(1); - if ( (LA60_0==70) ) { - int LA60_1 = input.LA(2); + if ( (LA71_0==74) ) { + int LA71_1 = input.LA(2); - if ( ((LA60_1>=RULE_STRING && LA60_1<=RULE_ID)) ) { - alt60=1; + if ( ((LA71_1>=RULE_STRING && LA71_1<=RULE_ID)) ) { + alt71=1; } } - switch (alt60) { + switch (alt71) { case 1 : - // InternalRosSystem.g:8560:3: rule__ParameterStringType__Group_2__0 + // InternalRosSystem.g:9690:3: rule__ParameterStringType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterStringType__Group_2__0(); @@ -25828,14 +29273,14 @@ public final void rule__ParameterStringType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group_2__0" - // InternalRosSystem.g:8569:1: rule__ParameterStringType__Group_2__0 : rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ; + // InternalRosSystem.g:9699:1: rule__ParameterStringType__Group_2__0 : rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ; public final void rule__ParameterStringType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8573:1: ( rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ) - // InternalRosSystem.g:8574:2: rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 + // InternalRosSystem.g:9703:1: ( rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ) + // InternalRosSystem.g:9704:2: rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 { pushFollow(FOLLOW_6); rule__ParameterStringType__Group_2__0__Impl(); @@ -25866,20 +29311,20 @@ public final void rule__ParameterStringType__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterStringType__Group_2__0__Impl" - // InternalRosSystem.g:8581:1: rule__ParameterStringType__Group_2__0__Impl : ( 'default' ) ; + // InternalRosSystem.g:9711:1: rule__ParameterStringType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterStringType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8585:1: ( ( 'default' ) ) - // InternalRosSystem.g:8586:1: ( 'default' ) + // InternalRosSystem.g:9715:1: ( ( 'default' ) ) + // InternalRosSystem.g:9716:1: ( 'default' ) { - // InternalRosSystem.g:8586:1: ( 'default' ) - // InternalRosSystem.g:8587:2: 'default' + // InternalRosSystem.g:9716:1: ( 'default' ) + // InternalRosSystem.g:9717:2: 'default' { before(grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); - match(input,70,FOLLOW_2); + match(input,74,FOLLOW_2); after(grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); } @@ -25903,14 +29348,14 @@ public final void rule__ParameterStringType__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStringType__Group_2__1" - // InternalRosSystem.g:8596:1: rule__ParameterStringType__Group_2__1 : rule__ParameterStringType__Group_2__1__Impl ; + // InternalRosSystem.g:9726:1: rule__ParameterStringType__Group_2__1 : rule__ParameterStringType__Group_2__1__Impl ; public final void rule__ParameterStringType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8600:1: ( rule__ParameterStringType__Group_2__1__Impl ) - // InternalRosSystem.g:8601:2: rule__ParameterStringType__Group_2__1__Impl + // InternalRosSystem.g:9730:1: ( rule__ParameterStringType__Group_2__1__Impl ) + // InternalRosSystem.g:9731:2: rule__ParameterStringType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStringType__Group_2__1__Impl(); @@ -25936,21 +29381,21 @@ public final void rule__ParameterStringType__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterStringType__Group_2__1__Impl" - // InternalRosSystem.g:8607:1: rule__ParameterStringType__Group_2__1__Impl : ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ; + // InternalRosSystem.g:9737:1: rule__ParameterStringType__Group_2__1__Impl : ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterStringType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8611:1: ( ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ) - // InternalRosSystem.g:8612:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:9741:1: ( ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ) + // InternalRosSystem.g:9742:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) { - // InternalRosSystem.g:8612:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) - // InternalRosSystem.g:8613:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:9742:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:9743:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterStringTypeAccess().getDefaultAssignment_2_1()); - // InternalRosSystem.g:8614:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) - // InternalRosSystem.g:8614:3: rule__ParameterStringType__DefaultAssignment_2_1 + // InternalRosSystem.g:9744:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:9744:3: rule__ParameterStringType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterStringType__DefaultAssignment_2_1(); @@ -25983,16 +29428,16 @@ public final void rule__ParameterStringType__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterDoubleType__Group__0" - // InternalRosSystem.g:8623:1: rule__ParameterDoubleType__Group__0 : rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ; + // InternalRosSystem.g:9753:1: rule__ParameterDoubleType__Group__0 : rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ; public final void rule__ParameterDoubleType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8627:1: ( rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ) - // InternalRosSystem.g:8628:2: rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 + // InternalRosSystem.g:9757:1: ( rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ) + // InternalRosSystem.g:9758:2: rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 { - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_58); rule__ParameterDoubleType__Group__0__Impl(); state._fsp--; @@ -26021,21 +29466,21 @@ public final void rule__ParameterDoubleType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__0__Impl" - // InternalRosSystem.g:8635:1: rule__ParameterDoubleType__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:9765:1: rule__ParameterDoubleType__Group__0__Impl : ( () ) ; public final void rule__ParameterDoubleType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8639:1: ( ( () ) ) - // InternalRosSystem.g:8640:1: ( () ) + // InternalRosSystem.g:9769:1: ( ( () ) ) + // InternalRosSystem.g:9770:1: ( () ) { - // InternalRosSystem.g:8640:1: ( () ) - // InternalRosSystem.g:8641:2: () + // InternalRosSystem.g:9770:1: ( () ) + // InternalRosSystem.g:9771:2: () { before(grammarAccess.getParameterDoubleTypeAccess().getParameterDoubleTypeAction_0()); - // InternalRosSystem.g:8642:2: () - // InternalRosSystem.g:8642:3: + // InternalRosSystem.g:9772:2: () + // InternalRosSystem.g:9772:3: { } @@ -26058,16 +29503,16 @@ public final void rule__ParameterDoubleType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group__1" - // InternalRosSystem.g:8650:1: rule__ParameterDoubleType__Group__1 : rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ; + // InternalRosSystem.g:9780:1: rule__ParameterDoubleType__Group__1 : rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ; public final void rule__ParameterDoubleType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8654:1: ( rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ) - // InternalRosSystem.g:8655:2: rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 + // InternalRosSystem.g:9784:1: ( rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ) + // InternalRosSystem.g:9785:2: rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 { - pushFollow(FOLLOW_49); + pushFollow(FOLLOW_55); rule__ParameterDoubleType__Group__1__Impl(); state._fsp--; @@ -26096,20 +29541,20 @@ public final void rule__ParameterDoubleType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__1__Impl" - // InternalRosSystem.g:8662:1: rule__ParameterDoubleType__Group__1__Impl : ( 'Double' ) ; + // InternalRosSystem.g:9792:1: rule__ParameterDoubleType__Group__1__Impl : ( 'Double' ) ; public final void rule__ParameterDoubleType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8666:1: ( ( 'Double' ) ) - // InternalRosSystem.g:8667:1: ( 'Double' ) + // InternalRosSystem.g:9796:1: ( ( 'Double' ) ) + // InternalRosSystem.g:9797:1: ( 'Double' ) { - // InternalRosSystem.g:8667:1: ( 'Double' ) - // InternalRosSystem.g:8668:2: 'Double' + // InternalRosSystem.g:9797:1: ( 'Double' ) + // InternalRosSystem.g:9798:2: 'Double' { before(grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); - match(input,72,FOLLOW_2); + match(input,76,FOLLOW_2); after(grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); } @@ -26133,14 +29578,14 @@ public final void rule__ParameterDoubleType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group__2" - // InternalRosSystem.g:8677:1: rule__ParameterDoubleType__Group__2 : rule__ParameterDoubleType__Group__2__Impl ; + // InternalRosSystem.g:9807:1: rule__ParameterDoubleType__Group__2 : rule__ParameterDoubleType__Group__2__Impl ; public final void rule__ParameterDoubleType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8681:1: ( rule__ParameterDoubleType__Group__2__Impl ) - // InternalRosSystem.g:8682:2: rule__ParameterDoubleType__Group__2__Impl + // InternalRosSystem.g:9811:1: ( rule__ParameterDoubleType__Group__2__Impl ) + // InternalRosSystem.g:9812:2: rule__ParameterDoubleType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group__2__Impl(); @@ -26166,33 +29611,33 @@ public final void rule__ParameterDoubleType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__2__Impl" - // InternalRosSystem.g:8688:1: rule__ParameterDoubleType__Group__2__Impl : ( ( rule__ParameterDoubleType__Group_2__0 )? ) ; + // InternalRosSystem.g:9818:1: rule__ParameterDoubleType__Group__2__Impl : ( ( rule__ParameterDoubleType__Group_2__0 )? ) ; public final void rule__ParameterDoubleType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8692:1: ( ( ( rule__ParameterDoubleType__Group_2__0 )? ) ) - // InternalRosSystem.g:8693:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) + // InternalRosSystem.g:9822:1: ( ( ( rule__ParameterDoubleType__Group_2__0 )? ) ) + // InternalRosSystem.g:9823:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) { - // InternalRosSystem.g:8693:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) - // InternalRosSystem.g:8694:2: ( rule__ParameterDoubleType__Group_2__0 )? + // InternalRosSystem.g:9823:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) + // InternalRosSystem.g:9824:2: ( rule__ParameterDoubleType__Group_2__0 )? { before(grammarAccess.getParameterDoubleTypeAccess().getGroup_2()); - // InternalRosSystem.g:8695:2: ( rule__ParameterDoubleType__Group_2__0 )? - int alt61=2; - int LA61_0 = input.LA(1); + // InternalRosSystem.g:9825:2: ( rule__ParameterDoubleType__Group_2__0 )? + int alt72=2; + int LA72_0 = input.LA(1); - if ( (LA61_0==70) ) { - int LA61_1 = input.LA(2); + if ( (LA72_0==74) ) { + int LA72_1 = input.LA(2); - if ( (LA61_1==RULE_DOUBLE) ) { - alt61=1; + if ( (LA72_1==RULE_DOUBLE) ) { + alt72=1; } } - switch (alt61) { + switch (alt72) { case 1 : - // InternalRosSystem.g:8695:3: rule__ParameterDoubleType__Group_2__0 + // InternalRosSystem.g:9825:3: rule__ParameterDoubleType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group_2__0(); @@ -26228,16 +29673,16 @@ public final void rule__ParameterDoubleType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group_2__0" - // InternalRosSystem.g:8704:1: rule__ParameterDoubleType__Group_2__0 : rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ; + // InternalRosSystem.g:9834:1: rule__ParameterDoubleType__Group_2__0 : rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ; public final void rule__ParameterDoubleType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8708:1: ( rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ) - // InternalRosSystem.g:8709:2: rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 + // InternalRosSystem.g:9838:1: ( rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ) + // InternalRosSystem.g:9839:2: rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 { - pushFollow(FOLLOW_53); + pushFollow(FOLLOW_59); rule__ParameterDoubleType__Group_2__0__Impl(); state._fsp--; @@ -26266,20 +29711,20 @@ public final void rule__ParameterDoubleType__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterDoubleType__Group_2__0__Impl" - // InternalRosSystem.g:8716:1: rule__ParameterDoubleType__Group_2__0__Impl : ( 'default' ) ; + // InternalRosSystem.g:9846:1: rule__ParameterDoubleType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterDoubleType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8720:1: ( ( 'default' ) ) - // InternalRosSystem.g:8721:1: ( 'default' ) + // InternalRosSystem.g:9850:1: ( ( 'default' ) ) + // InternalRosSystem.g:9851:1: ( 'default' ) { - // InternalRosSystem.g:8721:1: ( 'default' ) - // InternalRosSystem.g:8722:2: 'default' + // InternalRosSystem.g:9851:1: ( 'default' ) + // InternalRosSystem.g:9852:2: 'default' { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); - match(input,70,FOLLOW_2); + match(input,74,FOLLOW_2); after(grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); } @@ -26303,14 +29748,14 @@ public final void rule__ParameterDoubleType__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterDoubleType__Group_2__1" - // InternalRosSystem.g:8731:1: rule__ParameterDoubleType__Group_2__1 : rule__ParameterDoubleType__Group_2__1__Impl ; + // InternalRosSystem.g:9861:1: rule__ParameterDoubleType__Group_2__1 : rule__ParameterDoubleType__Group_2__1__Impl ; public final void rule__ParameterDoubleType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8735:1: ( rule__ParameterDoubleType__Group_2__1__Impl ) - // InternalRosSystem.g:8736:2: rule__ParameterDoubleType__Group_2__1__Impl + // InternalRosSystem.g:9865:1: ( rule__ParameterDoubleType__Group_2__1__Impl ) + // InternalRosSystem.g:9866:2: rule__ParameterDoubleType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group_2__1__Impl(); @@ -26336,21 +29781,21 @@ public final void rule__ParameterDoubleType__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterDoubleType__Group_2__1__Impl" - // InternalRosSystem.g:8742:1: rule__ParameterDoubleType__Group_2__1__Impl : ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ; + // InternalRosSystem.g:9872:1: rule__ParameterDoubleType__Group_2__1__Impl : ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterDoubleType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8746:1: ( ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ) - // InternalRosSystem.g:8747:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:9876:1: ( ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ) + // InternalRosSystem.g:9877:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) { - // InternalRosSystem.g:8747:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) - // InternalRosSystem.g:8748:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:9877:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:9878:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultAssignment_2_1()); - // InternalRosSystem.g:8749:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) - // InternalRosSystem.g:8749:3: rule__ParameterDoubleType__DefaultAssignment_2_1 + // InternalRosSystem.g:9879:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:9879:3: rule__ParameterDoubleType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__DefaultAssignment_2_1(); @@ -26383,16 +29828,16 @@ public final void rule__ParameterDoubleType__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterBooleanType__Group__0" - // InternalRosSystem.g:8758:1: rule__ParameterBooleanType__Group__0 : rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ; + // InternalRosSystem.g:9888:1: rule__ParameterBooleanType__Group__0 : rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ; public final void rule__ParameterBooleanType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8762:1: ( rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ) - // InternalRosSystem.g:8763:2: rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 + // InternalRosSystem.g:9892:1: ( rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ) + // InternalRosSystem.g:9893:2: rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 { - pushFollow(FOLLOW_54); + pushFollow(FOLLOW_60); rule__ParameterBooleanType__Group__0__Impl(); state._fsp--; @@ -26421,21 +29866,21 @@ public final void rule__ParameterBooleanType__Group__0() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__0__Impl" - // InternalRosSystem.g:8770:1: rule__ParameterBooleanType__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:9900:1: rule__ParameterBooleanType__Group__0__Impl : ( () ) ; public final void rule__ParameterBooleanType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8774:1: ( ( () ) ) - // InternalRosSystem.g:8775:1: ( () ) + // InternalRosSystem.g:9904:1: ( ( () ) ) + // InternalRosSystem.g:9905:1: ( () ) { - // InternalRosSystem.g:8775:1: ( () ) - // InternalRosSystem.g:8776:2: () + // InternalRosSystem.g:9905:1: ( () ) + // InternalRosSystem.g:9906:2: () { before(grammarAccess.getParameterBooleanTypeAccess().getParameterBooleanTypeAction_0()); - // InternalRosSystem.g:8777:2: () - // InternalRosSystem.g:8777:3: + // InternalRosSystem.g:9907:2: () + // InternalRosSystem.g:9907:3: { } @@ -26458,16 +29903,16 @@ public final void rule__ParameterBooleanType__Group__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group__1" - // InternalRosSystem.g:8785:1: rule__ParameterBooleanType__Group__1 : rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ; + // InternalRosSystem.g:9915:1: rule__ParameterBooleanType__Group__1 : rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ; public final void rule__ParameterBooleanType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8789:1: ( rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ) - // InternalRosSystem.g:8790:2: rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 + // InternalRosSystem.g:9919:1: ( rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ) + // InternalRosSystem.g:9920:2: rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 { - pushFollow(FOLLOW_49); + pushFollow(FOLLOW_55); rule__ParameterBooleanType__Group__1__Impl(); state._fsp--; @@ -26496,20 +29941,20 @@ public final void rule__ParameterBooleanType__Group__1() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__1__Impl" - // InternalRosSystem.g:8797:1: rule__ParameterBooleanType__Group__1__Impl : ( 'Boolean' ) ; + // InternalRosSystem.g:9927:1: rule__ParameterBooleanType__Group__1__Impl : ( 'Boolean' ) ; public final void rule__ParameterBooleanType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8801:1: ( ( 'Boolean' ) ) - // InternalRosSystem.g:8802:1: ( 'Boolean' ) + // InternalRosSystem.g:9931:1: ( ( 'Boolean' ) ) + // InternalRosSystem.g:9932:1: ( 'Boolean' ) { - // InternalRosSystem.g:8802:1: ( 'Boolean' ) - // InternalRosSystem.g:8803:2: 'Boolean' + // InternalRosSystem.g:9932:1: ( 'Boolean' ) + // InternalRosSystem.g:9933:2: 'Boolean' { before(grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); - match(input,73,FOLLOW_2); + match(input,77,FOLLOW_2); after(grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); } @@ -26533,14 +29978,14 @@ public final void rule__ParameterBooleanType__Group__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group__2" - // InternalRosSystem.g:8812:1: rule__ParameterBooleanType__Group__2 : rule__ParameterBooleanType__Group__2__Impl ; + // InternalRosSystem.g:9942:1: rule__ParameterBooleanType__Group__2 : rule__ParameterBooleanType__Group__2__Impl ; public final void rule__ParameterBooleanType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8816:1: ( rule__ParameterBooleanType__Group__2__Impl ) - // InternalRosSystem.g:8817:2: rule__ParameterBooleanType__Group__2__Impl + // InternalRosSystem.g:9946:1: ( rule__ParameterBooleanType__Group__2__Impl ) + // InternalRosSystem.g:9947:2: rule__ParameterBooleanType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group__2__Impl(); @@ -26566,33 +30011,33 @@ public final void rule__ParameterBooleanType__Group__2() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__2__Impl" - // InternalRosSystem.g:8823:1: rule__ParameterBooleanType__Group__2__Impl : ( ( rule__ParameterBooleanType__Group_2__0 )? ) ; + // InternalRosSystem.g:9953:1: rule__ParameterBooleanType__Group__2__Impl : ( ( rule__ParameterBooleanType__Group_2__0 )? ) ; public final void rule__ParameterBooleanType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8827:1: ( ( ( rule__ParameterBooleanType__Group_2__0 )? ) ) - // InternalRosSystem.g:8828:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) + // InternalRosSystem.g:9957:1: ( ( ( rule__ParameterBooleanType__Group_2__0 )? ) ) + // InternalRosSystem.g:9958:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) { - // InternalRosSystem.g:8828:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) - // InternalRosSystem.g:8829:2: ( rule__ParameterBooleanType__Group_2__0 )? + // InternalRosSystem.g:9958:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) + // InternalRosSystem.g:9959:2: ( rule__ParameterBooleanType__Group_2__0 )? { before(grammarAccess.getParameterBooleanTypeAccess().getGroup_2()); - // InternalRosSystem.g:8830:2: ( rule__ParameterBooleanType__Group_2__0 )? - int alt62=2; - int LA62_0 = input.LA(1); + // InternalRosSystem.g:9960:2: ( rule__ParameterBooleanType__Group_2__0 )? + int alt73=2; + int LA73_0 = input.LA(1); - if ( (LA62_0==70) ) { - int LA62_1 = input.LA(2); + if ( (LA73_0==74) ) { + int LA73_1 = input.LA(2); - if ( (LA62_1==RULE_BOOLEAN) ) { - alt62=1; + if ( (LA73_1==RULE_BOOLEAN) ) { + alt73=1; } } - switch (alt62) { + switch (alt73) { case 1 : - // InternalRosSystem.g:8830:3: rule__ParameterBooleanType__Group_2__0 + // InternalRosSystem.g:9960:3: rule__ParameterBooleanType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group_2__0(); @@ -26628,16 +30073,16 @@ public final void rule__ParameterBooleanType__Group__2__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group_2__0" - // InternalRosSystem.g:8839:1: rule__ParameterBooleanType__Group_2__0 : rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ; + // InternalRosSystem.g:9969:1: rule__ParameterBooleanType__Group_2__0 : rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ; public final void rule__ParameterBooleanType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8843:1: ( rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ) - // InternalRosSystem.g:8844:2: rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 + // InternalRosSystem.g:9973:1: ( rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ) + // InternalRosSystem.g:9974:2: rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 { - pushFollow(FOLLOW_55); + pushFollow(FOLLOW_61); rule__ParameterBooleanType__Group_2__0__Impl(); state._fsp--; @@ -26666,20 +30111,20 @@ public final void rule__ParameterBooleanType__Group_2__0() throws RecognitionExc // $ANTLR start "rule__ParameterBooleanType__Group_2__0__Impl" - // InternalRosSystem.g:8851:1: rule__ParameterBooleanType__Group_2__0__Impl : ( 'default' ) ; + // InternalRosSystem.g:9981:1: rule__ParameterBooleanType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterBooleanType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8855:1: ( ( 'default' ) ) - // InternalRosSystem.g:8856:1: ( 'default' ) + // InternalRosSystem.g:9985:1: ( ( 'default' ) ) + // InternalRosSystem.g:9986:1: ( 'default' ) { - // InternalRosSystem.g:8856:1: ( 'default' ) - // InternalRosSystem.g:8857:2: 'default' + // InternalRosSystem.g:9986:1: ( 'default' ) + // InternalRosSystem.g:9987:2: 'default' { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); - match(input,70,FOLLOW_2); + match(input,74,FOLLOW_2); after(grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); } @@ -26703,14 +30148,14 @@ public final void rule__ParameterBooleanType__Group_2__0__Impl() throws Recognit // $ANTLR start "rule__ParameterBooleanType__Group_2__1" - // InternalRosSystem.g:8866:1: rule__ParameterBooleanType__Group_2__1 : rule__ParameterBooleanType__Group_2__1__Impl ; + // InternalRosSystem.g:9996:1: rule__ParameterBooleanType__Group_2__1 : rule__ParameterBooleanType__Group_2__1__Impl ; public final void rule__ParameterBooleanType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8870:1: ( rule__ParameterBooleanType__Group_2__1__Impl ) - // InternalRosSystem.g:8871:2: rule__ParameterBooleanType__Group_2__1__Impl + // InternalRosSystem.g:10000:1: ( rule__ParameterBooleanType__Group_2__1__Impl ) + // InternalRosSystem.g:10001:2: rule__ParameterBooleanType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group_2__1__Impl(); @@ -26736,21 +30181,21 @@ public final void rule__ParameterBooleanType__Group_2__1() throws RecognitionExc // $ANTLR start "rule__ParameterBooleanType__Group_2__1__Impl" - // InternalRosSystem.g:8877:1: rule__ParameterBooleanType__Group_2__1__Impl : ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ; + // InternalRosSystem.g:10007:1: rule__ParameterBooleanType__Group_2__1__Impl : ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterBooleanType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8881:1: ( ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ) - // InternalRosSystem.g:8882:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:10011:1: ( ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ) + // InternalRosSystem.g:10012:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) { - // InternalRosSystem.g:8882:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) - // InternalRosSystem.g:8883:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:10012:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:10013:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultAssignment_2_1()); - // InternalRosSystem.g:8884:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) - // InternalRosSystem.g:8884:3: rule__ParameterBooleanType__DefaultAssignment_2_1 + // InternalRosSystem.g:10014:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) + // InternalRosSystem.g:10014:3: rule__ParameterBooleanType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__DefaultAssignment_2_1(); @@ -26783,16 +30228,16 @@ public final void rule__ParameterBooleanType__Group_2__1__Impl() throws Recognit // $ANTLR start "rule__ParameterBase64Type__Group__0" - // InternalRosSystem.g:8893:1: rule__ParameterBase64Type__Group__0 : rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ; + // InternalRosSystem.g:10023:1: rule__ParameterBase64Type__Group__0 : rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ; public final void rule__ParameterBase64Type__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8897:1: ( rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ) - // InternalRosSystem.g:8898:2: rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 + // InternalRosSystem.g:10027:1: ( rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ) + // InternalRosSystem.g:10028:2: rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 { - pushFollow(FOLLOW_56); + pushFollow(FOLLOW_62); rule__ParameterBase64Type__Group__0__Impl(); state._fsp--; @@ -26821,21 +30266,21 @@ public final void rule__ParameterBase64Type__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__0__Impl" - // InternalRosSystem.g:8905:1: rule__ParameterBase64Type__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:10035:1: rule__ParameterBase64Type__Group__0__Impl : ( () ) ; public final void rule__ParameterBase64Type__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8909:1: ( ( () ) ) - // InternalRosSystem.g:8910:1: ( () ) + // InternalRosSystem.g:10039:1: ( ( () ) ) + // InternalRosSystem.g:10040:1: ( () ) { - // InternalRosSystem.g:8910:1: ( () ) - // InternalRosSystem.g:8911:2: () + // InternalRosSystem.g:10040:1: ( () ) + // InternalRosSystem.g:10041:2: () { before(grammarAccess.getParameterBase64TypeAccess().getParameterBase64TypeAction_0()); - // InternalRosSystem.g:8912:2: () - // InternalRosSystem.g:8912:3: + // InternalRosSystem.g:10042:2: () + // InternalRosSystem.g:10042:3: { } @@ -26858,16 +30303,16 @@ public final void rule__ParameterBase64Type__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group__1" - // InternalRosSystem.g:8920:1: rule__ParameterBase64Type__Group__1 : rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ; + // InternalRosSystem.g:10050:1: rule__ParameterBase64Type__Group__1 : rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ; public final void rule__ParameterBase64Type__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8924:1: ( rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ) - // InternalRosSystem.g:8925:2: rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 + // InternalRosSystem.g:10054:1: ( rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ) + // InternalRosSystem.g:10055:2: rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 { - pushFollow(FOLLOW_49); + pushFollow(FOLLOW_55); rule__ParameterBase64Type__Group__1__Impl(); state._fsp--; @@ -26896,20 +30341,20 @@ public final void rule__ParameterBase64Type__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__1__Impl" - // InternalRosSystem.g:8932:1: rule__ParameterBase64Type__Group__1__Impl : ( 'Base64' ) ; + // InternalRosSystem.g:10062:1: rule__ParameterBase64Type__Group__1__Impl : ( 'Base64' ) ; public final void rule__ParameterBase64Type__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8936:1: ( ( 'Base64' ) ) - // InternalRosSystem.g:8937:1: ( 'Base64' ) + // InternalRosSystem.g:10066:1: ( ( 'Base64' ) ) + // InternalRosSystem.g:10067:1: ( 'Base64' ) { - // InternalRosSystem.g:8937:1: ( 'Base64' ) - // InternalRosSystem.g:8938:2: 'Base64' + // InternalRosSystem.g:10067:1: ( 'Base64' ) + // InternalRosSystem.g:10068:2: 'Base64' { before(grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); - match(input,74,FOLLOW_2); + match(input,78,FOLLOW_2); after(grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); } @@ -26933,14 +30378,14 @@ public final void rule__ParameterBase64Type__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group__2" - // InternalRosSystem.g:8947:1: rule__ParameterBase64Type__Group__2 : rule__ParameterBase64Type__Group__2__Impl ; + // InternalRosSystem.g:10077:1: rule__ParameterBase64Type__Group__2 : rule__ParameterBase64Type__Group__2__Impl ; public final void rule__ParameterBase64Type__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8951:1: ( rule__ParameterBase64Type__Group__2__Impl ) - // InternalRosSystem.g:8952:2: rule__ParameterBase64Type__Group__2__Impl + // InternalRosSystem.g:10081:1: ( rule__ParameterBase64Type__Group__2__Impl ) + // InternalRosSystem.g:10082:2: rule__ParameterBase64Type__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group__2__Impl(); @@ -26966,33 +30411,33 @@ public final void rule__ParameterBase64Type__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__2__Impl" - // InternalRosSystem.g:8958:1: rule__ParameterBase64Type__Group__2__Impl : ( ( rule__ParameterBase64Type__Group_2__0 )? ) ; + // InternalRosSystem.g:10088:1: rule__ParameterBase64Type__Group__2__Impl : ( ( rule__ParameterBase64Type__Group_2__0 )? ) ; public final void rule__ParameterBase64Type__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8962:1: ( ( ( rule__ParameterBase64Type__Group_2__0 )? ) ) - // InternalRosSystem.g:8963:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) + // InternalRosSystem.g:10092:1: ( ( ( rule__ParameterBase64Type__Group_2__0 )? ) ) + // InternalRosSystem.g:10093:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) { - // InternalRosSystem.g:8963:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) - // InternalRosSystem.g:8964:2: ( rule__ParameterBase64Type__Group_2__0 )? + // InternalRosSystem.g:10093:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) + // InternalRosSystem.g:10094:2: ( rule__ParameterBase64Type__Group_2__0 )? { before(grammarAccess.getParameterBase64TypeAccess().getGroup_2()); - // InternalRosSystem.g:8965:2: ( rule__ParameterBase64Type__Group_2__0 )? - int alt63=2; - int LA63_0 = input.LA(1); + // InternalRosSystem.g:10095:2: ( rule__ParameterBase64Type__Group_2__0 )? + int alt74=2; + int LA74_0 = input.LA(1); - if ( (LA63_0==70) ) { - int LA63_1 = input.LA(2); + if ( (LA74_0==74) ) { + int LA74_1 = input.LA(2); - if ( (LA63_1==RULE_BINARY) ) { - alt63=1; + if ( (LA74_1==RULE_BINARY) ) { + alt74=1; } } - switch (alt63) { + switch (alt74) { case 1 : - // InternalRosSystem.g:8965:3: rule__ParameterBase64Type__Group_2__0 + // InternalRosSystem.g:10095:3: rule__ParameterBase64Type__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group_2__0(); @@ -27028,16 +30473,16 @@ public final void rule__ParameterBase64Type__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group_2__0" - // InternalRosSystem.g:8974:1: rule__ParameterBase64Type__Group_2__0 : rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ; + // InternalRosSystem.g:10104:1: rule__ParameterBase64Type__Group_2__0 : rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ; public final void rule__ParameterBase64Type__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8978:1: ( rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ) - // InternalRosSystem.g:8979:2: rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 + // InternalRosSystem.g:10108:1: ( rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ) + // InternalRosSystem.g:10109:2: rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 { - pushFollow(FOLLOW_57); + pushFollow(FOLLOW_63); rule__ParameterBase64Type__Group_2__0__Impl(); state._fsp--; @@ -27066,20 +30511,20 @@ public final void rule__ParameterBase64Type__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterBase64Type__Group_2__0__Impl" - // InternalRosSystem.g:8986:1: rule__ParameterBase64Type__Group_2__0__Impl : ( 'default' ) ; + // InternalRosSystem.g:10116:1: rule__ParameterBase64Type__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterBase64Type__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:8990:1: ( ( 'default' ) ) - // InternalRosSystem.g:8991:1: ( 'default' ) + // InternalRosSystem.g:10120:1: ( ( 'default' ) ) + // InternalRosSystem.g:10121:1: ( 'default' ) { - // InternalRosSystem.g:8991:1: ( 'default' ) - // InternalRosSystem.g:8992:2: 'default' + // InternalRosSystem.g:10121:1: ( 'default' ) + // InternalRosSystem.g:10122:2: 'default' { before(grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); - match(input,70,FOLLOW_2); + match(input,74,FOLLOW_2); after(grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); } @@ -27103,14 +30548,14 @@ public final void rule__ParameterBase64Type__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterBase64Type__Group_2__1" - // InternalRosSystem.g:9001:1: rule__ParameterBase64Type__Group_2__1 : rule__ParameterBase64Type__Group_2__1__Impl ; + // InternalRosSystem.g:10131:1: rule__ParameterBase64Type__Group_2__1 : rule__ParameterBase64Type__Group_2__1__Impl ; public final void rule__ParameterBase64Type__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9005:1: ( rule__ParameterBase64Type__Group_2__1__Impl ) - // InternalRosSystem.g:9006:2: rule__ParameterBase64Type__Group_2__1__Impl + // InternalRosSystem.g:10135:1: ( rule__ParameterBase64Type__Group_2__1__Impl ) + // InternalRosSystem.g:10136:2: rule__ParameterBase64Type__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group_2__1__Impl(); @@ -27136,21 +30581,21 @@ public final void rule__ParameterBase64Type__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterBase64Type__Group_2__1__Impl" - // InternalRosSystem.g:9012:1: rule__ParameterBase64Type__Group_2__1__Impl : ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ; + // InternalRosSystem.g:10142:1: rule__ParameterBase64Type__Group_2__1__Impl : ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterBase64Type__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9016:1: ( ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ) - // InternalRosSystem.g:9017:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:10146:1: ( ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ) + // InternalRosSystem.g:10147:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) { - // InternalRosSystem.g:9017:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) - // InternalRosSystem.g:9018:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) + // InternalRosSystem.g:10147:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) + // InternalRosSystem.g:10148:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterBase64TypeAccess().getDefaultAssignment_2_1()); - // InternalRosSystem.g:9019:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) - // InternalRosSystem.g:9019:3: rule__ParameterBase64Type__DefaultAssignment_2_1 + // InternalRosSystem.g:10149:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) + // InternalRosSystem.g:10149:3: rule__ParameterBase64Type__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__DefaultAssignment_2_1(); @@ -27183,14 +30628,14 @@ public final void rule__ParameterBase64Type__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterArrayType__Group__0" - // InternalRosSystem.g:9028:1: rule__ParameterArrayType__Group__0 : rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ; + // InternalRosSystem.g:10158:1: rule__ParameterArrayType__Group__0 : rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ; public final void rule__ParameterArrayType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9032:1: ( rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ) - // InternalRosSystem.g:9033:2: rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 + // InternalRosSystem.g:10162:1: ( rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ) + // InternalRosSystem.g:10163:2: rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 { pushFollow(FOLLOW_4); rule__ParameterArrayType__Group__0__Impl(); @@ -27221,20 +30666,20 @@ public final void rule__ParameterArrayType__Group__0() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__0__Impl" - // InternalRosSystem.g:9040:1: rule__ParameterArrayType__Group__0__Impl : ( 'Array' ) ; + // InternalRosSystem.g:10170:1: rule__ParameterArrayType__Group__0__Impl : ( 'Array' ) ; public final void rule__ParameterArrayType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9044:1: ( ( 'Array' ) ) - // InternalRosSystem.g:9045:1: ( 'Array' ) + // InternalRosSystem.g:10174:1: ( ( 'Array' ) ) + // InternalRosSystem.g:10175:1: ( 'Array' ) { - // InternalRosSystem.g:9045:1: ( 'Array' ) - // InternalRosSystem.g:9046:2: 'Array' + // InternalRosSystem.g:10175:1: ( 'Array' ) + // InternalRosSystem.g:10176:2: 'Array' { before(grammarAccess.getParameterArrayTypeAccess().getArrayKeyword_0()); - match(input,75,FOLLOW_2); + match(input,79,FOLLOW_2); after(grammarAccess.getParameterArrayTypeAccess().getArrayKeyword_0()); } @@ -27258,16 +30703,16 @@ public final void rule__ParameterArrayType__Group__0__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__1" - // InternalRosSystem.g:9055:1: rule__ParameterArrayType__Group__1 : rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ; + // InternalRosSystem.g:10185:1: rule__ParameterArrayType__Group__1 : rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ; public final void rule__ParameterArrayType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9059:1: ( rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ) - // InternalRosSystem.g:9060:2: rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 + // InternalRosSystem.g:10189:1: ( rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ) + // InternalRosSystem.g:10190:2: rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 { - pushFollow(FOLLOW_58); + pushFollow(FOLLOW_64); rule__ParameterArrayType__Group__1__Impl(); state._fsp--; @@ -27296,17 +30741,17 @@ public final void rule__ParameterArrayType__Group__1() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__1__Impl" - // InternalRosSystem.g:9067:1: rule__ParameterArrayType__Group__1__Impl : ( '{' ) ; + // InternalRosSystem.g:10197:1: rule__ParameterArrayType__Group__1__Impl : ( '{' ) ; public final void rule__ParameterArrayType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9071:1: ( ( '{' ) ) - // InternalRosSystem.g:9072:1: ( '{' ) + // InternalRosSystem.g:10201:1: ( ( '{' ) ) + // InternalRosSystem.g:10202:1: ( '{' ) { - // InternalRosSystem.g:9072:1: ( '{' ) - // InternalRosSystem.g:9073:2: '{' + // InternalRosSystem.g:10202:1: ( '{' ) + // InternalRosSystem.g:10203:2: '{' { before(grammarAccess.getParameterArrayTypeAccess().getLeftCurlyBracketKeyword_1()); match(input,24,FOLLOW_2); @@ -27333,16 +30778,16 @@ public final void rule__ParameterArrayType__Group__1__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__2" - // InternalRosSystem.g:9082:1: rule__ParameterArrayType__Group__2 : rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ; + // InternalRosSystem.g:10212:1: rule__ParameterArrayType__Group__2 : rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ; public final void rule__ParameterArrayType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9086:1: ( rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ) - // InternalRosSystem.g:9087:2: rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 + // InternalRosSystem.g:10216:1: ( rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ) + // InternalRosSystem.g:10217:2: rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 { - pushFollow(FOLLOW_45); + pushFollow(FOLLOW_32); rule__ParameterArrayType__Group__2__Impl(); state._fsp--; @@ -27371,20 +30816,20 @@ public final void rule__ParameterArrayType__Group__2() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__2__Impl" - // InternalRosSystem.g:9094:1: rule__ParameterArrayType__Group__2__Impl : ( 'type' ) ; + // InternalRosSystem.g:10224:1: rule__ParameterArrayType__Group__2__Impl : ( 'type' ) ; public final void rule__ParameterArrayType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9098:1: ( ( 'type' ) ) - // InternalRosSystem.g:9099:1: ( 'type' ) + // InternalRosSystem.g:10228:1: ( ( 'type' ) ) + // InternalRosSystem.g:10229:1: ( 'type' ) { - // InternalRosSystem.g:9099:1: ( 'type' ) - // InternalRosSystem.g:9100:2: 'type' + // InternalRosSystem.g:10229:1: ( 'type' ) + // InternalRosSystem.g:10230:2: 'type' { before(grammarAccess.getParameterArrayTypeAccess().getTypeKeyword_2()); - match(input,66,FOLLOW_2); + match(input,45,FOLLOW_2); after(grammarAccess.getParameterArrayTypeAccess().getTypeKeyword_2()); } @@ -27408,16 +30853,16 @@ public final void rule__ParameterArrayType__Group__2__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__3" - // InternalRosSystem.g:9109:1: rule__ParameterArrayType__Group__3 : rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ; + // InternalRosSystem.g:10239:1: rule__ParameterArrayType__Group__3 : rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ; public final void rule__ParameterArrayType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9113:1: ( rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ) - // InternalRosSystem.g:9114:2: rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 + // InternalRosSystem.g:10243:1: ( rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ) + // InternalRosSystem.g:10244:2: rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 { - pushFollow(FOLLOW_59); + pushFollow(FOLLOW_65); rule__ParameterArrayType__Group__3__Impl(); state._fsp--; @@ -27446,21 +30891,21 @@ public final void rule__ParameterArrayType__Group__3() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__3__Impl" - // InternalRosSystem.g:9121:1: rule__ParameterArrayType__Group__3__Impl : ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ; + // InternalRosSystem.g:10251:1: rule__ParameterArrayType__Group__3__Impl : ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ; public final void rule__ParameterArrayType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9125:1: ( ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ) - // InternalRosSystem.g:9126:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) + // InternalRosSystem.g:10255:1: ( ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ) + // InternalRosSystem.g:10256:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) { - // InternalRosSystem.g:9126:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) - // InternalRosSystem.g:9127:2: ( rule__ParameterArrayType__TypeAssignment_3 ) + // InternalRosSystem.g:10256:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) + // InternalRosSystem.g:10257:2: ( rule__ParameterArrayType__TypeAssignment_3 ) { before(grammarAccess.getParameterArrayTypeAccess().getTypeAssignment_3()); - // InternalRosSystem.g:9128:2: ( rule__ParameterArrayType__TypeAssignment_3 ) - // InternalRosSystem.g:9128:3: rule__ParameterArrayType__TypeAssignment_3 + // InternalRosSystem.g:10258:2: ( rule__ParameterArrayType__TypeAssignment_3 ) + // InternalRosSystem.g:10258:3: rule__ParameterArrayType__TypeAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterArrayType__TypeAssignment_3(); @@ -27493,16 +30938,16 @@ public final void rule__ParameterArrayType__Group__3__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__4" - // InternalRosSystem.g:9136:1: rule__ParameterArrayType__Group__4 : rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ; + // InternalRosSystem.g:10266:1: rule__ParameterArrayType__Group__4 : rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ; public final void rule__ParameterArrayType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9140:1: ( rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ) - // InternalRosSystem.g:9141:2: rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 + // InternalRosSystem.g:10270:1: ( rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ) + // InternalRosSystem.g:10271:2: rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 { - pushFollow(FOLLOW_59); + pushFollow(FOLLOW_65); rule__ParameterArrayType__Group__4__Impl(); state._fsp--; @@ -27531,29 +30976,29 @@ public final void rule__ParameterArrayType__Group__4() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__4__Impl" - // InternalRosSystem.g:9148:1: rule__ParameterArrayType__Group__4__Impl : ( ( rule__ParameterArrayType__Group_4__0 )? ) ; + // InternalRosSystem.g:10278:1: rule__ParameterArrayType__Group__4__Impl : ( ( rule__ParameterArrayType__Group_4__0 )? ) ; public final void rule__ParameterArrayType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9152:1: ( ( ( rule__ParameterArrayType__Group_4__0 )? ) ) - // InternalRosSystem.g:9153:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) + // InternalRosSystem.g:10282:1: ( ( ( rule__ParameterArrayType__Group_4__0 )? ) ) + // InternalRosSystem.g:10283:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) { - // InternalRosSystem.g:9153:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) - // InternalRosSystem.g:9154:2: ( rule__ParameterArrayType__Group_4__0 )? + // InternalRosSystem.g:10283:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) + // InternalRosSystem.g:10284:2: ( rule__ParameterArrayType__Group_4__0 )? { before(grammarAccess.getParameterArrayTypeAccess().getGroup_4()); - // InternalRosSystem.g:9155:2: ( rule__ParameterArrayType__Group_4__0 )? - int alt64=2; - int LA64_0 = input.LA(1); + // InternalRosSystem.g:10285:2: ( rule__ParameterArrayType__Group_4__0 )? + int alt75=2; + int LA75_0 = input.LA(1); - if ( (LA64_0==70) ) { - alt64=1; + if ( (LA75_0==74) ) { + alt75=1; } - switch (alt64) { + switch (alt75) { case 1 : - // InternalRosSystem.g:9155:3: rule__ParameterArrayType__Group_4__0 + // InternalRosSystem.g:10285:3: rule__ParameterArrayType__Group_4__0 { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group_4__0(); @@ -27589,14 +31034,14 @@ public final void rule__ParameterArrayType__Group__4__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__5" - // InternalRosSystem.g:9163:1: rule__ParameterArrayType__Group__5 : rule__ParameterArrayType__Group__5__Impl ; + // InternalRosSystem.g:10293:1: rule__ParameterArrayType__Group__5 : rule__ParameterArrayType__Group__5__Impl ; public final void rule__ParameterArrayType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9167:1: ( rule__ParameterArrayType__Group__5__Impl ) - // InternalRosSystem.g:9168:2: rule__ParameterArrayType__Group__5__Impl + // InternalRosSystem.g:10297:1: ( rule__ParameterArrayType__Group__5__Impl ) + // InternalRosSystem.g:10298:2: rule__ParameterArrayType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group__5__Impl(); @@ -27622,17 +31067,17 @@ public final void rule__ParameterArrayType__Group__5() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__5__Impl" - // InternalRosSystem.g:9174:1: rule__ParameterArrayType__Group__5__Impl : ( '}' ) ; + // InternalRosSystem.g:10304:1: rule__ParameterArrayType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterArrayType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9178:1: ( ( '}' ) ) - // InternalRosSystem.g:9179:1: ( '}' ) + // InternalRosSystem.g:10308:1: ( ( '}' ) ) + // InternalRosSystem.g:10309:1: ( '}' ) { - // InternalRosSystem.g:9179:1: ( '}' ) - // InternalRosSystem.g:9180:2: '}' + // InternalRosSystem.g:10309:1: ( '}' ) + // InternalRosSystem.g:10310:2: '}' { before(grammarAccess.getParameterArrayTypeAccess().getRightCurlyBracketKeyword_5()); match(input,26,FOLLOW_2); @@ -27659,14 +31104,14 @@ public final void rule__ParameterArrayType__Group__5__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group_4__0" - // InternalRosSystem.g:9190:1: rule__ParameterArrayType__Group_4__0 : rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ; + // InternalRosSystem.g:10320:1: rule__ParameterArrayType__Group_4__0 : rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ; public final void rule__ParameterArrayType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9194:1: ( rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ) - // InternalRosSystem.g:9195:2: rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 + // InternalRosSystem.g:10324:1: ( rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ) + // InternalRosSystem.g:10325:2: rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 { pushFollow(FOLLOW_4); rule__ParameterArrayType__Group_4__0__Impl(); @@ -27697,20 +31142,20 @@ public final void rule__ParameterArrayType__Group_4__0() throws RecognitionExcep // $ANTLR start "rule__ParameterArrayType__Group_4__0__Impl" - // InternalRosSystem.g:9202:1: rule__ParameterArrayType__Group_4__0__Impl : ( 'default' ) ; + // InternalRosSystem.g:10332:1: rule__ParameterArrayType__Group_4__0__Impl : ( 'default' ) ; public final void rule__ParameterArrayType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9206:1: ( ( 'default' ) ) - // InternalRosSystem.g:9207:1: ( 'default' ) + // InternalRosSystem.g:10336:1: ( ( 'default' ) ) + // InternalRosSystem.g:10337:1: ( 'default' ) { - // InternalRosSystem.g:9207:1: ( 'default' ) - // InternalRosSystem.g:9208:2: 'default' + // InternalRosSystem.g:10337:1: ( 'default' ) + // InternalRosSystem.g:10338:2: 'default' { before(grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); - match(input,70,FOLLOW_2); + match(input,74,FOLLOW_2); after(grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); } @@ -27734,14 +31179,14 @@ public final void rule__ParameterArrayType__Group_4__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterArrayType__Group_4__1" - // InternalRosSystem.g:9217:1: rule__ParameterArrayType__Group_4__1 : rule__ParameterArrayType__Group_4__1__Impl ; + // InternalRosSystem.g:10347:1: rule__ParameterArrayType__Group_4__1 : rule__ParameterArrayType__Group_4__1__Impl ; public final void rule__ParameterArrayType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9221:1: ( rule__ParameterArrayType__Group_4__1__Impl ) - // InternalRosSystem.g:9222:2: rule__ParameterArrayType__Group_4__1__Impl + // InternalRosSystem.g:10351:1: ( rule__ParameterArrayType__Group_4__1__Impl ) + // InternalRosSystem.g:10352:2: rule__ParameterArrayType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group_4__1__Impl(); @@ -27767,21 +31212,21 @@ public final void rule__ParameterArrayType__Group_4__1() throws RecognitionExcep // $ANTLR start "rule__ParameterArrayType__Group_4__1__Impl" - // InternalRosSystem.g:9228:1: rule__ParameterArrayType__Group_4__1__Impl : ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ; + // InternalRosSystem.g:10358:1: rule__ParameterArrayType__Group_4__1__Impl : ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ; public final void rule__ParameterArrayType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9232:1: ( ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ) - // InternalRosSystem.g:9233:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) + // InternalRosSystem.g:10362:1: ( ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ) + // InternalRosSystem.g:10363:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) { - // InternalRosSystem.g:9233:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) - // InternalRosSystem.g:9234:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) + // InternalRosSystem.g:10363:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) + // InternalRosSystem.g:10364:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) { before(grammarAccess.getParameterArrayTypeAccess().getDefaultAssignment_4_1()); - // InternalRosSystem.g:9235:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) - // InternalRosSystem.g:9235:3: rule__ParameterArrayType__DefaultAssignment_4_1 + // InternalRosSystem.g:10365:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) + // InternalRosSystem.g:10365:3: rule__ParameterArrayType__DefaultAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterArrayType__DefaultAssignment_4_1(); @@ -27814,14 +31259,14 @@ public final void rule__ParameterArrayType__Group_4__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterList__Group__0" - // InternalRosSystem.g:9244:1: rule__ParameterList__Group__0 : rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ; + // InternalRosSystem.g:10374:1: rule__ParameterList__Group__0 : rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ; public final void rule__ParameterList__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9248:1: ( rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ) - // InternalRosSystem.g:9249:2: rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 + // InternalRosSystem.g:10378:1: ( rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ) + // InternalRosSystem.g:10379:2: rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 { pushFollow(FOLLOW_4); rule__ParameterList__Group__0__Impl(); @@ -27852,21 +31297,21 @@ public final void rule__ParameterList__Group__0() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__0__Impl" - // InternalRosSystem.g:9256:1: rule__ParameterList__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:10386:1: rule__ParameterList__Group__0__Impl : ( () ) ; public final void rule__ParameterList__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9260:1: ( ( () ) ) - // InternalRosSystem.g:9261:1: ( () ) + // InternalRosSystem.g:10390:1: ( ( () ) ) + // InternalRosSystem.g:10391:1: ( () ) { - // InternalRosSystem.g:9261:1: ( () ) - // InternalRosSystem.g:9262:2: () + // InternalRosSystem.g:10391:1: ( () ) + // InternalRosSystem.g:10392:2: () { before(grammarAccess.getParameterListAccess().getParameterSequenceAction_0()); - // InternalRosSystem.g:9263:2: () - // InternalRosSystem.g:9263:3: + // InternalRosSystem.g:10393:2: () + // InternalRosSystem.g:10393:3: { } @@ -27889,16 +31334,16 @@ public final void rule__ParameterList__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__1" - // InternalRosSystem.g:9271:1: rule__ParameterList__Group__1 : rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ; + // InternalRosSystem.g:10401:1: rule__ParameterList__Group__1 : rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ; public final void rule__ParameterList__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9275:1: ( rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ) - // InternalRosSystem.g:9276:2: rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 + // InternalRosSystem.g:10405:1: ( rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ) + // InternalRosSystem.g:10406:2: rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 { - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_33); rule__ParameterList__Group__1__Impl(); state._fsp--; @@ -27927,17 +31372,17 @@ public final void rule__ParameterList__Group__1() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__1__Impl" - // InternalRosSystem.g:9283:1: rule__ParameterList__Group__1__Impl : ( '{' ) ; + // InternalRosSystem.g:10413:1: rule__ParameterList__Group__1__Impl : ( '{' ) ; public final void rule__ParameterList__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9287:1: ( ( '{' ) ) - // InternalRosSystem.g:9288:1: ( '{' ) + // InternalRosSystem.g:10417:1: ( ( '{' ) ) + // InternalRosSystem.g:10418:1: ( '{' ) { - // InternalRosSystem.g:9288:1: ( '{' ) - // InternalRosSystem.g:9289:2: '{' + // InternalRosSystem.g:10418:1: ( '{' ) + // InternalRosSystem.g:10419:2: '{' { before(grammarAccess.getParameterListAccess().getLeftCurlyBracketKeyword_1()); match(input,24,FOLLOW_2); @@ -27964,16 +31409,16 @@ public final void rule__ParameterList__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__2" - // InternalRosSystem.g:9298:1: rule__ParameterList__Group__2 : rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ; + // InternalRosSystem.g:10428:1: rule__ParameterList__Group__2 : rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ; public final void rule__ParameterList__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9302:1: ( rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ) - // InternalRosSystem.g:9303:2: rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 + // InternalRosSystem.g:10432:1: ( rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ) + // InternalRosSystem.g:10433:2: rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterList__Group__2__Impl(); state._fsp--; @@ -28002,21 +31447,21 @@ public final void rule__ParameterList__Group__2() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__2__Impl" - // InternalRosSystem.g:9310:1: rule__ParameterList__Group__2__Impl : ( ( rule__ParameterList__ValueAssignment_2 ) ) ; + // InternalRosSystem.g:10440:1: rule__ParameterList__Group__2__Impl : ( ( rule__ParameterList__ValueAssignment_2 ) ) ; public final void rule__ParameterList__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9314:1: ( ( ( rule__ParameterList__ValueAssignment_2 ) ) ) - // InternalRosSystem.g:9315:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) + // InternalRosSystem.g:10444:1: ( ( ( rule__ParameterList__ValueAssignment_2 ) ) ) + // InternalRosSystem.g:10445:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) { - // InternalRosSystem.g:9315:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) - // InternalRosSystem.g:9316:2: ( rule__ParameterList__ValueAssignment_2 ) + // InternalRosSystem.g:10445:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) + // InternalRosSystem.g:10446:2: ( rule__ParameterList__ValueAssignment_2 ) { before(grammarAccess.getParameterListAccess().getValueAssignment_2()); - // InternalRosSystem.g:9317:2: ( rule__ParameterList__ValueAssignment_2 ) - // InternalRosSystem.g:9317:3: rule__ParameterList__ValueAssignment_2 + // InternalRosSystem.g:10447:2: ( rule__ParameterList__ValueAssignment_2 ) + // InternalRosSystem.g:10447:3: rule__ParameterList__ValueAssignment_2 { pushFollow(FOLLOW_2); rule__ParameterList__ValueAssignment_2(); @@ -28049,16 +31494,16 @@ public final void rule__ParameterList__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__3" - // InternalRosSystem.g:9325:1: rule__ParameterList__Group__3 : rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ; + // InternalRosSystem.g:10455:1: rule__ParameterList__Group__3 : rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ; public final void rule__ParameterList__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9329:1: ( rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ) - // InternalRosSystem.g:9330:2: rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 + // InternalRosSystem.g:10459:1: ( rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ) + // InternalRosSystem.g:10460:2: rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterList__Group__3__Impl(); state._fsp--; @@ -28087,33 +31532,33 @@ public final void rule__ParameterList__Group__3() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__3__Impl" - // InternalRosSystem.g:9337:1: rule__ParameterList__Group__3__Impl : ( ( rule__ParameterList__Group_3__0 )* ) ; + // InternalRosSystem.g:10467:1: rule__ParameterList__Group__3__Impl : ( ( rule__ParameterList__Group_3__0 )* ) ; public final void rule__ParameterList__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9341:1: ( ( ( rule__ParameterList__Group_3__0 )* ) ) - // InternalRosSystem.g:9342:1: ( ( rule__ParameterList__Group_3__0 )* ) + // InternalRosSystem.g:10471:1: ( ( ( rule__ParameterList__Group_3__0 )* ) ) + // InternalRosSystem.g:10472:1: ( ( rule__ParameterList__Group_3__0 )* ) { - // InternalRosSystem.g:9342:1: ( ( rule__ParameterList__Group_3__0 )* ) - // InternalRosSystem.g:9343:2: ( rule__ParameterList__Group_3__0 )* + // InternalRosSystem.g:10472:1: ( ( rule__ParameterList__Group_3__0 )* ) + // InternalRosSystem.g:10473:2: ( rule__ParameterList__Group_3__0 )* { before(grammarAccess.getParameterListAccess().getGroup_3()); - // InternalRosSystem.g:9344:2: ( rule__ParameterList__Group_3__0 )* - loop65: + // InternalRosSystem.g:10474:2: ( rule__ParameterList__Group_3__0 )* + loop76: do { - int alt65=2; - int LA65_0 = input.LA(1); + int alt76=2; + int LA76_0 = input.LA(1); - if ( (LA65_0==30) ) { - alt65=1; + if ( (LA76_0==30) ) { + alt76=1; } - switch (alt65) { + switch (alt76) { case 1 : - // InternalRosSystem.g:9344:3: rule__ParameterList__Group_3__0 + // InternalRosSystem.g:10474:3: rule__ParameterList__Group_3__0 { pushFollow(FOLLOW_11); rule__ParameterList__Group_3__0(); @@ -28125,7 +31570,7 @@ public final void rule__ParameterList__Group__3__Impl() throws RecognitionExcept break; default : - break loop65; + break loop76; } } while (true); @@ -28152,14 +31597,14 @@ public final void rule__ParameterList__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__4" - // InternalRosSystem.g:9352:1: rule__ParameterList__Group__4 : rule__ParameterList__Group__4__Impl ; + // InternalRosSystem.g:10482:1: rule__ParameterList__Group__4 : rule__ParameterList__Group__4__Impl ; public final void rule__ParameterList__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9356:1: ( rule__ParameterList__Group__4__Impl ) - // InternalRosSystem.g:9357:2: rule__ParameterList__Group__4__Impl + // InternalRosSystem.g:10486:1: ( rule__ParameterList__Group__4__Impl ) + // InternalRosSystem.g:10487:2: rule__ParameterList__Group__4__Impl { pushFollow(FOLLOW_2); rule__ParameterList__Group__4__Impl(); @@ -28185,17 +31630,17 @@ public final void rule__ParameterList__Group__4() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__4__Impl" - // InternalRosSystem.g:9363:1: rule__ParameterList__Group__4__Impl : ( '}' ) ; + // InternalRosSystem.g:10493:1: rule__ParameterList__Group__4__Impl : ( '}' ) ; public final void rule__ParameterList__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9367:1: ( ( '}' ) ) - // InternalRosSystem.g:9368:1: ( '}' ) + // InternalRosSystem.g:10497:1: ( ( '}' ) ) + // InternalRosSystem.g:10498:1: ( '}' ) { - // InternalRosSystem.g:9368:1: ( '}' ) - // InternalRosSystem.g:9369:2: '}' + // InternalRosSystem.g:10498:1: ( '}' ) + // InternalRosSystem.g:10499:2: '}' { before(grammarAccess.getParameterListAccess().getRightCurlyBracketKeyword_4()); match(input,26,FOLLOW_2); @@ -28222,16 +31667,16 @@ public final void rule__ParameterList__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group_3__0" - // InternalRosSystem.g:9379:1: rule__ParameterList__Group_3__0 : rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ; + // InternalRosSystem.g:10509:1: rule__ParameterList__Group_3__0 : rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ; public final void rule__ParameterList__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9383:1: ( rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ) - // InternalRosSystem.g:9384:2: rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 + // InternalRosSystem.g:10513:1: ( rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ) + // InternalRosSystem.g:10514:2: rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 { - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_33); rule__ParameterList__Group_3__0__Impl(); state._fsp--; @@ -28260,17 +31705,17 @@ public final void rule__ParameterList__Group_3__0() throws RecognitionException // $ANTLR start "rule__ParameterList__Group_3__0__Impl" - // InternalRosSystem.g:9391:1: rule__ParameterList__Group_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:10521:1: rule__ParameterList__Group_3__0__Impl : ( ',' ) ; public final void rule__ParameterList__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9395:1: ( ( ',' ) ) - // InternalRosSystem.g:9396:1: ( ',' ) + // InternalRosSystem.g:10525:1: ( ( ',' ) ) + // InternalRosSystem.g:10526:1: ( ',' ) { - // InternalRosSystem.g:9396:1: ( ',' ) - // InternalRosSystem.g:9397:2: ',' + // InternalRosSystem.g:10526:1: ( ',' ) + // InternalRosSystem.g:10527:2: ',' { before(grammarAccess.getParameterListAccess().getCommaKeyword_3_0()); match(input,30,FOLLOW_2); @@ -28297,14 +31742,14 @@ public final void rule__ParameterList__Group_3__0__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterList__Group_3__1" - // InternalRosSystem.g:9406:1: rule__ParameterList__Group_3__1 : rule__ParameterList__Group_3__1__Impl ; + // InternalRosSystem.g:10536:1: rule__ParameterList__Group_3__1 : rule__ParameterList__Group_3__1__Impl ; public final void rule__ParameterList__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9410:1: ( rule__ParameterList__Group_3__1__Impl ) - // InternalRosSystem.g:9411:2: rule__ParameterList__Group_3__1__Impl + // InternalRosSystem.g:10540:1: ( rule__ParameterList__Group_3__1__Impl ) + // InternalRosSystem.g:10541:2: rule__ParameterList__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__ParameterList__Group_3__1__Impl(); @@ -28330,21 +31775,21 @@ public final void rule__ParameterList__Group_3__1() throws RecognitionException // $ANTLR start "rule__ParameterList__Group_3__1__Impl" - // InternalRosSystem.g:9417:1: rule__ParameterList__Group_3__1__Impl : ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ; + // InternalRosSystem.g:10547:1: rule__ParameterList__Group_3__1__Impl : ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ; public final void rule__ParameterList__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9421:1: ( ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ) - // InternalRosSystem.g:9422:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) + // InternalRosSystem.g:10551:1: ( ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ) + // InternalRosSystem.g:10552:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) { - // InternalRosSystem.g:9422:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) - // InternalRosSystem.g:9423:2: ( rule__ParameterList__ValueAssignment_3_1 ) + // InternalRosSystem.g:10552:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) + // InternalRosSystem.g:10553:2: ( rule__ParameterList__ValueAssignment_3_1 ) { before(grammarAccess.getParameterListAccess().getValueAssignment_3_1()); - // InternalRosSystem.g:9424:2: ( rule__ParameterList__ValueAssignment_3_1 ) - // InternalRosSystem.g:9424:3: rule__ParameterList__ValueAssignment_3_1 + // InternalRosSystem.g:10554:2: ( rule__ParameterList__ValueAssignment_3_1 ) + // InternalRosSystem.g:10554:3: rule__ParameterList__ValueAssignment_3_1 { pushFollow(FOLLOW_2); rule__ParameterList__ValueAssignment_3_1(); @@ -28377,16 +31822,16 @@ public final void rule__ParameterList__Group_3__1__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterAny__Group__0" - // InternalRosSystem.g:9433:1: rule__ParameterAny__Group__0 : rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ; + // InternalRosSystem.g:10563:1: rule__ParameterAny__Group__0 : rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ; public final void rule__ParameterAny__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9437:1: ( rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ) - // InternalRosSystem.g:9438:2: rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 + // InternalRosSystem.g:10567:1: ( rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ) + // InternalRosSystem.g:10568:2: rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 { - pushFollow(FOLLOW_60); + pushFollow(FOLLOW_66); rule__ParameterAny__Group__0__Impl(); state._fsp--; @@ -28415,21 +31860,21 @@ public final void rule__ParameterAny__Group__0() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__0__Impl" - // InternalRosSystem.g:9445:1: rule__ParameterAny__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:10575:1: rule__ParameterAny__Group__0__Impl : ( () ) ; public final void rule__ParameterAny__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9449:1: ( ( () ) ) - // InternalRosSystem.g:9450:1: ( () ) + // InternalRosSystem.g:10579:1: ( ( () ) ) + // InternalRosSystem.g:10580:1: ( () ) { - // InternalRosSystem.g:9450:1: ( () ) - // InternalRosSystem.g:9451:2: () + // InternalRosSystem.g:10580:1: ( () ) + // InternalRosSystem.g:10581:2: () { before(grammarAccess.getParameterAnyAccess().getParameterAnyAction_0()); - // InternalRosSystem.g:9452:2: () - // InternalRosSystem.g:9452:3: + // InternalRosSystem.g:10582:2: () + // InternalRosSystem.g:10582:3: { } @@ -28452,14 +31897,14 @@ public final void rule__ParameterAny__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__1" - // InternalRosSystem.g:9460:1: rule__ParameterAny__Group__1 : rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ; + // InternalRosSystem.g:10590:1: rule__ParameterAny__Group__1 : rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ; public final void rule__ParameterAny__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9464:1: ( rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ) - // InternalRosSystem.g:9465:2: rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 + // InternalRosSystem.g:10594:1: ( rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ) + // InternalRosSystem.g:10595:2: rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 { pushFollow(FOLLOW_4); rule__ParameterAny__Group__1__Impl(); @@ -28490,20 +31935,20 @@ public final void rule__ParameterAny__Group__1() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__1__Impl" - // InternalRosSystem.g:9472:1: rule__ParameterAny__Group__1__Impl : ( 'ParameterAny' ) ; + // InternalRosSystem.g:10602:1: rule__ParameterAny__Group__1__Impl : ( 'ParameterAny' ) ; public final void rule__ParameterAny__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9476:1: ( ( 'ParameterAny' ) ) - // InternalRosSystem.g:9477:1: ( 'ParameterAny' ) + // InternalRosSystem.g:10606:1: ( ( 'ParameterAny' ) ) + // InternalRosSystem.g:10607:1: ( 'ParameterAny' ) { - // InternalRosSystem.g:9477:1: ( 'ParameterAny' ) - // InternalRosSystem.g:9478:2: 'ParameterAny' + // InternalRosSystem.g:10607:1: ( 'ParameterAny' ) + // InternalRosSystem.g:10608:2: 'ParameterAny' { before(grammarAccess.getParameterAnyAccess().getParameterAnyKeyword_1()); - match(input,76,FOLLOW_2); + match(input,80,FOLLOW_2); after(grammarAccess.getParameterAnyAccess().getParameterAnyKeyword_1()); } @@ -28527,16 +31972,16 @@ public final void rule__ParameterAny__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__2" - // InternalRosSystem.g:9487:1: rule__ParameterAny__Group__2 : rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ; + // InternalRosSystem.g:10617:1: rule__ParameterAny__Group__2 : rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ; public final void rule__ParameterAny__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9491:1: ( rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ) - // InternalRosSystem.g:9492:2: rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 + // InternalRosSystem.g:10621:1: ( rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ) + // InternalRosSystem.g:10622:2: rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 { - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_49); rule__ParameterAny__Group__2__Impl(); state._fsp--; @@ -28565,17 +32010,17 @@ public final void rule__ParameterAny__Group__2() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__2__Impl" - // InternalRosSystem.g:9499:1: rule__ParameterAny__Group__2__Impl : ( '{' ) ; + // InternalRosSystem.g:10629:1: rule__ParameterAny__Group__2__Impl : ( '{' ) ; public final void rule__ParameterAny__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9503:1: ( ( '{' ) ) - // InternalRosSystem.g:9504:1: ( '{' ) + // InternalRosSystem.g:10633:1: ( ( '{' ) ) + // InternalRosSystem.g:10634:1: ( '{' ) { - // InternalRosSystem.g:9504:1: ( '{' ) - // InternalRosSystem.g:9505:2: '{' + // InternalRosSystem.g:10634:1: ( '{' ) + // InternalRosSystem.g:10635:2: '{' { before(grammarAccess.getParameterAnyAccess().getLeftCurlyBracketKeyword_2()); match(input,24,FOLLOW_2); @@ -28602,16 +32047,16 @@ public final void rule__ParameterAny__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__3" - // InternalRosSystem.g:9514:1: rule__ParameterAny__Group__3 : rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ; + // InternalRosSystem.g:10644:1: rule__ParameterAny__Group__3 : rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ; public final void rule__ParameterAny__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9518:1: ( rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ) - // InternalRosSystem.g:9519:2: rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 + // InternalRosSystem.g:10648:1: ( rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ) + // InternalRosSystem.g:10649:2: rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 { - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_49); rule__ParameterAny__Group__3__Impl(); state._fsp--; @@ -28640,29 +32085,29 @@ public final void rule__ParameterAny__Group__3() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__3__Impl" - // InternalRosSystem.g:9526:1: rule__ParameterAny__Group__3__Impl : ( ( rule__ParameterAny__Group_3__0 )? ) ; + // InternalRosSystem.g:10656:1: rule__ParameterAny__Group__3__Impl : ( ( rule__ParameterAny__Group_3__0 )? ) ; public final void rule__ParameterAny__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9530:1: ( ( ( rule__ParameterAny__Group_3__0 )? ) ) - // InternalRosSystem.g:9531:1: ( ( rule__ParameterAny__Group_3__0 )? ) + // InternalRosSystem.g:10660:1: ( ( ( rule__ParameterAny__Group_3__0 )? ) ) + // InternalRosSystem.g:10661:1: ( ( rule__ParameterAny__Group_3__0 )? ) { - // InternalRosSystem.g:9531:1: ( ( rule__ParameterAny__Group_3__0 )? ) - // InternalRosSystem.g:9532:2: ( rule__ParameterAny__Group_3__0 )? + // InternalRosSystem.g:10661:1: ( ( rule__ParameterAny__Group_3__0 )? ) + // InternalRosSystem.g:10662:2: ( rule__ParameterAny__Group_3__0 )? { before(grammarAccess.getParameterAnyAccess().getGroup_3()); - // InternalRosSystem.g:9533:2: ( rule__ParameterAny__Group_3__0 )? - int alt66=2; - int LA66_0 = input.LA(1); + // InternalRosSystem.g:10663:2: ( rule__ParameterAny__Group_3__0 )? + int alt77=2; + int LA77_0 = input.LA(1); - if ( (LA66_0==64) ) { - alt66=1; + if ( (LA77_0==46) ) { + alt77=1; } - switch (alt66) { + switch (alt77) { case 1 : - // InternalRosSystem.g:9533:3: rule__ParameterAny__Group_3__0 + // InternalRosSystem.g:10663:3: rule__ParameterAny__Group_3__0 { pushFollow(FOLLOW_2); rule__ParameterAny__Group_3__0(); @@ -28698,14 +32143,14 @@ public final void rule__ParameterAny__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__4" - // InternalRosSystem.g:9541:1: rule__ParameterAny__Group__4 : rule__ParameterAny__Group__4__Impl ; + // InternalRosSystem.g:10671:1: rule__ParameterAny__Group__4 : rule__ParameterAny__Group__4__Impl ; public final void rule__ParameterAny__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9545:1: ( rule__ParameterAny__Group__4__Impl ) - // InternalRosSystem.g:9546:2: rule__ParameterAny__Group__4__Impl + // InternalRosSystem.g:10675:1: ( rule__ParameterAny__Group__4__Impl ) + // InternalRosSystem.g:10676:2: rule__ParameterAny__Group__4__Impl { pushFollow(FOLLOW_2); rule__ParameterAny__Group__4__Impl(); @@ -28731,17 +32176,17 @@ public final void rule__ParameterAny__Group__4() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__4__Impl" - // InternalRosSystem.g:9552:1: rule__ParameterAny__Group__4__Impl : ( '}' ) ; + // InternalRosSystem.g:10682:1: rule__ParameterAny__Group__4__Impl : ( '}' ) ; public final void rule__ParameterAny__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9556:1: ( ( '}' ) ) - // InternalRosSystem.g:9557:1: ( '}' ) + // InternalRosSystem.g:10686:1: ( ( '}' ) ) + // InternalRosSystem.g:10687:1: ( '}' ) { - // InternalRosSystem.g:9557:1: ( '}' ) - // InternalRosSystem.g:9558:2: '}' + // InternalRosSystem.g:10687:1: ( '}' ) + // InternalRosSystem.g:10688:2: '}' { before(grammarAccess.getParameterAnyAccess().getRightCurlyBracketKeyword_4()); match(input,26,FOLLOW_2); @@ -28768,14 +32213,14 @@ public final void rule__ParameterAny__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group_3__0" - // InternalRosSystem.g:9568:1: rule__ParameterAny__Group_3__0 : rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ; + // InternalRosSystem.g:10698:1: rule__ParameterAny__Group_3__0 : rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ; public final void rule__ParameterAny__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9572:1: ( rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ) - // InternalRosSystem.g:9573:2: rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 + // InternalRosSystem.g:10702:1: ( rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ) + // InternalRosSystem.g:10703:2: rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 { pushFollow(FOLLOW_6); rule__ParameterAny__Group_3__0__Impl(); @@ -28806,20 +32251,20 @@ public final void rule__ParameterAny__Group_3__0() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group_3__0__Impl" - // InternalRosSystem.g:9580:1: rule__ParameterAny__Group_3__0__Impl : ( 'value' ) ; + // InternalRosSystem.g:10710:1: rule__ParameterAny__Group_3__0__Impl : ( 'value' ) ; public final void rule__ParameterAny__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9584:1: ( ( 'value' ) ) - // InternalRosSystem.g:9585:1: ( 'value' ) + // InternalRosSystem.g:10714:1: ( ( 'value' ) ) + // InternalRosSystem.g:10715:1: ( 'value' ) { - // InternalRosSystem.g:9585:1: ( 'value' ) - // InternalRosSystem.g:9586:2: 'value' + // InternalRosSystem.g:10715:1: ( 'value' ) + // InternalRosSystem.g:10716:2: 'value' { before(grammarAccess.getParameterAnyAccess().getValueKeyword_3_0()); - match(input,64,FOLLOW_2); + match(input,46,FOLLOW_2); after(grammarAccess.getParameterAnyAccess().getValueKeyword_3_0()); } @@ -28843,14 +32288,14 @@ public final void rule__ParameterAny__Group_3__0__Impl() throws RecognitionExcep // $ANTLR start "rule__ParameterAny__Group_3__1" - // InternalRosSystem.g:9595:1: rule__ParameterAny__Group_3__1 : rule__ParameterAny__Group_3__1__Impl ; + // InternalRosSystem.g:10725:1: rule__ParameterAny__Group_3__1 : rule__ParameterAny__Group_3__1__Impl ; public final void rule__ParameterAny__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9599:1: ( rule__ParameterAny__Group_3__1__Impl ) - // InternalRosSystem.g:9600:2: rule__ParameterAny__Group_3__1__Impl + // InternalRosSystem.g:10729:1: ( rule__ParameterAny__Group_3__1__Impl ) + // InternalRosSystem.g:10730:2: rule__ParameterAny__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__ParameterAny__Group_3__1__Impl(); @@ -28876,21 +32321,21 @@ public final void rule__ParameterAny__Group_3__1() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group_3__1__Impl" - // InternalRosSystem.g:9606:1: rule__ParameterAny__Group_3__1__Impl : ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ; + // InternalRosSystem.g:10736:1: rule__ParameterAny__Group_3__1__Impl : ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ; public final void rule__ParameterAny__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9610:1: ( ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ) - // InternalRosSystem.g:9611:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) + // InternalRosSystem.g:10740:1: ( ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ) + // InternalRosSystem.g:10741:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) { - // InternalRosSystem.g:9611:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) - // InternalRosSystem.g:9612:2: ( rule__ParameterAny__ValueAssignment_3_1 ) + // InternalRosSystem.g:10741:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) + // InternalRosSystem.g:10742:2: ( rule__ParameterAny__ValueAssignment_3_1 ) { before(grammarAccess.getParameterAnyAccess().getValueAssignment_3_1()); - // InternalRosSystem.g:9613:2: ( rule__ParameterAny__ValueAssignment_3_1 ) - // InternalRosSystem.g:9613:3: rule__ParameterAny__ValueAssignment_3_1 + // InternalRosSystem.g:10743:2: ( rule__ParameterAny__ValueAssignment_3_1 ) + // InternalRosSystem.g:10743:3: rule__ParameterAny__ValueAssignment_3_1 { pushFollow(FOLLOW_2); rule__ParameterAny__ValueAssignment_3_1(); @@ -28923,16 +32368,16 @@ public final void rule__ParameterAny__Group_3__1__Impl() throws RecognitionExcep // $ANTLR start "rule__ParameterStruct__Group__0" - // InternalRosSystem.g:9622:1: rule__ParameterStruct__Group__0 : rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ; + // InternalRosSystem.g:10752:1: rule__ParameterStruct__Group__0 : rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ; public final void rule__ParameterStruct__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9626:1: ( rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ) - // InternalRosSystem.g:9627:2: rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 + // InternalRosSystem.g:10756:1: ( rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ) + // InternalRosSystem.g:10757:2: rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 { - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_33); rule__ParameterStruct__Group__0__Impl(); state._fsp--; @@ -28961,21 +32406,21 @@ public final void rule__ParameterStruct__Group__0() throws RecognitionException // $ANTLR start "rule__ParameterStruct__Group__0__Impl" - // InternalRosSystem.g:9634:1: rule__ParameterStruct__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:10764:1: rule__ParameterStruct__Group__0__Impl : ( () ) ; public final void rule__ParameterStruct__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9638:1: ( ( () ) ) - // InternalRosSystem.g:9639:1: ( () ) + // InternalRosSystem.g:10768:1: ( ( () ) ) + // InternalRosSystem.g:10769:1: ( () ) { - // InternalRosSystem.g:9639:1: ( () ) - // InternalRosSystem.g:9640:2: () + // InternalRosSystem.g:10769:1: ( () ) + // InternalRosSystem.g:10770:2: () { before(grammarAccess.getParameterStructAccess().getParameterStructAction_0()); - // InternalRosSystem.g:9641:2: () - // InternalRosSystem.g:9641:3: + // InternalRosSystem.g:10771:2: () + // InternalRosSystem.g:10771:3: { } @@ -28998,14 +32443,14 @@ public final void rule__ParameterStruct__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterStruct__Group__1" - // InternalRosSystem.g:9649:1: rule__ParameterStruct__Group__1 : rule__ParameterStruct__Group__1__Impl ; + // InternalRosSystem.g:10779:1: rule__ParameterStruct__Group__1 : rule__ParameterStruct__Group__1__Impl ; public final void rule__ParameterStruct__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9653:1: ( rule__ParameterStruct__Group__1__Impl ) - // InternalRosSystem.g:9654:2: rule__ParameterStruct__Group__1__Impl + // InternalRosSystem.g:10783:1: ( rule__ParameterStruct__Group__1__Impl ) + // InternalRosSystem.g:10784:2: rule__ParameterStruct__Group__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group__1__Impl(); @@ -29031,29 +32476,29 @@ public final void rule__ParameterStruct__Group__1() throws RecognitionException // $ANTLR start "rule__ParameterStruct__Group__1__Impl" - // InternalRosSystem.g:9660:1: rule__ParameterStruct__Group__1__Impl : ( ( rule__ParameterStruct__Group_1__0 )? ) ; + // InternalRosSystem.g:10790:1: rule__ParameterStruct__Group__1__Impl : ( ( rule__ParameterStruct__Group_1__0 )? ) ; public final void rule__ParameterStruct__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9664:1: ( ( ( rule__ParameterStruct__Group_1__0 )? ) ) - // InternalRosSystem.g:9665:1: ( ( rule__ParameterStruct__Group_1__0 )? ) + // InternalRosSystem.g:10794:1: ( ( ( rule__ParameterStruct__Group_1__0 )? ) ) + // InternalRosSystem.g:10795:1: ( ( rule__ParameterStruct__Group_1__0 )? ) { - // InternalRosSystem.g:9665:1: ( ( rule__ParameterStruct__Group_1__0 )? ) - // InternalRosSystem.g:9666:2: ( rule__ParameterStruct__Group_1__0 )? + // InternalRosSystem.g:10795:1: ( ( rule__ParameterStruct__Group_1__0 )? ) + // InternalRosSystem.g:10796:2: ( rule__ParameterStruct__Group_1__0 )? { before(grammarAccess.getParameterStructAccess().getGroup_1()); - // InternalRosSystem.g:9667:2: ( rule__ParameterStruct__Group_1__0 )? - int alt67=2; - int LA67_0 = input.LA(1); + // InternalRosSystem.g:10797:2: ( rule__ParameterStruct__Group_1__0 )? + int alt78=2; + int LA78_0 = input.LA(1); - if ( (LA67_0==24) ) { - alt67=1; + if ( (LA78_0==24) ) { + alt78=1; } - switch (alt67) { + switch (alt78) { case 1 : - // InternalRosSystem.g:9667:3: rule__ParameterStruct__Group_1__0 + // InternalRosSystem.g:10797:3: rule__ParameterStruct__Group_1__0 { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1__0(); @@ -29089,14 +32534,14 @@ public final void rule__ParameterStruct__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterStruct__Group_1__0" - // InternalRosSystem.g:9676:1: rule__ParameterStruct__Group_1__0 : rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ; + // InternalRosSystem.g:10806:1: rule__ParameterStruct__Group_1__0 : rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ; public final void rule__ParameterStruct__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9680:1: ( rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ) - // InternalRosSystem.g:9681:2: rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 + // InternalRosSystem.g:10810:1: ( rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ) + // InternalRosSystem.g:10811:2: rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 { pushFollow(FOLLOW_6); rule__ParameterStruct__Group_1__0__Impl(); @@ -29127,17 +32572,17 @@ public final void rule__ParameterStruct__Group_1__0() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__0__Impl" - // InternalRosSystem.g:9688:1: rule__ParameterStruct__Group_1__0__Impl : ( '{' ) ; + // InternalRosSystem.g:10818:1: rule__ParameterStruct__Group_1__0__Impl : ( '{' ) ; public final void rule__ParameterStruct__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9692:1: ( ( '{' ) ) - // InternalRosSystem.g:9693:1: ( '{' ) + // InternalRosSystem.g:10822:1: ( ( '{' ) ) + // InternalRosSystem.g:10823:1: ( '{' ) { - // InternalRosSystem.g:9693:1: ( '{' ) - // InternalRosSystem.g:9694:2: '{' + // InternalRosSystem.g:10823:1: ( '{' ) + // InternalRosSystem.g:10824:2: '{' { before(grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_0()); match(input,24,FOLLOW_2); @@ -29164,16 +32609,16 @@ public final void rule__ParameterStruct__Group_1__0__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__1" - // InternalRosSystem.g:9703:1: rule__ParameterStruct__Group_1__1 : rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ; + // InternalRosSystem.g:10833:1: rule__ParameterStruct__Group_1__1 : rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ; public final void rule__ParameterStruct__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9707:1: ( rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ) - // InternalRosSystem.g:9708:2: rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 + // InternalRosSystem.g:10837:1: ( rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ) + // InternalRosSystem.g:10838:2: rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterStruct__Group_1__1__Impl(); state._fsp--; @@ -29202,21 +32647,21 @@ public final void rule__ParameterStruct__Group_1__1() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__1__Impl" - // InternalRosSystem.g:9715:1: rule__ParameterStruct__Group_1__1__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ; + // InternalRosSystem.g:10845:1: rule__ParameterStruct__Group_1__1__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ; public final void rule__ParameterStruct__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9719:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ) - // InternalRosSystem.g:9720:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) + // InternalRosSystem.g:10849:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ) + // InternalRosSystem.g:10850:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) { - // InternalRosSystem.g:9720:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) - // InternalRosSystem.g:9721:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) + // InternalRosSystem.g:10850:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) + // InternalRosSystem.g:10851:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) { before(grammarAccess.getParameterStructAccess().getValueAssignment_1_1()); - // InternalRosSystem.g:9722:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) - // InternalRosSystem.g:9722:3: rule__ParameterStruct__ValueAssignment_1_1 + // InternalRosSystem.g:10852:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) + // InternalRosSystem.g:10852:3: rule__ParameterStruct__ValueAssignment_1_1 { pushFollow(FOLLOW_2); rule__ParameterStruct__ValueAssignment_1_1(); @@ -29249,16 +32694,16 @@ public final void rule__ParameterStruct__Group_1__1__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__2" - // InternalRosSystem.g:9730:1: rule__ParameterStruct__Group_1__2 : rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ; + // InternalRosSystem.g:10860:1: rule__ParameterStruct__Group_1__2 : rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ; public final void rule__ParameterStruct__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9734:1: ( rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ) - // InternalRosSystem.g:9735:2: rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 + // InternalRosSystem.g:10864:1: ( rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ) + // InternalRosSystem.g:10865:2: rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__ParameterStruct__Group_1__2__Impl(); state._fsp--; @@ -29287,33 +32732,33 @@ public final void rule__ParameterStruct__Group_1__2() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__2__Impl" - // InternalRosSystem.g:9742:1: rule__ParameterStruct__Group_1__2__Impl : ( ( rule__ParameterStruct__Group_1_2__0 )* ) ; + // InternalRosSystem.g:10872:1: rule__ParameterStruct__Group_1__2__Impl : ( ( rule__ParameterStruct__Group_1_2__0 )* ) ; public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9746:1: ( ( ( rule__ParameterStruct__Group_1_2__0 )* ) ) - // InternalRosSystem.g:9747:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) + // InternalRosSystem.g:10876:1: ( ( ( rule__ParameterStruct__Group_1_2__0 )* ) ) + // InternalRosSystem.g:10877:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) { - // InternalRosSystem.g:9747:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) - // InternalRosSystem.g:9748:2: ( rule__ParameterStruct__Group_1_2__0 )* + // InternalRosSystem.g:10877:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) + // InternalRosSystem.g:10878:2: ( rule__ParameterStruct__Group_1_2__0 )* { before(grammarAccess.getParameterStructAccess().getGroup_1_2()); - // InternalRosSystem.g:9749:2: ( rule__ParameterStruct__Group_1_2__0 )* - loop68: + // InternalRosSystem.g:10879:2: ( rule__ParameterStruct__Group_1_2__0 )* + loop79: do { - int alt68=2; - int LA68_0 = input.LA(1); + int alt79=2; + int LA79_0 = input.LA(1); - if ( (LA68_0==30) ) { - alt68=1; + if ( (LA79_0==30) ) { + alt79=1; } - switch (alt68) { + switch (alt79) { case 1 : - // InternalRosSystem.g:9749:3: rule__ParameterStruct__Group_1_2__0 + // InternalRosSystem.g:10879:3: rule__ParameterStruct__Group_1_2__0 { pushFollow(FOLLOW_11); rule__ParameterStruct__Group_1_2__0(); @@ -29325,7 +32770,7 @@ public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionEx break; default : - break loop68; + break loop79; } } while (true); @@ -29352,14 +32797,14 @@ public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__3" - // InternalRosSystem.g:9757:1: rule__ParameterStruct__Group_1__3 : rule__ParameterStruct__Group_1__3__Impl ; + // InternalRosSystem.g:10887:1: rule__ParameterStruct__Group_1__3 : rule__ParameterStruct__Group_1__3__Impl ; public final void rule__ParameterStruct__Group_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9761:1: ( rule__ParameterStruct__Group_1__3__Impl ) - // InternalRosSystem.g:9762:2: rule__ParameterStruct__Group_1__3__Impl + // InternalRosSystem.g:10891:1: ( rule__ParameterStruct__Group_1__3__Impl ) + // InternalRosSystem.g:10892:2: rule__ParameterStruct__Group_1__3__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1__3__Impl(); @@ -29385,17 +32830,17 @@ public final void rule__ParameterStruct__Group_1__3() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__3__Impl" - // InternalRosSystem.g:9768:1: rule__ParameterStruct__Group_1__3__Impl : ( '}' ) ; + // InternalRosSystem.g:10898:1: rule__ParameterStruct__Group_1__3__Impl : ( '}' ) ; public final void rule__ParameterStruct__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9772:1: ( ( '}' ) ) - // InternalRosSystem.g:9773:1: ( '}' ) + // InternalRosSystem.g:10902:1: ( ( '}' ) ) + // InternalRosSystem.g:10903:1: ( '}' ) { - // InternalRosSystem.g:9773:1: ( '}' ) - // InternalRosSystem.g:9774:2: '}' + // InternalRosSystem.g:10903:1: ( '}' ) + // InternalRosSystem.g:10904:2: '}' { before(grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_3()); match(input,26,FOLLOW_2); @@ -29422,14 +32867,14 @@ public final void rule__ParameterStruct__Group_1__3__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1_2__0" - // InternalRosSystem.g:9784:1: rule__ParameterStruct__Group_1_2__0 : rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ; + // InternalRosSystem.g:10914:1: rule__ParameterStruct__Group_1_2__0 : rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ; public final void rule__ParameterStruct__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9788:1: ( rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ) - // InternalRosSystem.g:9789:2: rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 + // InternalRosSystem.g:10918:1: ( rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ) + // InternalRosSystem.g:10919:2: rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 { pushFollow(FOLLOW_4); rule__ParameterStruct__Group_1_2__0__Impl(); @@ -29460,17 +32905,17 @@ public final void rule__ParameterStruct__Group_1_2__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__0__Impl" - // InternalRosSystem.g:9796:1: rule__ParameterStruct__Group_1_2__0__Impl : ( ',' ) ; + // InternalRosSystem.g:10926:1: rule__ParameterStruct__Group_1_2__0__Impl : ( ',' ) ; public final void rule__ParameterStruct__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9800:1: ( ( ',' ) ) - // InternalRosSystem.g:9801:1: ( ',' ) + // InternalRosSystem.g:10930:1: ( ( ',' ) ) + // InternalRosSystem.g:10931:1: ( ',' ) { - // InternalRosSystem.g:9801:1: ( ',' ) - // InternalRosSystem.g:9802:2: ',' + // InternalRosSystem.g:10931:1: ( ',' ) + // InternalRosSystem.g:10932:2: ',' { before(grammarAccess.getParameterStructAccess().getCommaKeyword_1_2_0()); match(input,30,FOLLOW_2); @@ -29497,14 +32942,14 @@ public final void rule__ParameterStruct__Group_1_2__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__1" - // InternalRosSystem.g:9811:1: rule__ParameterStruct__Group_1_2__1 : rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ; + // InternalRosSystem.g:10941:1: rule__ParameterStruct__Group_1_2__1 : rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ; public final void rule__ParameterStruct__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9815:1: ( rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ) - // InternalRosSystem.g:9816:2: rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 + // InternalRosSystem.g:10945:1: ( rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ) + // InternalRosSystem.g:10946:2: rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 { pushFollow(FOLLOW_6); rule__ParameterStruct__Group_1_2__1__Impl(); @@ -29535,17 +32980,17 @@ public final void rule__ParameterStruct__Group_1_2__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__1__Impl" - // InternalRosSystem.g:9823:1: rule__ParameterStruct__Group_1_2__1__Impl : ( '{' ) ; + // InternalRosSystem.g:10953:1: rule__ParameterStruct__Group_1_2__1__Impl : ( '{' ) ; public final void rule__ParameterStruct__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9827:1: ( ( '{' ) ) - // InternalRosSystem.g:9828:1: ( '{' ) + // InternalRosSystem.g:10957:1: ( ( '{' ) ) + // InternalRosSystem.g:10958:1: ( '{' ) { - // InternalRosSystem.g:9828:1: ( '{' ) - // InternalRosSystem.g:9829:2: '{' + // InternalRosSystem.g:10958:1: ( '{' ) + // InternalRosSystem.g:10959:2: '{' { before(grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_2_1()); match(input,24,FOLLOW_2); @@ -29572,16 +33017,16 @@ public final void rule__ParameterStruct__Group_1_2__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__2" - // InternalRosSystem.g:9838:1: rule__ParameterStruct__Group_1_2__2 : rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ; + // InternalRosSystem.g:10968:1: rule__ParameterStruct__Group_1_2__2 : rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ; public final void rule__ParameterStruct__Group_1_2__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9842:1: ( rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ) - // InternalRosSystem.g:9843:2: rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 + // InternalRosSystem.g:10972:1: ( rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ) + // InternalRosSystem.g:10973:2: rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__ParameterStruct__Group_1_2__2__Impl(); state._fsp--; @@ -29610,21 +33055,21 @@ public final void rule__ParameterStruct__Group_1_2__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__2__Impl" - // InternalRosSystem.g:9850:1: rule__ParameterStruct__Group_1_2__2__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ; + // InternalRosSystem.g:10980:1: rule__ParameterStruct__Group_1_2__2__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ; public final void rule__ParameterStruct__Group_1_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9854:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ) - // InternalRosSystem.g:9855:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) + // InternalRosSystem.g:10984:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ) + // InternalRosSystem.g:10985:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) { - // InternalRosSystem.g:9855:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) - // InternalRosSystem.g:9856:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) + // InternalRosSystem.g:10985:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) + // InternalRosSystem.g:10986:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) { before(grammarAccess.getParameterStructAccess().getValueAssignment_1_2_2()); - // InternalRosSystem.g:9857:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) - // InternalRosSystem.g:9857:3: rule__ParameterStruct__ValueAssignment_1_2_2 + // InternalRosSystem.g:10987:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) + // InternalRosSystem.g:10987:3: rule__ParameterStruct__ValueAssignment_1_2_2 { pushFollow(FOLLOW_2); rule__ParameterStruct__ValueAssignment_1_2_2(); @@ -29657,14 +33102,14 @@ public final void rule__ParameterStruct__Group_1_2__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__3" - // InternalRosSystem.g:9865:1: rule__ParameterStruct__Group_1_2__3 : rule__ParameterStruct__Group_1_2__3__Impl ; + // InternalRosSystem.g:10995:1: rule__ParameterStruct__Group_1_2__3 : rule__ParameterStruct__Group_1_2__3__Impl ; public final void rule__ParameterStruct__Group_1_2__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9869:1: ( rule__ParameterStruct__Group_1_2__3__Impl ) - // InternalRosSystem.g:9870:2: rule__ParameterStruct__Group_1_2__3__Impl + // InternalRosSystem.g:10999:1: ( rule__ParameterStruct__Group_1_2__3__Impl ) + // InternalRosSystem.g:11000:2: rule__ParameterStruct__Group_1_2__3__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1_2__3__Impl(); @@ -29690,17 +33135,17 @@ public final void rule__ParameterStruct__Group_1_2__3() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__3__Impl" - // InternalRosSystem.g:9876:1: rule__ParameterStruct__Group_1_2__3__Impl : ( '}' ) ; + // InternalRosSystem.g:11006:1: rule__ParameterStruct__Group_1_2__3__Impl : ( '}' ) ; public final void rule__ParameterStruct__Group_1_2__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9880:1: ( ( '}' ) ) - // InternalRosSystem.g:9881:1: ( '}' ) + // InternalRosSystem.g:11010:1: ( ( '}' ) ) + // InternalRosSystem.g:11011:1: ( '}' ) { - // InternalRosSystem.g:9881:1: ( '}' ) - // InternalRosSystem.g:9882:2: '}' + // InternalRosSystem.g:11011:1: ( '}' ) + // InternalRosSystem.g:11012:2: '}' { before(grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_2_3()); match(input,26,FOLLOW_2); @@ -29727,14 +33172,14 @@ public final void rule__ParameterStruct__Group_1_2__3__Impl() throws Recognition // $ANTLR start "rule__ParameterStructMember__Group__0" - // InternalRosSystem.g:9892:1: rule__ParameterStructMember__Group__0 : rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ; + // InternalRosSystem.g:11022:1: rule__ParameterStructMember__Group__0 : rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ; public final void rule__ParameterStructMember__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9896:1: ( rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ) - // InternalRosSystem.g:9897:2: rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 + // InternalRosSystem.g:11026:1: ( rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ) + // InternalRosSystem.g:11027:2: rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 { pushFollow(FOLLOW_4); rule__ParameterStructMember__Group__0__Impl(); @@ -29765,21 +33210,21 @@ public final void rule__ParameterStructMember__Group__0() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__0__Impl" - // InternalRosSystem.g:9904:1: rule__ParameterStructMember__Group__0__Impl : ( ( rule__ParameterStructMember__NameAssignment_0 ) ) ; + // InternalRosSystem.g:11034:1: rule__ParameterStructMember__Group__0__Impl : ( ( rule__ParameterStructMember__NameAssignment_0 ) ) ; public final void rule__ParameterStructMember__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9908:1: ( ( ( rule__ParameterStructMember__NameAssignment_0 ) ) ) - // InternalRosSystem.g:9909:1: ( ( rule__ParameterStructMember__NameAssignment_0 ) ) + // InternalRosSystem.g:11038:1: ( ( ( rule__ParameterStructMember__NameAssignment_0 ) ) ) + // InternalRosSystem.g:11039:1: ( ( rule__ParameterStructMember__NameAssignment_0 ) ) { - // InternalRosSystem.g:9909:1: ( ( rule__ParameterStructMember__NameAssignment_0 ) ) - // InternalRosSystem.g:9910:2: ( rule__ParameterStructMember__NameAssignment_0 ) + // InternalRosSystem.g:11039:1: ( ( rule__ParameterStructMember__NameAssignment_0 ) ) + // InternalRosSystem.g:11040:2: ( rule__ParameterStructMember__NameAssignment_0 ) { before(grammarAccess.getParameterStructMemberAccess().getNameAssignment_0()); - // InternalRosSystem.g:9911:2: ( rule__ParameterStructMember__NameAssignment_0 ) - // InternalRosSystem.g:9911:3: rule__ParameterStructMember__NameAssignment_0 + // InternalRosSystem.g:11041:2: ( rule__ParameterStructMember__NameAssignment_0 ) + // InternalRosSystem.g:11041:3: rule__ParameterStructMember__NameAssignment_0 { pushFollow(FOLLOW_2); rule__ParameterStructMember__NameAssignment_0(); @@ -29812,16 +33257,16 @@ public final void rule__ParameterStructMember__Group__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__1" - // InternalRosSystem.g:9919:1: rule__ParameterStructMember__Group__1 : rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ; + // InternalRosSystem.g:11049:1: rule__ParameterStructMember__Group__1 : rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ; public final void rule__ParameterStructMember__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9923:1: ( rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ) - // InternalRosSystem.g:9924:2: rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 + // InternalRosSystem.g:11053:1: ( rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ) + // InternalRosSystem.g:11054:2: rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 { - pushFollow(FOLLOW_61); + pushFollow(FOLLOW_67); rule__ParameterStructMember__Group__1__Impl(); state._fsp--; @@ -29850,17 +33295,17 @@ public final void rule__ParameterStructMember__Group__1() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__1__Impl" - // InternalRosSystem.g:9931:1: rule__ParameterStructMember__Group__1__Impl : ( '{' ) ; + // InternalRosSystem.g:11061:1: rule__ParameterStructMember__Group__1__Impl : ( '{' ) ; public final void rule__ParameterStructMember__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9935:1: ( ( '{' ) ) - // InternalRosSystem.g:9936:1: ( '{' ) + // InternalRosSystem.g:11065:1: ( ( '{' ) ) + // InternalRosSystem.g:11066:1: ( '{' ) { - // InternalRosSystem.g:9936:1: ( '{' ) - // InternalRosSystem.g:9937:2: '{' + // InternalRosSystem.g:11066:1: ( '{' ) + // InternalRosSystem.g:11067:2: '{' { before(grammarAccess.getParameterStructMemberAccess().getLeftCurlyBracketKeyword_1()); match(input,24,FOLLOW_2); @@ -29887,16 +33332,16 @@ public final void rule__ParameterStructMember__Group__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__2" - // InternalRosSystem.g:9946:1: rule__ParameterStructMember__Group__2 : rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ; + // InternalRosSystem.g:11076:1: rule__ParameterStructMember__Group__2 : rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ; public final void rule__ParameterStructMember__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9950:1: ( rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ) - // InternalRosSystem.g:9951:2: rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 + // InternalRosSystem.g:11080:1: ( rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ) + // InternalRosSystem.g:11081:2: rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 { - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_33); rule__ParameterStructMember__Group__2__Impl(); state._fsp--; @@ -29925,20 +33370,20 @@ public final void rule__ParameterStructMember__Group__2() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__2__Impl" - // InternalRosSystem.g:9958:1: rule__ParameterStructMember__Group__2__Impl : ( 'value' ) ; + // InternalRosSystem.g:11088:1: rule__ParameterStructMember__Group__2__Impl : ( 'value' ) ; public final void rule__ParameterStructMember__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9962:1: ( ( 'value' ) ) - // InternalRosSystem.g:9963:1: ( 'value' ) + // InternalRosSystem.g:11092:1: ( ( 'value' ) ) + // InternalRosSystem.g:11093:1: ( 'value' ) { - // InternalRosSystem.g:9963:1: ( 'value' ) - // InternalRosSystem.g:9964:2: 'value' + // InternalRosSystem.g:11093:1: ( 'value' ) + // InternalRosSystem.g:11094:2: 'value' { before(grammarAccess.getParameterStructMemberAccess().getValueKeyword_2()); - match(input,64,FOLLOW_2); + match(input,46,FOLLOW_2); after(grammarAccess.getParameterStructMemberAccess().getValueKeyword_2()); } @@ -29962,16 +33407,16 @@ public final void rule__ParameterStructMember__Group__2__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__3" - // InternalRosSystem.g:9973:1: rule__ParameterStructMember__Group__3 : rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ; + // InternalRosSystem.g:11103:1: rule__ParameterStructMember__Group__3 : rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ; public final void rule__ParameterStructMember__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9977:1: ( rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ) - // InternalRosSystem.g:9978:2: rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 + // InternalRosSystem.g:11107:1: ( rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ) + // InternalRosSystem.g:11108:2: rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__ParameterStructMember__Group__3__Impl(); state._fsp--; @@ -30000,21 +33445,21 @@ public final void rule__ParameterStructMember__Group__3() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__3__Impl" - // InternalRosSystem.g:9985:1: rule__ParameterStructMember__Group__3__Impl : ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) ; + // InternalRosSystem.g:11115:1: rule__ParameterStructMember__Group__3__Impl : ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) ; public final void rule__ParameterStructMember__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:9989:1: ( ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) ) - // InternalRosSystem.g:9990:1: ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) + // InternalRosSystem.g:11119:1: ( ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) ) + // InternalRosSystem.g:11120:1: ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) { - // InternalRosSystem.g:9990:1: ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) - // InternalRosSystem.g:9991:2: ( rule__ParameterStructMember__ValueAssignment_3 ) + // InternalRosSystem.g:11120:1: ( ( rule__ParameterStructMember__ValueAssignment_3 ) ) + // InternalRosSystem.g:11121:2: ( rule__ParameterStructMember__ValueAssignment_3 ) { before(grammarAccess.getParameterStructMemberAccess().getValueAssignment_3()); - // InternalRosSystem.g:9992:2: ( rule__ParameterStructMember__ValueAssignment_3 ) - // InternalRosSystem.g:9992:3: rule__ParameterStructMember__ValueAssignment_3 + // InternalRosSystem.g:11122:2: ( rule__ParameterStructMember__ValueAssignment_3 ) + // InternalRosSystem.g:11122:3: rule__ParameterStructMember__ValueAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterStructMember__ValueAssignment_3(); @@ -30047,14 +33492,14 @@ public final void rule__ParameterStructMember__Group__3__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__4" - // InternalRosSystem.g:10000:1: rule__ParameterStructMember__Group__4 : rule__ParameterStructMember__Group__4__Impl ; + // InternalRosSystem.g:11130:1: rule__ParameterStructMember__Group__4 : rule__ParameterStructMember__Group__4__Impl ; public final void rule__ParameterStructMember__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10004:1: ( rule__ParameterStructMember__Group__4__Impl ) - // InternalRosSystem.g:10005:2: rule__ParameterStructMember__Group__4__Impl + // InternalRosSystem.g:11134:1: ( rule__ParameterStructMember__Group__4__Impl ) + // InternalRosSystem.g:11135:2: rule__ParameterStructMember__Group__4__Impl { pushFollow(FOLLOW_2); rule__ParameterStructMember__Group__4__Impl(); @@ -30080,17 +33525,17 @@ public final void rule__ParameterStructMember__Group__4() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__4__Impl" - // InternalRosSystem.g:10011:1: rule__ParameterStructMember__Group__4__Impl : ( '}' ) ; + // InternalRosSystem.g:11141:1: rule__ParameterStructMember__Group__4__Impl : ( '}' ) ; public final void rule__ParameterStructMember__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10015:1: ( ( '}' ) ) - // InternalRosSystem.g:10016:1: ( '}' ) + // InternalRosSystem.g:11145:1: ( ( '}' ) ) + // InternalRosSystem.g:11146:1: ( '}' ) { - // InternalRosSystem.g:10016:1: ( '}' ) - // InternalRosSystem.g:10017:2: '}' + // InternalRosSystem.g:11146:1: ( '}' ) + // InternalRosSystem.g:11147:2: '}' { before(grammarAccess.getParameterStructMemberAccess().getRightCurlyBracketKeyword_4()); match(input,26,FOLLOW_2); @@ -30117,16 +33562,16 @@ public final void rule__ParameterStructMember__Group__4__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructTypeMember__Group__0" - // InternalRosSystem.g:10027:1: rule__ParameterStructTypeMember__Group__0 : rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ; + // InternalRosSystem.g:11157:1: rule__ParameterStructTypeMember__Group__0 : rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ; public final void rule__ParameterStructTypeMember__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10031:1: ( rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ) - // InternalRosSystem.g:10032:2: rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 + // InternalRosSystem.g:11161:1: ( rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ) + // InternalRosSystem.g:11162:2: rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 { - pushFollow(FOLLOW_45); + pushFollow(FOLLOW_32); rule__ParameterStructTypeMember__Group__0__Impl(); state._fsp--; @@ -30155,21 +33600,21 @@ public final void rule__ParameterStructTypeMember__Group__0() throws Recognition // $ANTLR start "rule__ParameterStructTypeMember__Group__0__Impl" - // InternalRosSystem.g:10039:1: rule__ParameterStructTypeMember__Group__0__Impl : ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ; + // InternalRosSystem.g:11169:1: rule__ParameterStructTypeMember__Group__0__Impl : ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ; public final void rule__ParameterStructTypeMember__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10043:1: ( ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ) - // InternalRosSystem.g:10044:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) + // InternalRosSystem.g:11173:1: ( ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ) + // InternalRosSystem.g:11174:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) { - // InternalRosSystem.g:10044:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) - // InternalRosSystem.g:10045:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) + // InternalRosSystem.g:11174:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) + // InternalRosSystem.g:11175:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getNameAssignment_0()); - // InternalRosSystem.g:10046:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) - // InternalRosSystem.g:10046:3: rule__ParameterStructTypeMember__NameAssignment_0 + // InternalRosSystem.g:11176:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) + // InternalRosSystem.g:11176:3: rule__ParameterStructTypeMember__NameAssignment_0 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__NameAssignment_0(); @@ -30202,14 +33647,14 @@ public final void rule__ParameterStructTypeMember__Group__0__Impl() throws Recog // $ANTLR start "rule__ParameterStructTypeMember__Group__1" - // InternalRosSystem.g:10054:1: rule__ParameterStructTypeMember__Group__1 : rule__ParameterStructTypeMember__Group__1__Impl ; + // InternalRosSystem.g:11184:1: rule__ParameterStructTypeMember__Group__1 : rule__ParameterStructTypeMember__Group__1__Impl ; public final void rule__ParameterStructTypeMember__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10058:1: ( rule__ParameterStructTypeMember__Group__1__Impl ) - // InternalRosSystem.g:10059:2: rule__ParameterStructTypeMember__Group__1__Impl + // InternalRosSystem.g:11188:1: ( rule__ParameterStructTypeMember__Group__1__Impl ) + // InternalRosSystem.g:11189:2: rule__ParameterStructTypeMember__Group__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__Group__1__Impl(); @@ -30235,21 +33680,21 @@ public final void rule__ParameterStructTypeMember__Group__1() throws Recognition // $ANTLR start "rule__ParameterStructTypeMember__Group__1__Impl" - // InternalRosSystem.g:10065:1: rule__ParameterStructTypeMember__Group__1__Impl : ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ; + // InternalRosSystem.g:11195:1: rule__ParameterStructTypeMember__Group__1__Impl : ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ; public final void rule__ParameterStructTypeMember__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10069:1: ( ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ) - // InternalRosSystem.g:10070:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) + // InternalRosSystem.g:11199:1: ( ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ) + // InternalRosSystem.g:11200:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) { - // InternalRosSystem.g:10070:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) - // InternalRosSystem.g:10071:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) + // InternalRosSystem.g:11200:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) + // InternalRosSystem.g:11201:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getTypeAssignment_1()); - // InternalRosSystem.g:10072:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) - // InternalRosSystem.g:10072:3: rule__ParameterStructTypeMember__TypeAssignment_1 + // InternalRosSystem.g:11202:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) + // InternalRosSystem.g:11202:3: rule__ParameterStructTypeMember__TypeAssignment_1 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__TypeAssignment_1(); @@ -30282,16 +33727,16 @@ public final void rule__ParameterStructTypeMember__Group__1__Impl() throws Recog // $ANTLR start "rule__GlobalNamespace__Group__0" - // InternalRosSystem.g:10081:1: rule__GlobalNamespace__Group__0 : rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ; + // InternalRosSystem.g:11211:1: rule__GlobalNamespace__Group__0 : rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ; public final void rule__GlobalNamespace__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10085:1: ( rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ) - // InternalRosSystem.g:10086:2: rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 + // InternalRosSystem.g:11215:1: ( rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ) + // InternalRosSystem.g:11216:2: rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 { - pushFollow(FOLLOW_62); + pushFollow(FOLLOW_68); rule__GlobalNamespace__Group__0__Impl(); state._fsp--; @@ -30320,21 +33765,21 @@ public final void rule__GlobalNamespace__Group__0() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__0__Impl" - // InternalRosSystem.g:10093:1: rule__GlobalNamespace__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:11223:1: rule__GlobalNamespace__Group__0__Impl : ( () ) ; public final void rule__GlobalNamespace__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10097:1: ( ( () ) ) - // InternalRosSystem.g:10098:1: ( () ) + // InternalRosSystem.g:11227:1: ( ( () ) ) + // InternalRosSystem.g:11228:1: ( () ) { - // InternalRosSystem.g:10098:1: ( () ) - // InternalRosSystem.g:10099:2: () + // InternalRosSystem.g:11228:1: ( () ) + // InternalRosSystem.g:11229:2: () { before(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceAction_0()); - // InternalRosSystem.g:10100:2: () - // InternalRosSystem.g:10100:3: + // InternalRosSystem.g:11230:2: () + // InternalRosSystem.g:11230:3: { } @@ -30357,14 +33802,14 @@ public final void rule__GlobalNamespace__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__1" - // InternalRosSystem.g:10108:1: rule__GlobalNamespace__Group__1 : rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ; + // InternalRosSystem.g:11238:1: rule__GlobalNamespace__Group__1 : rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ; public final void rule__GlobalNamespace__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10112:1: ( rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ) - // InternalRosSystem.g:10113:2: rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 + // InternalRosSystem.g:11242:1: ( rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ) + // InternalRosSystem.g:11243:2: rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 { pushFollow(FOLLOW_4); rule__GlobalNamespace__Group__1__Impl(); @@ -30395,20 +33840,20 @@ public final void rule__GlobalNamespace__Group__1() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__1__Impl" - // InternalRosSystem.g:10120:1: rule__GlobalNamespace__Group__1__Impl : ( 'GlobalNamespace' ) ; + // InternalRosSystem.g:11250:1: rule__GlobalNamespace__Group__1__Impl : ( 'GlobalNamespace' ) ; public final void rule__GlobalNamespace__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10124:1: ( ( 'GlobalNamespace' ) ) - // InternalRosSystem.g:10125:1: ( 'GlobalNamespace' ) + // InternalRosSystem.g:11254:1: ( ( 'GlobalNamespace' ) ) + // InternalRosSystem.g:11255:1: ( 'GlobalNamespace' ) { - // InternalRosSystem.g:10125:1: ( 'GlobalNamespace' ) - // InternalRosSystem.g:10126:2: 'GlobalNamespace' + // InternalRosSystem.g:11255:1: ( 'GlobalNamespace' ) + // InternalRosSystem.g:11256:2: 'GlobalNamespace' { before(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceKeyword_1()); - match(input,77,FOLLOW_2); + match(input,81,FOLLOW_2); after(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceKeyword_1()); } @@ -30432,16 +33877,16 @@ public final void rule__GlobalNamespace__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__2" - // InternalRosSystem.g:10135:1: rule__GlobalNamespace__Group__2 : rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ; + // InternalRosSystem.g:11265:1: rule__GlobalNamespace__Group__2 : rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ; public final void rule__GlobalNamespace__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10139:1: ( rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ) - // InternalRosSystem.g:10140:2: rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 + // InternalRosSystem.g:11269:1: ( rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ) + // InternalRosSystem.g:11270:2: rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_69); rule__GlobalNamespace__Group__2__Impl(); state._fsp--; @@ -30470,17 +33915,17 @@ public final void rule__GlobalNamespace__Group__2() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__2__Impl" - // InternalRosSystem.g:10147:1: rule__GlobalNamespace__Group__2__Impl : ( '{' ) ; + // InternalRosSystem.g:11277:1: rule__GlobalNamespace__Group__2__Impl : ( '{' ) ; public final void rule__GlobalNamespace__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10151:1: ( ( '{' ) ) - // InternalRosSystem.g:10152:1: ( '{' ) + // InternalRosSystem.g:11281:1: ( ( '{' ) ) + // InternalRosSystem.g:11282:1: ( '{' ) { - // InternalRosSystem.g:10152:1: ( '{' ) - // InternalRosSystem.g:10153:2: '{' + // InternalRosSystem.g:11282:1: ( '{' ) + // InternalRosSystem.g:11283:2: '{' { before(grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_2()); match(input,24,FOLLOW_2); @@ -30507,16 +33952,16 @@ public final void rule__GlobalNamespace__Group__2__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__3" - // InternalRosSystem.g:10162:1: rule__GlobalNamespace__Group__3 : rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ; + // InternalRosSystem.g:11292:1: rule__GlobalNamespace__Group__3 : rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ; public final void rule__GlobalNamespace__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10166:1: ( rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ) - // InternalRosSystem.g:10167:2: rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 + // InternalRosSystem.g:11296:1: ( rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ) + // InternalRosSystem.g:11297:2: rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_69); rule__GlobalNamespace__Group__3__Impl(); state._fsp--; @@ -30545,29 +33990,29 @@ public final void rule__GlobalNamespace__Group__3() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__3__Impl" - // InternalRosSystem.g:10174:1: rule__GlobalNamespace__Group__3__Impl : ( ( rule__GlobalNamespace__Group_3__0 )? ) ; + // InternalRosSystem.g:11304:1: rule__GlobalNamespace__Group__3__Impl : ( ( rule__GlobalNamespace__Group_3__0 )? ) ; public final void rule__GlobalNamespace__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10178:1: ( ( ( rule__GlobalNamespace__Group_3__0 )? ) ) - // InternalRosSystem.g:10179:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) + // InternalRosSystem.g:11308:1: ( ( ( rule__GlobalNamespace__Group_3__0 )? ) ) + // InternalRosSystem.g:11309:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) { - // InternalRosSystem.g:10179:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) - // InternalRosSystem.g:10180:2: ( rule__GlobalNamespace__Group_3__0 )? + // InternalRosSystem.g:11309:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) + // InternalRosSystem.g:11310:2: ( rule__GlobalNamespace__Group_3__0 )? { before(grammarAccess.getGlobalNamespaceAccess().getGroup_3()); - // InternalRosSystem.g:10181:2: ( rule__GlobalNamespace__Group_3__0 )? - int alt69=2; - int LA69_0 = input.LA(1); + // InternalRosSystem.g:11311:2: ( rule__GlobalNamespace__Group_3__0 )? + int alt80=2; + int LA80_0 = input.LA(1); - if ( (LA69_0==78) ) { - alt69=1; + if ( (LA80_0==82) ) { + alt80=1; } - switch (alt69) { + switch (alt80) { case 1 : - // InternalRosSystem.g:10181:3: rule__GlobalNamespace__Group_3__0 + // InternalRosSystem.g:11311:3: rule__GlobalNamespace__Group_3__0 { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3__0(); @@ -30603,14 +34048,14 @@ public final void rule__GlobalNamespace__Group__3__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__4" - // InternalRosSystem.g:10189:1: rule__GlobalNamespace__Group__4 : rule__GlobalNamespace__Group__4__Impl ; + // InternalRosSystem.g:11319:1: rule__GlobalNamespace__Group__4 : rule__GlobalNamespace__Group__4__Impl ; public final void rule__GlobalNamespace__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10193:1: ( rule__GlobalNamespace__Group__4__Impl ) - // InternalRosSystem.g:10194:2: rule__GlobalNamespace__Group__4__Impl + // InternalRosSystem.g:11323:1: ( rule__GlobalNamespace__Group__4__Impl ) + // InternalRosSystem.g:11324:2: rule__GlobalNamespace__Group__4__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group__4__Impl(); @@ -30636,17 +34081,17 @@ public final void rule__GlobalNamespace__Group__4() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__4__Impl" - // InternalRosSystem.g:10200:1: rule__GlobalNamespace__Group__4__Impl : ( '}' ) ; + // InternalRosSystem.g:11330:1: rule__GlobalNamespace__Group__4__Impl : ( '}' ) ; public final void rule__GlobalNamespace__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10204:1: ( ( '}' ) ) - // InternalRosSystem.g:10205:1: ( '}' ) + // InternalRosSystem.g:11334:1: ( ( '}' ) ) + // InternalRosSystem.g:11335:1: ( '}' ) { - // InternalRosSystem.g:10205:1: ( '}' ) - // InternalRosSystem.g:10206:2: '}' + // InternalRosSystem.g:11335:1: ( '}' ) + // InternalRosSystem.g:11336:2: '}' { before(grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_4()); match(input,26,FOLLOW_2); @@ -30673,14 +34118,14 @@ public final void rule__GlobalNamespace__Group__4__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group_3__0" - // InternalRosSystem.g:10216:1: rule__GlobalNamespace__Group_3__0 : rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ; + // InternalRosSystem.g:11346:1: rule__GlobalNamespace__Group_3__0 : rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ; public final void rule__GlobalNamespace__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10220:1: ( rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ) - // InternalRosSystem.g:10221:2: rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 + // InternalRosSystem.g:11350:1: ( rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ) + // InternalRosSystem.g:11351:2: rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 { pushFollow(FOLLOW_4); rule__GlobalNamespace__Group_3__0__Impl(); @@ -30711,20 +34156,20 @@ public final void rule__GlobalNamespace__Group_3__0() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__0__Impl" - // InternalRosSystem.g:10228:1: rule__GlobalNamespace__Group_3__0__Impl : ( 'parts' ) ; + // InternalRosSystem.g:11358:1: rule__GlobalNamespace__Group_3__0__Impl : ( 'parts' ) ; public final void rule__GlobalNamespace__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10232:1: ( ( 'parts' ) ) - // InternalRosSystem.g:10233:1: ( 'parts' ) + // InternalRosSystem.g:11362:1: ( ( 'parts' ) ) + // InternalRosSystem.g:11363:1: ( 'parts' ) { - // InternalRosSystem.g:10233:1: ( 'parts' ) - // InternalRosSystem.g:10234:2: 'parts' + // InternalRosSystem.g:11363:1: ( 'parts' ) + // InternalRosSystem.g:11364:2: 'parts' { before(grammarAccess.getGlobalNamespaceAccess().getPartsKeyword_3_0()); - match(input,78,FOLLOW_2); + match(input,82,FOLLOW_2); after(grammarAccess.getGlobalNamespaceAccess().getPartsKeyword_3_0()); } @@ -30748,16 +34193,16 @@ public final void rule__GlobalNamespace__Group_3__0__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__1" - // InternalRosSystem.g:10243:1: rule__GlobalNamespace__Group_3__1 : rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ; + // InternalRosSystem.g:11373:1: rule__GlobalNamespace__Group_3__1 : rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ; public final void rule__GlobalNamespace__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10247:1: ( rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ) - // InternalRosSystem.g:10248:2: rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 + // InternalRosSystem.g:11377:1: ( rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ) + // InternalRosSystem.g:11378:2: rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 { - pushFollow(FOLLOW_64); + pushFollow(FOLLOW_70); rule__GlobalNamespace__Group_3__1__Impl(); state._fsp--; @@ -30786,17 +34231,17 @@ public final void rule__GlobalNamespace__Group_3__1() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__1__Impl" - // InternalRosSystem.g:10255:1: rule__GlobalNamespace__Group_3__1__Impl : ( '{' ) ; + // InternalRosSystem.g:11385:1: rule__GlobalNamespace__Group_3__1__Impl : ( '{' ) ; public final void rule__GlobalNamespace__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10259:1: ( ( '{' ) ) - // InternalRosSystem.g:10260:1: ( '{' ) + // InternalRosSystem.g:11389:1: ( ( '{' ) ) + // InternalRosSystem.g:11390:1: ( '{' ) { - // InternalRosSystem.g:10260:1: ( '{' ) - // InternalRosSystem.g:10261:2: '{' + // InternalRosSystem.g:11390:1: ( '{' ) + // InternalRosSystem.g:11391:2: '{' { before(grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); match(input,24,FOLLOW_2); @@ -30823,16 +34268,16 @@ public final void rule__GlobalNamespace__Group_3__1__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__2" - // InternalRosSystem.g:10270:1: rule__GlobalNamespace__Group_3__2 : rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ; + // InternalRosSystem.g:11400:1: rule__GlobalNamespace__Group_3__2 : rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ; public final void rule__GlobalNamespace__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10274:1: ( rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ) - // InternalRosSystem.g:10275:2: rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 + // InternalRosSystem.g:11404:1: ( rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ) + // InternalRosSystem.g:11405:2: rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__GlobalNamespace__Group_3__2__Impl(); state._fsp--; @@ -30861,21 +34306,21 @@ public final void rule__GlobalNamespace__Group_3__2() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__2__Impl" - // InternalRosSystem.g:10282:1: rule__GlobalNamespace__Group_3__2__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ; + // InternalRosSystem.g:11412:1: rule__GlobalNamespace__Group_3__2__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ; public final void rule__GlobalNamespace__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10286:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ) - // InternalRosSystem.g:10287:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) + // InternalRosSystem.g:11416:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ) + // InternalRosSystem.g:11417:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) { - // InternalRosSystem.g:10287:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) - // InternalRosSystem.g:10288:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) + // InternalRosSystem.g:11417:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) + // InternalRosSystem.g:11418:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) { before(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_2()); - // InternalRosSystem.g:10289:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) - // InternalRosSystem.g:10289:3: rule__GlobalNamespace__PartsAssignment_3_2 + // InternalRosSystem.g:11419:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) + // InternalRosSystem.g:11419:3: rule__GlobalNamespace__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__GlobalNamespace__PartsAssignment_3_2(); @@ -30908,16 +34353,16 @@ public final void rule__GlobalNamespace__Group_3__2__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__3" - // InternalRosSystem.g:10297:1: rule__GlobalNamespace__Group_3__3 : rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ; + // InternalRosSystem.g:11427:1: rule__GlobalNamespace__Group_3__3 : rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ; public final void rule__GlobalNamespace__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10301:1: ( rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ) - // InternalRosSystem.g:10302:2: rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 + // InternalRosSystem.g:11431:1: ( rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ) + // InternalRosSystem.g:11432:2: rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__GlobalNamespace__Group_3__3__Impl(); state._fsp--; @@ -30946,33 +34391,33 @@ public final void rule__GlobalNamespace__Group_3__3() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__3__Impl" - // InternalRosSystem.g:10309:1: rule__GlobalNamespace__Group_3__3__Impl : ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ; + // InternalRosSystem.g:11439:1: rule__GlobalNamespace__Group_3__3__Impl : ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ; public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10313:1: ( ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ) - // InternalRosSystem.g:10314:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) + // InternalRosSystem.g:11443:1: ( ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ) + // InternalRosSystem.g:11444:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) { - // InternalRosSystem.g:10314:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) - // InternalRosSystem.g:10315:2: ( rule__GlobalNamespace__Group_3_3__0 )* + // InternalRosSystem.g:11444:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) + // InternalRosSystem.g:11445:2: ( rule__GlobalNamespace__Group_3_3__0 )* { before(grammarAccess.getGlobalNamespaceAccess().getGroup_3_3()); - // InternalRosSystem.g:10316:2: ( rule__GlobalNamespace__Group_3_3__0 )* - loop70: + // InternalRosSystem.g:11446:2: ( rule__GlobalNamespace__Group_3_3__0 )* + loop81: do { - int alt70=2; - int LA70_0 = input.LA(1); + int alt81=2; + int LA81_0 = input.LA(1); - if ( (LA70_0==30) ) { - alt70=1; + if ( (LA81_0==30) ) { + alt81=1; } - switch (alt70) { + switch (alt81) { case 1 : - // InternalRosSystem.g:10316:3: rule__GlobalNamespace__Group_3_3__0 + // InternalRosSystem.g:11446:3: rule__GlobalNamespace__Group_3_3__0 { pushFollow(FOLLOW_11); rule__GlobalNamespace__Group_3_3__0(); @@ -30984,7 +34429,7 @@ public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionEx break; default : - break loop70; + break loop81; } } while (true); @@ -31011,14 +34456,14 @@ public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__4" - // InternalRosSystem.g:10324:1: rule__GlobalNamespace__Group_3__4 : rule__GlobalNamespace__Group_3__4__Impl ; + // InternalRosSystem.g:11454:1: rule__GlobalNamespace__Group_3__4 : rule__GlobalNamespace__Group_3__4__Impl ; public final void rule__GlobalNamespace__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10328:1: ( rule__GlobalNamespace__Group_3__4__Impl ) - // InternalRosSystem.g:10329:2: rule__GlobalNamespace__Group_3__4__Impl + // InternalRosSystem.g:11458:1: ( rule__GlobalNamespace__Group_3__4__Impl ) + // InternalRosSystem.g:11459:2: rule__GlobalNamespace__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3__4__Impl(); @@ -31044,17 +34489,17 @@ public final void rule__GlobalNamespace__Group_3__4() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__4__Impl" - // InternalRosSystem.g:10335:1: rule__GlobalNamespace__Group_3__4__Impl : ( '}' ) ; + // InternalRosSystem.g:11465:1: rule__GlobalNamespace__Group_3__4__Impl : ( '}' ) ; public final void rule__GlobalNamespace__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10339:1: ( ( '}' ) ) - // InternalRosSystem.g:10340:1: ( '}' ) + // InternalRosSystem.g:11469:1: ( ( '}' ) ) + // InternalRosSystem.g:11470:1: ( '}' ) { - // InternalRosSystem.g:10340:1: ( '}' ) - // InternalRosSystem.g:10341:2: '}' + // InternalRosSystem.g:11470:1: ( '}' ) + // InternalRosSystem.g:11471:2: '}' { before(grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_3_4()); match(input,26,FOLLOW_2); @@ -31081,16 +34526,16 @@ public final void rule__GlobalNamespace__Group_3__4__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3_3__0" - // InternalRosSystem.g:10351:1: rule__GlobalNamespace__Group_3_3__0 : rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ; + // InternalRosSystem.g:11481:1: rule__GlobalNamespace__Group_3_3__0 : rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ; public final void rule__GlobalNamespace__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10355:1: ( rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ) - // InternalRosSystem.g:10356:2: rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 + // InternalRosSystem.g:11485:1: ( rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ) + // InternalRosSystem.g:11486:2: rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 { - pushFollow(FOLLOW_64); + pushFollow(FOLLOW_70); rule__GlobalNamespace__Group_3_3__0__Impl(); state._fsp--; @@ -31119,17 +34564,17 @@ public final void rule__GlobalNamespace__Group_3_3__0() throws RecognitionExcept // $ANTLR start "rule__GlobalNamespace__Group_3_3__0__Impl" - // InternalRosSystem.g:10363:1: rule__GlobalNamespace__Group_3_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:11493:1: rule__GlobalNamespace__Group_3_3__0__Impl : ( ',' ) ; public final void rule__GlobalNamespace__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10367:1: ( ( ',' ) ) - // InternalRosSystem.g:10368:1: ( ',' ) + // InternalRosSystem.g:11497:1: ( ( ',' ) ) + // InternalRosSystem.g:11498:1: ( ',' ) { - // InternalRosSystem.g:10368:1: ( ',' ) - // InternalRosSystem.g:10369:2: ',' + // InternalRosSystem.g:11498:1: ( ',' ) + // InternalRosSystem.g:11499:2: ',' { before(grammarAccess.getGlobalNamespaceAccess().getCommaKeyword_3_3_0()); match(input,30,FOLLOW_2); @@ -31156,14 +34601,14 @@ public final void rule__GlobalNamespace__Group_3_3__0__Impl() throws Recognition // $ANTLR start "rule__GlobalNamespace__Group_3_3__1" - // InternalRosSystem.g:10378:1: rule__GlobalNamespace__Group_3_3__1 : rule__GlobalNamespace__Group_3_3__1__Impl ; + // InternalRosSystem.g:11508:1: rule__GlobalNamespace__Group_3_3__1 : rule__GlobalNamespace__Group_3_3__1__Impl ; public final void rule__GlobalNamespace__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10382:1: ( rule__GlobalNamespace__Group_3_3__1__Impl ) - // InternalRosSystem.g:10383:2: rule__GlobalNamespace__Group_3_3__1__Impl + // InternalRosSystem.g:11512:1: ( rule__GlobalNamespace__Group_3_3__1__Impl ) + // InternalRosSystem.g:11513:2: rule__GlobalNamespace__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3_3__1__Impl(); @@ -31189,21 +34634,21 @@ public final void rule__GlobalNamespace__Group_3_3__1() throws RecognitionExcept // $ANTLR start "rule__GlobalNamespace__Group_3_3__1__Impl" - // InternalRosSystem.g:10389:1: rule__GlobalNamespace__Group_3_3__1__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ; + // InternalRosSystem.g:11519:1: rule__GlobalNamespace__Group_3_3__1__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ; public final void rule__GlobalNamespace__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10393:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ) - // InternalRosSystem.g:10394:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) + // InternalRosSystem.g:11523:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ) + // InternalRosSystem.g:11524:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) { - // InternalRosSystem.g:10394:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) - // InternalRosSystem.g:10395:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) + // InternalRosSystem.g:11524:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) + // InternalRosSystem.g:11525:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) { before(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_3_1()); - // InternalRosSystem.g:10396:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) - // InternalRosSystem.g:10396:3: rule__GlobalNamespace__PartsAssignment_3_3_1 + // InternalRosSystem.g:11526:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) + // InternalRosSystem.g:11526:3: rule__GlobalNamespace__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__GlobalNamespace__PartsAssignment_3_3_1(); @@ -31236,16 +34681,16 @@ public final void rule__GlobalNamespace__Group_3_3__1__Impl() throws Recognition // $ANTLR start "rule__RelativeNamespace_Impl__Group__0" - // InternalRosSystem.g:10405:1: rule__RelativeNamespace_Impl__Group__0 : rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ; + // InternalRosSystem.g:11535:1: rule__RelativeNamespace_Impl__Group__0 : rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ; public final void rule__RelativeNamespace_Impl__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10409:1: ( rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ) - // InternalRosSystem.g:10410:2: rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 + // InternalRosSystem.g:11539:1: ( rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ) + // InternalRosSystem.g:11540:2: rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 { - pushFollow(FOLLOW_65); + pushFollow(FOLLOW_71); rule__RelativeNamespace_Impl__Group__0__Impl(); state._fsp--; @@ -31274,21 +34719,21 @@ public final void rule__RelativeNamespace_Impl__Group__0() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__0__Impl" - // InternalRosSystem.g:10417:1: rule__RelativeNamespace_Impl__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:11547:1: rule__RelativeNamespace_Impl__Group__0__Impl : ( () ) ; public final void rule__RelativeNamespace_Impl__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10421:1: ( ( () ) ) - // InternalRosSystem.g:10422:1: ( () ) + // InternalRosSystem.g:11551:1: ( ( () ) ) + // InternalRosSystem.g:11552:1: ( () ) { - // InternalRosSystem.g:10422:1: ( () ) - // InternalRosSystem.g:10423:2: () + // InternalRosSystem.g:11552:1: ( () ) + // InternalRosSystem.g:11553:2: () { before(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceAction_0()); - // InternalRosSystem.g:10424:2: () - // InternalRosSystem.g:10424:3: + // InternalRosSystem.g:11554:2: () + // InternalRosSystem.g:11554:3: { } @@ -31311,14 +34756,14 @@ public final void rule__RelativeNamespace_Impl__Group__0__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__1" - // InternalRosSystem.g:10432:1: rule__RelativeNamespace_Impl__Group__1 : rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ; + // InternalRosSystem.g:11562:1: rule__RelativeNamespace_Impl__Group__1 : rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ; public final void rule__RelativeNamespace_Impl__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10436:1: ( rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ) - // InternalRosSystem.g:10437:2: rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 + // InternalRosSystem.g:11566:1: ( rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ) + // InternalRosSystem.g:11567:2: rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 { pushFollow(FOLLOW_4); rule__RelativeNamespace_Impl__Group__1__Impl(); @@ -31349,20 +34794,20 @@ public final void rule__RelativeNamespace_Impl__Group__1() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__1__Impl" - // InternalRosSystem.g:10444:1: rule__RelativeNamespace_Impl__Group__1__Impl : ( 'RelativeNamespace' ) ; + // InternalRosSystem.g:11574:1: rule__RelativeNamespace_Impl__Group__1__Impl : ( 'RelativeNamespace' ) ; public final void rule__RelativeNamespace_Impl__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10448:1: ( ( 'RelativeNamespace' ) ) - // InternalRosSystem.g:10449:1: ( 'RelativeNamespace' ) + // InternalRosSystem.g:11578:1: ( ( 'RelativeNamespace' ) ) + // InternalRosSystem.g:11579:1: ( 'RelativeNamespace' ) { - // InternalRosSystem.g:10449:1: ( 'RelativeNamespace' ) - // InternalRosSystem.g:10450:2: 'RelativeNamespace' + // InternalRosSystem.g:11579:1: ( 'RelativeNamespace' ) + // InternalRosSystem.g:11580:2: 'RelativeNamespace' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceKeyword_1()); - match(input,79,FOLLOW_2); + match(input,83,FOLLOW_2); after(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceKeyword_1()); } @@ -31386,16 +34831,16 @@ public final void rule__RelativeNamespace_Impl__Group__1__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__2" - // InternalRosSystem.g:10459:1: rule__RelativeNamespace_Impl__Group__2 : rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ; + // InternalRosSystem.g:11589:1: rule__RelativeNamespace_Impl__Group__2 : rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ; public final void rule__RelativeNamespace_Impl__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10463:1: ( rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ) - // InternalRosSystem.g:10464:2: rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 + // InternalRosSystem.g:11593:1: ( rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ) + // InternalRosSystem.g:11594:2: rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_69); rule__RelativeNamespace_Impl__Group__2__Impl(); state._fsp--; @@ -31424,17 +34869,17 @@ public final void rule__RelativeNamespace_Impl__Group__2() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__2__Impl" - // InternalRosSystem.g:10471:1: rule__RelativeNamespace_Impl__Group__2__Impl : ( '{' ) ; + // InternalRosSystem.g:11601:1: rule__RelativeNamespace_Impl__Group__2__Impl : ( '{' ) ; public final void rule__RelativeNamespace_Impl__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10475:1: ( ( '{' ) ) - // InternalRosSystem.g:10476:1: ( '{' ) + // InternalRosSystem.g:11605:1: ( ( '{' ) ) + // InternalRosSystem.g:11606:1: ( '{' ) { - // InternalRosSystem.g:10476:1: ( '{' ) - // InternalRosSystem.g:10477:2: '{' + // InternalRosSystem.g:11606:1: ( '{' ) + // InternalRosSystem.g:11607:2: '{' { before(grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_2()); match(input,24,FOLLOW_2); @@ -31461,16 +34906,16 @@ public final void rule__RelativeNamespace_Impl__Group__2__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__3" - // InternalRosSystem.g:10486:1: rule__RelativeNamespace_Impl__Group__3 : rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ; + // InternalRosSystem.g:11616:1: rule__RelativeNamespace_Impl__Group__3 : rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ; public final void rule__RelativeNamespace_Impl__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10490:1: ( rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ) - // InternalRosSystem.g:10491:2: rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 + // InternalRosSystem.g:11620:1: ( rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ) + // InternalRosSystem.g:11621:2: rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_69); rule__RelativeNamespace_Impl__Group__3__Impl(); state._fsp--; @@ -31499,29 +34944,29 @@ public final void rule__RelativeNamespace_Impl__Group__3() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__3__Impl" - // InternalRosSystem.g:10498:1: rule__RelativeNamespace_Impl__Group__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ; + // InternalRosSystem.g:11628:1: rule__RelativeNamespace_Impl__Group__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ; public final void rule__RelativeNamespace_Impl__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10502:1: ( ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ) - // InternalRosSystem.g:10503:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) + // InternalRosSystem.g:11632:1: ( ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ) + // InternalRosSystem.g:11633:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) { - // InternalRosSystem.g:10503:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) - // InternalRosSystem.g:10504:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? + // InternalRosSystem.g:11633:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) + // InternalRosSystem.g:11634:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup_3()); - // InternalRosSystem.g:10505:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? - int alt71=2; - int LA71_0 = input.LA(1); + // InternalRosSystem.g:11635:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? + int alt82=2; + int LA82_0 = input.LA(1); - if ( (LA71_0==78) ) { - alt71=1; + if ( (LA82_0==82) ) { + alt82=1; } - switch (alt71) { + switch (alt82) { case 1 : - // InternalRosSystem.g:10505:3: rule__RelativeNamespace_Impl__Group_3__0 + // InternalRosSystem.g:11635:3: rule__RelativeNamespace_Impl__Group_3__0 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3__0(); @@ -31557,14 +35002,14 @@ public final void rule__RelativeNamespace_Impl__Group__3__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__4" - // InternalRosSystem.g:10513:1: rule__RelativeNamespace_Impl__Group__4 : rule__RelativeNamespace_Impl__Group__4__Impl ; + // InternalRosSystem.g:11643:1: rule__RelativeNamespace_Impl__Group__4 : rule__RelativeNamespace_Impl__Group__4__Impl ; public final void rule__RelativeNamespace_Impl__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10517:1: ( rule__RelativeNamespace_Impl__Group__4__Impl ) - // InternalRosSystem.g:10518:2: rule__RelativeNamespace_Impl__Group__4__Impl + // InternalRosSystem.g:11647:1: ( rule__RelativeNamespace_Impl__Group__4__Impl ) + // InternalRosSystem.g:11648:2: rule__RelativeNamespace_Impl__Group__4__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group__4__Impl(); @@ -31590,17 +35035,17 @@ public final void rule__RelativeNamespace_Impl__Group__4() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__4__Impl" - // InternalRosSystem.g:10524:1: rule__RelativeNamespace_Impl__Group__4__Impl : ( '}' ) ; + // InternalRosSystem.g:11654:1: rule__RelativeNamespace_Impl__Group__4__Impl : ( '}' ) ; public final void rule__RelativeNamespace_Impl__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10528:1: ( ( '}' ) ) - // InternalRosSystem.g:10529:1: ( '}' ) + // InternalRosSystem.g:11658:1: ( ( '}' ) ) + // InternalRosSystem.g:11659:1: ( '}' ) { - // InternalRosSystem.g:10529:1: ( '}' ) - // InternalRosSystem.g:10530:2: '}' + // InternalRosSystem.g:11659:1: ( '}' ) + // InternalRosSystem.g:11660:2: '}' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_4()); match(input,26,FOLLOW_2); @@ -31627,14 +35072,14 @@ public final void rule__RelativeNamespace_Impl__Group__4__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__0" - // InternalRosSystem.g:10540:1: rule__RelativeNamespace_Impl__Group_3__0 : rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ; + // InternalRosSystem.g:11670:1: rule__RelativeNamespace_Impl__Group_3__0 : rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ; public final void rule__RelativeNamespace_Impl__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10544:1: ( rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ) - // InternalRosSystem.g:10545:2: rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 + // InternalRosSystem.g:11674:1: ( rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ) + // InternalRosSystem.g:11675:2: rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 { pushFollow(FOLLOW_4); rule__RelativeNamespace_Impl__Group_3__0__Impl(); @@ -31665,20 +35110,20 @@ public final void rule__RelativeNamespace_Impl__Group_3__0() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__0__Impl" - // InternalRosSystem.g:10552:1: rule__RelativeNamespace_Impl__Group_3__0__Impl : ( 'parts' ) ; + // InternalRosSystem.g:11682:1: rule__RelativeNamespace_Impl__Group_3__0__Impl : ( 'parts' ) ; public final void rule__RelativeNamespace_Impl__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10556:1: ( ( 'parts' ) ) - // InternalRosSystem.g:10557:1: ( 'parts' ) + // InternalRosSystem.g:11686:1: ( ( 'parts' ) ) + // InternalRosSystem.g:11687:1: ( 'parts' ) { - // InternalRosSystem.g:10557:1: ( 'parts' ) - // InternalRosSystem.g:10558:2: 'parts' + // InternalRosSystem.g:11687:1: ( 'parts' ) + // InternalRosSystem.g:11688:2: 'parts' { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsKeyword_3_0()); - match(input,78,FOLLOW_2); + match(input,82,FOLLOW_2); after(grammarAccess.getRelativeNamespace_ImplAccess().getPartsKeyword_3_0()); } @@ -31702,16 +35147,16 @@ public final void rule__RelativeNamespace_Impl__Group_3__0__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__1" - // InternalRosSystem.g:10567:1: rule__RelativeNamespace_Impl__Group_3__1 : rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ; + // InternalRosSystem.g:11697:1: rule__RelativeNamespace_Impl__Group_3__1 : rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ; public final void rule__RelativeNamespace_Impl__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10571:1: ( rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ) - // InternalRosSystem.g:10572:2: rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 + // InternalRosSystem.g:11701:1: ( rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ) + // InternalRosSystem.g:11702:2: rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 { - pushFollow(FOLLOW_64); + pushFollow(FOLLOW_70); rule__RelativeNamespace_Impl__Group_3__1__Impl(); state._fsp--; @@ -31740,17 +35185,17 @@ public final void rule__RelativeNamespace_Impl__Group_3__1() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__1__Impl" - // InternalRosSystem.g:10579:1: rule__RelativeNamespace_Impl__Group_3__1__Impl : ( '{' ) ; + // InternalRosSystem.g:11709:1: rule__RelativeNamespace_Impl__Group_3__1__Impl : ( '{' ) ; public final void rule__RelativeNamespace_Impl__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10583:1: ( ( '{' ) ) - // InternalRosSystem.g:10584:1: ( '{' ) + // InternalRosSystem.g:11713:1: ( ( '{' ) ) + // InternalRosSystem.g:11714:1: ( '{' ) { - // InternalRosSystem.g:10584:1: ( '{' ) - // InternalRosSystem.g:10585:2: '{' + // InternalRosSystem.g:11714:1: ( '{' ) + // InternalRosSystem.g:11715:2: '{' { before(grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_3_1()); match(input,24,FOLLOW_2); @@ -31777,16 +35222,16 @@ public final void rule__RelativeNamespace_Impl__Group_3__1__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__2" - // InternalRosSystem.g:10594:1: rule__RelativeNamespace_Impl__Group_3__2 : rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ; + // InternalRosSystem.g:11724:1: rule__RelativeNamespace_Impl__Group_3__2 : rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ; public final void rule__RelativeNamespace_Impl__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10598:1: ( rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ) - // InternalRosSystem.g:10599:2: rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 + // InternalRosSystem.g:11728:1: ( rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ) + // InternalRosSystem.g:11729:2: rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__RelativeNamespace_Impl__Group_3__2__Impl(); state._fsp--; @@ -31815,21 +35260,21 @@ public final void rule__RelativeNamespace_Impl__Group_3__2() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__2__Impl" - // InternalRosSystem.g:10606:1: rule__RelativeNamespace_Impl__Group_3__2__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ; + // InternalRosSystem.g:11736:1: rule__RelativeNamespace_Impl__Group_3__2__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ; public final void rule__RelativeNamespace_Impl__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10610:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ) - // InternalRosSystem.g:10611:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) + // InternalRosSystem.g:11740:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ) + // InternalRosSystem.g:11741:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) { - // InternalRosSystem.g:10611:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) - // InternalRosSystem.g:10612:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) + // InternalRosSystem.g:11741:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) + // InternalRosSystem.g:11742:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsAssignment_3_2()); - // InternalRosSystem.g:10613:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) - // InternalRosSystem.g:10613:3: rule__RelativeNamespace_Impl__PartsAssignment_3_2 + // InternalRosSystem.g:11743:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) + // InternalRosSystem.g:11743:3: rule__RelativeNamespace_Impl__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__PartsAssignment_3_2(); @@ -31862,16 +35307,16 @@ public final void rule__RelativeNamespace_Impl__Group_3__2__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__3" - // InternalRosSystem.g:10621:1: rule__RelativeNamespace_Impl__Group_3__3 : rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ; + // InternalRosSystem.g:11751:1: rule__RelativeNamespace_Impl__Group_3__3 : rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ; public final void rule__RelativeNamespace_Impl__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10625:1: ( rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ) - // InternalRosSystem.g:10626:2: rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 + // InternalRosSystem.g:11755:1: ( rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ) + // InternalRosSystem.g:11756:2: rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__RelativeNamespace_Impl__Group_3__3__Impl(); state._fsp--; @@ -31900,33 +35345,33 @@ public final void rule__RelativeNamespace_Impl__Group_3__3() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__3__Impl" - // InternalRosSystem.g:10633:1: rule__RelativeNamespace_Impl__Group_3__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ; + // InternalRosSystem.g:11763:1: rule__RelativeNamespace_Impl__Group_3__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ; public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10637:1: ( ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ) - // InternalRosSystem.g:10638:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) + // InternalRosSystem.g:11767:1: ( ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ) + // InternalRosSystem.g:11768:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) { - // InternalRosSystem.g:10638:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) - // InternalRosSystem.g:10639:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* + // InternalRosSystem.g:11768:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) + // InternalRosSystem.g:11769:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup_3_3()); - // InternalRosSystem.g:10640:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* - loop72: + // InternalRosSystem.g:11770:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* + loop83: do { - int alt72=2; - int LA72_0 = input.LA(1); + int alt83=2; + int LA83_0 = input.LA(1); - if ( (LA72_0==30) ) { - alt72=1; + if ( (LA83_0==30) ) { + alt83=1; } - switch (alt72) { + switch (alt83) { case 1 : - // InternalRosSystem.g:10640:3: rule__RelativeNamespace_Impl__Group_3_3__0 + // InternalRosSystem.g:11770:3: rule__RelativeNamespace_Impl__Group_3_3__0 { pushFollow(FOLLOW_11); rule__RelativeNamespace_Impl__Group_3_3__0(); @@ -31938,7 +35383,7 @@ public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws Recogn break; default : - break loop72; + break loop83; } } while (true); @@ -31965,14 +35410,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__4" - // InternalRosSystem.g:10648:1: rule__RelativeNamespace_Impl__Group_3__4 : rule__RelativeNamespace_Impl__Group_3__4__Impl ; + // InternalRosSystem.g:11778:1: rule__RelativeNamespace_Impl__Group_3__4 : rule__RelativeNamespace_Impl__Group_3__4__Impl ; public final void rule__RelativeNamespace_Impl__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10652:1: ( rule__RelativeNamespace_Impl__Group_3__4__Impl ) - // InternalRosSystem.g:10653:2: rule__RelativeNamespace_Impl__Group_3__4__Impl + // InternalRosSystem.g:11782:1: ( rule__RelativeNamespace_Impl__Group_3__4__Impl ) + // InternalRosSystem.g:11783:2: rule__RelativeNamespace_Impl__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3__4__Impl(); @@ -31998,17 +35443,17 @@ public final void rule__RelativeNamespace_Impl__Group_3__4() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__4__Impl" - // InternalRosSystem.g:10659:1: rule__RelativeNamespace_Impl__Group_3__4__Impl : ( '}' ) ; + // InternalRosSystem.g:11789:1: rule__RelativeNamespace_Impl__Group_3__4__Impl : ( '}' ) ; public final void rule__RelativeNamespace_Impl__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10663:1: ( ( '}' ) ) - // InternalRosSystem.g:10664:1: ( '}' ) + // InternalRosSystem.g:11793:1: ( ( '}' ) ) + // InternalRosSystem.g:11794:1: ( '}' ) { - // InternalRosSystem.g:10664:1: ( '}' ) - // InternalRosSystem.g:10665:2: '}' + // InternalRosSystem.g:11794:1: ( '}' ) + // InternalRosSystem.g:11795:2: '}' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_3_4()); match(input,26,FOLLOW_2); @@ -32035,16 +35480,16 @@ public final void rule__RelativeNamespace_Impl__Group_3__4__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__0" - // InternalRosSystem.g:10675:1: rule__RelativeNamespace_Impl__Group_3_3__0 : rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ; + // InternalRosSystem.g:11805:1: rule__RelativeNamespace_Impl__Group_3_3__0 : rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ; public final void rule__RelativeNamespace_Impl__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10679:1: ( rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ) - // InternalRosSystem.g:10680:2: rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 + // InternalRosSystem.g:11809:1: ( rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ) + // InternalRosSystem.g:11810:2: rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 { - pushFollow(FOLLOW_64); + pushFollow(FOLLOW_70); rule__RelativeNamespace_Impl__Group_3_3__0__Impl(); state._fsp--; @@ -32073,17 +35518,17 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__0() throws Recognitio // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__0__Impl" - // InternalRosSystem.g:10687:1: rule__RelativeNamespace_Impl__Group_3_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:11817:1: rule__RelativeNamespace_Impl__Group_3_3__0__Impl : ( ',' ) ; public final void rule__RelativeNamespace_Impl__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10691:1: ( ( ',' ) ) - // InternalRosSystem.g:10692:1: ( ',' ) + // InternalRosSystem.g:11821:1: ( ( ',' ) ) + // InternalRosSystem.g:11822:1: ( ',' ) { - // InternalRosSystem.g:10692:1: ( ',' ) - // InternalRosSystem.g:10693:2: ',' + // InternalRosSystem.g:11822:1: ( ',' ) + // InternalRosSystem.g:11823:2: ',' { before(grammarAccess.getRelativeNamespace_ImplAccess().getCommaKeyword_3_3_0()); match(input,30,FOLLOW_2); @@ -32110,14 +35555,14 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__0__Impl() throws Reco // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__1" - // InternalRosSystem.g:10702:1: rule__RelativeNamespace_Impl__Group_3_3__1 : rule__RelativeNamespace_Impl__Group_3_3__1__Impl ; + // InternalRosSystem.g:11832:1: rule__RelativeNamespace_Impl__Group_3_3__1 : rule__RelativeNamespace_Impl__Group_3_3__1__Impl ; public final void rule__RelativeNamespace_Impl__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10706:1: ( rule__RelativeNamespace_Impl__Group_3_3__1__Impl ) - // InternalRosSystem.g:10707:2: rule__RelativeNamespace_Impl__Group_3_3__1__Impl + // InternalRosSystem.g:11836:1: ( rule__RelativeNamespace_Impl__Group_3_3__1__Impl ) + // InternalRosSystem.g:11837:2: rule__RelativeNamespace_Impl__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3_3__1__Impl(); @@ -32143,21 +35588,21 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__1() throws Recognitio // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__1__Impl" - // InternalRosSystem.g:10713:1: rule__RelativeNamespace_Impl__Group_3_3__1__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ; + // InternalRosSystem.g:11843:1: rule__RelativeNamespace_Impl__Group_3_3__1__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ; public final void rule__RelativeNamespace_Impl__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10717:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ) - // InternalRosSystem.g:10718:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) + // InternalRosSystem.g:11847:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ) + // InternalRosSystem.g:11848:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) { - // InternalRosSystem.g:10718:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) - // InternalRosSystem.g:10719:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) + // InternalRosSystem.g:11848:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) + // InternalRosSystem.g:11849:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsAssignment_3_3_1()); - // InternalRosSystem.g:10720:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) - // InternalRosSystem.g:10720:3: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 + // InternalRosSystem.g:11850:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) + // InternalRosSystem.g:11850:3: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__PartsAssignment_3_3_1(); @@ -32190,16 +35635,16 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__1__Impl() throws Reco // $ANTLR start "rule__PrivateNamespace__Group__0" - // InternalRosSystem.g:10729:1: rule__PrivateNamespace__Group__0 : rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ; + // InternalRosSystem.g:11859:1: rule__PrivateNamespace__Group__0 : rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ; public final void rule__PrivateNamespace__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10733:1: ( rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ) - // InternalRosSystem.g:10734:2: rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 + // InternalRosSystem.g:11863:1: ( rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ) + // InternalRosSystem.g:11864:2: rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_51); rule__PrivateNamespace__Group__0__Impl(); state._fsp--; @@ -32228,21 +35673,21 @@ public final void rule__PrivateNamespace__Group__0() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__0__Impl" - // InternalRosSystem.g:10741:1: rule__PrivateNamespace__Group__0__Impl : ( () ) ; + // InternalRosSystem.g:11871:1: rule__PrivateNamespace__Group__0__Impl : ( () ) ; public final void rule__PrivateNamespace__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10745:1: ( ( () ) ) - // InternalRosSystem.g:10746:1: ( () ) + // InternalRosSystem.g:11875:1: ( ( () ) ) + // InternalRosSystem.g:11876:1: ( () ) { - // InternalRosSystem.g:10746:1: ( () ) - // InternalRosSystem.g:10747:2: () + // InternalRosSystem.g:11876:1: ( () ) + // InternalRosSystem.g:11877:2: () { before(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceAction_0()); - // InternalRosSystem.g:10748:2: () - // InternalRosSystem.g:10748:3: + // InternalRosSystem.g:11878:2: () + // InternalRosSystem.g:11878:3: { } @@ -32265,14 +35710,14 @@ public final void rule__PrivateNamespace__Group__0__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__1" - // InternalRosSystem.g:10756:1: rule__PrivateNamespace__Group__1 : rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ; + // InternalRosSystem.g:11886:1: rule__PrivateNamespace__Group__1 : rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ; public final void rule__PrivateNamespace__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10760:1: ( rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ) - // InternalRosSystem.g:10761:2: rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 + // InternalRosSystem.g:11890:1: ( rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ) + // InternalRosSystem.g:11891:2: rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 { pushFollow(FOLLOW_4); rule__PrivateNamespace__Group__1__Impl(); @@ -32303,20 +35748,20 @@ public final void rule__PrivateNamespace__Group__1() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__1__Impl" - // InternalRosSystem.g:10768:1: rule__PrivateNamespace__Group__1__Impl : ( 'PrivateNamespace' ) ; + // InternalRosSystem.g:11898:1: rule__PrivateNamespace__Group__1__Impl : ( 'PrivateNamespace' ) ; public final void rule__PrivateNamespace__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10772:1: ( ( 'PrivateNamespace' ) ) - // InternalRosSystem.g:10773:1: ( 'PrivateNamespace' ) + // InternalRosSystem.g:11902:1: ( ( 'PrivateNamespace' ) ) + // InternalRosSystem.g:11903:1: ( 'PrivateNamespace' ) { - // InternalRosSystem.g:10773:1: ( 'PrivateNamespace' ) - // InternalRosSystem.g:10774:2: 'PrivateNamespace' + // InternalRosSystem.g:11903:1: ( 'PrivateNamespace' ) + // InternalRosSystem.g:11904:2: 'PrivateNamespace' { before(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceKeyword_1()); - match(input,80,FOLLOW_2); + match(input,84,FOLLOW_2); after(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceKeyword_1()); } @@ -32340,16 +35785,16 @@ public final void rule__PrivateNamespace__Group__1__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__2" - // InternalRosSystem.g:10783:1: rule__PrivateNamespace__Group__2 : rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ; + // InternalRosSystem.g:11913:1: rule__PrivateNamespace__Group__2 : rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ; public final void rule__PrivateNamespace__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10787:1: ( rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ) - // InternalRosSystem.g:10788:2: rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 + // InternalRosSystem.g:11917:1: ( rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ) + // InternalRosSystem.g:11918:2: rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_69); rule__PrivateNamespace__Group__2__Impl(); state._fsp--; @@ -32378,17 +35823,17 @@ public final void rule__PrivateNamespace__Group__2() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__2__Impl" - // InternalRosSystem.g:10795:1: rule__PrivateNamespace__Group__2__Impl : ( '{' ) ; + // InternalRosSystem.g:11925:1: rule__PrivateNamespace__Group__2__Impl : ( '{' ) ; public final void rule__PrivateNamespace__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10799:1: ( ( '{' ) ) - // InternalRosSystem.g:10800:1: ( '{' ) + // InternalRosSystem.g:11929:1: ( ( '{' ) ) + // InternalRosSystem.g:11930:1: ( '{' ) { - // InternalRosSystem.g:10800:1: ( '{' ) - // InternalRosSystem.g:10801:2: '{' + // InternalRosSystem.g:11930:1: ( '{' ) + // InternalRosSystem.g:11931:2: '{' { before(grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_2()); match(input,24,FOLLOW_2); @@ -32415,16 +35860,16 @@ public final void rule__PrivateNamespace__Group__2__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__3" - // InternalRosSystem.g:10810:1: rule__PrivateNamespace__Group__3 : rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ; + // InternalRosSystem.g:11940:1: rule__PrivateNamespace__Group__3 : rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ; public final void rule__PrivateNamespace__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10814:1: ( rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ) - // InternalRosSystem.g:10815:2: rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 + // InternalRosSystem.g:11944:1: ( rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ) + // InternalRosSystem.g:11945:2: rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_69); rule__PrivateNamespace__Group__3__Impl(); state._fsp--; @@ -32453,29 +35898,29 @@ public final void rule__PrivateNamespace__Group__3() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__3__Impl" - // InternalRosSystem.g:10822:1: rule__PrivateNamespace__Group__3__Impl : ( ( rule__PrivateNamespace__Group_3__0 )? ) ; + // InternalRosSystem.g:11952:1: rule__PrivateNamespace__Group__3__Impl : ( ( rule__PrivateNamespace__Group_3__0 )? ) ; public final void rule__PrivateNamespace__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10826:1: ( ( ( rule__PrivateNamespace__Group_3__0 )? ) ) - // InternalRosSystem.g:10827:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) + // InternalRosSystem.g:11956:1: ( ( ( rule__PrivateNamespace__Group_3__0 )? ) ) + // InternalRosSystem.g:11957:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) { - // InternalRosSystem.g:10827:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) - // InternalRosSystem.g:10828:2: ( rule__PrivateNamespace__Group_3__0 )? + // InternalRosSystem.g:11957:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) + // InternalRosSystem.g:11958:2: ( rule__PrivateNamespace__Group_3__0 )? { before(grammarAccess.getPrivateNamespaceAccess().getGroup_3()); - // InternalRosSystem.g:10829:2: ( rule__PrivateNamespace__Group_3__0 )? - int alt73=2; - int LA73_0 = input.LA(1); + // InternalRosSystem.g:11959:2: ( rule__PrivateNamespace__Group_3__0 )? + int alt84=2; + int LA84_0 = input.LA(1); - if ( (LA73_0==78) ) { - alt73=1; + if ( (LA84_0==82) ) { + alt84=1; } - switch (alt73) { + switch (alt84) { case 1 : - // InternalRosSystem.g:10829:3: rule__PrivateNamespace__Group_3__0 + // InternalRosSystem.g:11959:3: rule__PrivateNamespace__Group_3__0 { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3__0(); @@ -32511,14 +35956,14 @@ public final void rule__PrivateNamespace__Group__3__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__4" - // InternalRosSystem.g:10837:1: rule__PrivateNamespace__Group__4 : rule__PrivateNamespace__Group__4__Impl ; + // InternalRosSystem.g:11967:1: rule__PrivateNamespace__Group__4 : rule__PrivateNamespace__Group__4__Impl ; public final void rule__PrivateNamespace__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10841:1: ( rule__PrivateNamespace__Group__4__Impl ) - // InternalRosSystem.g:10842:2: rule__PrivateNamespace__Group__4__Impl + // InternalRosSystem.g:11971:1: ( rule__PrivateNamespace__Group__4__Impl ) + // InternalRosSystem.g:11972:2: rule__PrivateNamespace__Group__4__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group__4__Impl(); @@ -32544,17 +35989,17 @@ public final void rule__PrivateNamespace__Group__4() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__4__Impl" - // InternalRosSystem.g:10848:1: rule__PrivateNamespace__Group__4__Impl : ( '}' ) ; + // InternalRosSystem.g:11978:1: rule__PrivateNamespace__Group__4__Impl : ( '}' ) ; public final void rule__PrivateNamespace__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10852:1: ( ( '}' ) ) - // InternalRosSystem.g:10853:1: ( '}' ) + // InternalRosSystem.g:11982:1: ( ( '}' ) ) + // InternalRosSystem.g:11983:1: ( '}' ) { - // InternalRosSystem.g:10853:1: ( '}' ) - // InternalRosSystem.g:10854:2: '}' + // InternalRosSystem.g:11983:1: ( '}' ) + // InternalRosSystem.g:11984:2: '}' { before(grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_4()); match(input,26,FOLLOW_2); @@ -32581,14 +36026,14 @@ public final void rule__PrivateNamespace__Group__4__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group_3__0" - // InternalRosSystem.g:10864:1: rule__PrivateNamespace__Group_3__0 : rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ; + // InternalRosSystem.g:11994:1: rule__PrivateNamespace__Group_3__0 : rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ; public final void rule__PrivateNamespace__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10868:1: ( rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ) - // InternalRosSystem.g:10869:2: rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 + // InternalRosSystem.g:11998:1: ( rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ) + // InternalRosSystem.g:11999:2: rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 { pushFollow(FOLLOW_4); rule__PrivateNamespace__Group_3__0__Impl(); @@ -32619,20 +36064,20 @@ public final void rule__PrivateNamespace__Group_3__0() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__0__Impl" - // InternalRosSystem.g:10876:1: rule__PrivateNamespace__Group_3__0__Impl : ( 'parts' ) ; + // InternalRosSystem.g:12006:1: rule__PrivateNamespace__Group_3__0__Impl : ( 'parts' ) ; public final void rule__PrivateNamespace__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10880:1: ( ( 'parts' ) ) - // InternalRosSystem.g:10881:1: ( 'parts' ) + // InternalRosSystem.g:12010:1: ( ( 'parts' ) ) + // InternalRosSystem.g:12011:1: ( 'parts' ) { - // InternalRosSystem.g:10881:1: ( 'parts' ) - // InternalRosSystem.g:10882:2: 'parts' + // InternalRosSystem.g:12011:1: ( 'parts' ) + // InternalRosSystem.g:12012:2: 'parts' { before(grammarAccess.getPrivateNamespaceAccess().getPartsKeyword_3_0()); - match(input,78,FOLLOW_2); + match(input,82,FOLLOW_2); after(grammarAccess.getPrivateNamespaceAccess().getPartsKeyword_3_0()); } @@ -32656,16 +36101,16 @@ public final void rule__PrivateNamespace__Group_3__0__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__1" - // InternalRosSystem.g:10891:1: rule__PrivateNamespace__Group_3__1 : rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ; + // InternalRosSystem.g:12021:1: rule__PrivateNamespace__Group_3__1 : rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ; public final void rule__PrivateNamespace__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10895:1: ( rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ) - // InternalRosSystem.g:10896:2: rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 + // InternalRosSystem.g:12025:1: ( rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ) + // InternalRosSystem.g:12026:2: rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 { - pushFollow(FOLLOW_64); + pushFollow(FOLLOW_70); rule__PrivateNamespace__Group_3__1__Impl(); state._fsp--; @@ -32694,17 +36139,17 @@ public final void rule__PrivateNamespace__Group_3__1() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__1__Impl" - // InternalRosSystem.g:10903:1: rule__PrivateNamespace__Group_3__1__Impl : ( '{' ) ; + // InternalRosSystem.g:12033:1: rule__PrivateNamespace__Group_3__1__Impl : ( '{' ) ; public final void rule__PrivateNamespace__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10907:1: ( ( '{' ) ) - // InternalRosSystem.g:10908:1: ( '{' ) + // InternalRosSystem.g:12037:1: ( ( '{' ) ) + // InternalRosSystem.g:12038:1: ( '{' ) { - // InternalRosSystem.g:10908:1: ( '{' ) - // InternalRosSystem.g:10909:2: '{' + // InternalRosSystem.g:12038:1: ( '{' ) + // InternalRosSystem.g:12039:2: '{' { before(grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); match(input,24,FOLLOW_2); @@ -32731,16 +36176,16 @@ public final void rule__PrivateNamespace__Group_3__1__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__2" - // InternalRosSystem.g:10918:1: rule__PrivateNamespace__Group_3__2 : rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ; + // InternalRosSystem.g:12048:1: rule__PrivateNamespace__Group_3__2 : rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ; public final void rule__PrivateNamespace__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10922:1: ( rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ) - // InternalRosSystem.g:10923:2: rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 + // InternalRosSystem.g:12052:1: ( rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ) + // InternalRosSystem.g:12053:2: rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__PrivateNamespace__Group_3__2__Impl(); state._fsp--; @@ -32769,21 +36214,21 @@ public final void rule__PrivateNamespace__Group_3__2() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__2__Impl" - // InternalRosSystem.g:10930:1: rule__PrivateNamespace__Group_3__2__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ; + // InternalRosSystem.g:12060:1: rule__PrivateNamespace__Group_3__2__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ; public final void rule__PrivateNamespace__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10934:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ) - // InternalRosSystem.g:10935:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) + // InternalRosSystem.g:12064:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ) + // InternalRosSystem.g:12065:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) { - // InternalRosSystem.g:10935:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) - // InternalRosSystem.g:10936:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) + // InternalRosSystem.g:12065:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) + // InternalRosSystem.g:12066:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) { before(grammarAccess.getPrivateNamespaceAccess().getPartsAssignment_3_2()); - // InternalRosSystem.g:10937:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) - // InternalRosSystem.g:10937:3: rule__PrivateNamespace__PartsAssignment_3_2 + // InternalRosSystem.g:12067:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) + // InternalRosSystem.g:12067:3: rule__PrivateNamespace__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__PrivateNamespace__PartsAssignment_3_2(); @@ -32816,16 +36261,16 @@ public final void rule__PrivateNamespace__Group_3__2__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__3" - // InternalRosSystem.g:10945:1: rule__PrivateNamespace__Group_3__3 : rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ; + // InternalRosSystem.g:12075:1: rule__PrivateNamespace__Group_3__3 : rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ; public final void rule__PrivateNamespace__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10949:1: ( rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ) - // InternalRosSystem.g:10950:2: rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 + // InternalRosSystem.g:12079:1: ( rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ) + // InternalRosSystem.g:12080:2: rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_36); rule__PrivateNamespace__Group_3__3__Impl(); state._fsp--; @@ -32854,33 +36299,33 @@ public final void rule__PrivateNamespace__Group_3__3() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__3__Impl" - // InternalRosSystem.g:10957:1: rule__PrivateNamespace__Group_3__3__Impl : ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ; + // InternalRosSystem.g:12087:1: rule__PrivateNamespace__Group_3__3__Impl : ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ; public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10961:1: ( ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ) - // InternalRosSystem.g:10962:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) + // InternalRosSystem.g:12091:1: ( ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ) + // InternalRosSystem.g:12092:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) { - // InternalRosSystem.g:10962:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) - // InternalRosSystem.g:10963:2: ( rule__PrivateNamespace__Group_3_3__0 )* + // InternalRosSystem.g:12092:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) + // InternalRosSystem.g:12093:2: ( rule__PrivateNamespace__Group_3_3__0 )* { before(grammarAccess.getPrivateNamespaceAccess().getGroup_3_3()); - // InternalRosSystem.g:10964:2: ( rule__PrivateNamespace__Group_3_3__0 )* - loop74: + // InternalRosSystem.g:12094:2: ( rule__PrivateNamespace__Group_3_3__0 )* + loop85: do { - int alt74=2; - int LA74_0 = input.LA(1); + int alt85=2; + int LA85_0 = input.LA(1); - if ( (LA74_0==30) ) { - alt74=1; + if ( (LA85_0==30) ) { + alt85=1; } - switch (alt74) { + switch (alt85) { case 1 : - // InternalRosSystem.g:10964:3: rule__PrivateNamespace__Group_3_3__0 + // InternalRosSystem.g:12094:3: rule__PrivateNamespace__Group_3_3__0 { pushFollow(FOLLOW_11); rule__PrivateNamespace__Group_3_3__0(); @@ -32892,7 +36337,7 @@ public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionE break; default : - break loop74; + break loop85; } } while (true); @@ -32919,14 +36364,14 @@ public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__4" - // InternalRosSystem.g:10972:1: rule__PrivateNamespace__Group_3__4 : rule__PrivateNamespace__Group_3__4__Impl ; + // InternalRosSystem.g:12102:1: rule__PrivateNamespace__Group_3__4 : rule__PrivateNamespace__Group_3__4__Impl ; public final void rule__PrivateNamespace__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10976:1: ( rule__PrivateNamespace__Group_3__4__Impl ) - // InternalRosSystem.g:10977:2: rule__PrivateNamespace__Group_3__4__Impl + // InternalRosSystem.g:12106:1: ( rule__PrivateNamespace__Group_3__4__Impl ) + // InternalRosSystem.g:12107:2: rule__PrivateNamespace__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3__4__Impl(); @@ -32952,17 +36397,17 @@ public final void rule__PrivateNamespace__Group_3__4() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__4__Impl" - // InternalRosSystem.g:10983:1: rule__PrivateNamespace__Group_3__4__Impl : ( '}' ) ; + // InternalRosSystem.g:12113:1: rule__PrivateNamespace__Group_3__4__Impl : ( '}' ) ; public final void rule__PrivateNamespace__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:10987:1: ( ( '}' ) ) - // InternalRosSystem.g:10988:1: ( '}' ) + // InternalRosSystem.g:12117:1: ( ( '}' ) ) + // InternalRosSystem.g:12118:1: ( '}' ) { - // InternalRosSystem.g:10988:1: ( '}' ) - // InternalRosSystem.g:10989:2: '}' + // InternalRosSystem.g:12118:1: ( '}' ) + // InternalRosSystem.g:12119:2: '}' { before(grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_3_4()); match(input,26,FOLLOW_2); @@ -32989,16 +36434,16 @@ public final void rule__PrivateNamespace__Group_3__4__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3_3__0" - // InternalRosSystem.g:10999:1: rule__PrivateNamespace__Group_3_3__0 : rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ; + // InternalRosSystem.g:12129:1: rule__PrivateNamespace__Group_3_3__0 : rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ; public final void rule__PrivateNamespace__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11003:1: ( rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ) - // InternalRosSystem.g:11004:2: rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 + // InternalRosSystem.g:12133:1: ( rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ) + // InternalRosSystem.g:12134:2: rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 { - pushFollow(FOLLOW_64); + pushFollow(FOLLOW_70); rule__PrivateNamespace__Group_3_3__0__Impl(); state._fsp--; @@ -33027,17 +36472,17 @@ public final void rule__PrivateNamespace__Group_3_3__0() throws RecognitionExcep // $ANTLR start "rule__PrivateNamespace__Group_3_3__0__Impl" - // InternalRosSystem.g:11011:1: rule__PrivateNamespace__Group_3_3__0__Impl : ( ',' ) ; + // InternalRosSystem.g:12141:1: rule__PrivateNamespace__Group_3_3__0__Impl : ( ',' ) ; public final void rule__PrivateNamespace__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11015:1: ( ( ',' ) ) - // InternalRosSystem.g:11016:1: ( ',' ) + // InternalRosSystem.g:12145:1: ( ( ',' ) ) + // InternalRosSystem.g:12146:1: ( ',' ) { - // InternalRosSystem.g:11016:1: ( ',' ) - // InternalRosSystem.g:11017:2: ',' + // InternalRosSystem.g:12146:1: ( ',' ) + // InternalRosSystem.g:12147:2: ',' { before(grammarAccess.getPrivateNamespaceAccess().getCommaKeyword_3_3_0()); match(input,30,FOLLOW_2); @@ -33064,14 +36509,14 @@ public final void rule__PrivateNamespace__Group_3_3__0__Impl() throws Recognitio // $ANTLR start "rule__PrivateNamespace__Group_3_3__1" - // InternalRosSystem.g:11026:1: rule__PrivateNamespace__Group_3_3__1 : rule__PrivateNamespace__Group_3_3__1__Impl ; + // InternalRosSystem.g:12156:1: rule__PrivateNamespace__Group_3_3__1 : rule__PrivateNamespace__Group_3_3__1__Impl ; public final void rule__PrivateNamespace__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11030:1: ( rule__PrivateNamespace__Group_3_3__1__Impl ) - // InternalRosSystem.g:11031:2: rule__PrivateNamespace__Group_3_3__1__Impl + // InternalRosSystem.g:12160:1: ( rule__PrivateNamespace__Group_3_3__1__Impl ) + // InternalRosSystem.g:12161:2: rule__PrivateNamespace__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3_3__1__Impl(); @@ -33097,21 +36542,21 @@ public final void rule__PrivateNamespace__Group_3_3__1() throws RecognitionExcep // $ANTLR start "rule__PrivateNamespace__Group_3_3__1__Impl" - // InternalRosSystem.g:11037:1: rule__PrivateNamespace__Group_3_3__1__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ; + // InternalRosSystem.g:12167:1: rule__PrivateNamespace__Group_3_3__1__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ; public final void rule__PrivateNamespace__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11041:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ) - // InternalRosSystem.g:11042:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) + // InternalRosSystem.g:12171:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ) + // InternalRosSystem.g:12172:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) { - // InternalRosSystem.g:11042:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) - // InternalRosSystem.g:11043:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) + // InternalRosSystem.g:12172:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) + // InternalRosSystem.g:12173:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) { before(grammarAccess.getPrivateNamespaceAccess().getPartsAssignment_3_3_1()); - // InternalRosSystem.g:11044:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) - // InternalRosSystem.g:11044:3: rule__PrivateNamespace__PartsAssignment_3_3_1 + // InternalRosSystem.g:12174:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) + // InternalRosSystem.g:12174:3: rule__PrivateNamespace__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__PrivateNamespace__PartsAssignment_3_3_1(); @@ -33144,17 +36589,17 @@ public final void rule__PrivateNamespace__Group_3_3__1__Impl() throws Recognitio // $ANTLR start "rule__RosSystem__NameAssignment_4" - // InternalRosSystem.g:11053:1: rule__RosSystem__NameAssignment_4 : ( ruleEString ) ; + // InternalRosSystem.g:12183:1: rule__RosSystem__NameAssignment_4 : ( ruleEString ) ; public final void rule__RosSystem__NameAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11057:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11058:2: ( ruleEString ) + // InternalRosSystem.g:12187:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12188:2: ( ruleEString ) { - // InternalRosSystem.g:11058:2: ( ruleEString ) - // InternalRosSystem.g:11059:3: ruleEString + // InternalRosSystem.g:12188:2: ( ruleEString ) + // InternalRosSystem.g:12189:3: ruleEString { before(grammarAccess.getRosSystemAccess().getNameEStringParserRuleCall_4_0()); pushFollow(FOLLOW_2); @@ -33185,17 +36630,17 @@ public final void rule__RosSystem__NameAssignment_4() throws RecognitionExceptio // $ANTLR start "rule__RosSystem__RosComponentAssignment_5_2_0" - // InternalRosSystem.g:11068:1: rule__RosSystem__RosComponentAssignment_5_2_0 : ( ruleComponentInterface ) ; + // InternalRosSystem.g:12198:1: rule__RosSystem__RosComponentAssignment_5_2_0 : ( ruleComponentInterface ) ; public final void rule__RosSystem__RosComponentAssignment_5_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11072:1: ( ( ruleComponentInterface ) ) - // InternalRosSystem.g:11073:2: ( ruleComponentInterface ) + // InternalRosSystem.g:12202:1: ( ( ruleComponentInterface ) ) + // InternalRosSystem.g:12203:2: ( ruleComponentInterface ) { - // InternalRosSystem.g:11073:2: ( ruleComponentInterface ) - // InternalRosSystem.g:11074:3: ruleComponentInterface + // InternalRosSystem.g:12203:2: ( ruleComponentInterface ) + // InternalRosSystem.g:12204:3: ruleComponentInterface { before(grammarAccess.getRosSystemAccess().getRosComponentComponentInterfaceParserRuleCall_5_2_0_0()); pushFollow(FOLLOW_2); @@ -33226,17 +36671,17 @@ public final void rule__RosSystem__RosComponentAssignment_5_2_0() throws Recogni // $ANTLR start "rule__RosSystem__RosComponentAssignment_5_2_1_1" - // InternalRosSystem.g:11083:1: rule__RosSystem__RosComponentAssignment_5_2_1_1 : ( ruleComponentInterface ) ; + // InternalRosSystem.g:12213:1: rule__RosSystem__RosComponentAssignment_5_2_1_1 : ( ruleComponentInterface ) ; public final void rule__RosSystem__RosComponentAssignment_5_2_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11087:1: ( ( ruleComponentInterface ) ) - // InternalRosSystem.g:11088:2: ( ruleComponentInterface ) + // InternalRosSystem.g:12217:1: ( ( ruleComponentInterface ) ) + // InternalRosSystem.g:12218:2: ( ruleComponentInterface ) { - // InternalRosSystem.g:11088:2: ( ruleComponentInterface ) - // InternalRosSystem.g:11089:3: ruleComponentInterface + // InternalRosSystem.g:12218:2: ( ruleComponentInterface ) + // InternalRosSystem.g:12219:3: ruleComponentInterface { before(grammarAccess.getRosSystemAccess().getRosComponentComponentInterfaceParserRuleCall_5_2_1_1_0()); pushFollow(FOLLOW_2); @@ -33266,26 +36711,108 @@ public final void rule__RosSystem__RosComponentAssignment_5_2_1_1() throws Recog // $ANTLR end "rule__RosSystem__RosComponentAssignment_5_2_1_1" - // $ANTLR start "rule__RosSystem__TopicConnectionsAssignment_6_2_0" - // InternalRosSystem.g:11098:1: rule__RosSystem__TopicConnectionsAssignment_6_2_0 : ( ruleTopicConnection ) ; - public final void rule__RosSystem__TopicConnectionsAssignment_6_2_0() throws RecognitionException { + // $ANTLR start "rule__RosSystem__ComponentStackAssignment_6_2_0" + // InternalRosSystem.g:12228:1: rule__RosSystem__ComponentStackAssignment_6_2_0 : ( ruleComponentStack ) ; + public final void rule__RosSystem__ComponentStackAssignment_6_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11102:1: ( ( ruleTopicConnection ) ) - // InternalRosSystem.g:11103:2: ( ruleTopicConnection ) + // InternalRosSystem.g:12232:1: ( ( ruleComponentStack ) ) + // InternalRosSystem.g:12233:2: ( ruleComponentStack ) { - // InternalRosSystem.g:11103:2: ( ruleTopicConnection ) - // InternalRosSystem.g:11104:3: ruleTopicConnection + // InternalRosSystem.g:12233:2: ( ruleComponentStack ) + // InternalRosSystem.g:12234:3: ruleComponentStack { - before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0()); + before(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_0_0()); + pushFollow(FOLLOW_2); + ruleComponentStack(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__ComponentStackAssignment_6_2_0" + + + // $ANTLR start "rule__RosSystem__ComponentStackAssignment_6_2_1_1" + // InternalRosSystem.g:12243:1: rule__RosSystem__ComponentStackAssignment_6_2_1_1 : ( ruleComponentStack ) ; + public final void rule__RosSystem__ComponentStackAssignment_6_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12247:1: ( ( ruleComponentStack ) ) + // InternalRosSystem.g:12248:2: ( ruleComponentStack ) + { + // InternalRosSystem.g:12248:2: ( ruleComponentStack ) + // InternalRosSystem.g:12249:3: ruleComponentStack + { + before(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_1_1_0()); + pushFollow(FOLLOW_2); + ruleComponentStack(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__ComponentStackAssignment_6_2_1_1" + + + // $ANTLR start "rule__RosSystem__TopicConnectionsAssignment_7_2_0" + // InternalRosSystem.g:12258:1: rule__RosSystem__TopicConnectionsAssignment_7_2_0 : ( ruleTopicConnection ) ; + public final void rule__RosSystem__TopicConnectionsAssignment_7_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12262:1: ( ( ruleTopicConnection ) ) + // InternalRosSystem.g:12263:2: ( ruleTopicConnection ) + { + // InternalRosSystem.g:12263:2: ( ruleTopicConnection ) + // InternalRosSystem.g:12264:3: ruleTopicConnection + { + before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0()); pushFollow(FOLLOW_2); ruleTopicConnection(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0()); + after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0()); } @@ -33304,29 +36831,275 @@ public final void rule__RosSystem__TopicConnectionsAssignment_6_2_0() throws Rec } return ; } - // $ANTLR end "rule__RosSystem__TopicConnectionsAssignment_6_2_0" + // $ANTLR end "rule__RosSystem__TopicConnectionsAssignment_7_2_0" - // $ANTLR start "rule__RosSystem__TopicConnectionsAssignment_6_2_1_1" - // InternalRosSystem.g:11113:1: rule__RosSystem__TopicConnectionsAssignment_6_2_1_1 : ( ruleTopicConnection ) ; - public final void rule__RosSystem__TopicConnectionsAssignment_6_2_1_1() throws RecognitionException { + // $ANTLR start "rule__RosSystem__TopicConnectionsAssignment_7_2_1_1" + // InternalRosSystem.g:12273:1: rule__RosSystem__TopicConnectionsAssignment_7_2_1_1 : ( ruleTopicConnection ) ; + public final void rule__RosSystem__TopicConnectionsAssignment_7_2_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11117:1: ( ( ruleTopicConnection ) ) - // InternalRosSystem.g:11118:2: ( ruleTopicConnection ) + // InternalRosSystem.g:12277:1: ( ( ruleTopicConnection ) ) + // InternalRosSystem.g:12278:2: ( ruleTopicConnection ) { - // InternalRosSystem.g:11118:2: ( ruleTopicConnection ) - // InternalRosSystem.g:11119:3: ruleTopicConnection + // InternalRosSystem.g:12278:2: ( ruleTopicConnection ) + // InternalRosSystem.g:12279:3: ruleTopicConnection { - before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0()); + before(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0()); pushFollow(FOLLOW_2); ruleTopicConnection(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0()); + after(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__TopicConnectionsAssignment_7_2_1_1" + + + // $ANTLR start "rule__RosSystem__ServiceConnectionsAssignment_8_2_0" + // InternalRosSystem.g:12288:1: rule__RosSystem__ServiceConnectionsAssignment_8_2_0 : ( ruleServiceConnection ) ; + public final void rule__RosSystem__ServiceConnectionsAssignment_8_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12292:1: ( ( ruleServiceConnection ) ) + // InternalRosSystem.g:12293:2: ( ruleServiceConnection ) + { + // InternalRosSystem.g:12293:2: ( ruleServiceConnection ) + // InternalRosSystem.g:12294:3: ruleServiceConnection + { + before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0()); + pushFollow(FOLLOW_2); + ruleServiceConnection(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__ServiceConnectionsAssignment_8_2_0" + + + // $ANTLR start "rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1" + // InternalRosSystem.g:12303:1: rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1 : ( ruleServiceConnection ) ; + public final void rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12307:1: ( ( ruleServiceConnection ) ) + // InternalRosSystem.g:12308:2: ( ruleServiceConnection ) + { + // InternalRosSystem.g:12308:2: ( ruleServiceConnection ) + // InternalRosSystem.g:12309:3: ruleServiceConnection + { + before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0()); + pushFollow(FOLLOW_2); + ruleServiceConnection(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__ServiceConnectionsAssignment_8_2_1_1" + + + // $ANTLR start "rule__RosSystem__ActionConnectionsAssignment_9_2_0" + // InternalRosSystem.g:12318:1: rule__RosSystem__ActionConnectionsAssignment_9_2_0 : ( ruleActionConnection ) ; + public final void rule__RosSystem__ActionConnectionsAssignment_9_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12322:1: ( ( ruleActionConnection ) ) + // InternalRosSystem.g:12323:2: ( ruleActionConnection ) + { + // InternalRosSystem.g:12323:2: ( ruleActionConnection ) + // InternalRosSystem.g:12324:3: ruleActionConnection + { + before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_0_0()); + pushFollow(FOLLOW_2); + ruleActionConnection(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__ActionConnectionsAssignment_9_2_0" + + + // $ANTLR start "rule__RosSystem__ActionConnectionsAssignment_9_2_1_1" + // InternalRosSystem.g:12333:1: rule__RosSystem__ActionConnectionsAssignment_9_2_1_1 : ( ruleActionConnection ) ; + public final void rule__RosSystem__ActionConnectionsAssignment_9_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12337:1: ( ( ruleActionConnection ) ) + // InternalRosSystem.g:12338:2: ( ruleActionConnection ) + { + // InternalRosSystem.g:12338:2: ( ruleActionConnection ) + // InternalRosSystem.g:12339:3: ruleActionConnection + { + before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0()); + pushFollow(FOLLOW_2); + ruleActionConnection(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__ActionConnectionsAssignment_9_2_1_1" + + + // $ANTLR start "rule__RosSystem__ParameterAssignment_10_2_0" + // InternalRosSystem.g:12348:1: rule__RosSystem__ParameterAssignment_10_2_0 : ( ruleParameter ) ; + public final void rule__RosSystem__ParameterAssignment_10_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12352:1: ( ( ruleParameter ) ) + // InternalRosSystem.g:12353:2: ( ruleParameter ) + { + // InternalRosSystem.g:12353:2: ( ruleParameter ) + // InternalRosSystem.g:12354:3: ruleParameter + { + before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_0_0()); + pushFollow(FOLLOW_2); + ruleParameter(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RosSystem__ParameterAssignment_10_2_0" + + + // $ANTLR start "rule__RosSystem__ParameterAssignment_10_2_1_1" + // InternalRosSystem.g:12363:1: rule__RosSystem__ParameterAssignment_10_2_1_1 : ( ruleParameter ) ; + public final void rule__RosSystem__ParameterAssignment_10_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12367:1: ( ( ruleParameter ) ) + // InternalRosSystem.g:12368:2: ( ruleParameter ) + { + // InternalRosSystem.g:12368:2: ( ruleParameter ) + // InternalRosSystem.g:12369:3: ruleParameter + { + before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_1_1_0()); + pushFollow(FOLLOW_2); + ruleParameter(); + + state._fsp--; + + after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_1_1_0()); } @@ -33345,29 +37118,29 @@ public final void rule__RosSystem__TopicConnectionsAssignment_6_2_1_1() throws R } return ; } - // $ANTLR end "rule__RosSystem__TopicConnectionsAssignment_6_2_1_1" + // $ANTLR end "rule__RosSystem__ParameterAssignment_10_2_1_1" - // $ANTLR start "rule__RosSystem__ServiceConnectionsAssignment_7_2_0" - // InternalRosSystem.g:11128:1: rule__RosSystem__ServiceConnectionsAssignment_7_2_0 : ( ruleServiceConnection ) ; - public final void rule__RosSystem__ServiceConnectionsAssignment_7_2_0() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__TopicNameAssignment_1" + // InternalRosSystem.g:12378:1: rule__TopicConnection__TopicNameAssignment_1 : ( ruleEString ) ; + public final void rule__TopicConnection__TopicNameAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11132:1: ( ( ruleServiceConnection ) ) - // InternalRosSystem.g:11133:2: ( ruleServiceConnection ) + // InternalRosSystem.g:12382:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12383:2: ( ruleEString ) { - // InternalRosSystem.g:11133:2: ( ruleServiceConnection ) - // InternalRosSystem.g:11134:3: ruleServiceConnection + // InternalRosSystem.g:12383:2: ( ruleEString ) + // InternalRosSystem.g:12384:3: ruleEString { - before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0()); + before(grammarAccess.getTopicConnectionAccess().getTopicNameEStringParserRuleCall_1_0()); pushFollow(FOLLOW_2); - ruleServiceConnection(); + ruleEString(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0()); + after(grammarAccess.getTopicConnectionAccess().getTopicNameEStringParserRuleCall_1_0()); } @@ -33386,29 +37159,37 @@ public final void rule__RosSystem__ServiceConnectionsAssignment_7_2_0() throws R } return ; } - // $ANTLR end "rule__RosSystem__ServiceConnectionsAssignment_7_2_0" + // $ANTLR end "rule__TopicConnection__TopicNameAssignment_1" - // $ANTLR start "rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1" - // InternalRosSystem.g:11143:1: rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1 : ( ruleServiceConnection ) ; - public final void rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__FromAssignment_5" + // InternalRosSystem.g:12393:1: rule__TopicConnection__FromAssignment_5 : ( ( ruleEString ) ) ; + public final void rule__TopicConnection__FromAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11147:1: ( ( ruleServiceConnection ) ) - // InternalRosSystem.g:11148:2: ( ruleServiceConnection ) + // InternalRosSystem.g:12397:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12398:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11148:2: ( ruleServiceConnection ) - // InternalRosSystem.g:11149:3: ruleServiceConnection + // InternalRosSystem.g:12398:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12399:3: ( ruleEString ) { - before(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0()); + before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_5_0()); + // InternalRosSystem.g:12400:3: ( ruleEString ) + // InternalRosSystem.g:12401:4: ruleEString + { + before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); - ruleServiceConnection(); + ruleEString(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0()); + after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_5_0_1()); + + } + + after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_5_0()); } @@ -33427,29 +37208,37 @@ public final void rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1() throws } return ; } - // $ANTLR end "rule__RosSystem__ServiceConnectionsAssignment_7_2_1_1" + // $ANTLR end "rule__TopicConnection__FromAssignment_5" - // $ANTLR start "rule__RosSystem__ActionConnectionsAssignment_8_2_0" - // InternalRosSystem.g:11158:1: rule__RosSystem__ActionConnectionsAssignment_8_2_0 : ( ruleActionConnection ) ; - public final void rule__RosSystem__ActionConnectionsAssignment_8_2_0() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__FromAssignment_6_1" + // InternalRosSystem.g:12412:1: rule__TopicConnection__FromAssignment_6_1 : ( ( ruleEString ) ) ; + public final void rule__TopicConnection__FromAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11162:1: ( ( ruleActionConnection ) ) - // InternalRosSystem.g:11163:2: ( ruleActionConnection ) + // InternalRosSystem.g:12416:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12417:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11163:2: ( ruleActionConnection ) - // InternalRosSystem.g:11164:3: ruleActionConnection + // InternalRosSystem.g:12417:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12418:3: ( ruleEString ) { - before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_0_0()); + before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_6_1_0()); + // InternalRosSystem.g:12419:3: ( ruleEString ) + // InternalRosSystem.g:12420:4: ruleEString + { + before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_6_1_0_1()); pushFollow(FOLLOW_2); - ruleActionConnection(); + ruleEString(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_0_0()); + after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_6_1_0_1()); + + } + + after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_6_1_0()); } @@ -33468,29 +37257,37 @@ public final void rule__RosSystem__ActionConnectionsAssignment_8_2_0() throws Re } return ; } - // $ANTLR end "rule__RosSystem__ActionConnectionsAssignment_8_2_0" + // $ANTLR end "rule__TopicConnection__FromAssignment_6_1" - // $ANTLR start "rule__RosSystem__ActionConnectionsAssignment_8_2_1_1" - // InternalRosSystem.g:11173:1: rule__RosSystem__ActionConnectionsAssignment_8_2_1_1 : ( ruleActionConnection ) ; - public final void rule__RosSystem__ActionConnectionsAssignment_8_2_1_1() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__ToAssignment_10" + // InternalRosSystem.g:12431:1: rule__TopicConnection__ToAssignment_10 : ( ( ruleEString ) ) ; + public final void rule__TopicConnection__ToAssignment_10() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11177:1: ( ( ruleActionConnection ) ) - // InternalRosSystem.g:11178:2: ( ruleActionConnection ) + // InternalRosSystem.g:12435:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12436:2: ( ( ruleEString ) ) + { + // InternalRosSystem.g:12436:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12437:3: ( ruleEString ) { - // InternalRosSystem.g:11178:2: ( ruleActionConnection ) - // InternalRosSystem.g:11179:3: ruleActionConnection + before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_10_0()); + // InternalRosSystem.g:12438:3: ( ruleEString ) + // InternalRosSystem.g:12439:4: ruleEString { - before(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0()); + before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_10_0_1()); pushFollow(FOLLOW_2); - ruleActionConnection(); + ruleEString(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0()); + after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_10_0_1()); + + } + + after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_10_0()); } @@ -33509,29 +37306,37 @@ public final void rule__RosSystem__ActionConnectionsAssignment_8_2_1_1() throws } return ; } - // $ANTLR end "rule__RosSystem__ActionConnectionsAssignment_8_2_1_1" + // $ANTLR end "rule__TopicConnection__ToAssignment_10" - // $ANTLR start "rule__RosSystem__ParameterAssignment_9_2_0" - // InternalRosSystem.g:11188:1: rule__RosSystem__ParameterAssignment_9_2_0 : ( ruleParameter ) ; - public final void rule__RosSystem__ParameterAssignment_9_2_0() throws RecognitionException { + // $ANTLR start "rule__TopicConnection__ToAssignment_11_1" + // InternalRosSystem.g:12450:1: rule__TopicConnection__ToAssignment_11_1 : ( ( ruleEString ) ) ; + public final void rule__TopicConnection__ToAssignment_11_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11192:1: ( ( ruleParameter ) ) - // InternalRosSystem.g:11193:2: ( ruleParameter ) + // InternalRosSystem.g:12454:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12455:2: ( ( ruleEString ) ) + { + // InternalRosSystem.g:12455:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12456:3: ( ruleEString ) { - // InternalRosSystem.g:11193:2: ( ruleParameter ) - // InternalRosSystem.g:11194:3: ruleParameter + before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_11_1_0()); + // InternalRosSystem.g:12457:3: ( ruleEString ) + // InternalRosSystem.g:12458:4: ruleEString { - before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_0_0()); + before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_11_1_0_1()); pushFollow(FOLLOW_2); - ruleParameter(); + ruleEString(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_0_0()); + after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_11_1_0_1()); + + } + + after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_11_1_0()); } @@ -33550,29 +37355,29 @@ public final void rule__RosSystem__ParameterAssignment_9_2_0() throws Recognitio } return ; } - // $ANTLR end "rule__RosSystem__ParameterAssignment_9_2_0" + // $ANTLR end "rule__TopicConnection__ToAssignment_11_1" - // $ANTLR start "rule__RosSystem__ParameterAssignment_9_2_1_1" - // InternalRosSystem.g:11203:1: rule__RosSystem__ParameterAssignment_9_2_1_1 : ( ruleParameter ) ; - public final void rule__RosSystem__ParameterAssignment_9_2_1_1() throws RecognitionException { + // $ANTLR start "rule__ServiceConnection__ServiceNameAssignment_1" + // InternalRosSystem.g:12469:1: rule__ServiceConnection__ServiceNameAssignment_1 : ( ruleEString ) ; + public final void rule__ServiceConnection__ServiceNameAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11207:1: ( ( ruleParameter ) ) - // InternalRosSystem.g:11208:2: ( ruleParameter ) + // InternalRosSystem.g:12473:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12474:2: ( ruleEString ) { - // InternalRosSystem.g:11208:2: ( ruleParameter ) - // InternalRosSystem.g:11209:3: ruleParameter + // InternalRosSystem.g:12474:2: ( ruleEString ) + // InternalRosSystem.g:12475:3: ruleEString { - before(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_1_1_0()); + before(grammarAccess.getServiceConnectionAccess().getServiceNameEStringParserRuleCall_1_0()); pushFollow(FOLLOW_2); - ruleParameter(); + ruleEString(); state._fsp--; - after(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_1_1_0()); + after(grammarAccess.getServiceConnectionAccess().getServiceNameEStringParserRuleCall_1_0()); } @@ -33591,29 +37396,37 @@ public final void rule__RosSystem__ParameterAssignment_9_2_1_1() throws Recognit } return ; } - // $ANTLR end "rule__RosSystem__ParameterAssignment_9_2_1_1" + // $ANTLR end "rule__ServiceConnection__ServiceNameAssignment_1" - // $ANTLR start "rule__TopicConnection__TopicNameAssignment_1" - // InternalRosSystem.g:11218:1: rule__TopicConnection__TopicNameAssignment_1 : ( ruleEString ) ; - public final void rule__TopicConnection__TopicNameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ServiceConnection__FromAssignment_5" + // InternalRosSystem.g:12484:1: rule__ServiceConnection__FromAssignment_5 : ( ( ruleEString ) ) ; + public final void rule__ServiceConnection__FromAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11222:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11223:2: ( ruleEString ) + // InternalRosSystem.g:12488:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12489:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11223:2: ( ruleEString ) - // InternalRosSystem.g:11224:3: ruleEString + // InternalRosSystem.g:12489:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12490:3: ( ruleEString ) { - before(grammarAccess.getTopicConnectionAccess().getTopicNameEStringParserRuleCall_1_0()); + before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_5_0()); + // InternalRosSystem.g:12491:3: ( ruleEString ) + // InternalRosSystem.g:12492:4: ruleEString + { + before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getTopicConnectionAccess().getTopicNameEStringParserRuleCall_1_0()); + after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_5_0_1()); + + } + + after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_5_0()); } @@ -33632,37 +37445,37 @@ public final void rule__TopicConnection__TopicNameAssignment_1() throws Recognit } return ; } - // $ANTLR end "rule__TopicConnection__TopicNameAssignment_1" + // $ANTLR end "rule__ServiceConnection__FromAssignment_5" - // $ANTLR start "rule__TopicConnection__FromAssignment_5" - // InternalRosSystem.g:11233:1: rule__TopicConnection__FromAssignment_5 : ( ( ruleEString ) ) ; - public final void rule__TopicConnection__FromAssignment_5() throws RecognitionException { + // $ANTLR start "rule__ServiceConnection__FromAssignment_6_1" + // InternalRosSystem.g:12503:1: rule__ServiceConnection__FromAssignment_6_1 : ( ( ruleEString ) ) ; + public final void rule__ServiceConnection__FromAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11237:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11238:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12507:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12508:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11238:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11239:3: ( ruleEString ) + // InternalRosSystem.g:12508:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12509:3: ( ruleEString ) { - before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_5_0()); - // InternalRosSystem.g:11240:3: ( ruleEString ) - // InternalRosSystem.g:11241:4: ruleEString + before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_6_1_0()); + // InternalRosSystem.g:12510:3: ( ruleEString ) + // InternalRosSystem.g:12511:4: ruleEString { - before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_5_0_1()); + before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_6_1_0_1()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_5_0_1()); + after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_6_1_0_1()); } - after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_5_0()); + after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_6_1_0()); } @@ -33681,37 +37494,37 @@ public final void rule__TopicConnection__FromAssignment_5() throws RecognitionEx } return ; } - // $ANTLR end "rule__TopicConnection__FromAssignment_5" + // $ANTLR end "rule__ServiceConnection__FromAssignment_6_1" - // $ANTLR start "rule__TopicConnection__FromAssignment_6_1" - // InternalRosSystem.g:11252:1: rule__TopicConnection__FromAssignment_6_1 : ( ( ruleEString ) ) ; - public final void rule__TopicConnection__FromAssignment_6_1() throws RecognitionException { + // $ANTLR start "rule__ServiceConnection__ToAssignment_9" + // InternalRosSystem.g:12522:1: rule__ServiceConnection__ToAssignment_9 : ( ( ruleEString ) ) ; + public final void rule__ServiceConnection__ToAssignment_9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11256:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11257:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12526:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12527:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11257:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11258:3: ( ruleEString ) + // InternalRosSystem.g:12527:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12528:3: ( ruleEString ) { - before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_6_1_0()); - // InternalRosSystem.g:11259:3: ( ruleEString ) - // InternalRosSystem.g:11260:4: ruleEString + before(grammarAccess.getServiceConnectionAccess().getToRosServiceClientCrossReference_9_0()); + // InternalRosSystem.g:12529:3: ( ruleEString ) + // InternalRosSystem.g:12530:4: ruleEString { - before(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_6_1_0_1()); + before(grammarAccess.getServiceConnectionAccess().getToRosServiceClientEStringParserRuleCall_9_0_1()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherEStringParserRuleCall_6_1_0_1()); + after(grammarAccess.getServiceConnectionAccess().getToRosServiceClientEStringParserRuleCall_9_0_1()); } - after(grammarAccess.getTopicConnectionAccess().getFromRosPublisherCrossReference_6_1_0()); + after(grammarAccess.getServiceConnectionAccess().getToRosServiceClientCrossReference_9_0()); } @@ -33730,37 +37543,29 @@ public final void rule__TopicConnection__FromAssignment_6_1() throws Recognition } return ; } - // $ANTLR end "rule__TopicConnection__FromAssignment_6_1" + // $ANTLR end "rule__ServiceConnection__ToAssignment_9" - // $ANTLR start "rule__TopicConnection__ToAssignment_10" - // InternalRosSystem.g:11271:1: rule__TopicConnection__ToAssignment_10 : ( ( ruleEString ) ) ; - public final void rule__TopicConnection__ToAssignment_10() throws RecognitionException { + // $ANTLR start "rule__ActionConnection__ActionNameAssignment_1" + // InternalRosSystem.g:12541:1: rule__ActionConnection__ActionNameAssignment_1 : ( ruleEString ) ; + public final void rule__ActionConnection__ActionNameAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11275:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11276:2: ( ( ruleEString ) ) - { - // InternalRosSystem.g:11276:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11277:3: ( ruleEString ) + // InternalRosSystem.g:12545:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12546:2: ( ruleEString ) { - before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_10_0()); - // InternalRosSystem.g:11278:3: ( ruleEString ) - // InternalRosSystem.g:11279:4: ruleEString + // InternalRosSystem.g:12546:2: ( ruleEString ) + // InternalRosSystem.g:12547:3: ruleEString { - before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_10_0_1()); + before(grammarAccess.getActionConnectionAccess().getActionNameEStringParserRuleCall_1_0()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_10_0_1()); - - } - - after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_10_0()); + after(grammarAccess.getActionConnectionAccess().getActionNameEStringParserRuleCall_1_0()); } @@ -33779,37 +37584,37 @@ public final void rule__TopicConnection__ToAssignment_10() throws RecognitionExc } return ; } - // $ANTLR end "rule__TopicConnection__ToAssignment_10" + // $ANTLR end "rule__ActionConnection__ActionNameAssignment_1" - // $ANTLR start "rule__TopicConnection__ToAssignment_11_1" - // InternalRosSystem.g:11290:1: rule__TopicConnection__ToAssignment_11_1 : ( ( ruleEString ) ) ; - public final void rule__TopicConnection__ToAssignment_11_1() throws RecognitionException { + // $ANTLR start "rule__ActionConnection__FromAssignment_4" + // InternalRosSystem.g:12556:1: rule__ActionConnection__FromAssignment_4 : ( ( ruleEString ) ) ; + public final void rule__ActionConnection__FromAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11294:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11295:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12560:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12561:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11295:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11296:3: ( ruleEString ) + // InternalRosSystem.g:12561:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12562:3: ( ruleEString ) { - before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_11_1_0()); - // InternalRosSystem.g:11297:3: ( ruleEString ) - // InternalRosSystem.g:11298:4: ruleEString + before(grammarAccess.getActionConnectionAccess().getFromRosActionServerCrossReference_4_0()); + // InternalRosSystem.g:12563:3: ( ruleEString ) + // InternalRosSystem.g:12564:4: ruleEString { - before(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_11_1_0_1()); + before(grammarAccess.getActionConnectionAccess().getFromRosActionServerEStringParserRuleCall_4_0_1()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberEStringParserRuleCall_11_1_0_1()); + after(grammarAccess.getActionConnectionAccess().getFromRosActionServerEStringParserRuleCall_4_0_1()); } - after(grammarAccess.getTopicConnectionAccess().getToRosSubscriberCrossReference_11_1_0()); + after(grammarAccess.getActionConnectionAccess().getFromRosActionServerCrossReference_4_0()); } @@ -33828,29 +37633,37 @@ public final void rule__TopicConnection__ToAssignment_11_1() throws RecognitionE } return ; } - // $ANTLR end "rule__TopicConnection__ToAssignment_11_1" + // $ANTLR end "rule__ActionConnection__FromAssignment_4" - // $ANTLR start "rule__ServiceConnection__ServiceNameAssignment_1" - // InternalRosSystem.g:11309:1: rule__ServiceConnection__ServiceNameAssignment_1 : ( ruleEString ) ; - public final void rule__ServiceConnection__ServiceNameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ActionConnection__ToAssignment_6" + // InternalRosSystem.g:12575:1: rule__ActionConnection__ToAssignment_6 : ( ( ruleEString ) ) ; + public final void rule__ActionConnection__ToAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11313:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11314:2: ( ruleEString ) + // InternalRosSystem.g:12579:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12580:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11314:2: ( ruleEString ) - // InternalRosSystem.g:11315:3: ruleEString + // InternalRosSystem.g:12580:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12581:3: ( ruleEString ) { - before(grammarAccess.getServiceConnectionAccess().getServiceNameEStringParserRuleCall_1_0()); + before(grammarAccess.getActionConnectionAccess().getToRosActionClientCrossReference_6_0()); + // InternalRosSystem.g:12582:3: ( ruleEString ) + // InternalRosSystem.g:12583:4: ruleEString + { + before(grammarAccess.getActionConnectionAccess().getToRosActionClientEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getServiceConnectionAccess().getServiceNameEStringParserRuleCall_1_0()); + after(grammarAccess.getActionConnectionAccess().getToRosActionClientEStringParserRuleCall_6_0_1()); + + } + + after(grammarAccess.getActionConnectionAccess().getToRosActionClientCrossReference_6_0()); } @@ -33869,37 +37682,29 @@ public final void rule__ServiceConnection__ServiceNameAssignment_1() throws Reco } return ; } - // $ANTLR end "rule__ServiceConnection__ServiceNameAssignment_1" + // $ANTLR end "rule__ActionConnection__ToAssignment_6" - // $ANTLR start "rule__ServiceConnection__FromAssignment_5" - // InternalRosSystem.g:11324:1: rule__ServiceConnection__FromAssignment_5 : ( ( ruleEString ) ) ; - public final void rule__ServiceConnection__FromAssignment_5() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__NameAssignment_3" + // InternalRosSystem.g:12594:1: rule__ComponentStack__NameAssignment_3 : ( ruleEString ) ; + public final void rule__ComponentStack__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11328:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11329:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12598:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12599:2: ( ruleEString ) { - // InternalRosSystem.g:11329:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11330:3: ( ruleEString ) + // InternalRosSystem.g:12599:2: ( ruleEString ) + // InternalRosSystem.g:12600:3: ruleEString { - before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_5_0()); - // InternalRosSystem.g:11331:3: ( ruleEString ) - // InternalRosSystem.g:11332:4: ruleEString - { - before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_5_0_1()); + before(grammarAccess.getComponentStackAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_5_0_1()); - - } - - after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_5_0()); + after(grammarAccess.getComponentStackAccess().getNameEStringParserRuleCall_3_0()); } @@ -33918,37 +37723,29 @@ public final void rule__ServiceConnection__FromAssignment_5() throws Recognition } return ; } - // $ANTLR end "rule__ServiceConnection__FromAssignment_5" + // $ANTLR end "rule__ComponentStack__NameAssignment_3" - // $ANTLR start "rule__ServiceConnection__FromAssignment_6_1" - // InternalRosSystem.g:11343:1: rule__ServiceConnection__FromAssignment_6_1 : ( ( ruleEString ) ) ; - public final void rule__ServiceConnection__FromAssignment_6_1() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__RosComponentAssignment_4_2_0" + // InternalRosSystem.g:12609:1: rule__ComponentStack__RosComponentAssignment_4_2_0 : ( ruleComponentInterface ) ; + public final void rule__ComponentStack__RosComponentAssignment_4_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11347:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11348:2: ( ( ruleEString ) ) - { - // InternalRosSystem.g:11348:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11349:3: ( ruleEString ) + // InternalRosSystem.g:12613:1: ( ( ruleComponentInterface ) ) + // InternalRosSystem.g:12614:2: ( ruleComponentInterface ) { - before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_6_1_0()); - // InternalRosSystem.g:11350:3: ( ruleEString ) - // InternalRosSystem.g:11351:4: ruleEString + // InternalRosSystem.g:12614:2: ( ruleComponentInterface ) + // InternalRosSystem.g:12615:3: ruleComponentInterface { - before(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_6_1_0_1()); + before(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_0_0()); pushFollow(FOLLOW_2); - ruleEString(); + ruleComponentInterface(); state._fsp--; - after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerEStringParserRuleCall_6_1_0_1()); - - } - - after(grammarAccess.getServiceConnectionAccess().getFromRosServiceServerCrossReference_6_1_0()); + after(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_0_0()); } @@ -33967,37 +37764,70 @@ public final void rule__ServiceConnection__FromAssignment_6_1() throws Recogniti } return ; } - // $ANTLR end "rule__ServiceConnection__FromAssignment_6_1" + // $ANTLR end "rule__ComponentStack__RosComponentAssignment_4_2_0" - // $ANTLR start "rule__ServiceConnection__ToAssignment_9" - // InternalRosSystem.g:11362:1: rule__ServiceConnection__ToAssignment_9 : ( ( ruleEString ) ) ; - public final void rule__ServiceConnection__ToAssignment_9() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__RosComponentAssignment_4_2_1_1" + // InternalRosSystem.g:12624:1: rule__ComponentStack__RosComponentAssignment_4_2_1_1 : ( ruleComponentInterface ) ; + public final void rule__ComponentStack__RosComponentAssignment_4_2_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11366:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11367:2: ( ( ruleEString ) ) - { - // InternalRosSystem.g:11367:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11368:3: ( ruleEString ) + // InternalRosSystem.g:12628:1: ( ( ruleComponentInterface ) ) + // InternalRosSystem.g:12629:2: ( ruleComponentInterface ) { - before(grammarAccess.getServiceConnectionAccess().getToRosServiceClientCrossReference_9_0()); - // InternalRosSystem.g:11369:3: ( ruleEString ) - // InternalRosSystem.g:11370:4: ruleEString + // InternalRosSystem.g:12629:2: ( ruleComponentInterface ) + // InternalRosSystem.g:12630:3: ruleComponentInterface { - before(grammarAccess.getServiceConnectionAccess().getToRosServiceClientEStringParserRuleCall_9_0_1()); + before(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0()); pushFollow(FOLLOW_2); - ruleEString(); + ruleComponentInterface(); state._fsp--; - after(grammarAccess.getServiceConnectionAccess().getToRosServiceClientEStringParserRuleCall_9_0_1()); + after(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0()); } - after(grammarAccess.getServiceConnectionAccess().getToRosServiceClientCrossReference_9_0()); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentStack__RosComponentAssignment_4_2_1_1" + + + // $ANTLR start "rule__ComponentStack__QualityAttributeAssignment_5_2_0" + // InternalRosSystem.g:12639:1: rule__ComponentStack__QualityAttributeAssignment_5_2_0 : ( ruleQualityAttribute ) ; + public final void rule__ComponentStack__QualityAttributeAssignment_5_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12643:1: ( ( ruleQualityAttribute ) ) + // InternalRosSystem.g:12644:2: ( ruleQualityAttribute ) + { + // InternalRosSystem.g:12644:2: ( ruleQualityAttribute ) + // InternalRosSystem.g:12645:3: ruleQualityAttribute + { + before(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_0_0()); + pushFollow(FOLLOW_2); + ruleQualityAttribute(); + + state._fsp--; + + after(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_0_0()); } @@ -34016,29 +37846,29 @@ public final void rule__ServiceConnection__ToAssignment_9() throws RecognitionEx } return ; } - // $ANTLR end "rule__ServiceConnection__ToAssignment_9" + // $ANTLR end "rule__ComponentStack__QualityAttributeAssignment_5_2_0" - // $ANTLR start "rule__ActionConnection__ActionNameAssignment_1" - // InternalRosSystem.g:11381:1: rule__ActionConnection__ActionNameAssignment_1 : ( ruleEString ) ; - public final void rule__ActionConnection__ActionNameAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ComponentStack__QualityAttributeAssignment_5_2_1_1" + // InternalRosSystem.g:12654:1: rule__ComponentStack__QualityAttributeAssignment_5_2_1_1 : ( ruleQualityAttribute ) ; + public final void rule__ComponentStack__QualityAttributeAssignment_5_2_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11385:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11386:2: ( ruleEString ) + // InternalRosSystem.g:12658:1: ( ( ruleQualityAttribute ) ) + // InternalRosSystem.g:12659:2: ( ruleQualityAttribute ) { - // InternalRosSystem.g:11386:2: ( ruleEString ) - // InternalRosSystem.g:11387:3: ruleEString + // InternalRosSystem.g:12659:2: ( ruleQualityAttribute ) + // InternalRosSystem.g:12660:3: ruleQualityAttribute { - before(grammarAccess.getActionConnectionAccess().getActionNameEStringParserRuleCall_1_0()); + before(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0()); pushFollow(FOLLOW_2); - ruleEString(); + ruleQualityAttribute(); state._fsp--; - after(grammarAccess.getActionConnectionAccess().getActionNameEStringParserRuleCall_1_0()); + after(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0()); } @@ -34057,37 +37887,29 @@ public final void rule__ActionConnection__ActionNameAssignment_1() throws Recogn } return ; } - // $ANTLR end "rule__ActionConnection__ActionNameAssignment_1" + // $ANTLR end "rule__ComponentStack__QualityAttributeAssignment_5_2_1_1" - // $ANTLR start "rule__ActionConnection__FromAssignment_4" - // InternalRosSystem.g:11396:1: rule__ActionConnection__FromAssignment_4 : ( ( ruleEString ) ) ; - public final void rule__ActionConnection__FromAssignment_4() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__NameAssignment_1" + // InternalRosSystem.g:12669:1: rule__QualityAttribute__NameAssignment_1 : ( ruleEString ) ; + public final void rule__QualityAttribute__NameAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11400:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11401:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12673:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12674:2: ( ruleEString ) { - // InternalRosSystem.g:11401:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11402:3: ( ruleEString ) + // InternalRosSystem.g:12674:2: ( ruleEString ) + // InternalRosSystem.g:12675:3: ruleEString { - before(grammarAccess.getActionConnectionAccess().getFromRosActionServerCrossReference_4_0()); - // InternalRosSystem.g:11403:3: ( ruleEString ) - // InternalRosSystem.g:11404:4: ruleEString - { - before(grammarAccess.getActionConnectionAccess().getFromRosActionServerEStringParserRuleCall_4_0_1()); + before(grammarAccess.getQualityAttributeAccess().getNameEStringParserRuleCall_1_0()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getActionConnectionAccess().getFromRosActionServerEStringParserRuleCall_4_0_1()); - - } - - after(grammarAccess.getActionConnectionAccess().getFromRosActionServerCrossReference_4_0()); + after(grammarAccess.getQualityAttributeAccess().getNameEStringParserRuleCall_1_0()); } @@ -34106,37 +37928,70 @@ public final void rule__ActionConnection__FromAssignment_4() throws RecognitionE } return ; } - // $ANTLR end "rule__ActionConnection__FromAssignment_4" + // $ANTLR end "rule__QualityAttribute__NameAssignment_1" - // $ANTLR start "rule__ActionConnection__ToAssignment_6" - // InternalRosSystem.g:11415:1: rule__ActionConnection__ToAssignment_6 : ( ( ruleEString ) ) ; - public final void rule__ActionConnection__ToAssignment_6() throws RecognitionException { + // $ANTLR start "rule__QualityAttribute__TypeAssignment_2_1" + // InternalRosSystem.g:12684:1: rule__QualityAttribute__TypeAssignment_2_1 : ( ruleParameterType ) ; + public final void rule__QualityAttribute__TypeAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11419:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11420:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12688:1: ( ( ruleParameterType ) ) + // InternalRosSystem.g:12689:2: ( ruleParameterType ) { - // InternalRosSystem.g:11420:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11421:3: ( ruleEString ) - { - before(grammarAccess.getActionConnectionAccess().getToRosActionClientCrossReference_6_0()); - // InternalRosSystem.g:11422:3: ( ruleEString ) - // InternalRosSystem.g:11423:4: ruleEString + // InternalRosSystem.g:12689:2: ( ruleParameterType ) + // InternalRosSystem.g:12690:3: ruleParameterType { - before(grammarAccess.getActionConnectionAccess().getToRosActionClientEStringParserRuleCall_6_0_1()); + before(grammarAccess.getQualityAttributeAccess().getTypeParameterTypeParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); - ruleEString(); + ruleParameterType(); state._fsp--; - after(grammarAccess.getActionConnectionAccess().getToRosActionClientEStringParserRuleCall_6_0_1()); + after(grammarAccess.getQualityAttributeAccess().getTypeParameterTypeParserRuleCall_2_1_0()); } - after(grammarAccess.getActionConnectionAccess().getToRosActionClientCrossReference_6_0()); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualityAttribute__TypeAssignment_2_1" + + + // $ANTLR start "rule__QualityAttribute__ValueAssignment_3_1" + // InternalRosSystem.g:12699:1: rule__QualityAttribute__ValueAssignment_3_1 : ( ruleParameterValue ) ; + public final void rule__QualityAttribute__ValueAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRosSystem.g:12703:1: ( ( ruleParameterValue ) ) + // InternalRosSystem.g:12704:2: ( ruleParameterValue ) + { + // InternalRosSystem.g:12704:2: ( ruleParameterValue ) + // InternalRosSystem.g:12705:3: ruleParameterValue + { + before(grammarAccess.getQualityAttributeAccess().getValueParameterValueParserRuleCall_3_1_0()); + pushFollow(FOLLOW_2); + ruleParameterValue(); + + state._fsp--; + + after(grammarAccess.getQualityAttributeAccess().getValueParameterValueParserRuleCall_3_1_0()); } @@ -34155,21 +38010,21 @@ public final void rule__ActionConnection__ToAssignment_6() throws RecognitionExc } return ; } - // $ANTLR end "rule__ActionConnection__ToAssignment_6" + // $ANTLR end "rule__QualityAttribute__ValueAssignment_3_1" // $ANTLR start "rule__ComponentInterface__NameAssignment_3" - // InternalRosSystem.g:11434:1: rule__ComponentInterface__NameAssignment_3 : ( ruleEString ) ; + // InternalRosSystem.g:12714:1: rule__ComponentInterface__NameAssignment_3 : ( ruleEString ) ; public final void rule__ComponentInterface__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11438:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11439:2: ( ruleEString ) + // InternalRosSystem.g:12718:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12719:2: ( ruleEString ) { - // InternalRosSystem.g:11439:2: ( ruleEString ) - // InternalRosSystem.g:11440:3: ruleEString + // InternalRosSystem.g:12719:2: ( ruleEString ) + // InternalRosSystem.g:12720:3: ruleEString { before(grammarAccess.getComponentInterfaceAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -34200,17 +38055,17 @@ public final void rule__ComponentInterface__NameAssignment_3() throws Recognitio // $ANTLR start "rule__ComponentInterface__NameSpaceAssignment_4_1" - // InternalRosSystem.g:11449:1: rule__ComponentInterface__NameSpaceAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:12729:1: rule__ComponentInterface__NameSpaceAssignment_4_1 : ( ruleEString ) ; public final void rule__ComponentInterface__NameSpaceAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11453:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11454:2: ( ruleEString ) + // InternalRosSystem.g:12733:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12734:2: ( ruleEString ) { - // InternalRosSystem.g:11454:2: ( ruleEString ) - // InternalRosSystem.g:11455:3: ruleEString + // InternalRosSystem.g:12734:2: ( ruleEString ) + // InternalRosSystem.g:12735:3: ruleEString { before(grammarAccess.getComponentInterfaceAccess().getNameSpaceEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -34241,21 +38096,21 @@ public final void rule__ComponentInterface__NameSpaceAssignment_4_1() throws Rec // $ANTLR start "rule__ComponentInterface__FromRosNodeAssignment_5_1" - // InternalRosSystem.g:11464:1: rule__ComponentInterface__FromRosNodeAssignment_5_1 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:12744:1: rule__ComponentInterface__FromRosNodeAssignment_5_1 : ( ( ruleEString ) ) ; public final void rule__ComponentInterface__FromRosNodeAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11468:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11469:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12748:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:12749:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11469:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11470:3: ( ruleEString ) + // InternalRosSystem.g:12749:2: ( ( ruleEString ) ) + // InternalRosSystem.g:12750:3: ( ruleEString ) { before(grammarAccess.getComponentInterfaceAccess().getFromRosNodeNodeCrossReference_5_1_0()); - // InternalRosSystem.g:11471:3: ( ruleEString ) - // InternalRosSystem.g:11472:4: ruleEString + // InternalRosSystem.g:12751:3: ( ruleEString ) + // InternalRosSystem.g:12752:4: ruleEString { before(grammarAccess.getComponentInterfaceAccess().getFromRosNodeNodeEStringParserRuleCall_5_1_0_1()); pushFollow(FOLLOW_2); @@ -34290,17 +38145,17 @@ public final void rule__ComponentInterface__FromRosNodeAssignment_5_1() throws R // $ANTLR start "rule__ComponentInterface__RospublisherAssignment_6_2" - // InternalRosSystem.g:11483:1: rule__ComponentInterface__RospublisherAssignment_6_2 : ( ruleRosPublisher ) ; + // InternalRosSystem.g:12763:1: rule__ComponentInterface__RospublisherAssignment_6_2 : ( ruleRosPublisher ) ; public final void rule__ComponentInterface__RospublisherAssignment_6_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11487:1: ( ( ruleRosPublisher ) ) - // InternalRosSystem.g:11488:2: ( ruleRosPublisher ) + // InternalRosSystem.g:12767:1: ( ( ruleRosPublisher ) ) + // InternalRosSystem.g:12768:2: ( ruleRosPublisher ) { - // InternalRosSystem.g:11488:2: ( ruleRosPublisher ) - // InternalRosSystem.g:11489:3: ruleRosPublisher + // InternalRosSystem.g:12768:2: ( ruleRosPublisher ) + // InternalRosSystem.g:12769:3: ruleRosPublisher { before(grammarAccess.getComponentInterfaceAccess().getRospublisherRosPublisherParserRuleCall_6_2_0()); pushFollow(FOLLOW_2); @@ -34331,17 +38186,17 @@ public final void rule__ComponentInterface__RospublisherAssignment_6_2() throws // $ANTLR start "rule__ComponentInterface__RospublisherAssignment_6_3_1" - // InternalRosSystem.g:11498:1: rule__ComponentInterface__RospublisherAssignment_6_3_1 : ( ruleRosPublisher ) ; + // InternalRosSystem.g:12778:1: rule__ComponentInterface__RospublisherAssignment_6_3_1 : ( ruleRosPublisher ) ; public final void rule__ComponentInterface__RospublisherAssignment_6_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11502:1: ( ( ruleRosPublisher ) ) - // InternalRosSystem.g:11503:2: ( ruleRosPublisher ) + // InternalRosSystem.g:12782:1: ( ( ruleRosPublisher ) ) + // InternalRosSystem.g:12783:2: ( ruleRosPublisher ) { - // InternalRosSystem.g:11503:2: ( ruleRosPublisher ) - // InternalRosSystem.g:11504:3: ruleRosPublisher + // InternalRosSystem.g:12783:2: ( ruleRosPublisher ) + // InternalRosSystem.g:12784:3: ruleRosPublisher { before(grammarAccess.getComponentInterfaceAccess().getRospublisherRosPublisherParserRuleCall_6_3_1_0()); pushFollow(FOLLOW_2); @@ -34372,17 +38227,17 @@ public final void rule__ComponentInterface__RospublisherAssignment_6_3_1() throw // $ANTLR start "rule__ComponentInterface__RossubscriberAssignment_7_2" - // InternalRosSystem.g:11513:1: rule__ComponentInterface__RossubscriberAssignment_7_2 : ( ruleRosSubscriber ) ; + // InternalRosSystem.g:12793:1: rule__ComponentInterface__RossubscriberAssignment_7_2 : ( ruleRosSubscriber ) ; public final void rule__ComponentInterface__RossubscriberAssignment_7_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11517:1: ( ( ruleRosSubscriber ) ) - // InternalRosSystem.g:11518:2: ( ruleRosSubscriber ) + // InternalRosSystem.g:12797:1: ( ( ruleRosSubscriber ) ) + // InternalRosSystem.g:12798:2: ( ruleRosSubscriber ) { - // InternalRosSystem.g:11518:2: ( ruleRosSubscriber ) - // InternalRosSystem.g:11519:3: ruleRosSubscriber + // InternalRosSystem.g:12798:2: ( ruleRosSubscriber ) + // InternalRosSystem.g:12799:3: ruleRosSubscriber { before(grammarAccess.getComponentInterfaceAccess().getRossubscriberRosSubscriberParserRuleCall_7_2_0()); pushFollow(FOLLOW_2); @@ -34413,17 +38268,17 @@ public final void rule__ComponentInterface__RossubscriberAssignment_7_2() throws // $ANTLR start "rule__ComponentInterface__RossubscriberAssignment_7_3_1" - // InternalRosSystem.g:11528:1: rule__ComponentInterface__RossubscriberAssignment_7_3_1 : ( ruleRosSubscriber ) ; + // InternalRosSystem.g:12808:1: rule__ComponentInterface__RossubscriberAssignment_7_3_1 : ( ruleRosSubscriber ) ; public final void rule__ComponentInterface__RossubscriberAssignment_7_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11532:1: ( ( ruleRosSubscriber ) ) - // InternalRosSystem.g:11533:2: ( ruleRosSubscriber ) + // InternalRosSystem.g:12812:1: ( ( ruleRosSubscriber ) ) + // InternalRosSystem.g:12813:2: ( ruleRosSubscriber ) { - // InternalRosSystem.g:11533:2: ( ruleRosSubscriber ) - // InternalRosSystem.g:11534:3: ruleRosSubscriber + // InternalRosSystem.g:12813:2: ( ruleRosSubscriber ) + // InternalRosSystem.g:12814:3: ruleRosSubscriber { before(grammarAccess.getComponentInterfaceAccess().getRossubscriberRosSubscriberParserRuleCall_7_3_1_0()); pushFollow(FOLLOW_2); @@ -34454,17 +38309,17 @@ public final void rule__ComponentInterface__RossubscriberAssignment_7_3_1() thro // $ANTLR start "rule__ComponentInterface__RosserviceserverAssignment_8_2" - // InternalRosSystem.g:11543:1: rule__ComponentInterface__RosserviceserverAssignment_8_2 : ( ruleRosServiceServer ) ; + // InternalRosSystem.g:12823:1: rule__ComponentInterface__RosserviceserverAssignment_8_2 : ( ruleRosServiceServer ) ; public final void rule__ComponentInterface__RosserviceserverAssignment_8_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11547:1: ( ( ruleRosServiceServer ) ) - // InternalRosSystem.g:11548:2: ( ruleRosServiceServer ) + // InternalRosSystem.g:12827:1: ( ( ruleRosServiceServer ) ) + // InternalRosSystem.g:12828:2: ( ruleRosServiceServer ) { - // InternalRosSystem.g:11548:2: ( ruleRosServiceServer ) - // InternalRosSystem.g:11549:3: ruleRosServiceServer + // InternalRosSystem.g:12828:2: ( ruleRosServiceServer ) + // InternalRosSystem.g:12829:3: ruleRosServiceServer { before(grammarAccess.getComponentInterfaceAccess().getRosserviceserverRosServiceServerParserRuleCall_8_2_0()); pushFollow(FOLLOW_2); @@ -34495,17 +38350,17 @@ public final void rule__ComponentInterface__RosserviceserverAssignment_8_2() thr // $ANTLR start "rule__ComponentInterface__RosserviceserverAssignment_8_3_1" - // InternalRosSystem.g:11558:1: rule__ComponentInterface__RosserviceserverAssignment_8_3_1 : ( ruleRosServiceServer ) ; + // InternalRosSystem.g:12838:1: rule__ComponentInterface__RosserviceserverAssignment_8_3_1 : ( ruleRosServiceServer ) ; public final void rule__ComponentInterface__RosserviceserverAssignment_8_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11562:1: ( ( ruleRosServiceServer ) ) - // InternalRosSystem.g:11563:2: ( ruleRosServiceServer ) + // InternalRosSystem.g:12842:1: ( ( ruleRosServiceServer ) ) + // InternalRosSystem.g:12843:2: ( ruleRosServiceServer ) { - // InternalRosSystem.g:11563:2: ( ruleRosServiceServer ) - // InternalRosSystem.g:11564:3: ruleRosServiceServer + // InternalRosSystem.g:12843:2: ( ruleRosServiceServer ) + // InternalRosSystem.g:12844:3: ruleRosServiceServer { before(grammarAccess.getComponentInterfaceAccess().getRosserviceserverRosServiceServerParserRuleCall_8_3_1_0()); pushFollow(FOLLOW_2); @@ -34536,17 +38391,17 @@ public final void rule__ComponentInterface__RosserviceserverAssignment_8_3_1() t // $ANTLR start "rule__ComponentInterface__RosserviceclientAssignment_9_2" - // InternalRosSystem.g:11573:1: rule__ComponentInterface__RosserviceclientAssignment_9_2 : ( ruleRosServiceClient ) ; + // InternalRosSystem.g:12853:1: rule__ComponentInterface__RosserviceclientAssignment_9_2 : ( ruleRosServiceClient ) ; public final void rule__ComponentInterface__RosserviceclientAssignment_9_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11577:1: ( ( ruleRosServiceClient ) ) - // InternalRosSystem.g:11578:2: ( ruleRosServiceClient ) + // InternalRosSystem.g:12857:1: ( ( ruleRosServiceClient ) ) + // InternalRosSystem.g:12858:2: ( ruleRosServiceClient ) { - // InternalRosSystem.g:11578:2: ( ruleRosServiceClient ) - // InternalRosSystem.g:11579:3: ruleRosServiceClient + // InternalRosSystem.g:12858:2: ( ruleRosServiceClient ) + // InternalRosSystem.g:12859:3: ruleRosServiceClient { before(grammarAccess.getComponentInterfaceAccess().getRosserviceclientRosServiceClientParserRuleCall_9_2_0()); pushFollow(FOLLOW_2); @@ -34577,17 +38432,17 @@ public final void rule__ComponentInterface__RosserviceclientAssignment_9_2() thr // $ANTLR start "rule__ComponentInterface__RosserviceclientAssignment_9_3_1" - // InternalRosSystem.g:11588:1: rule__ComponentInterface__RosserviceclientAssignment_9_3_1 : ( ruleRosServiceClient ) ; + // InternalRosSystem.g:12868:1: rule__ComponentInterface__RosserviceclientAssignment_9_3_1 : ( ruleRosServiceClient ) ; public final void rule__ComponentInterface__RosserviceclientAssignment_9_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11592:1: ( ( ruleRosServiceClient ) ) - // InternalRosSystem.g:11593:2: ( ruleRosServiceClient ) + // InternalRosSystem.g:12872:1: ( ( ruleRosServiceClient ) ) + // InternalRosSystem.g:12873:2: ( ruleRosServiceClient ) { - // InternalRosSystem.g:11593:2: ( ruleRosServiceClient ) - // InternalRosSystem.g:11594:3: ruleRosServiceClient + // InternalRosSystem.g:12873:2: ( ruleRosServiceClient ) + // InternalRosSystem.g:12874:3: ruleRosServiceClient { before(grammarAccess.getComponentInterfaceAccess().getRosserviceclientRosServiceClientParserRuleCall_9_3_1_0()); pushFollow(FOLLOW_2); @@ -34618,17 +38473,17 @@ public final void rule__ComponentInterface__RosserviceclientAssignment_9_3_1() t // $ANTLR start "rule__ComponentInterface__RosactionserverAssignment_10_2" - // InternalRosSystem.g:11603:1: rule__ComponentInterface__RosactionserverAssignment_10_2 : ( ruleRosActionServer ) ; + // InternalRosSystem.g:12883:1: rule__ComponentInterface__RosactionserverAssignment_10_2 : ( ruleRosActionServer ) ; public final void rule__ComponentInterface__RosactionserverAssignment_10_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11607:1: ( ( ruleRosActionServer ) ) - // InternalRosSystem.g:11608:2: ( ruleRosActionServer ) + // InternalRosSystem.g:12887:1: ( ( ruleRosActionServer ) ) + // InternalRosSystem.g:12888:2: ( ruleRosActionServer ) { - // InternalRosSystem.g:11608:2: ( ruleRosActionServer ) - // InternalRosSystem.g:11609:3: ruleRosActionServer + // InternalRosSystem.g:12888:2: ( ruleRosActionServer ) + // InternalRosSystem.g:12889:3: ruleRosActionServer { before(grammarAccess.getComponentInterfaceAccess().getRosactionserverRosActionServerParserRuleCall_10_2_0()); pushFollow(FOLLOW_2); @@ -34659,17 +38514,17 @@ public final void rule__ComponentInterface__RosactionserverAssignment_10_2() thr // $ANTLR start "rule__ComponentInterface__RosactionserverAssignment_10_3_1" - // InternalRosSystem.g:11618:1: rule__ComponentInterface__RosactionserverAssignment_10_3_1 : ( ruleRosActionServer ) ; + // InternalRosSystem.g:12898:1: rule__ComponentInterface__RosactionserverAssignment_10_3_1 : ( ruleRosActionServer ) ; public final void rule__ComponentInterface__RosactionserverAssignment_10_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11622:1: ( ( ruleRosActionServer ) ) - // InternalRosSystem.g:11623:2: ( ruleRosActionServer ) + // InternalRosSystem.g:12902:1: ( ( ruleRosActionServer ) ) + // InternalRosSystem.g:12903:2: ( ruleRosActionServer ) { - // InternalRosSystem.g:11623:2: ( ruleRosActionServer ) - // InternalRosSystem.g:11624:3: ruleRosActionServer + // InternalRosSystem.g:12903:2: ( ruleRosActionServer ) + // InternalRosSystem.g:12904:3: ruleRosActionServer { before(grammarAccess.getComponentInterfaceAccess().getRosactionserverRosActionServerParserRuleCall_10_3_1_0()); pushFollow(FOLLOW_2); @@ -34700,17 +38555,17 @@ public final void rule__ComponentInterface__RosactionserverAssignment_10_3_1() t // $ANTLR start "rule__ComponentInterface__RosactionclientAssignment_11_2" - // InternalRosSystem.g:11633:1: rule__ComponentInterface__RosactionclientAssignment_11_2 : ( ruleRosActionClient ) ; + // InternalRosSystem.g:12913:1: rule__ComponentInterface__RosactionclientAssignment_11_2 : ( ruleRosActionClient ) ; public final void rule__ComponentInterface__RosactionclientAssignment_11_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11637:1: ( ( ruleRosActionClient ) ) - // InternalRosSystem.g:11638:2: ( ruleRosActionClient ) + // InternalRosSystem.g:12917:1: ( ( ruleRosActionClient ) ) + // InternalRosSystem.g:12918:2: ( ruleRosActionClient ) { - // InternalRosSystem.g:11638:2: ( ruleRosActionClient ) - // InternalRosSystem.g:11639:3: ruleRosActionClient + // InternalRosSystem.g:12918:2: ( ruleRosActionClient ) + // InternalRosSystem.g:12919:3: ruleRosActionClient { before(grammarAccess.getComponentInterfaceAccess().getRosactionclientRosActionClientParserRuleCall_11_2_0()); pushFollow(FOLLOW_2); @@ -34741,17 +38596,17 @@ public final void rule__ComponentInterface__RosactionclientAssignment_11_2() thr // $ANTLR start "rule__ComponentInterface__RosactionclientAssignment_11_3_1" - // InternalRosSystem.g:11648:1: rule__ComponentInterface__RosactionclientAssignment_11_3_1 : ( ruleRosActionClient ) ; + // InternalRosSystem.g:12928:1: rule__ComponentInterface__RosactionclientAssignment_11_3_1 : ( ruleRosActionClient ) ; public final void rule__ComponentInterface__RosactionclientAssignment_11_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11652:1: ( ( ruleRosActionClient ) ) - // InternalRosSystem.g:11653:2: ( ruleRosActionClient ) + // InternalRosSystem.g:12932:1: ( ( ruleRosActionClient ) ) + // InternalRosSystem.g:12933:2: ( ruleRosActionClient ) { - // InternalRosSystem.g:11653:2: ( ruleRosActionClient ) - // InternalRosSystem.g:11654:3: ruleRosActionClient + // InternalRosSystem.g:12933:2: ( ruleRosActionClient ) + // InternalRosSystem.g:12934:3: ruleRosActionClient { before(grammarAccess.getComponentInterfaceAccess().getRosactionclientRosActionClientParserRuleCall_11_3_1_0()); pushFollow(FOLLOW_2); @@ -34782,17 +38637,17 @@ public final void rule__ComponentInterface__RosactionclientAssignment_11_3_1() t // $ANTLR start "rule__ComponentInterface__RosparameterAssignment_12_2" - // InternalRosSystem.g:11663:1: rule__ComponentInterface__RosparameterAssignment_12_2 : ( ruleRosParameter ) ; + // InternalRosSystem.g:12943:1: rule__ComponentInterface__RosparameterAssignment_12_2 : ( ruleRosParameter ) ; public final void rule__ComponentInterface__RosparameterAssignment_12_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11667:1: ( ( ruleRosParameter ) ) - // InternalRosSystem.g:11668:2: ( ruleRosParameter ) + // InternalRosSystem.g:12947:1: ( ( ruleRosParameter ) ) + // InternalRosSystem.g:12948:2: ( ruleRosParameter ) { - // InternalRosSystem.g:11668:2: ( ruleRosParameter ) - // InternalRosSystem.g:11669:3: ruleRosParameter + // InternalRosSystem.g:12948:2: ( ruleRosParameter ) + // InternalRosSystem.g:12949:3: ruleRosParameter { before(grammarAccess.getComponentInterfaceAccess().getRosparameterRosParameterParserRuleCall_12_2_0()); pushFollow(FOLLOW_2); @@ -34823,17 +38678,17 @@ public final void rule__ComponentInterface__RosparameterAssignment_12_2() throws // $ANTLR start "rule__ComponentInterface__RosparameterAssignment_12_3_1" - // InternalRosSystem.g:11678:1: rule__ComponentInterface__RosparameterAssignment_12_3_1 : ( ruleRosParameter ) ; + // InternalRosSystem.g:12958:1: rule__ComponentInterface__RosparameterAssignment_12_3_1 : ( ruleRosParameter ) ; public final void rule__ComponentInterface__RosparameterAssignment_12_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11682:1: ( ( ruleRosParameter ) ) - // InternalRosSystem.g:11683:2: ( ruleRosParameter ) + // InternalRosSystem.g:12962:1: ( ( ruleRosParameter ) ) + // InternalRosSystem.g:12963:2: ( ruleRosParameter ) { - // InternalRosSystem.g:11683:2: ( ruleRosParameter ) - // InternalRosSystem.g:11684:3: ruleRosParameter + // InternalRosSystem.g:12963:2: ( ruleRosParameter ) + // InternalRosSystem.g:12964:3: ruleRosParameter { before(grammarAccess.getComponentInterfaceAccess().getRosparameterRosParameterParserRuleCall_12_3_1_0()); pushFollow(FOLLOW_2); @@ -34864,17 +38719,17 @@ public final void rule__ComponentInterface__RosparameterAssignment_12_3_1() thro // $ANTLR start "rule__RosPublisher__NameAssignment_2" - // InternalRosSystem.g:11693:1: rule__RosPublisher__NameAssignment_2 : ( ruleEString ) ; + // InternalRosSystem.g:12973:1: rule__RosPublisher__NameAssignment_2 : ( ruleEString ) ; public final void rule__RosPublisher__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11697:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11698:2: ( ruleEString ) + // InternalRosSystem.g:12977:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12978:2: ( ruleEString ) { - // InternalRosSystem.g:11698:2: ( ruleEString ) - // InternalRosSystem.g:11699:3: ruleEString + // InternalRosSystem.g:12978:2: ( ruleEString ) + // InternalRosSystem.g:12979:3: ruleEString { before(grammarAccess.getRosPublisherAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -34905,17 +38760,17 @@ public final void rule__RosPublisher__NameAssignment_2() throws RecognitionExcep // $ANTLR start "rule__RosPublisher__NsAssignment_4_1" - // InternalRosSystem.g:11708:1: rule__RosPublisher__NsAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:12988:1: rule__RosPublisher__NsAssignment_4_1 : ( ruleEString ) ; public final void rule__RosPublisher__NsAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11712:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11713:2: ( ruleEString ) + // InternalRosSystem.g:12992:1: ( ( ruleEString ) ) + // InternalRosSystem.g:12993:2: ( ruleEString ) { - // InternalRosSystem.g:11713:2: ( ruleEString ) - // InternalRosSystem.g:11714:3: ruleEString + // InternalRosSystem.g:12993:2: ( ruleEString ) + // InternalRosSystem.g:12994:3: ruleEString { before(grammarAccess.getRosPublisherAccess().getNsEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -34946,21 +38801,21 @@ public final void rule__RosPublisher__NsAssignment_4_1() throws RecognitionExcep // $ANTLR start "rule__RosPublisher__PublisherAssignment_6" - // InternalRosSystem.g:11723:1: rule__RosPublisher__PublisherAssignment_6 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:13003:1: rule__RosPublisher__PublisherAssignment_6 : ( ( ruleEString ) ) ; public final void rule__RosPublisher__PublisherAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11727:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11728:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13007:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:13008:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11728:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11729:3: ( ruleEString ) + // InternalRosSystem.g:13008:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13009:3: ( ruleEString ) { before(grammarAccess.getRosPublisherAccess().getPublisherPublisherCrossReference_6_0()); - // InternalRosSystem.g:11730:3: ( ruleEString ) - // InternalRosSystem.g:11731:4: ruleEString + // InternalRosSystem.g:13010:3: ( ruleEString ) + // InternalRosSystem.g:13011:4: ruleEString { before(grammarAccess.getRosPublisherAccess().getPublisherPublisherEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); @@ -34995,17 +38850,17 @@ public final void rule__RosPublisher__PublisherAssignment_6() throws Recognition // $ANTLR start "rule__RosSubscriber__NameAssignment_2" - // InternalRosSystem.g:11742:1: rule__RosSubscriber__NameAssignment_2 : ( ruleEString ) ; + // InternalRosSystem.g:13022:1: rule__RosSubscriber__NameAssignment_2 : ( ruleEString ) ; public final void rule__RosSubscriber__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11746:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11747:2: ( ruleEString ) + // InternalRosSystem.g:13026:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13027:2: ( ruleEString ) { - // InternalRosSystem.g:11747:2: ( ruleEString ) - // InternalRosSystem.g:11748:3: ruleEString + // InternalRosSystem.g:13027:2: ( ruleEString ) + // InternalRosSystem.g:13028:3: ruleEString { before(grammarAccess.getRosSubscriberAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -35036,17 +38891,17 @@ public final void rule__RosSubscriber__NameAssignment_2() throws RecognitionExce // $ANTLR start "rule__RosSubscriber__NsAssignment_4_1" - // InternalRosSystem.g:11757:1: rule__RosSubscriber__NsAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:13037:1: rule__RosSubscriber__NsAssignment_4_1 : ( ruleEString ) ; public final void rule__RosSubscriber__NsAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11761:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11762:2: ( ruleEString ) + // InternalRosSystem.g:13041:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13042:2: ( ruleEString ) { - // InternalRosSystem.g:11762:2: ( ruleEString ) - // InternalRosSystem.g:11763:3: ruleEString + // InternalRosSystem.g:13042:2: ( ruleEString ) + // InternalRosSystem.g:13043:3: ruleEString { before(grammarAccess.getRosSubscriberAccess().getNsEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -35077,21 +38932,21 @@ public final void rule__RosSubscriber__NsAssignment_4_1() throws RecognitionExce // $ANTLR start "rule__RosSubscriber__SubscriberAssignment_6" - // InternalRosSystem.g:11772:1: rule__RosSubscriber__SubscriberAssignment_6 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:13052:1: rule__RosSubscriber__SubscriberAssignment_6 : ( ( ruleEString ) ) ; public final void rule__RosSubscriber__SubscriberAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11776:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11777:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13056:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:13057:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11777:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11778:3: ( ruleEString ) + // InternalRosSystem.g:13057:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13058:3: ( ruleEString ) { before(grammarAccess.getRosSubscriberAccess().getSubscriberSubscriberCrossReference_6_0()); - // InternalRosSystem.g:11779:3: ( ruleEString ) - // InternalRosSystem.g:11780:4: ruleEString + // InternalRosSystem.g:13059:3: ( ruleEString ) + // InternalRosSystem.g:13060:4: ruleEString { before(grammarAccess.getRosSubscriberAccess().getSubscriberSubscriberEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); @@ -35126,17 +38981,17 @@ public final void rule__RosSubscriber__SubscriberAssignment_6() throws Recogniti // $ANTLR start "rule__RosServiceServer__NameAssignment_2" - // InternalRosSystem.g:11791:1: rule__RosServiceServer__NameAssignment_2 : ( ruleEString ) ; + // InternalRosSystem.g:13071:1: rule__RosServiceServer__NameAssignment_2 : ( ruleEString ) ; public final void rule__RosServiceServer__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11795:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11796:2: ( ruleEString ) + // InternalRosSystem.g:13075:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13076:2: ( ruleEString ) { - // InternalRosSystem.g:11796:2: ( ruleEString ) - // InternalRosSystem.g:11797:3: ruleEString + // InternalRosSystem.g:13076:2: ( ruleEString ) + // InternalRosSystem.g:13077:3: ruleEString { before(grammarAccess.getRosServiceServerAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -35167,17 +39022,17 @@ public final void rule__RosServiceServer__NameAssignment_2() throws RecognitionE // $ANTLR start "rule__RosServiceServer__NsAssignment_4_1" - // InternalRosSystem.g:11806:1: rule__RosServiceServer__NsAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:13086:1: rule__RosServiceServer__NsAssignment_4_1 : ( ruleEString ) ; public final void rule__RosServiceServer__NsAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11810:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11811:2: ( ruleEString ) + // InternalRosSystem.g:13090:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13091:2: ( ruleEString ) { - // InternalRosSystem.g:11811:2: ( ruleEString ) - // InternalRosSystem.g:11812:3: ruleEString + // InternalRosSystem.g:13091:2: ( ruleEString ) + // InternalRosSystem.g:13092:3: ruleEString { before(grammarAccess.getRosServiceServerAccess().getNsEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -35208,21 +39063,21 @@ public final void rule__RosServiceServer__NsAssignment_4_1() throws RecognitionE // $ANTLR start "rule__RosServiceServer__SrvserverAssignment_6" - // InternalRosSystem.g:11821:1: rule__RosServiceServer__SrvserverAssignment_6 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:13101:1: rule__RosServiceServer__SrvserverAssignment_6 : ( ( ruleEString ) ) ; public final void rule__RosServiceServer__SrvserverAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11825:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11826:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13105:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:13106:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11826:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11827:3: ( ruleEString ) + // InternalRosSystem.g:13106:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13107:3: ( ruleEString ) { before(grammarAccess.getRosServiceServerAccess().getSrvserverServiceServerCrossReference_6_0()); - // InternalRosSystem.g:11828:3: ( ruleEString ) - // InternalRosSystem.g:11829:4: ruleEString + // InternalRosSystem.g:13108:3: ( ruleEString ) + // InternalRosSystem.g:13109:4: ruleEString { before(grammarAccess.getRosServiceServerAccess().getSrvserverServiceServerEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); @@ -35257,17 +39112,17 @@ public final void rule__RosServiceServer__SrvserverAssignment_6() throws Recogni // $ANTLR start "rule__RosServiceClient__NameAssignment_2" - // InternalRosSystem.g:11840:1: rule__RosServiceClient__NameAssignment_2 : ( ruleEString ) ; + // InternalRosSystem.g:13120:1: rule__RosServiceClient__NameAssignment_2 : ( ruleEString ) ; public final void rule__RosServiceClient__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11844:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11845:2: ( ruleEString ) + // InternalRosSystem.g:13124:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13125:2: ( ruleEString ) { - // InternalRosSystem.g:11845:2: ( ruleEString ) - // InternalRosSystem.g:11846:3: ruleEString + // InternalRosSystem.g:13125:2: ( ruleEString ) + // InternalRosSystem.g:13126:3: ruleEString { before(grammarAccess.getRosServiceClientAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -35298,17 +39153,17 @@ public final void rule__RosServiceClient__NameAssignment_2() throws RecognitionE // $ANTLR start "rule__RosServiceClient__NsAssignment_4_1" - // InternalRosSystem.g:11855:1: rule__RosServiceClient__NsAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:13135:1: rule__RosServiceClient__NsAssignment_4_1 : ( ruleEString ) ; public final void rule__RosServiceClient__NsAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11859:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11860:2: ( ruleEString ) + // InternalRosSystem.g:13139:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13140:2: ( ruleEString ) { - // InternalRosSystem.g:11860:2: ( ruleEString ) - // InternalRosSystem.g:11861:3: ruleEString + // InternalRosSystem.g:13140:2: ( ruleEString ) + // InternalRosSystem.g:13141:3: ruleEString { before(grammarAccess.getRosServiceClientAccess().getNsEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -35339,21 +39194,21 @@ public final void rule__RosServiceClient__NsAssignment_4_1() throws RecognitionE // $ANTLR start "rule__RosServiceClient__SrvclientAssignment_6" - // InternalRosSystem.g:11870:1: rule__RosServiceClient__SrvclientAssignment_6 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:13150:1: rule__RosServiceClient__SrvclientAssignment_6 : ( ( ruleEString ) ) ; public final void rule__RosServiceClient__SrvclientAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11874:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11875:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13154:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:13155:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11875:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11876:3: ( ruleEString ) + // InternalRosSystem.g:13155:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13156:3: ( ruleEString ) { before(grammarAccess.getRosServiceClientAccess().getSrvclientServiceClientCrossReference_6_0()); - // InternalRosSystem.g:11877:3: ( ruleEString ) - // InternalRosSystem.g:11878:4: ruleEString + // InternalRosSystem.g:13157:3: ( ruleEString ) + // InternalRosSystem.g:13158:4: ruleEString { before(grammarAccess.getRosServiceClientAccess().getSrvclientServiceClientEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); @@ -35388,17 +39243,17 @@ public final void rule__RosServiceClient__SrvclientAssignment_6() throws Recogni // $ANTLR start "rule__RosActionServer__NameAssignment_2" - // InternalRosSystem.g:11889:1: rule__RosActionServer__NameAssignment_2 : ( ruleEString ) ; + // InternalRosSystem.g:13169:1: rule__RosActionServer__NameAssignment_2 : ( ruleEString ) ; public final void rule__RosActionServer__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11893:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11894:2: ( ruleEString ) + // InternalRosSystem.g:13173:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13174:2: ( ruleEString ) { - // InternalRosSystem.g:11894:2: ( ruleEString ) - // InternalRosSystem.g:11895:3: ruleEString + // InternalRosSystem.g:13174:2: ( ruleEString ) + // InternalRosSystem.g:13175:3: ruleEString { before(grammarAccess.getRosActionServerAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -35429,17 +39284,17 @@ public final void rule__RosActionServer__NameAssignment_2() throws RecognitionEx // $ANTLR start "rule__RosActionServer__NsAssignment_4_1" - // InternalRosSystem.g:11904:1: rule__RosActionServer__NsAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:13184:1: rule__RosActionServer__NsAssignment_4_1 : ( ruleEString ) ; public final void rule__RosActionServer__NsAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11908:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11909:2: ( ruleEString ) + // InternalRosSystem.g:13188:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13189:2: ( ruleEString ) { - // InternalRosSystem.g:11909:2: ( ruleEString ) - // InternalRosSystem.g:11910:3: ruleEString + // InternalRosSystem.g:13189:2: ( ruleEString ) + // InternalRosSystem.g:13190:3: ruleEString { before(grammarAccess.getRosActionServerAccess().getNsEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -35470,21 +39325,21 @@ public final void rule__RosActionServer__NsAssignment_4_1() throws RecognitionEx // $ANTLR start "rule__RosActionServer__ActserverAssignment_6" - // InternalRosSystem.g:11919:1: rule__RosActionServer__ActserverAssignment_6 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:13199:1: rule__RosActionServer__ActserverAssignment_6 : ( ( ruleEString ) ) ; public final void rule__RosActionServer__ActserverAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11923:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11924:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13203:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:13204:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11924:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11925:3: ( ruleEString ) + // InternalRosSystem.g:13204:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13205:3: ( ruleEString ) { before(grammarAccess.getRosActionServerAccess().getActserverActionServerCrossReference_6_0()); - // InternalRosSystem.g:11926:3: ( ruleEString ) - // InternalRosSystem.g:11927:4: ruleEString + // InternalRosSystem.g:13206:3: ( ruleEString ) + // InternalRosSystem.g:13207:4: ruleEString { before(grammarAccess.getRosActionServerAccess().getActserverActionServerEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); @@ -35519,17 +39374,17 @@ public final void rule__RosActionServer__ActserverAssignment_6() throws Recognit // $ANTLR start "rule__RosActionClient__NameAssignment_2" - // InternalRosSystem.g:11938:1: rule__RosActionClient__NameAssignment_2 : ( ruleEString ) ; + // InternalRosSystem.g:13218:1: rule__RosActionClient__NameAssignment_2 : ( ruleEString ) ; public final void rule__RosActionClient__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11942:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11943:2: ( ruleEString ) + // InternalRosSystem.g:13222:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13223:2: ( ruleEString ) { - // InternalRosSystem.g:11943:2: ( ruleEString ) - // InternalRosSystem.g:11944:3: ruleEString + // InternalRosSystem.g:13223:2: ( ruleEString ) + // InternalRosSystem.g:13224:3: ruleEString { before(grammarAccess.getRosActionClientAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -35560,17 +39415,17 @@ public final void rule__RosActionClient__NameAssignment_2() throws RecognitionEx // $ANTLR start "rule__RosActionClient__NsAssignment_4_1" - // InternalRosSystem.g:11953:1: rule__RosActionClient__NsAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:13233:1: rule__RosActionClient__NsAssignment_4_1 : ( ruleEString ) ; public final void rule__RosActionClient__NsAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11957:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11958:2: ( ruleEString ) + // InternalRosSystem.g:13237:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13238:2: ( ruleEString ) { - // InternalRosSystem.g:11958:2: ( ruleEString ) - // InternalRosSystem.g:11959:3: ruleEString + // InternalRosSystem.g:13238:2: ( ruleEString ) + // InternalRosSystem.g:13239:3: ruleEString { before(grammarAccess.getRosActionClientAccess().getNsEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -35601,21 +39456,21 @@ public final void rule__RosActionClient__NsAssignment_4_1() throws RecognitionEx // $ANTLR start "rule__RosActionClient__ActclientAssignment_6" - // InternalRosSystem.g:11968:1: rule__RosActionClient__ActclientAssignment_6 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:13248:1: rule__RosActionClient__ActclientAssignment_6 : ( ( ruleEString ) ) ; public final void rule__RosActionClient__ActclientAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11972:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:11973:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13252:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:13253:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:11973:2: ( ( ruleEString ) ) - // InternalRosSystem.g:11974:3: ( ruleEString ) + // InternalRosSystem.g:13253:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13254:3: ( ruleEString ) { before(grammarAccess.getRosActionClientAccess().getActclientActionClientCrossReference_6_0()); - // InternalRosSystem.g:11975:3: ( ruleEString ) - // InternalRosSystem.g:11976:4: ruleEString + // InternalRosSystem.g:13255:3: ( ruleEString ) + // InternalRosSystem.g:13256:4: ruleEString { before(grammarAccess.getRosActionClientAccess().getActclientActionClientEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); @@ -35650,17 +39505,17 @@ public final void rule__RosActionClient__ActclientAssignment_6() throws Recognit // $ANTLR start "rule__RosParameter__NameAssignment_2" - // InternalRosSystem.g:11987:1: rule__RosParameter__NameAssignment_2 : ( ruleEString ) ; + // InternalRosSystem.g:13267:1: rule__RosParameter__NameAssignment_2 : ( ruleEString ) ; public final void rule__RosParameter__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:11991:1: ( ( ruleEString ) ) - // InternalRosSystem.g:11992:2: ( ruleEString ) + // InternalRosSystem.g:13271:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13272:2: ( ruleEString ) { - // InternalRosSystem.g:11992:2: ( ruleEString ) - // InternalRosSystem.g:11993:3: ruleEString + // InternalRosSystem.g:13272:2: ( ruleEString ) + // InternalRosSystem.g:13273:3: ruleEString { before(grammarAccess.getRosParameterAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -35691,17 +39546,17 @@ public final void rule__RosParameter__NameAssignment_2() throws RecognitionExcep // $ANTLR start "rule__RosParameter__NsAssignment_4_1" - // InternalRosSystem.g:12002:1: rule__RosParameter__NsAssignment_4_1 : ( ruleEString ) ; + // InternalRosSystem.g:13282:1: rule__RosParameter__NsAssignment_4_1 : ( ruleEString ) ; public final void rule__RosParameter__NsAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12006:1: ( ( ruleEString ) ) - // InternalRosSystem.g:12007:2: ( ruleEString ) + // InternalRosSystem.g:13286:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13287:2: ( ruleEString ) { - // InternalRosSystem.g:12007:2: ( ruleEString ) - // InternalRosSystem.g:12008:3: ruleEString + // InternalRosSystem.g:13287:2: ( ruleEString ) + // InternalRosSystem.g:13288:3: ruleEString { before(grammarAccess.getRosParameterAccess().getNsEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -35732,21 +39587,21 @@ public final void rule__RosParameter__NsAssignment_4_1() throws RecognitionExcep // $ANTLR start "rule__RosParameter__ParameterAssignment_6" - // InternalRosSystem.g:12017:1: rule__RosParameter__ParameterAssignment_6 : ( ( ruleEString ) ) ; + // InternalRosSystem.g:13297:1: rule__RosParameter__ParameterAssignment_6 : ( ( ruleEString ) ) ; public final void rule__RosParameter__ParameterAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12021:1: ( ( ( ruleEString ) ) ) - // InternalRosSystem.g:12022:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13301:1: ( ( ( ruleEString ) ) ) + // InternalRosSystem.g:13302:2: ( ( ruleEString ) ) { - // InternalRosSystem.g:12022:2: ( ( ruleEString ) ) - // InternalRosSystem.g:12023:3: ( ruleEString ) + // InternalRosSystem.g:13302:2: ( ( ruleEString ) ) + // InternalRosSystem.g:13303:3: ( ruleEString ) { before(grammarAccess.getRosParameterAccess().getParameterParameterCrossReference_6_0()); - // InternalRosSystem.g:12024:3: ( ruleEString ) - // InternalRosSystem.g:12025:4: ruleEString + // InternalRosSystem.g:13304:3: ( ruleEString ) + // InternalRosSystem.g:13305:4: ruleEString { before(grammarAccess.getRosParameterAccess().getParameterParameterEStringParserRuleCall_6_0_1()); pushFollow(FOLLOW_2); @@ -35781,17 +39636,17 @@ public final void rule__RosParameter__ParameterAssignment_6() throws Recognition // $ANTLR start "rule__RosParameter__ValueAssignment_7_1" - // InternalRosSystem.g:12036:1: rule__RosParameter__ValueAssignment_7_1 : ( ruleParameterValue ) ; + // InternalRosSystem.g:13316:1: rule__RosParameter__ValueAssignment_7_1 : ( ruleParameterValue ) ; public final void rule__RosParameter__ValueAssignment_7_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12040:1: ( ( ruleParameterValue ) ) - // InternalRosSystem.g:12041:2: ( ruleParameterValue ) + // InternalRosSystem.g:13320:1: ( ( ruleParameterValue ) ) + // InternalRosSystem.g:13321:2: ( ruleParameterValue ) { - // InternalRosSystem.g:12041:2: ( ruleParameterValue ) - // InternalRosSystem.g:12042:3: ruleParameterValue + // InternalRosSystem.g:13321:2: ( ruleParameterValue ) + // InternalRosSystem.g:13322:3: ruleParameterValue { before(grammarAccess.getRosParameterAccess().getValueParameterValueParserRuleCall_7_1_0()); pushFollow(FOLLOW_2); @@ -35822,17 +39677,17 @@ public final void rule__RosParameter__ValueAssignment_7_1() throws RecognitionEx // $ANTLR start "rule__Parameter__NameAssignment_3" - // InternalRosSystem.g:12051:1: rule__Parameter__NameAssignment_3 : ( ruleEString ) ; + // InternalRosSystem.g:13331:1: rule__Parameter__NameAssignment_3 : ( ruleEString ) ; public final void rule__Parameter__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12055:1: ( ( ruleEString ) ) - // InternalRosSystem.g:12056:2: ( ruleEString ) + // InternalRosSystem.g:13335:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13336:2: ( ruleEString ) { - // InternalRosSystem.g:12056:2: ( ruleEString ) - // InternalRosSystem.g:12057:3: ruleEString + // InternalRosSystem.g:13336:2: ( ruleEString ) + // InternalRosSystem.g:13337:3: ruleEString { before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -35863,17 +39718,17 @@ public final void rule__Parameter__NameAssignment_3() throws RecognitionExceptio // $ANTLR start "rule__Parameter__NamespaceAssignment_4_1" - // InternalRosSystem.g:12066:1: rule__Parameter__NamespaceAssignment_4_1 : ( ruleNamespace ) ; + // InternalRosSystem.g:13346:1: rule__Parameter__NamespaceAssignment_4_1 : ( ruleNamespace ) ; public final void rule__Parameter__NamespaceAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12070:1: ( ( ruleNamespace ) ) - // InternalRosSystem.g:12071:2: ( ruleNamespace ) + // InternalRosSystem.g:13350:1: ( ( ruleNamespace ) ) + // InternalRosSystem.g:13351:2: ( ruleNamespace ) { - // InternalRosSystem.g:12071:2: ( ruleNamespace ) - // InternalRosSystem.g:12072:3: ruleNamespace + // InternalRosSystem.g:13351:2: ( ruleNamespace ) + // InternalRosSystem.g:13352:3: ruleNamespace { before(grammarAccess.getParameterAccess().getNamespaceNamespaceParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -35904,17 +39759,17 @@ public final void rule__Parameter__NamespaceAssignment_4_1() throws RecognitionE // $ANTLR start "rule__Parameter__TypeAssignment_5_1" - // InternalRosSystem.g:12081:1: rule__Parameter__TypeAssignment_5_1 : ( ruleParameterType ) ; + // InternalRosSystem.g:13361:1: rule__Parameter__TypeAssignment_5_1 : ( ruleParameterType ) ; public final void rule__Parameter__TypeAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12085:1: ( ( ruleParameterType ) ) - // InternalRosSystem.g:12086:2: ( ruleParameterType ) + // InternalRosSystem.g:13365:1: ( ( ruleParameterType ) ) + // InternalRosSystem.g:13366:2: ( ruleParameterType ) { - // InternalRosSystem.g:12086:2: ( ruleParameterType ) - // InternalRosSystem.g:12087:3: ruleParameterType + // InternalRosSystem.g:13366:2: ( ruleParameterType ) + // InternalRosSystem.g:13367:3: ruleParameterType { before(grammarAccess.getParameterAccess().getTypeParameterTypeParserRuleCall_5_1_0()); pushFollow(FOLLOW_2); @@ -35945,17 +39800,17 @@ public final void rule__Parameter__TypeAssignment_5_1() throws RecognitionExcept // $ANTLR start "rule__Parameter__ValueAssignment_6_1" - // InternalRosSystem.g:12096:1: rule__Parameter__ValueAssignment_6_1 : ( ruleParameterValue ) ; + // InternalRosSystem.g:13376:1: rule__Parameter__ValueAssignment_6_1 : ( ruleParameterValue ) ; public final void rule__Parameter__ValueAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12100:1: ( ( ruleParameterValue ) ) - // InternalRosSystem.g:12101:2: ( ruleParameterValue ) + // InternalRosSystem.g:13380:1: ( ( ruleParameterValue ) ) + // InternalRosSystem.g:13381:2: ( ruleParameterValue ) { - // InternalRosSystem.g:12101:2: ( ruleParameterValue ) - // InternalRosSystem.g:12102:3: ruleParameterValue + // InternalRosSystem.g:13381:2: ( ruleParameterValue ) + // InternalRosSystem.g:13382:3: ruleParameterValue { before(grammarAccess.getParameterAccess().getValueParameterValueParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -35986,17 +39841,17 @@ public final void rule__Parameter__ValueAssignment_6_1() throws RecognitionExcep // $ANTLR start "rule__ParameterListType__SequenceAssignment_3" - // InternalRosSystem.g:12111:1: rule__ParameterListType__SequenceAssignment_3 : ( ruleParameterType ) ; + // InternalRosSystem.g:13391:1: rule__ParameterListType__SequenceAssignment_3 : ( ruleParameterType ) ; public final void rule__ParameterListType__SequenceAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12115:1: ( ( ruleParameterType ) ) - // InternalRosSystem.g:12116:2: ( ruleParameterType ) + // InternalRosSystem.g:13395:1: ( ( ruleParameterType ) ) + // InternalRosSystem.g:13396:2: ( ruleParameterType ) { - // InternalRosSystem.g:12116:2: ( ruleParameterType ) - // InternalRosSystem.g:12117:3: ruleParameterType + // InternalRosSystem.g:13396:2: ( ruleParameterType ) + // InternalRosSystem.g:13397:3: ruleParameterType { before(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -36027,17 +39882,17 @@ public final void rule__ParameterListType__SequenceAssignment_3() throws Recogni // $ANTLR start "rule__ParameterListType__SequenceAssignment_4_1" - // InternalRosSystem.g:12126:1: rule__ParameterListType__SequenceAssignment_4_1 : ( ruleParameterType ) ; + // InternalRosSystem.g:13406:1: rule__ParameterListType__SequenceAssignment_4_1 : ( ruleParameterType ) ; public final void rule__ParameterListType__SequenceAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12130:1: ( ( ruleParameterType ) ) - // InternalRosSystem.g:12131:2: ( ruleParameterType ) + // InternalRosSystem.g:13410:1: ( ( ruleParameterType ) ) + // InternalRosSystem.g:13411:2: ( ruleParameterType ) { - // InternalRosSystem.g:12131:2: ( ruleParameterType ) - // InternalRosSystem.g:12132:3: ruleParameterType + // InternalRosSystem.g:13411:2: ( ruleParameterType ) + // InternalRosSystem.g:13412:3: ruleParameterType { before(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -36068,17 +39923,17 @@ public final void rule__ParameterListType__SequenceAssignment_4_1() throws Recog // $ANTLR start "rule__ParameterStructType__ParameterstructypetmemberAssignment_3" - // InternalRosSystem.g:12141:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 : ( ruleParameterStructTypeMember ) ; + // InternalRosSystem.g:13421:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 : ( ruleParameterStructTypeMember ) ; public final void rule__ParameterStructType__ParameterstructypetmemberAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12145:1: ( ( ruleParameterStructTypeMember ) ) - // InternalRosSystem.g:12146:2: ( ruleParameterStructTypeMember ) + // InternalRosSystem.g:13425:1: ( ( ruleParameterStructTypeMember ) ) + // InternalRosSystem.g:13426:2: ( ruleParameterStructTypeMember ) { - // InternalRosSystem.g:12146:2: ( ruleParameterStructTypeMember ) - // InternalRosSystem.g:12147:3: ruleParameterStructTypeMember + // InternalRosSystem.g:13426:2: ( ruleParameterStructTypeMember ) + // InternalRosSystem.g:13427:3: ruleParameterStructTypeMember { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -36109,17 +39964,17 @@ public final void rule__ParameterStructType__ParameterstructypetmemberAssignment // $ANTLR start "rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1" - // InternalRosSystem.g:12156:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 : ( ruleParameterStructTypeMember ) ; + // InternalRosSystem.g:13436:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 : ( ruleParameterStructTypeMember ) ; public final void rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12160:1: ( ( ruleParameterStructTypeMember ) ) - // InternalRosSystem.g:12161:2: ( ruleParameterStructTypeMember ) + // InternalRosSystem.g:13440:1: ( ( ruleParameterStructTypeMember ) ) + // InternalRosSystem.g:13441:2: ( ruleParameterStructTypeMember ) { - // InternalRosSystem.g:12161:2: ( ruleParameterStructTypeMember ) - // InternalRosSystem.g:12162:3: ruleParameterStructTypeMember + // InternalRosSystem.g:13441:2: ( ruleParameterStructTypeMember ) + // InternalRosSystem.g:13442:3: ruleParameterStructTypeMember { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -36150,17 +40005,17 @@ public final void rule__ParameterStructType__ParameterstructypetmemberAssignment // $ANTLR start "rule__ParameterIntegerType__DefaultAssignment_2_1" - // InternalRosSystem.g:12171:1: rule__ParameterIntegerType__DefaultAssignment_2_1 : ( ruleParameterInteger ) ; + // InternalRosSystem.g:13451:1: rule__ParameterIntegerType__DefaultAssignment_2_1 : ( ruleParameterInteger ) ; public final void rule__ParameterIntegerType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12175:1: ( ( ruleParameterInteger ) ) - // InternalRosSystem.g:12176:2: ( ruleParameterInteger ) + // InternalRosSystem.g:13455:1: ( ( ruleParameterInteger ) ) + // InternalRosSystem.g:13456:2: ( ruleParameterInteger ) { - // InternalRosSystem.g:12176:2: ( ruleParameterInteger ) - // InternalRosSystem.g:12177:3: ruleParameterInteger + // InternalRosSystem.g:13456:2: ( ruleParameterInteger ) + // InternalRosSystem.g:13457:3: ruleParameterInteger { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultParameterIntegerParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -36191,17 +40046,17 @@ public final void rule__ParameterIntegerType__DefaultAssignment_2_1() throws Rec // $ANTLR start "rule__ParameterStringType__DefaultAssignment_2_1" - // InternalRosSystem.g:12186:1: rule__ParameterStringType__DefaultAssignment_2_1 : ( ruleParameterString ) ; + // InternalRosSystem.g:13466:1: rule__ParameterStringType__DefaultAssignment_2_1 : ( ruleParameterString ) ; public final void rule__ParameterStringType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12190:1: ( ( ruleParameterString ) ) - // InternalRosSystem.g:12191:2: ( ruleParameterString ) + // InternalRosSystem.g:13470:1: ( ( ruleParameterString ) ) + // InternalRosSystem.g:13471:2: ( ruleParameterString ) { - // InternalRosSystem.g:12191:2: ( ruleParameterString ) - // InternalRosSystem.g:12192:3: ruleParameterString + // InternalRosSystem.g:13471:2: ( ruleParameterString ) + // InternalRosSystem.g:13472:3: ruleParameterString { before(grammarAccess.getParameterStringTypeAccess().getDefaultParameterStringParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -36232,17 +40087,17 @@ public final void rule__ParameterStringType__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterDoubleType__DefaultAssignment_2_1" - // InternalRosSystem.g:12201:1: rule__ParameterDoubleType__DefaultAssignment_2_1 : ( ruleParameterDouble ) ; + // InternalRosSystem.g:13481:1: rule__ParameterDoubleType__DefaultAssignment_2_1 : ( ruleParameterDouble ) ; public final void rule__ParameterDoubleType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12205:1: ( ( ruleParameterDouble ) ) - // InternalRosSystem.g:12206:2: ( ruleParameterDouble ) + // InternalRosSystem.g:13485:1: ( ( ruleParameterDouble ) ) + // InternalRosSystem.g:13486:2: ( ruleParameterDouble ) { - // InternalRosSystem.g:12206:2: ( ruleParameterDouble ) - // InternalRosSystem.g:12207:3: ruleParameterDouble + // InternalRosSystem.g:13486:2: ( ruleParameterDouble ) + // InternalRosSystem.g:13487:3: ruleParameterDouble { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultParameterDoubleParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -36273,17 +40128,17 @@ public final void rule__ParameterDoubleType__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterBooleanType__DefaultAssignment_2_1" - // InternalRosSystem.g:12216:1: rule__ParameterBooleanType__DefaultAssignment_2_1 : ( ruleParameterBoolean ) ; + // InternalRosSystem.g:13496:1: rule__ParameterBooleanType__DefaultAssignment_2_1 : ( ruleParameterBoolean ) ; public final void rule__ParameterBooleanType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12220:1: ( ( ruleParameterBoolean ) ) - // InternalRosSystem.g:12221:2: ( ruleParameterBoolean ) + // InternalRosSystem.g:13500:1: ( ( ruleParameterBoolean ) ) + // InternalRosSystem.g:13501:2: ( ruleParameterBoolean ) { - // InternalRosSystem.g:12221:2: ( ruleParameterBoolean ) - // InternalRosSystem.g:12222:3: ruleParameterBoolean + // InternalRosSystem.g:13501:2: ( ruleParameterBoolean ) + // InternalRosSystem.g:13502:3: ruleParameterBoolean { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultParameterBooleanParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -36314,17 +40169,17 @@ public final void rule__ParameterBooleanType__DefaultAssignment_2_1() throws Rec // $ANTLR start "rule__ParameterBase64Type__DefaultAssignment_2_1" - // InternalRosSystem.g:12231:1: rule__ParameterBase64Type__DefaultAssignment_2_1 : ( ruleParameterBase64 ) ; + // InternalRosSystem.g:13511:1: rule__ParameterBase64Type__DefaultAssignment_2_1 : ( ruleParameterBase64 ) ; public final void rule__ParameterBase64Type__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12235:1: ( ( ruleParameterBase64 ) ) - // InternalRosSystem.g:12236:2: ( ruleParameterBase64 ) + // InternalRosSystem.g:13515:1: ( ( ruleParameterBase64 ) ) + // InternalRosSystem.g:13516:2: ( ruleParameterBase64 ) { - // InternalRosSystem.g:12236:2: ( ruleParameterBase64 ) - // InternalRosSystem.g:12237:3: ruleParameterBase64 + // InternalRosSystem.g:13516:2: ( ruleParameterBase64 ) + // InternalRosSystem.g:13517:3: ruleParameterBase64 { before(grammarAccess.getParameterBase64TypeAccess().getDefaultParameterBase64ParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -36355,17 +40210,17 @@ public final void rule__ParameterBase64Type__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterArrayType__TypeAssignment_3" - // InternalRosSystem.g:12246:1: rule__ParameterArrayType__TypeAssignment_3 : ( ruleParameterType ) ; + // InternalRosSystem.g:13526:1: rule__ParameterArrayType__TypeAssignment_3 : ( ruleParameterType ) ; public final void rule__ParameterArrayType__TypeAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12250:1: ( ( ruleParameterType ) ) - // InternalRosSystem.g:12251:2: ( ruleParameterType ) + // InternalRosSystem.g:13530:1: ( ( ruleParameterType ) ) + // InternalRosSystem.g:13531:2: ( ruleParameterType ) { - // InternalRosSystem.g:12251:2: ( ruleParameterType ) - // InternalRosSystem.g:12252:3: ruleParameterType + // InternalRosSystem.g:13531:2: ( ruleParameterType ) + // InternalRosSystem.g:13532:3: ruleParameterType { before(grammarAccess.getParameterArrayTypeAccess().getTypeParameterTypeParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -36396,17 +40251,17 @@ public final void rule__ParameterArrayType__TypeAssignment_3() throws Recognitio // $ANTLR start "rule__ParameterArrayType__DefaultAssignment_4_1" - // InternalRosSystem.g:12261:1: rule__ParameterArrayType__DefaultAssignment_4_1 : ( ruleParameterList ) ; + // InternalRosSystem.g:13541:1: rule__ParameterArrayType__DefaultAssignment_4_1 : ( ruleParameterList ) ; public final void rule__ParameterArrayType__DefaultAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12265:1: ( ( ruleParameterList ) ) - // InternalRosSystem.g:12266:2: ( ruleParameterList ) + // InternalRosSystem.g:13545:1: ( ( ruleParameterList ) ) + // InternalRosSystem.g:13546:2: ( ruleParameterList ) { - // InternalRosSystem.g:12266:2: ( ruleParameterList ) - // InternalRosSystem.g:12267:3: ruleParameterList + // InternalRosSystem.g:13546:2: ( ruleParameterList ) + // InternalRosSystem.g:13547:3: ruleParameterList { before(grammarAccess.getParameterArrayTypeAccess().getDefaultParameterListParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -36437,17 +40292,17 @@ public final void rule__ParameterArrayType__DefaultAssignment_4_1() throws Recog // $ANTLR start "rule__ParameterList__ValueAssignment_2" - // InternalRosSystem.g:12276:1: rule__ParameterList__ValueAssignment_2 : ( ruleParameterValue ) ; + // InternalRosSystem.g:13556:1: rule__ParameterList__ValueAssignment_2 : ( ruleParameterValue ) ; public final void rule__ParameterList__ValueAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12280:1: ( ( ruleParameterValue ) ) - // InternalRosSystem.g:12281:2: ( ruleParameterValue ) + // InternalRosSystem.g:13560:1: ( ( ruleParameterValue ) ) + // InternalRosSystem.g:13561:2: ( ruleParameterValue ) { - // InternalRosSystem.g:12281:2: ( ruleParameterValue ) - // InternalRosSystem.g:12282:3: ruleParameterValue + // InternalRosSystem.g:13561:2: ( ruleParameterValue ) + // InternalRosSystem.g:13562:3: ruleParameterValue { before(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -36478,17 +40333,17 @@ public final void rule__ParameterList__ValueAssignment_2() throws RecognitionExc // $ANTLR start "rule__ParameterList__ValueAssignment_3_1" - // InternalRosSystem.g:12291:1: rule__ParameterList__ValueAssignment_3_1 : ( ruleParameterValue ) ; + // InternalRosSystem.g:13571:1: rule__ParameterList__ValueAssignment_3_1 : ( ruleParameterValue ) ; public final void rule__ParameterList__ValueAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12295:1: ( ( ruleParameterValue ) ) - // InternalRosSystem.g:12296:2: ( ruleParameterValue ) + // InternalRosSystem.g:13575:1: ( ( ruleParameterValue ) ) + // InternalRosSystem.g:13576:2: ( ruleParameterValue ) { - // InternalRosSystem.g:12296:2: ( ruleParameterValue ) - // InternalRosSystem.g:12297:3: ruleParameterValue + // InternalRosSystem.g:13576:2: ( ruleParameterValue ) + // InternalRosSystem.g:13577:3: ruleParameterValue { before(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_3_1_0()); pushFollow(FOLLOW_2); @@ -36519,17 +40374,17 @@ public final void rule__ParameterList__ValueAssignment_3_1() throws RecognitionE // $ANTLR start "rule__ParameterAny__ValueAssignment_3_1" - // InternalRosSystem.g:12306:1: rule__ParameterAny__ValueAssignment_3_1 : ( ruleEString ) ; + // InternalRosSystem.g:13586:1: rule__ParameterAny__ValueAssignment_3_1 : ( ruleEString ) ; public final void rule__ParameterAny__ValueAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12310:1: ( ( ruleEString ) ) - // InternalRosSystem.g:12311:2: ( ruleEString ) + // InternalRosSystem.g:13590:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13591:2: ( ruleEString ) { - // InternalRosSystem.g:12311:2: ( ruleEString ) - // InternalRosSystem.g:12312:3: ruleEString + // InternalRosSystem.g:13591:2: ( ruleEString ) + // InternalRosSystem.g:13592:3: ruleEString { before(grammarAccess.getParameterAnyAccess().getValueEStringParserRuleCall_3_1_0()); pushFollow(FOLLOW_2); @@ -36560,17 +40415,17 @@ public final void rule__ParameterAny__ValueAssignment_3_1() throws RecognitionEx // $ANTLR start "rule__ParameterString__ValueAssignment" - // InternalRosSystem.g:12321:1: rule__ParameterString__ValueAssignment : ( ruleEString ) ; + // InternalRosSystem.g:13601:1: rule__ParameterString__ValueAssignment : ( ruleEString ) ; public final void rule__ParameterString__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12325:1: ( ( ruleEString ) ) - // InternalRosSystem.g:12326:2: ( ruleEString ) + // InternalRosSystem.g:13605:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13606:2: ( ruleEString ) { - // InternalRosSystem.g:12326:2: ( ruleEString ) - // InternalRosSystem.g:12327:3: ruleEString + // InternalRosSystem.g:13606:2: ( ruleEString ) + // InternalRosSystem.g:13607:3: ruleEString { before(grammarAccess.getParameterStringAccess().getValueEStringParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -36601,17 +40456,17 @@ public final void rule__ParameterString__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterBase64__ValueAssignment" - // InternalRosSystem.g:12336:1: rule__ParameterBase64__ValueAssignment : ( ruleBase64Binary ) ; + // InternalRosSystem.g:13616:1: rule__ParameterBase64__ValueAssignment : ( ruleBase64Binary ) ; public final void rule__ParameterBase64__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12340:1: ( ( ruleBase64Binary ) ) - // InternalRosSystem.g:12341:2: ( ruleBase64Binary ) + // InternalRosSystem.g:13620:1: ( ( ruleBase64Binary ) ) + // InternalRosSystem.g:13621:2: ( ruleBase64Binary ) { - // InternalRosSystem.g:12341:2: ( ruleBase64Binary ) - // InternalRosSystem.g:12342:3: ruleBase64Binary + // InternalRosSystem.g:13621:2: ( ruleBase64Binary ) + // InternalRosSystem.g:13622:3: ruleBase64Binary { before(grammarAccess.getParameterBase64Access().getValueBase64BinaryParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -36642,17 +40497,17 @@ public final void rule__ParameterBase64__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterInteger__ValueAssignment" - // InternalRosSystem.g:12351:1: rule__ParameterInteger__ValueAssignment : ( ruleInteger0 ) ; + // InternalRosSystem.g:13631:1: rule__ParameterInteger__ValueAssignment : ( ruleInteger0 ) ; public final void rule__ParameterInteger__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12355:1: ( ( ruleInteger0 ) ) - // InternalRosSystem.g:12356:2: ( ruleInteger0 ) + // InternalRosSystem.g:13635:1: ( ( ruleInteger0 ) ) + // InternalRosSystem.g:13636:2: ( ruleInteger0 ) { - // InternalRosSystem.g:12356:2: ( ruleInteger0 ) - // InternalRosSystem.g:12357:3: ruleInteger0 + // InternalRosSystem.g:13636:2: ( ruleInteger0 ) + // InternalRosSystem.g:13637:3: ruleInteger0 { before(grammarAccess.getParameterIntegerAccess().getValueInteger0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -36683,17 +40538,17 @@ public final void rule__ParameterInteger__ValueAssignment() throws RecognitionEx // $ANTLR start "rule__ParameterDouble__ValueAssignment" - // InternalRosSystem.g:12366:1: rule__ParameterDouble__ValueAssignment : ( ruleDouble0 ) ; + // InternalRosSystem.g:13646:1: rule__ParameterDouble__ValueAssignment : ( ruleDouble0 ) ; public final void rule__ParameterDouble__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12370:1: ( ( ruleDouble0 ) ) - // InternalRosSystem.g:12371:2: ( ruleDouble0 ) + // InternalRosSystem.g:13650:1: ( ( ruleDouble0 ) ) + // InternalRosSystem.g:13651:2: ( ruleDouble0 ) { - // InternalRosSystem.g:12371:2: ( ruleDouble0 ) - // InternalRosSystem.g:12372:3: ruleDouble0 + // InternalRosSystem.g:13651:2: ( ruleDouble0 ) + // InternalRosSystem.g:13652:3: ruleDouble0 { before(grammarAccess.getParameterDoubleAccess().getValueDouble0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -36724,17 +40579,17 @@ public final void rule__ParameterDouble__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterBoolean__ValueAssignment" - // InternalRosSystem.g:12381:1: rule__ParameterBoolean__ValueAssignment : ( ruleboolean0 ) ; + // InternalRosSystem.g:13661:1: rule__ParameterBoolean__ValueAssignment : ( ruleboolean0 ) ; public final void rule__ParameterBoolean__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12385:1: ( ( ruleboolean0 ) ) - // InternalRosSystem.g:12386:2: ( ruleboolean0 ) + // InternalRosSystem.g:13665:1: ( ( ruleboolean0 ) ) + // InternalRosSystem.g:13666:2: ( ruleboolean0 ) { - // InternalRosSystem.g:12386:2: ( ruleboolean0 ) - // InternalRosSystem.g:12387:3: ruleboolean0 + // InternalRosSystem.g:13666:2: ( ruleboolean0 ) + // InternalRosSystem.g:13667:3: ruleboolean0 { before(grammarAccess.getParameterBooleanAccess().getValueBoolean0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -36765,17 +40620,17 @@ public final void rule__ParameterBoolean__ValueAssignment() throws RecognitionEx // $ANTLR start "rule__ParameterDate__ValueAssignment" - // InternalRosSystem.g:12396:1: rule__ParameterDate__ValueAssignment : ( ruleDateTime0 ) ; + // InternalRosSystem.g:13676:1: rule__ParameterDate__ValueAssignment : ( ruleDateTime0 ) ; public final void rule__ParameterDate__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12400:1: ( ( ruleDateTime0 ) ) - // InternalRosSystem.g:12401:2: ( ruleDateTime0 ) + // InternalRosSystem.g:13680:1: ( ( ruleDateTime0 ) ) + // InternalRosSystem.g:13681:2: ( ruleDateTime0 ) { - // InternalRosSystem.g:12401:2: ( ruleDateTime0 ) - // InternalRosSystem.g:12402:3: ruleDateTime0 + // InternalRosSystem.g:13681:2: ( ruleDateTime0 ) + // InternalRosSystem.g:13682:3: ruleDateTime0 { before(grammarAccess.getParameterDateAccess().getValueDateTime0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -36806,17 +40661,17 @@ public final void rule__ParameterDate__ValueAssignment() throws RecognitionExcep // $ANTLR start "rule__ParameterStruct__ValueAssignment_1_1" - // InternalRosSystem.g:12411:1: rule__ParameterStruct__ValueAssignment_1_1 : ( ruleParameterStructMember ) ; + // InternalRosSystem.g:13691:1: rule__ParameterStruct__ValueAssignment_1_1 : ( ruleParameterStructMember ) ; public final void rule__ParameterStruct__ValueAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12415:1: ( ( ruleParameterStructMember ) ) - // InternalRosSystem.g:12416:2: ( ruleParameterStructMember ) + // InternalRosSystem.g:13695:1: ( ( ruleParameterStructMember ) ) + // InternalRosSystem.g:13696:2: ( ruleParameterStructMember ) { - // InternalRosSystem.g:12416:2: ( ruleParameterStructMember ) - // InternalRosSystem.g:12417:3: ruleParameterStructMember + // InternalRosSystem.g:13696:2: ( ruleParameterStructMember ) + // InternalRosSystem.g:13697:3: ruleParameterStructMember { before(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_1_0()); pushFollow(FOLLOW_2); @@ -36847,17 +40702,17 @@ public final void rule__ParameterStruct__ValueAssignment_1_1() throws Recognitio // $ANTLR start "rule__ParameterStruct__ValueAssignment_1_2_2" - // InternalRosSystem.g:12426:1: rule__ParameterStruct__ValueAssignment_1_2_2 : ( ruleParameterStructMember ) ; + // InternalRosSystem.g:13706:1: rule__ParameterStruct__ValueAssignment_1_2_2 : ( ruleParameterStructMember ) ; public final void rule__ParameterStruct__ValueAssignment_1_2_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12430:1: ( ( ruleParameterStructMember ) ) - // InternalRosSystem.g:12431:2: ( ruleParameterStructMember ) + // InternalRosSystem.g:13710:1: ( ( ruleParameterStructMember ) ) + // InternalRosSystem.g:13711:2: ( ruleParameterStructMember ) { - // InternalRosSystem.g:12431:2: ( ruleParameterStructMember ) - // InternalRosSystem.g:12432:3: ruleParameterStructMember + // InternalRosSystem.g:13711:2: ( ruleParameterStructMember ) + // InternalRosSystem.g:13712:3: ruleParameterStructMember { before(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_2_2_0()); pushFollow(FOLLOW_2); @@ -36888,17 +40743,17 @@ public final void rule__ParameterStruct__ValueAssignment_1_2_2() throws Recognit // $ANTLR start "rule__ParameterStructMember__NameAssignment_0" - // InternalRosSystem.g:12441:1: rule__ParameterStructMember__NameAssignment_0 : ( ruleEString ) ; + // InternalRosSystem.g:13721:1: rule__ParameterStructMember__NameAssignment_0 : ( ruleEString ) ; public final void rule__ParameterStructMember__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12445:1: ( ( ruleEString ) ) - // InternalRosSystem.g:12446:2: ( ruleEString ) + // InternalRosSystem.g:13725:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13726:2: ( ruleEString ) { - // InternalRosSystem.g:12446:2: ( ruleEString ) - // InternalRosSystem.g:12447:3: ruleEString + // InternalRosSystem.g:13726:2: ( ruleEString ) + // InternalRosSystem.g:13727:3: ruleEString { before(grammarAccess.getParameterStructMemberAccess().getNameEStringParserRuleCall_0_0()); pushFollow(FOLLOW_2); @@ -36929,17 +40784,17 @@ public final void rule__ParameterStructMember__NameAssignment_0() throws Recogni // $ANTLR start "rule__ParameterStructMember__ValueAssignment_3" - // InternalRosSystem.g:12456:1: rule__ParameterStructMember__ValueAssignment_3 : ( ruleParameterValue ) ; + // InternalRosSystem.g:13736:1: rule__ParameterStructMember__ValueAssignment_3 : ( ruleParameterValue ) ; public final void rule__ParameterStructMember__ValueAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12460:1: ( ( ruleParameterValue ) ) - // InternalRosSystem.g:12461:2: ( ruleParameterValue ) + // InternalRosSystem.g:13740:1: ( ( ruleParameterValue ) ) + // InternalRosSystem.g:13741:2: ( ruleParameterValue ) { - // InternalRosSystem.g:12461:2: ( ruleParameterValue ) - // InternalRosSystem.g:12462:3: ruleParameterValue + // InternalRosSystem.g:13741:2: ( ruleParameterValue ) + // InternalRosSystem.g:13742:3: ruleParameterValue { before(grammarAccess.getParameterStructMemberAccess().getValueParameterValueParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -36970,17 +40825,17 @@ public final void rule__ParameterStructMember__ValueAssignment_3() throws Recogn // $ANTLR start "rule__ParameterStructTypeMember__NameAssignment_0" - // InternalRosSystem.g:12471:1: rule__ParameterStructTypeMember__NameAssignment_0 : ( ruleEString ) ; + // InternalRosSystem.g:13751:1: rule__ParameterStructTypeMember__NameAssignment_0 : ( ruleEString ) ; public final void rule__ParameterStructTypeMember__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12475:1: ( ( ruleEString ) ) - // InternalRosSystem.g:12476:2: ( ruleEString ) + // InternalRosSystem.g:13755:1: ( ( ruleEString ) ) + // InternalRosSystem.g:13756:2: ( ruleEString ) { - // InternalRosSystem.g:12476:2: ( ruleEString ) - // InternalRosSystem.g:12477:3: ruleEString + // InternalRosSystem.g:13756:2: ( ruleEString ) + // InternalRosSystem.g:13757:3: ruleEString { before(grammarAccess.getParameterStructTypeMemberAccess().getNameEStringParserRuleCall_0_0()); pushFollow(FOLLOW_2); @@ -37011,17 +40866,17 @@ public final void rule__ParameterStructTypeMember__NameAssignment_0() throws Rec // $ANTLR start "rule__ParameterStructTypeMember__TypeAssignment_1" - // InternalRosSystem.g:12486:1: rule__ParameterStructTypeMember__TypeAssignment_1 : ( ruleParameterType ) ; + // InternalRosSystem.g:13766:1: rule__ParameterStructTypeMember__TypeAssignment_1 : ( ruleParameterType ) ; public final void rule__ParameterStructTypeMember__TypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12490:1: ( ( ruleParameterType ) ) - // InternalRosSystem.g:12491:2: ( ruleParameterType ) + // InternalRosSystem.g:13770:1: ( ( ruleParameterType ) ) + // InternalRosSystem.g:13771:2: ( ruleParameterType ) { - // InternalRosSystem.g:12491:2: ( ruleParameterType ) - // InternalRosSystem.g:12492:3: ruleParameterType + // InternalRosSystem.g:13771:2: ( ruleParameterType ) + // InternalRosSystem.g:13772:3: ruleParameterType { before(grammarAccess.getParameterStructTypeMemberAccess().getTypeParameterTypeParserRuleCall_1_0()); pushFollow(FOLLOW_2); @@ -37052,17 +40907,17 @@ public final void rule__ParameterStructTypeMember__TypeAssignment_1() throws Rec // $ANTLR start "rule__GlobalNamespace__PartsAssignment_3_2" - // InternalRosSystem.g:12501:1: rule__GlobalNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRosSystem.g:13781:1: rule__GlobalNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__GlobalNamespace__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12505:1: ( ( ruleGraphName ) ) - // InternalRosSystem.g:12506:2: ( ruleGraphName ) + // InternalRosSystem.g:13785:1: ( ( ruleGraphName ) ) + // InternalRosSystem.g:13786:2: ( ruleGraphName ) { - // InternalRosSystem.g:12506:2: ( ruleGraphName ) - // InternalRosSystem.g:12507:3: ruleGraphName + // InternalRosSystem.g:13786:2: ( ruleGraphName ) + // InternalRosSystem.g:13787:3: ruleGraphName { before(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -37093,17 +40948,17 @@ public final void rule__GlobalNamespace__PartsAssignment_3_2() throws Recognitio // $ANTLR start "rule__GlobalNamespace__PartsAssignment_3_3_1" - // InternalRosSystem.g:12516:1: rule__GlobalNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRosSystem.g:13796:1: rule__GlobalNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__GlobalNamespace__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12520:1: ( ( ruleGraphName ) ) - // InternalRosSystem.g:12521:2: ( ruleGraphName ) + // InternalRosSystem.g:13800:1: ( ( ruleGraphName ) ) + // InternalRosSystem.g:13801:2: ( ruleGraphName ) { - // InternalRosSystem.g:12521:2: ( ruleGraphName ) - // InternalRosSystem.g:12522:3: ruleGraphName + // InternalRosSystem.g:13801:2: ( ruleGraphName ) + // InternalRosSystem.g:13802:3: ruleGraphName { before(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -37134,17 +40989,17 @@ public final void rule__GlobalNamespace__PartsAssignment_3_3_1() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__PartsAssignment_3_2" - // InternalRosSystem.g:12531:1: rule__RelativeNamespace_Impl__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRosSystem.g:13811:1: rule__RelativeNamespace_Impl__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__RelativeNamespace_Impl__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12535:1: ( ( ruleGraphName ) ) - // InternalRosSystem.g:12536:2: ( ruleGraphName ) + // InternalRosSystem.g:13815:1: ( ( ruleGraphName ) ) + // InternalRosSystem.g:13816:2: ( ruleGraphName ) { - // InternalRosSystem.g:12536:2: ( ruleGraphName ) - // InternalRosSystem.g:12537:3: ruleGraphName + // InternalRosSystem.g:13816:2: ( ruleGraphName ) + // InternalRosSystem.g:13817:3: ruleGraphName { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -37175,17 +41030,17 @@ public final void rule__RelativeNamespace_Impl__PartsAssignment_3_2() throws Rec // $ANTLR start "rule__RelativeNamespace_Impl__PartsAssignment_3_3_1" - // InternalRosSystem.g:12546:1: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRosSystem.g:13826:1: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__RelativeNamespace_Impl__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12550:1: ( ( ruleGraphName ) ) - // InternalRosSystem.g:12551:2: ( ruleGraphName ) + // InternalRosSystem.g:13830:1: ( ( ruleGraphName ) ) + // InternalRosSystem.g:13831:2: ( ruleGraphName ) { - // InternalRosSystem.g:12551:2: ( ruleGraphName ) - // InternalRosSystem.g:12552:3: ruleGraphName + // InternalRosSystem.g:13831:2: ( ruleGraphName ) + // InternalRosSystem.g:13832:3: ruleGraphName { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -37216,17 +41071,17 @@ public final void rule__RelativeNamespace_Impl__PartsAssignment_3_3_1() throws R // $ANTLR start "rule__PrivateNamespace__PartsAssignment_3_2" - // InternalRosSystem.g:12561:1: rule__PrivateNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRosSystem.g:13841:1: rule__PrivateNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__PrivateNamespace__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12565:1: ( ( ruleGraphName ) ) - // InternalRosSystem.g:12566:2: ( ruleGraphName ) + // InternalRosSystem.g:13845:1: ( ( ruleGraphName ) ) + // InternalRosSystem.g:13846:2: ( ruleGraphName ) { - // InternalRosSystem.g:12566:2: ( ruleGraphName ) - // InternalRosSystem.g:12567:3: ruleGraphName + // InternalRosSystem.g:13846:2: ( ruleGraphName ) + // InternalRosSystem.g:13847:3: ruleGraphName { before(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -37257,17 +41112,17 @@ public final void rule__PrivateNamespace__PartsAssignment_3_2() throws Recogniti // $ANTLR start "rule__PrivateNamespace__PartsAssignment_3_3_1" - // InternalRosSystem.g:12576:1: rule__PrivateNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRosSystem.g:13856:1: rule__PrivateNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__PrivateNamespace__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRosSystem.g:12580:1: ( ( ruleGraphName ) ) - // InternalRosSystem.g:12581:2: ( ruleGraphName ) + // InternalRosSystem.g:13860:1: ( ( ruleGraphName ) ) + // InternalRosSystem.g:13861:2: ( ruleGraphName ) { - // InternalRosSystem.g:12581:2: ( ruleGraphName ) - // InternalRosSystem.g:12582:3: ruleGraphName + // InternalRosSystem.g:13861:2: ( ruleGraphName ) + // InternalRosSystem.g:13862:3: ruleGraphName { before(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -37307,7 +41162,7 @@ public final void rule__PrivateNamespace__PartsAssignment_3_3_1() throws Recogni static final String dfa_5s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\uffff\1\7\2\uffff\1\6"; static final String dfa_6s = "\13\uffff}>"; static final String[] dfa_7s = { - "\1\2\1\5\1\4\1\3\1\uffff\2\1\15\uffff\1\6\1\uffff\1\7\3\uffff\1\7", + "\1\2\1\5\1\4\1\3\1\uffff\2\1\15\uffff\1\6\1\uffff\1\7\2\uffff\2\7", "", "", "", @@ -37342,7 +41197,7 @@ public DFA3(BaseRecognizer recognizer) { this.transition = dfa_7; } public String getDescription() { - return "1255:1: rule__ParameterValue__Alternatives : ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) );"; + return "1305:1: rule__ParameterValue__Alternatives : ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) );"; } } @@ -37353,64 +41208,70 @@ public String getDescription() { public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000600L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x000000078C000000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000F8C000000L}); public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000010020000000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000800020000000L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000040000000L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000040000002L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000804000000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000004004000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000004000000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000020020000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000001004000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000001000000000L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000008004000000L}); public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000001000000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000060000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000010004000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0007FC0004000000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000044000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0040000000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0400000000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x1000000000000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000001000600L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0030000000000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x00A0000000000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0220000000000000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0820000000000000L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x8020000000000000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x00000000010006F0L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000040004000000L,0x0000000000000005L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x000000000001A000L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000FB8L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000060000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000004000000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000004000000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x000008000C000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000100020000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000600000000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000000L,0x000000000000FB80L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x00000000010006F0L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x01FF000004000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000044000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000001000600L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0C00000000000000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x2800000000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x8800000000000000L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000400004000000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0001600004000000L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000000L,0x00000000001A0000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000040L}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000004000000L,0x0000000000004000L}); - public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000400000L}); - public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000004000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); } \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/src-gen/de/fraunhofer/ipa/rossystem/ui/contentassist/AbstractRosSystemProposalProvider.java b/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/src-gen/de/fraunhofer/ipa/rossystem/ui/contentassist/AbstractRosSystemProposalProvider.java index 64ba7e0d3..6fa82544c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/src-gen/de/fraunhofer/ipa/rossystem/ui/contentassist/AbstractRosSystemProposalProvider.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/src-gen/de/fraunhofer/ipa/rossystem/ui/contentassist/AbstractRosSystemProposalProvider.java @@ -24,6 +24,9 @@ public void completeRosSystem_Name(EObject model, Assignment assignment, Content public void completeRosSystem_RosComponent(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } + public void completeRosSystem_ComponentStack(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } public void completeRosSystem_TopicConnections(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } @@ -63,6 +66,24 @@ public void completeActionConnection_From(EObject model, Assignment assignment, public void completeActionConnection_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); } + public void completeComponentStack_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentStack_RosComponent(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentStack_QualityAttribute(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQualityAttribute_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQualityAttribute_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQualityAttribute_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } public void completeComponentInterface_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } @@ -268,6 +289,12 @@ public void complete_ActionConnection(EObject model, RuleCall ruleCall, ContentA public void complete_EString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } + public void complete_ComponentStack(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QualityAttribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } public void complete_ComponentInterface(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/RosSystem.xtextbin b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/RosSystem.xtextbin index 134253c83e48721fabd74927bcfc2f24ca98a817..646cd7e820738b3746455606bff65348e52d0043 100644 GIT binary patch delta 5848 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'4' && LA12_0<='9')) ) { } switch (alt12) { case 1 : - // InternalRosSystem.g:3938:22: '1' .. '9' + // InternalRosSystem.g:4264:22: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRosSystem.g:3938:31: '1' .. '3' '0' .. '9' + // InternalRosSystem.g:4264:31: '1' .. '3' '0' .. '9' { matchRange('1','3'); matchRange('0','9'); @@ -1853,10 +1941,10 @@ else if ( ((LA12_0>='4' && LA12_0<='9')) ) { // $ANTLR start "RULE_MONTH" public final void mRULE_MONTH() throws RecognitionException { try { - // InternalRosSystem.g:3940:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) - // InternalRosSystem.g:3940:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRosSystem.g:4266:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) + // InternalRosSystem.g:4266:23: ( '1' .. '9' | '1' '0' .. '2' ) { - // InternalRosSystem.g:3940:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRosSystem.g:4266:23: ( '1' .. '9' | '1' '0' .. '2' ) int alt13=2; int LA13_0 = input.LA(1); @@ -1880,14 +1968,14 @@ else if ( ((LA13_0>='2' && LA13_0<='9')) ) { } switch (alt13) { case 1 : - // InternalRosSystem.g:3940:24: '1' .. '9' + // InternalRosSystem.g:4266:24: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRosSystem.g:3940:33: '1' '0' .. '2' + // InternalRosSystem.g:4266:33: '1' '0' .. '2' { match('1'); matchRange('0','2'); @@ -1909,8 +1997,8 @@ else if ( ((LA13_0>='2' && LA13_0<='9')) ) { // $ANTLR start "RULE_YEAR" public final void mRULE_YEAR() throws RecognitionException { try { - // InternalRosSystem.g:3942:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) - // InternalRosSystem.g:3942:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' + // InternalRosSystem.g:4268:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) + // InternalRosSystem.g:4268:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' { matchRange('0','2'); matchRange('0','9'); @@ -1928,10 +2016,10 @@ public final void mRULE_YEAR() throws RecognitionException { // $ANTLR start "RULE_HOUR" public final void mRULE_HOUR() throws RecognitionException { try { - // InternalRosSystem.g:3944:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) - // InternalRosSystem.g:3944:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRosSystem.g:4270:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) + // InternalRosSystem.g:4270:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) { - // InternalRosSystem.g:3944:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRosSystem.g:4270:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) int alt14=2; int LA14_0 = input.LA(1); @@ -1949,7 +2037,7 @@ else if ( (LA14_0=='2') ) { } switch (alt14) { case 1 : - // InternalRosSystem.g:3944:23: '0' .. '1' '0' .. '9' + // InternalRosSystem.g:4270:23: '0' .. '1' '0' .. '9' { matchRange('0','1'); matchRange('0','9'); @@ -1957,7 +2045,7 @@ else if ( (LA14_0=='2') ) { } break; case 2 : - // InternalRosSystem.g:3944:41: '2' '0' .. '3' + // InternalRosSystem.g:4270:41: '2' '0' .. '3' { match('2'); matchRange('0','3'); @@ -1979,8 +2067,8 @@ else if ( (LA14_0=='2') ) { // $ANTLR start "RULE_MIN_SEC" public final void mRULE_MIN_SEC() throws RecognitionException { try { - // InternalRosSystem.g:3946:23: ( '0' .. '5' '0' .. '9' ) - // InternalRosSystem.g:3946:25: '0' .. '5' '0' .. '9' + // InternalRosSystem.g:4272:23: ( '0' .. '5' '0' .. '9' ) + // InternalRosSystem.g:4272:25: '0' .. '5' '0' .. '9' { matchRange('0','5'); matchRange('0','9'); @@ -1998,8 +2086,8 @@ public final void mRULE_DATE_TIME() throws RecognitionException { try { int _type = RULE_DATE_TIME; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3948:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) - // InternalRosSystem.g:3948:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC + // InternalRosSystem.g:4274:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) + // InternalRosSystem.g:4274:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC { mRULE_YEAR(); match('-'); @@ -2028,10 +2116,10 @@ public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3950:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalRosSystem.g:3950:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRosSystem.g:4276:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalRosSystem.g:4276:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalRosSystem.g:3950:11: ( '^' )? + // InternalRosSystem.g:4276:11: ( '^' )? int alt15=2; int LA15_0 = input.LA(1); @@ -2040,7 +2128,7 @@ public final void mRULE_ID() throws RecognitionException { } switch (alt15) { case 1 : - // InternalRosSystem.g:3950:11: '^' + // InternalRosSystem.g:4276:11: '^' { match('^'); @@ -2058,7 +2146,7 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalRosSystem.g:3950:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRosSystem.g:4276:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop16: do { int alt16=2; @@ -2107,10 +2195,10 @@ public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3952:10: ( ( '0' .. '9' )+ ) - // InternalRosSystem.g:3952:12: ( '0' .. '9' )+ + // InternalRosSystem.g:4278:10: ( ( '0' .. '9' )+ ) + // InternalRosSystem.g:4278:12: ( '0' .. '9' )+ { - // InternalRosSystem.g:3952:12: ( '0' .. '9' )+ + // InternalRosSystem.g:4278:12: ( '0' .. '9' )+ int cnt17=0; loop17: do { @@ -2124,7 +2212,7 @@ public final void mRULE_INT() throws RecognitionException { switch (alt17) { case 1 : - // InternalRosSystem.g:3952:13: '0' .. '9' + // InternalRosSystem.g:4278:13: '0' .. '9' { matchRange('0','9'); @@ -2156,10 +2244,10 @@ public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3954:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalRosSystem.g:3954:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRosSystem.g:4280:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalRosSystem.g:4280:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) { - // InternalRosSystem.g:3954:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRosSystem.g:4280:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) int alt20=2; int LA20_0 = input.LA(1); @@ -2177,10 +2265,10 @@ else if ( (LA20_0=='\'') ) { } switch (alt20) { case 1 : - // InternalRosSystem.g:3954:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalRosSystem.g:4280:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalRosSystem.g:3954:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalRosSystem.g:4280:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop18: do { int alt18=3; @@ -2196,7 +2284,7 @@ else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA1 switch (alt18) { case 1 : - // InternalRosSystem.g:3954:21: '\\\\' . + // InternalRosSystem.g:4280:21: '\\\\' . { match('\\'); matchAny(); @@ -2204,7 +2292,7 @@ else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA1 } break; case 2 : - // InternalRosSystem.g:3954:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalRosSystem.g:4280:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -2229,10 +2317,10 @@ else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA1 } break; case 2 : - // InternalRosSystem.g:3954:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalRosSystem.g:4280:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalRosSystem.g:3954:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalRosSystem.g:4280:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop19: do { int alt19=3; @@ -2248,7 +2336,7 @@ else if ( ((LA19_0>='\u0000' && LA19_0<='&')||(LA19_0>='(' && LA19_0<='[')||(LA1 switch (alt19) { case 1 : - // InternalRosSystem.g:3954:54: '\\\\' . + // InternalRosSystem.g:4280:54: '\\\\' . { match('\\'); matchAny(); @@ -2256,7 +2344,7 @@ else if ( ((LA19_0>='\u0000' && LA19_0<='&')||(LA19_0>='(' && LA19_0<='[')||(LA1 } break; case 2 : - // InternalRosSystem.g:3954:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalRosSystem.g:4280:61: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -2299,12 +2387,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3956:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalRosSystem.g:3956:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalRosSystem.g:4282:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalRosSystem.g:4282:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalRosSystem.g:3956:24: ( options {greedy=false; } : . )* + // InternalRosSystem.g:4282:24: ( options {greedy=false; } : . )* loop21: do { int alt21=2; @@ -2329,7 +2417,7 @@ else if ( ((LA21_0>='\u0000' && LA21_0<=')')||(LA21_0>='+' && LA21_0<='\uFFFF')) switch (alt21) { case 1 : - // InternalRosSystem.g:3956:52: . + // InternalRosSystem.g:4282:52: . { matchAny(); @@ -2359,12 +2447,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3958:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalRosSystem.g:3958:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalRosSystem.g:4284:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalRosSystem.g:4284:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalRosSystem.g:3958:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalRosSystem.g:4284:24: (~ ( ( '\\n' | '\\r' ) ) )* loop22: do { int alt22=2; @@ -2377,7 +2465,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { switch (alt22) { case 1 : - // InternalRosSystem.g:3958:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalRosSystem.g:4284:24: ~ ( ( '\\n' | '\\r' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -2397,7 +2485,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalRosSystem.g:3958:40: ( ( '\\r' )? '\\n' )? + // InternalRosSystem.g:4284:40: ( ( '\\r' )? '\\n' )? int alt24=2; int LA24_0 = input.LA(1); @@ -2406,9 +2494,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt24) { case 1 : - // InternalRosSystem.g:3958:41: ( '\\r' )? '\\n' + // InternalRosSystem.g:4284:41: ( '\\r' )? '\\n' { - // InternalRosSystem.g:3958:41: ( '\\r' )? + // InternalRosSystem.g:4284:41: ( '\\r' )? int alt23=2; int LA23_0 = input.LA(1); @@ -2417,7 +2505,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt23) { case 1 : - // InternalRosSystem.g:3958:41: '\\r' + // InternalRosSystem.g:4284:41: '\\r' { match('\r'); @@ -2449,10 +2537,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3960:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalRosSystem.g:3960:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRosSystem.g:4286:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalRosSystem.g:4286:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalRosSystem.g:3960:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRosSystem.g:4286:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt25=0; loop25: do { @@ -2506,8 +2594,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRosSystem.g:3962:16: ( . ) - // InternalRosSystem.g:3962:18: . + // InternalRosSystem.g:4288:16: ( . ) + // InternalRosSystem.g:4288:18: . { matchAny(); @@ -2522,8 +2610,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalRosSystem.g:1:8: ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt26=71; + // InternalRosSystem.g:1:8: ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt26=75; alt26 = dfa26.predict(input); switch (alt26) { case 1 : @@ -2940,84 +3028,112 @@ public void mTokens() throws RecognitionException { } break; case 60 : - // InternalRosSystem.g:1:364: RULE_BINARY + // InternalRosSystem.g:1:364: T__81 { - mRULE_BINARY(); + mT__81(); } break; case 61 : - // InternalRosSystem.g:1:376: RULE_BOOLEAN + // InternalRosSystem.g:1:370: T__82 { - mRULE_BOOLEAN(); + mT__82(); } break; case 62 : - // InternalRosSystem.g:1:389: RULE_DOUBLE + // InternalRosSystem.g:1:376: T__83 { - mRULE_DOUBLE(); + mT__83(); } break; case 63 : - // InternalRosSystem.g:1:401: RULE_DECINT + // InternalRosSystem.g:1:382: T__84 { - mRULE_DECINT(); + mT__84(); } break; case 64 : - // InternalRosSystem.g:1:413: RULE_DATE_TIME + // InternalRosSystem.g:1:388: RULE_BINARY { - mRULE_DATE_TIME(); + mRULE_BINARY(); } break; case 65 : - // InternalRosSystem.g:1:428: RULE_ID + // InternalRosSystem.g:1:400: RULE_BOOLEAN { - mRULE_ID(); + mRULE_BOOLEAN(); } break; case 66 : - // InternalRosSystem.g:1:436: RULE_INT + // InternalRosSystem.g:1:413: RULE_DOUBLE { - mRULE_INT(); + mRULE_DOUBLE(); } break; case 67 : - // InternalRosSystem.g:1:445: RULE_STRING + // InternalRosSystem.g:1:425: RULE_DECINT { - mRULE_STRING(); + mRULE_DECINT(); } break; case 68 : - // InternalRosSystem.g:1:457: RULE_ML_COMMENT + // InternalRosSystem.g:1:437: RULE_DATE_TIME { - mRULE_ML_COMMENT(); + mRULE_DATE_TIME(); } break; case 69 : - // InternalRosSystem.g:1:473: RULE_SL_COMMENT + // InternalRosSystem.g:1:452: RULE_ID { - mRULE_SL_COMMENT(); + mRULE_ID(); } break; case 70 : - // InternalRosSystem.g:1:489: RULE_WS + // InternalRosSystem.g:1:460: RULE_INT { - mRULE_WS(); + mRULE_INT(); } break; case 71 : - // InternalRosSystem.g:1:497: RULE_ANY_OTHER + // InternalRosSystem.g:1:469: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 72 : + // InternalRosSystem.g:1:481: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 73 : + // InternalRosSystem.g:1:497: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 74 : + // InternalRosSystem.g:1:513: RULE_WS + { + mRULE_WS(); + + } + break; + case 75 : + // InternalRosSystem.g:1:521: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -3081,70 +3197,69 @@ public DFA8(BaseRecognizer recognizer) { this.transition = DFA8_transition; } public String getDescription() { - return "3934:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; + return "4260:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; } } static final String DFA26_eotS = - "\1\uffff\1\46\1\uffff\1\46\3\uffff\1\46\1\uffff\17\46\1\106\1\46\1\106\1\43\1\106\1\43\1\uffff\3\43\2\uffff\2\46\2\uffff\1\46\3\uffff\1\125\1\uffff\11\46\1\137\14\46\1\uffff\1\155\2\uffff\1\46\3\106\4\uffff\5\46\1\uffff\11\46\1\uffff\14\46\1\155\1\uffff\1\46\2\106\10\46\1\u00a3\10\46\1\u00ad\1\46\1\u00af\1\46\1\u00b1\1\u00b2\1\u00b3\10\46\1\155\1\46\1\106\17\46\1\uffff\5\46\1\u00d2\3\46\1\uffff\1\46\1\uffff\1\u00d7\3\uffff\7\46\1\u00df\1\uffff\1\u00b2\21\46\1\u00f2\1\u00f3\1\46\1\uffff\4\46\1\uffff\2\46\1\u00fb\1\46\1\u00fd\2\46\1\uffff\22\46\2\uffff\5\46\1\u0117\1\u0118\1\uffff\1\u0119\1\uffff\31\46\3\uffff\2\46\1\u0135\13\46\1\u0142\1\u0143\1\46\1\u0145\3\46\1\u014b\4\46\1\u0150\1\uffff\14\46\2\uffff\1\46\1\uffff\3\46\1\u0162\1\46\1\uffff\4\46\1\uffff\21\46\1\uffff\2\46\1\u017b\10\46\1\u0185\1\u0187\2\46\1\u018a\1\u018b\5\46\1\u0191\1\46\1\uffff\2\46\1\u0196\1\u0197\1\u0198\2\46\1\u019b\1\u019c\1\uffff\1\u019d\1\uffff\2\46\2\uffff\1\u01a0\4\46\1\uffff\3\46\1\u01a8\3\uffff\2\46\3\uffff\2\46\1\uffff\7\46\1\uffff\2\46\1\u01b7\1\u01b9\1\46\1\u01bc\4\46\1\u01c1\1\u01c2\1\u01c3\1\u01c4\1\uffff\1\u01c5\1\uffff\1\46\1\u01c7\1\uffff\1\46\1\u01ca\1\u01cb\1\46\5\uffff\1\u01cd\1\uffff\1\u01cf\1\u01d0\2\uffff\1\46\1\uffff\1\u01d2\2\uffff\1\u01d3\2\uffff"; + "\1\uffff\1\47\1\uffff\1\47\3\uffff\1\47\1\uffff\20\47\1\110\1\47\1\110\1\44\1\110\1\44\1\uffff\3\44\2\uffff\2\47\2\uffff\1\47\3\uffff\1\127\1\uffff\11\47\1\141\15\47\1\uffff\1\160\2\uffff\1\47\3\110\4\uffff\5\47\1\uffff\11\47\1\uffff\15\47\1\160\1\uffff\1\47\2\110\10\47\1\u00a7\10\47\1\u00b1\1\47\1\u00b3\1\47\1\u00b5\1\u00b6\1\47\1\u00b8\10\47\1\160\1\47\1\110\17\47\1\uffff\5\47\1\u00d7\3\47\1\uffff\1\47\1\uffff\1\47\2\uffff\1\u00dd\1\uffff\7\47\1\u00e5\1\uffff\1\u00b6\21\47\1\u00f8\1\u00f9\1\47\1\uffff\5\47\1\uffff\2\47\1\u0102\1\47\1\u0104\2\47\1\uffff\22\47\2\uffff\6\47\1\u011f\1\u0120\1\uffff\1\u0121\1\uffff\32\47\3\uffff\2\47\1\u013e\13\47\1\u014b\1\u014c\1\47\1\u014e\3\47\1\u0154\5\47\1\u015b\1\uffff\14\47\2\uffff\1\47\1\uffff\3\47\1\u016d\1\47\1\uffff\6\47\1\uffff\21\47\1\uffff\2\47\1\u0188\12\47\1\u0195\1\u0197\2\47\1\u019a\1\u019b\5\47\1\u01a1\1\47\1\uffff\4\47\1\u01a8\1\u01a9\1\u01aa\2\47\1\u01ad\1\47\1\u01af\1\uffff\1\u01b0\1\uffff\2\47\2\uffff\1\u01b3\4\47\1\uffff\5\47\1\u01bd\3\uffff\2\47\1\uffff\1\47\2\uffff\2\47\1\uffff\5\47\1\u01c8\3\47\1\uffff\3\47\1\u01d0\1\u01d2\1\47\1\u01d5\3\47\1\uffff\2\47\1\u01db\1\u01dc\1\u01dd\1\47\1\u01df\1\uffff\1\u01e0\1\uffff\1\47\1\u01e2\1\uffff\1\47\1\u01e5\1\u01e6\1\47\1\u01e9\3\uffff\1\47\2\uffff\1\u01eb\1\uffff\1\u01ed\1\u01ee\2\uffff\1\47\1\u01f0\1\uffff\1\u01f1\1\uffff\1\u01f2\2\uffff\1\u01f3\4\uffff"; static final String DFA26_eofS = - "\u01d4\uffff"; + "\u01f4\uffff"; static final String DFA26_minS = - "\1\0\1\145\1\uffff\1\141\3\uffff\1\157\1\uffff\1\145\1\143\1\141\1\162\1\157\2\141\1\162\1\151\1\156\1\145\1\157\1\141\1\154\1\141\1\56\1\141\1\56\1\60\1\56\1\101\1\uffff\2\0\1\52\2\uffff\1\163\1\146\2\uffff\1\155\3\uffff\1\60\1\uffff\2\162\1\164\2\162\1\151\1\157\2\155\1\60\1\154\1\160\1\165\1\163\1\164\1\146\1\165\1\157\1\163\1\157\1\141\1\162\1\uffff\1\60\2\uffff\1\154\3\56\4\uffff\1\101\1\103\1\141\1\145\1\151\1\uffff\1\166\2\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\165\2\145\1\164\1\145\1\141\1\142\1\154\1\145\1\142\1\160\1\164\1\60\1\uffff\1\163\2\56\1\145\1\157\1\141\1\143\1\141\1\145\1\154\1\164\1\60\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\60\1\157\1\60\1\145\3\60\1\147\1\165\1\154\1\145\1\66\1\141\1\150\1\163\1\55\1\145\1\55\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\60\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\60\3\uffff\1\145\1\154\1\145\1\141\1\64\1\154\1\116\1\60\1\uffff\1\60\1\164\1\163\1\103\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\60\1\103\1\uffff\1\164\1\145\1\163\1\145\1\uffff\1\162\1\164\1\60\1\156\1\60\1\116\1\141\1\uffff\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\2\60\1\uffff\1\60\1\uffff\1\141\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\1\164\3\uffff\1\155\1\145\1\60\1\151\1\166\3\145\1\150\1\164\1\103\1\150\1\164\1\151\2\60\1\141\1\60\1\145\2\156\1\60\1\155\1\144\1\111\1\145\1\60\1\uffff\1\142\1\145\1\156\1\103\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\60\1\156\1\uffff\2\145\1\156\1\163\1\uffff\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\60\1\164\1\160\1\162\2\163\1\162\1\151\1\163\2\60\1\166\1\145\2\60\1\162\1\163\1\151\1\143\1\164\1\60\1\160\1\uffff\1\145\1\141\3\60\1\166\1\145\2\60\1\uffff\1\60\1\uffff\1\145\1\156\2\uffff\1\60\1\160\1\157\1\164\1\151\1\uffff\1\141\1\162\1\143\1\60\3\uffff\1\145\1\156\3\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\146\1\145\1\uffff\1\162\1\164\2\60\1\143\1\60\1\157\1\156\1\145\1\141\4\60\1\uffff\1\60\1\uffff\1\145\1\60\1\uffff\1\156\2\60\1\143\5\uffff\1\60\1\uffff\2\60\2\uffff\1\145\1\uffff\1\60\2\uffff\1\60\2\uffff"; + "\1\0\1\145\1\uffff\1\141\3\uffff\1\157\1\uffff\1\145\1\143\1\141\1\162\1\157\1\141\1\165\1\162\1\141\1\151\1\156\1\145\1\157\1\141\1\154\1\141\1\56\1\141\1\56\1\60\1\56\1\101\1\uffff\2\0\1\52\2\uffff\1\163\1\146\2\uffff\1\155\3\uffff\1\60\1\uffff\2\162\1\164\2\162\1\151\1\157\2\155\1\60\1\141\1\160\1\165\1\154\1\163\1\164\1\146\1\165\1\157\1\163\1\157\1\141\1\162\1\uffff\1\60\2\uffff\1\154\3\56\4\uffff\1\101\1\103\1\141\1\145\1\151\1\uffff\1\166\2\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\154\2\145\1\165\1\164\1\145\1\141\1\142\1\154\1\145\1\142\1\160\1\164\1\60\1\uffff\1\163\2\56\1\145\1\157\1\141\1\143\1\141\1\145\1\154\1\164\1\60\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\60\1\157\1\60\1\151\2\60\1\145\1\60\1\147\1\165\1\154\1\145\1\66\1\141\1\150\1\163\1\55\1\145\1\55\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\60\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\164\2\uffff\1\60\1\uffff\1\145\1\154\1\145\1\141\1\64\1\154\1\116\1\60\1\uffff\1\60\1\164\1\163\1\103\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\60\1\103\1\uffff\1\164\1\145\1\163\1\145\1\171\1\uffff\1\162\1\164\1\60\1\156\1\60\1\116\1\141\1\uffff\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\1\101\2\60\1\uffff\1\60\1\uffff\1\141\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\2\164\3\uffff\1\155\1\145\1\60\1\151\1\166\3\145\1\150\1\164\1\103\1\150\1\164\1\151\2\60\1\141\1\60\1\145\2\156\1\60\1\155\1\144\1\111\1\164\1\145\1\60\1\uffff\1\142\1\145\1\156\1\103\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\60\1\156\1\uffff\2\145\1\164\1\156\1\162\1\163\1\uffff\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\60\1\141\1\164\1\151\1\160\1\162\2\163\1\162\1\151\1\123\2\60\1\166\1\145\2\60\1\162\1\163\1\151\1\143\1\164\1\60\1\160\1\uffff\1\143\1\145\1\142\1\141\3\60\1\166\1\145\1\60\1\164\1\60\1\uffff\1\60\1\uffff\1\145\1\156\2\uffff\1\60\1\160\1\157\1\164\1\151\1\uffff\1\141\1\153\1\162\1\165\1\143\1\60\3\uffff\1\145\1\156\1\uffff\1\141\2\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\60\1\146\1\164\1\145\1\uffff\1\162\1\164\1\143\2\60\1\143\1\60\1\157\1\156\1\145\1\uffff\1\141\1\145\3\60\1\153\1\60\1\uffff\1\60\1\uffff\1\145\1\60\1\uffff\1\156\2\60\1\143\1\60\3\uffff\1\163\2\uffff\1\60\1\uffff\2\60\2\uffff\1\145\1\60\1\uffff\1\60\1\uffff\1\60\2\uffff\1\60\4\uffff"; static final String DFA26_maxS = - "\1\uffff\1\157\1\uffff\1\141\3\uffff\1\157\1\uffff\1\164\3\162\1\157\1\163\1\141\1\171\1\151\1\156\1\145\2\157\1\162\1\141\1\145\1\141\1\145\1\71\1\145\1\172\1\uffff\2\uffff\1\57\2\uffff\1\163\1\154\2\uffff\1\155\3\uffff\1\172\1\uffff\2\162\1\164\2\162\1\151\1\157\2\155\1\172\1\154\1\160\1\165\1\163\1\164\1\146\1\165\1\157\1\163\1\157\1\141\1\162\1\uffff\1\71\2\uffff\1\154\3\145\4\uffff\2\123\1\141\1\145\1\151\1\uffff\1\166\1\165\1\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\165\2\145\1\164\1\145\1\141\1\142\1\154\1\145\1\142\1\160\1\164\1\71\1\uffff\1\163\2\145\1\171\1\157\1\165\1\143\2\165\1\154\1\164\1\172\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\172\1\157\1\172\1\145\3\172\1\147\1\165\1\154\1\145\1\66\1\141\1\150\1\163\1\55\2\145\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\172\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\172\3\uffff\1\145\1\154\1\145\1\141\1\64\1\154\1\116\1\172\1\uffff\1\172\1\164\1\163\1\123\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\172\1\103\1\uffff\1\164\1\145\1\163\1\145\1\uffff\1\162\1\164\1\172\1\156\1\172\1\116\1\141\1\uffff\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\2\172\1\uffff\1\172\1\uffff\1\141\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\1\164\3\uffff\1\155\1\145\1\172\1\151\1\166\3\145\1\150\1\164\1\123\1\150\1\164\1\151\2\172\1\141\1\172\1\145\2\156\1\172\1\155\1\144\1\111\1\145\1\172\1\uffff\1\142\1\145\1\156\1\123\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\172\1\156\1\uffff\2\145\1\156\1\163\1\uffff\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\172\1\164\1\160\1\162\2\163\1\162\1\151\1\163\2\172\1\166\1\145\2\172\1\162\1\163\1\151\1\143\1\164\1\172\1\160\1\uffff\1\145\1\141\3\172\1\166\1\145\2\172\1\uffff\1\172\1\uffff\1\145\1\156\2\uffff\1\172\1\160\1\157\1\164\1\151\1\uffff\1\141\1\162\1\143\1\172\3\uffff\1\145\1\156\3\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\146\1\145\1\uffff\1\162\1\164\2\172\1\143\1\172\1\157\1\156\1\145\1\141\4\172\1\uffff\1\172\1\uffff\1\145\1\172\1\uffff\1\156\2\172\1\143\5\uffff\1\172\1\uffff\2\172\2\uffff\1\145\1\uffff\1\172\2\uffff\1\172\2\uffff"; + "\1\uffff\1\157\1\uffff\1\141\3\uffff\1\157\1\uffff\1\164\3\162\1\157\1\163\1\165\1\171\1\141\1\151\1\156\1\145\2\157\1\162\1\141\1\145\1\141\1\145\1\71\1\145\1\172\1\uffff\2\uffff\1\57\2\uffff\1\163\1\154\2\uffff\1\155\3\uffff\1\172\1\uffff\2\162\1\164\2\162\1\151\1\157\2\155\1\172\1\141\1\160\1\165\1\154\1\163\1\164\1\146\1\165\1\157\1\163\1\157\1\141\1\162\1\uffff\1\71\2\uffff\1\154\3\145\4\uffff\2\123\1\141\1\145\1\151\1\uffff\1\166\1\165\1\151\2\141\1\166\1\155\1\160\1\145\1\uffff\1\154\2\145\1\165\1\164\1\145\1\141\1\142\1\154\1\145\1\142\1\160\1\164\1\71\1\uffff\1\163\2\145\1\171\1\157\1\165\1\143\2\165\1\154\1\164\1\172\1\143\1\151\1\143\1\156\1\157\1\171\1\155\1\141\1\172\1\157\1\172\1\151\2\172\1\145\1\172\1\147\1\165\1\154\1\145\1\66\1\141\1\150\1\163\1\55\2\145\1\163\1\142\1\166\1\162\1\155\1\142\1\162\1\164\1\142\1\162\1\142\1\162\2\151\1\160\1\uffff\1\103\1\143\1\164\1\147\1\156\1\172\1\145\1\164\1\157\1\uffff\1\156\1\uffff\1\164\2\uffff\1\172\1\uffff\1\145\1\154\1\145\1\141\1\64\1\154\1\116\1\172\1\uffff\1\172\1\164\1\163\1\123\1\166\1\160\1\154\1\141\1\151\1\154\1\141\1\163\1\166\1\145\1\166\1\141\1\157\1\145\2\172\1\103\1\uffff\1\164\1\145\1\163\1\145\1\171\1\uffff\1\162\1\164\1\172\1\156\1\172\1\116\1\141\1\uffff\1\145\1\143\1\145\1\154\1\151\1\157\1\151\1\155\1\157\1\151\1\155\1\143\1\145\1\156\1\145\1\143\1\156\1\103\2\uffff\1\157\1\145\2\116\1\156\1\101\2\172\1\uffff\1\172\1\uffff\1\141\2\155\2\162\1\151\1\143\1\156\1\163\1\145\1\156\1\163\1\145\2\162\1\164\1\116\1\145\1\156\1\157\1\156\1\162\1\141\1\157\2\164\3\uffff\1\155\1\145\1\172\1\151\1\166\3\145\1\150\1\164\1\123\1\150\1\164\1\151\2\172\1\141\1\172\1\145\2\156\1\172\1\155\1\144\1\123\1\164\1\145\1\172\1\uffff\1\142\1\145\1\156\1\123\1\156\3\145\1\154\2\145\1\142\2\uffff\1\155\1\uffff\1\143\1\156\1\145\1\172\1\156\1\uffff\2\145\1\164\1\156\1\162\1\163\1\uffff\1\145\1\162\1\164\1\145\1\154\1\164\3\162\1\151\2\162\2\145\1\164\1\145\1\143\1\uffff\1\171\1\163\1\172\1\141\1\164\1\151\1\160\1\162\2\163\1\162\1\151\1\163\2\172\1\166\1\145\2\172\1\162\1\163\1\151\1\143\1\164\1\172\1\160\1\uffff\1\143\1\145\1\142\1\141\3\172\1\166\1\145\1\172\1\164\1\172\1\uffff\1\172\1\uffff\1\145\1\156\2\uffff\1\172\1\160\1\157\1\164\1\151\1\uffff\1\141\1\153\1\162\1\165\1\143\1\172\3\uffff\1\145\1\156\1\uffff\1\141\2\uffff\1\162\1\164\1\uffff\1\141\1\156\1\151\1\157\1\143\1\172\1\146\1\164\1\145\1\uffff\1\162\1\164\1\143\2\172\1\143\1\172\1\157\1\156\1\145\1\uffff\1\141\1\145\3\172\1\153\1\172\1\uffff\1\172\1\uffff\1\145\1\172\1\uffff\1\156\2\172\1\143\1\172\3\uffff\1\163\2\uffff\1\172\1\uffff\2\172\2\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\172\2\uffff\1\172\4\uffff"; static final String DFA26_acceptS = - "\2\uffff\1\2\1\uffff\1\5\1\6\1\7\1\uffff\1\11\25\uffff\1\101\3\uffff\1\106\1\107\2\uffff\1\101\1\2\1\uffff\1\5\1\6\1\7\1\uffff\1\11\26\uffff\1\74\1\uffff\1\77\1\76\4\uffff\1\103\1\104\1\105\1\106\5\uffff\1\17\11\uffff\1\36\15\uffff\1\102\65\uffff\1\3\11\uffff\1\16\1\uffff\1\23\1\uffff\1\54\1\75\1\55\10\uffff\1\100\25\uffff\1\65\4\uffff\1\52\7\uffff\1\70\22\uffff\1\56\1\61\7\uffff\1\62\1\uffff\1\64\31\uffff\1\57\1\60\1\63\33\uffff\1\1\14\uffff\1\43\1\45\1\uffff\1\24\5\uffff\1\53\4\uffff\1\73\21\uffff\1\14\30\uffff\1\25\11\uffff\1\35\1\uffff\1\50\2\uffff\1\37\1\51\5\uffff\1\66\4\uffff\1\40\1\30\1\31\2\uffff\1\4\1\26\1\34\2\uffff\1\41\7\uffff\1\27\16\uffff\1\46\1\uffff\1\47\2\uffff\1\15\4\uffff\1\67\1\42\1\44\1\32\1\33\1\uffff\1\10\2\uffff\1\21\1\72\1\uffff\1\71\1\uffff\1\20\1\13\1\uffff\1\12\1\22"; + "\2\uffff\1\2\1\uffff\1\5\1\6\1\7\1\uffff\1\12\26\uffff\1\105\3\uffff\1\112\1\113\2\uffff\1\105\1\2\1\uffff\1\5\1\6\1\7\1\uffff\1\12\27\uffff\1\100\1\uffff\1\103\1\102\4\uffff\1\107\1\110\1\111\1\112\5\uffff\1\20\11\uffff\1\44\16\uffff\1\106\66\uffff\1\3\11\uffff\1\17\1\uffff\1\24\1\uffff\1\27\1\101\1\uffff\1\61\10\uffff\1\104\25\uffff\1\71\5\uffff\1\30\7\uffff\1\74\22\uffff\1\62\1\65\10\uffff\1\66\1\uffff\1\70\32\uffff\1\63\1\64\1\67\34\uffff\1\1\14\uffff\1\51\1\53\1\uffff\1\32\5\uffff\1\60\6\uffff\1\77\21\uffff\1\15\32\uffff\1\33\14\uffff\1\43\1\uffff\1\56\2\uffff\1\45\1\57\5\uffff\1\72\6\uffff\1\46\1\36\1\37\2\uffff\1\4\1\uffff\1\34\1\42\2\uffff\1\47\11\uffff\1\35\12\uffff\1\23\7\uffff\1\54\1\uffff\1\55\2\uffff\1\16\5\uffff\1\73\1\50\1\52\1\uffff\1\40\1\41\1\uffff\1\11\2\uffff\1\22\1\76\2\uffff\1\26\1\uffff\1\75\1\uffff\1\21\1\14\1\uffff\1\25\1\10\1\13\1\31"; static final String DFA26_specialS = - "\1\0\36\uffff\1\2\1\1\u01b3\uffff}>"; + "\1\1\37\uffff\1\2\1\0\u01d2\uffff}>"; static final String[] DFA26_transitionS = { - "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\1\4\1\6\2\43\1\5\1\33\1\43\1\41\1\30\2\32\7\34\7\43\1\12\1\25\1\15\1\24\1\36\1\14\1\26\1\36\1\22\2\36\1\21\1\36\1\3\1\36\1\13\1\36\1\1\1\11\1\7\6\36\3\43\1\35\1\36\1\43\3\36\1\23\1\36\1\31\7\36\1\16\1\36\1\27\3\36\1\20\1\36\1\17\4\36\1\2\1\43\1\10\uff82\43", - "\1\45\11\uffff\1\44", + "\11\44\2\43\2\44\1\43\22\44\1\43\1\44\1\40\4\44\1\41\1\4\1\6\2\44\1\5\1\34\1\44\1\42\1\31\2\33\7\35\7\44\1\12\1\26\1\15\1\25\1\37\1\14\1\27\1\37\1\23\2\37\1\22\1\37\1\3\1\37\1\13\1\17\1\1\1\11\1\7\6\37\3\44\1\36\1\37\1\44\3\37\1\24\1\37\1\32\7\37\1\16\1\37\1\30\3\37\1\20\1\37\1\21\4\37\1\2\1\44\1\10\uff82\44", + "\1\46\11\uffff\1\45", "", - "\1\50", + "\1\51", "", "", "", - "\1\54", + "\1\55", "", - "\1\56\16\uffff\1\57", - "\1\60\16\uffff\1\61", - "\1\62\20\uffff\1\63", - "\1\64", + "\1\57\16\uffff\1\60", + "\1\61\16\uffff\1\62", + "\1\63\20\uffff\1\64", "\1\65", - "\1\66\21\uffff\1\67", - "\1\70", - "\1\72\6\uffff\1\71", - "\1\73", + "\1\66", + "\1\67\21\uffff\1\70", + "\1\71", + "\1\73\6\uffff\1\72", "\1\74", "\1\75", "\1\76", - "\1\100\15\uffff\1\77", - "\1\101\5\uffff\1\102", - "\1\103", - "\1\107\1\uffff\12\105\10\uffff\1\104\2\uffff\1\107\34\uffff\1\104\2\uffff\1\107", - "\1\110", - "\1\107\1\uffff\12\111\13\uffff\1\107\37\uffff\1\107", - "\12\112", - "\1\107\1\uffff\12\113\13\uffff\1\107\37\uffff\1\107", - "\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\77", + "\1\100", + "\1\102\15\uffff\1\101", + "\1\103\5\uffff\1\104", + "\1\105", + "\1\111\1\uffff\12\107\10\uffff\1\106\2\uffff\1\111\34\uffff\1\106\2\uffff\1\111", + "\1\112", + "\1\111\1\uffff\12\113\13\uffff\1\111\37\uffff\1\111", + "\12\114", + "\1\111\1\uffff\12\115\13\uffff\1\111\37\uffff\1\111", + "\32\47\4\uffff\1\47\1\uffff\32\47", "", - "\0\114", - "\0\114", - "\1\115\4\uffff\1\116", + "\0\116", + "\0\116", + "\1\117\4\uffff\1\120", "", "", - "\1\120", - "\1\121\5\uffff\1\122", + "\1\122", + "\1\123\5\uffff\1\124", "", "", - "\1\123", + "\1\125", "", "", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\17\46\1\124\12\46", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\126\12\47", "", - "\1\126", - "\1\127", "\1\130", "\1\131", "\1\132", @@ -3152,9 +3267,9 @@ public String getDescription() { "\1\134", "\1\135", "\1\136", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\137", "\1\140", - "\1\141", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\142", "\1\143", "\1\144", @@ -3165,37 +3280,37 @@ public String getDescription() { "\1\151", "\1\152", "\1\153", + "\1\154", + "\1\155", + "\1\156", "", - "\12\154", - "", + "\12\157", "", - "\1\156", - "\1\107\1\uffff\12\157\13\uffff\1\107\37\uffff\1\107", - "\1\107\1\uffff\12\160\13\uffff\1\107\37\uffff\1\107", - "\1\107\1\uffff\12\113\13\uffff\1\107\37\uffff\1\107", "", + "\1\161", + "\1\111\1\uffff\12\162\13\uffff\1\111\37\uffff\1\111", + "\1\111\1\uffff\12\163\13\uffff\1\111\37\uffff\1\111", + "\1\111\1\uffff\12\115\13\uffff\1\111\37\uffff\1\111", "", "", "", - "\1\164\1\uffff\1\162\14\uffff\1\163\2\uffff\1\161", - "\1\167\14\uffff\1\165\2\uffff\1\166", - "\1\170", - "\1\171", - "\1\172", "", + "\1\167\1\uffff\1\165\14\uffff\1\166\2\uffff\1\164", + "\1\172\14\uffff\1\170\2\uffff\1\171", "\1\173", - "\1\175\13\uffff\1\174", + "\1\174", + "\1\175", + "", "\1\176", - "\1\177", - "\1\u0080", + "\1\u0080\13\uffff\1\177", "\1\u0081", "\1\u0082", "\1\u0083", "\1\u0084", - "", "\1\u0085", "\1\u0086", "\1\u0087", + "", "\1\u0088", "\1\u0089", "\1\u008a", @@ -3205,51 +3320,51 @@ public String getDescription() { "\1\u008e", "\1\u008f", "\1\u0090", - "\12\u0091", - "", + "\1\u0091", "\1\u0092", - "\1\107\1\uffff\12\u0093\13\uffff\1\107\37\uffff\1\107", - "\1\107\1\uffff\12\160\13\uffff\1\107\37\uffff\1\107", - "\1\u0097\14\uffff\1\u0096\2\uffff\1\u0095\3\uffff\1\u0094", - "\1\u0098", - "\1\u009a\23\uffff\1\u0099", - "\1\u009b", - "\1\u009d\23\uffff\1\u009c", - "\1\u009f\17\uffff\1\u009e", - "\1\u00a0", - "\1\u00a1", - "\12\46\7\uffff\22\46\1\u00a2\7\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0093", + "\1\u0094", + "\12\u0095", + "", + "\1\u0096", + "\1\111\1\uffff\12\u0097\13\uffff\1\111\37\uffff\1\111", + "\1\111\1\uffff\12\163\13\uffff\1\111\37\uffff\1\111", + "\1\u009b\14\uffff\1\u009a\2\uffff\1\u0099\3\uffff\1\u0098", + "\1\u009c", + "\1\u009e\23\uffff\1\u009d", + "\1\u009f", + "\1\u00a1\23\uffff\1\u00a0", + "\1\u00a3\17\uffff\1\u00a2", "\1\u00a4", "\1\u00a5", - "\1\u00a6", - "\1\u00a7", + "\12\47\7\uffff\22\47\1\u00a6\7\47\4\uffff\1\47\1\uffff\32\47", "\1\u00a8", "\1\u00a9", "\1\u00aa", "\1\u00ab", - "\12\46\7\uffff\21\46\1\u00ac\10\46\4\uffff\1\46\1\uffff\32\46", + "\1\u00ac", + "\1\u00ad", "\1\u00ae", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u00b0", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u00af", + "\12\47\7\uffff\21\47\1\u00b0\10\47\4\uffff\1\47\1\uffff\32\47", + "\1\u00b2", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00b4", - "\1\u00b5", - "\1\u00b6", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00b7", - "\1\u00b8", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00b9", "\1\u00ba", "\1\u00bb", "\1\u00bc", "\1\u00bd", - "\1\u00bc\1\107\1\uffff\12\113\13\uffff\1\107\37\uffff\1\107", "\1\u00be", "\1\u00bf", "\1\u00c0", "\1\u00c1", "\1\u00c2", + "\1\u00c1\1\111\1\uffff\12\115\13\uffff\1\111\37\uffff\1\111", "\1\u00c3", "\1\u00c4", "\1\u00c5", @@ -3260,42 +3375,42 @@ public String getDescription() { "\1\u00ca", "\1\u00cb", "\1\u00cc", - "", "\1\u00cd", "\1\u00ce", "\1\u00cf", "\1\u00d0", "\1\u00d1", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "", + "\1\u00d2", "\1\u00d3", "\1\u00d4", "\1\u00d5", - "", "\1\u00d6", - "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", - "", - "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00d8", "\1\u00d9", "\1\u00da", + "", "\1\u00db", + "", "\1\u00dc", - "\1\u00dd", - "\1\u00de", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\1\u00de", + "\1\u00df", "\1\u00e0", "\1\u00e1", - "\1\u00e3\17\uffff\1\u00e2", + "\1\u00e2", + "\1\u00e3", "\1\u00e4", - "\1\u00e5", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00e6", "\1\u00e7", - "\1\u00e8", - "\1\u00e9", + "\1\u00e9\17\uffff\1\u00e8", "\1\u00ea", "\1\u00eb", "\1\u00ec", @@ -3304,30 +3419,30 @@ public String getDescription() { "\1\u00ef", "\1\u00f0", "\1\u00f1", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u00f2", + "\1\u00f3", "\1\u00f4", - "", "\1\u00f5", "\1\u00f6", "\1\u00f7", - "\1\u00f8", - "", - "\1\u00f9", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u00fa", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "", + "\1\u00fb", "\1\u00fc", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u00fd", "\1\u00fe", "\1\u00ff", "", "\1\u0100", "\1\u0101", - "\1\u0102", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u0103", - "\1\u0104", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u0105", "\1\u0106", + "", "\1\u0107", "\1\u0108", "\1\u0109", @@ -3339,26 +3454,26 @@ public String getDescription() { "\1\u010f", "\1\u0110", "\1\u0111", - "", - "", "\1\u0112", "\1\u0113", "\1\u0114", "\1\u0115", "\1\u0116", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0117", + "\1\u0118", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", + "\1\u0119", "\1\u011a", "\1\u011b", "\1\u011c", "\1\u011d", "\1\u011e", - "\1\u011f", - "\1\u0120", - "\1\u0121", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", "\1\u0122", "\1\u0123", "\1\u0124", @@ -3376,85 +3491,83 @@ public String getDescription() { "\1\u0130", "\1\u0131", "\1\u0132", - "", - "", - "", "\1\u0133", "\1\u0134", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0135", "\1\u0136", "\1\u0137", "\1\u0138", "\1\u0139", "\1\u013a", "\1\u013b", + "", + "", + "", "\1\u013c", - "\1\u013e\17\uffff\1\u013d", + "\1\u013d", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u013f", "\1\u0140", "\1\u0141", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0142", + "\1\u0143", "\1\u0144", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u0146", - "\1\u0147", + "\1\u0145", + "\1\u0147\17\uffff\1\u0146", "\1\u0148", - "\12\46\7\uffff\1\u014a\31\46\4\uffff\1\46\1\uffff\22\46\1\u0149\7\46", - "\1\u014c", + "\1\u0149", + "\1\u014a", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u014d", - "\1\u014e", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u014f", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", + "\1\u0150", "\1\u0151", - "\1\u0152", - "\1\u0153", - "\1\u0155\17\uffff\1\u0154", + "\12\47\7\uffff\1\u0153\31\47\4\uffff\1\47\1\uffff\22\47\1\u0152\7\47", + "\1\u0155", "\1\u0156", - "\1\u0157", - "\1\u0158", + "\1\u0158\11\uffff\1\u0157", "\1\u0159", "\1\u015a", - "\1\u015b", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", "\1\u015c", "\1\u015d", - "", - "", "\1\u015e", - "", - "\1\u015f", - "\1\u0160", + "\1\u0160\17\uffff\1\u015f", "\1\u0161", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0162", "\1\u0163", - "", "\1\u0164", "\1\u0165", "\1\u0166", "\1\u0167", - "", "\1\u0168", + "", + "", "\1\u0169", + "", "\1\u016a", "\1\u016b", "\1\u016c", - "\1\u016d", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u016e", + "", "\1\u016f", "\1\u0170", "\1\u0171", "\1\u0172", "\1\u0173", "\1\u0174", + "", "\1\u0175", "\1\u0176", "\1\u0177", "\1\u0178", - "", "\1\u0179", "\1\u017a", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u017b", "\1\u017c", "\1\u017d", "\1\u017e", @@ -3463,106 +3576,141 @@ public String getDescription() { "\1\u0181", "\1\u0182", "\1\u0183", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0184\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0186\7\46", - "\1\u0188", + "\1\u0184", + "\1\u0185", + "", + "\1\u0186", + "\1\u0187", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u0189", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u018a", + "\1\u018b", "\1\u018c", "\1\u018d", "\1\u018e", "\1\u018f", "\1\u0190", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u0192", - "", - "\1\u0193", - "\1\u0194", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0195\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u0191", + "\1\u0193\37\uffff\1\u0192", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u0194\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u0196\7\47", + "\1\u0198", "\1\u0199", - "\1\u019a", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u019c", + "\1\u019d", "\1\u019e", "\1\u019f", - "", - "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\1\u01a1", + "\1\u01a0", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01a2", + "", "\1\u01a3", "\1\u01a4", - "", "\1\u01a5", "\1\u01a6", - "\1\u01a7", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "", - "", - "", - "\1\u01a9", - "\1\u01aa", - "", - "", - "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01a7\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01ab", "\1\u01ac", - "", - "\1\u01ad", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01ae", - "\1\u01af", - "\1\u01b0", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", "\1\u01b1", "\1\u01b2", - "\1\u01b3", "", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "\1\u01b4", "\1\u01b5", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01b6\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01b8\7\46", + "\1\u01b6", + "\1\u01b7", + "", + "\1\u01b8", + "\1\u01b9", "\1\u01ba", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01bb\7\46", - "\1\u01bd", + "\1\u01bb", + "\1\u01bc", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "", + "", "\1\u01be", "\1\u01bf", + "", "\1\u01c0", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", + "\1\u01c1", + "\1\u01c2", + "", + "\1\u01c3", + "\1\u01c4", + "\1\u01c5", "\1\u01c6", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\1\u01c7", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u01c9", + "\1\u01ca", + "\1\u01cb", "", - "\1\u01c8", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01c9\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "\1\u01cc", + "\1\u01cd", + "\1\u01ce", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01cf\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01d1\7\47", + "\1\u01d3", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01d4\7\47", + "\1\u01d6", + "\1\u01d7", + "\1\u01d8", + "", + "\1\u01d9", + "\1\u01da", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u01de", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\1\u01e1", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\1\u01e3", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01e4\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "\1\u01e7", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01e8\7\47", "", "", "", + "\1\u01ea", "", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u01ce\7\46", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u01ec\7\47", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", "", - "\1\u01d1", + "\1\u01ef", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", + "", + "", + "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47", "", "", - "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46", "", "" }; @@ -3597,13 +3745,23 @@ public DFA26(BaseRecognizer recognizer) { this.transition = DFA26_transition; } public String getDescription() { - return "1:1: Tokens : ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + return "1:1: Tokens : ( T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; int _s = s; switch ( s ) { case 0 : + int LA26_33 = input.LA(1); + + s = -1; + if ( ((LA26_33>='\u0000' && LA26_33<='\uFFFF')) ) {s = 78;} + + else s = 36; + + if ( s>=0 ) return s; + break; + case 1 : int LA26_0 = input.LA(1); s = -1; @@ -3635,67 +3793,59 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA26_0=='n') ) {s = 14;} - else if ( (LA26_0=='v') ) {s = 15;} + else if ( (LA26_0=='Q') ) {s = 15;} else if ( (LA26_0=='t') ) {s = 16;} - else if ( (LA26_0=='L') ) {s = 17;} + else if ( (LA26_0=='v') ) {s = 17;} - else if ( (LA26_0=='I') ) {s = 18;} + else if ( (LA26_0=='L') ) {s = 18;} - else if ( (LA26_0=='d') ) {s = 19;} + else if ( (LA26_0=='I') ) {s = 19;} - else if ( (LA26_0=='D') ) {s = 20;} + else if ( (LA26_0=='d') ) {s = 20;} - else if ( (LA26_0=='B') ) {s = 21;} + else if ( (LA26_0=='D') ) {s = 21;} - else if ( (LA26_0=='G') ) {s = 22;} + else if ( (LA26_0=='B') ) {s = 22;} - else if ( (LA26_0=='p') ) {s = 23;} + else if ( (LA26_0=='G') ) {s = 23;} - else if ( (LA26_0=='0') ) {s = 24;} + else if ( (LA26_0=='p') ) {s = 24;} - else if ( (LA26_0=='f') ) {s = 25;} + else if ( (LA26_0=='0') ) {s = 25;} - else if ( ((LA26_0>='1' && LA26_0<='2')) ) {s = 26;} + else if ( (LA26_0=='f') ) {s = 26;} - else if ( (LA26_0=='-') ) {s = 27;} + else if ( ((LA26_0>='1' && LA26_0<='2')) ) {s = 27;} - else if ( ((LA26_0>='3' && LA26_0<='9')) ) {s = 28;} + else if ( (LA26_0=='-') ) {s = 28;} - else if ( (LA26_0=='^') ) {s = 29;} + else if ( ((LA26_0>='3' && LA26_0<='9')) ) {s = 29;} - else if ( (LA26_0=='E'||LA26_0=='H'||(LA26_0>='J' && LA26_0<='K')||LA26_0=='M'||LA26_0=='O'||LA26_0=='Q'||(LA26_0>='U' && LA26_0<='Z')||LA26_0=='_'||(LA26_0>='a' && LA26_0<='c')||LA26_0=='e'||(LA26_0>='g' && LA26_0<='m')||LA26_0=='o'||(LA26_0>='q' && LA26_0<='s')||LA26_0=='u'||(LA26_0>='w' && LA26_0<='z')) ) {s = 30;} + else if ( (LA26_0=='^') ) {s = 30;} - else if ( (LA26_0=='\"') ) {s = 31;} + else if ( (LA26_0=='E'||LA26_0=='H'||(LA26_0>='J' && LA26_0<='K')||LA26_0=='M'||LA26_0=='O'||(LA26_0>='U' && LA26_0<='Z')||LA26_0=='_'||(LA26_0>='a' && LA26_0<='c')||LA26_0=='e'||(LA26_0>='g' && LA26_0<='m')||LA26_0=='o'||(LA26_0>='q' && LA26_0<='s')||LA26_0=='u'||(LA26_0>='w' && LA26_0<='z')) ) {s = 31;} - else if ( (LA26_0=='\'') ) {s = 32;} + else if ( (LA26_0=='\"') ) {s = 32;} - else if ( (LA26_0=='/') ) {s = 33;} + else if ( (LA26_0=='\'') ) {s = 33;} - else if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0=='\r'||LA26_0==' ') ) {s = 34;} + else if ( (LA26_0=='/') ) {s = 34;} - else if ( ((LA26_0>='\u0000' && LA26_0<='\b')||(LA26_0>='\u000B' && LA26_0<='\f')||(LA26_0>='\u000E' && LA26_0<='\u001F')||LA26_0=='!'||(LA26_0>='#' && LA26_0<='&')||(LA26_0>='*' && LA26_0<='+')||LA26_0=='.'||(LA26_0>=':' && LA26_0<='@')||(LA26_0>='[' && LA26_0<=']')||LA26_0=='`'||LA26_0=='|'||(LA26_0>='~' && LA26_0<='\uFFFF')) ) {s = 35;} + else if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0=='\r'||LA26_0==' ') ) {s = 35;} - if ( s>=0 ) return s; - break; - case 1 : - int LA26_32 = input.LA(1); - - s = -1; - if ( ((LA26_32>='\u0000' && LA26_32<='\uFFFF')) ) {s = 76;} - - else s = 35; + else if ( ((LA26_0>='\u0000' && LA26_0<='\b')||(LA26_0>='\u000B' && LA26_0<='\f')||(LA26_0>='\u000E' && LA26_0<='\u001F')||LA26_0=='!'||(LA26_0>='#' && LA26_0<='&')||(LA26_0>='*' && LA26_0<='+')||LA26_0=='.'||(LA26_0>=':' && LA26_0<='@')||(LA26_0>='[' && LA26_0<=']')||LA26_0=='`'||LA26_0=='|'||(LA26_0>='~' && LA26_0<='\uFFFF')) ) {s = 36;} if ( s>=0 ) return s; break; case 2 : - int LA26_31 = input.LA(1); + int LA26_32 = input.LA(1); s = -1; - if ( ((LA26_31>='\u0000' && LA26_31<='\uFFFF')) ) {s = 76;} + if ( ((LA26_32>='\u0000' && LA26_32<='\uFFFF')) ) {s = 78;} - else s = 35; + else s = 36; if ( s>=0 ) return s; break; diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/parser/antlr/internal/InternalRosSystemParser.java b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/parser/antlr/internal/InternalRosSystemParser.java index 7a80b7634..06eb30102 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/parser/antlr/internal/InternalRosSystemParser.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/parser/antlr/internal/InternalRosSystemParser.java @@ -21,7 +21,7 @@ @SuppressWarnings("all") public class InternalRosSystemParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'RosSystem'", "'{'", "'Name'", "'RosComponents'", "'('", "','", "')'", "'TopicConnections'", "'}'", "'ServiceConnections'", "'ActionConnections'", "'Parameters'", "'TopicConnection'", "'From'", "'To'", "'ServiceConnection'", "'ActionConnection'", "'ComponentInterface'", "'name'", "'NameSpace'", "'FromRosNode'", "'RosPublishers'", "'RosSubscribers'", "'RosSrvServers'", "'RosSrvClients'", "'RosActionServers'", "'RosActionClients'", "'RosParameters'", "'RosPublisher'", "'ns'", "'RefPublisher'", "'RosSubscriber'", "'RefSubscriber'", "'RosServiceServer'", "'RefServer'", "'RosServiceClient'", "'RefClient'", "'RosActionServer'", "'RosActionClient'", "'RosParameter'", "'RefParameter'", "'value'", "'Parameter'", "'type'", "'List'", "'Struct'", "'Integer'", "'default'", "'String'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'GraphName'" + "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'RosSystem'", "'{'", "'Name'", "'RosComponents'", "'('", "','", "')'", "'RosComponentStacks'", "'TopicConnections'", "'}'", "'ServiceConnections'", "'ActionConnections'", "'Parameters'", "'TopicConnection'", "'From'", "'To'", "'ServiceConnection'", "'ActionConnection'", "'ComponentStack'", "'name'", "'QualityAttributes'", "'QualityAttribute'", "'type'", "'value'", "'ComponentInterface'", "'NameSpace'", "'FromRosNode'", "'RosPublishers'", "'RosSubscribers'", "'RosSrvServers'", "'RosSrvClients'", "'RosActionServers'", "'RosActionClients'", "'RosParameters'", "'RosPublisher'", "'ns'", "'RefPublisher'", "'RosSubscriber'", "'RefSubscriber'", "'RosServiceServer'", "'RefServer'", "'RosServiceClient'", "'RefClient'", "'RosActionServer'", "'RosActionClient'", "'RosParameter'", "'RefParameter'", "'Parameter'", "'List'", "'Struct'", "'Integer'", "'default'", "'String'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'GraphName'" }; public static final int T__50=50; public static final int RULE_DAY=12; @@ -86,6 +86,9 @@ public class InternalRosSystemParser extends AbstractInternalAntlrParser { public static final int T__32=32; public static final int T__76=76; public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; public static final int RULE_HOUR=15; public static final int RULE_WS=20; public static final int RULE_ANY_OTHER=21; @@ -98,6 +101,7 @@ public class InternalRosSystemParser extends AbstractInternalAntlrParser { public static final int RULE_BINARY=6; public static final int T__47=47; public static final int T__40=40; + public static final int T__84=84; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; @@ -178,7 +182,7 @@ public final EObject entryRuleRosSystem() throws RecognitionException { // $ANTLR start "ruleRosSystem" - // InternalRosSystem.g:71:1: ruleRosSystem returns [EObject current=null] : ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'TopicConnections' otherlv_12= '{' ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? otherlv_16= '}' )? (otherlv_17= 'ServiceConnections' otherlv_18= '{' ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ActionConnections' otherlv_24= '{' ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'Parameters' otherlv_30= '{' ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? otherlv_34= '}' )? otherlv_35= '}' ) ; + // InternalRosSystem.g:71:1: ruleRosSystem returns [EObject current=null] : ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'RosComponentStacks' otherlv_12= '(' ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? otherlv_16= ')' )? (otherlv_17= 'TopicConnections' otherlv_18= '{' ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ServiceConnections' otherlv_24= '{' ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'ActionConnections' otherlv_30= '{' ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? otherlv_34= '}' )? (otherlv_35= 'Parameters' otherlv_36= '{' ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? otherlv_40= '}' )? otherlv_41= '}' ) ; public final EObject ruleRosSystem() throws RecognitionException { EObject current = null; @@ -206,38 +210,46 @@ public final EObject ruleRosSystem() throws RecognitionException { Token otherlv_32=null; Token otherlv_34=null; Token otherlv_35=null; + Token otherlv_36=null; + Token otherlv_38=null; + Token otherlv_40=null; + Token otherlv_41=null; AntlrDatatypeRuleToken lv_Name_4_0 = null; EObject lv_RosComponent_7_0 = null; EObject lv_RosComponent_9_0 = null; - EObject lv_TopicConnections_13_0 = null; + EObject lv_ComponentStack_13_0 = null; + + EObject lv_ComponentStack_15_0 = null; + + EObject lv_TopicConnections_19_0 = null; - EObject lv_TopicConnections_15_0 = null; + EObject lv_TopicConnections_21_0 = null; - EObject lv_ServiceConnections_19_0 = null; + EObject lv_ServiceConnections_25_0 = null; - EObject lv_ServiceConnections_21_0 = null; + EObject lv_ServiceConnections_27_0 = null; - EObject lv_ActionConnections_25_0 = null; + EObject lv_ActionConnections_31_0 = null; - EObject lv_ActionConnections_27_0 = null; + EObject lv_ActionConnections_33_0 = null; - EObject lv_Parameter_31_0 = null; + EObject lv_Parameter_37_0 = null; - EObject lv_Parameter_33_0 = null; + EObject lv_Parameter_39_0 = null; enterRule(); try { - // InternalRosSystem.g:77:2: ( ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'TopicConnections' otherlv_12= '{' ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? otherlv_16= '}' )? (otherlv_17= 'ServiceConnections' otherlv_18= '{' ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ActionConnections' otherlv_24= '{' ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'Parameters' otherlv_30= '{' ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? otherlv_34= '}' )? otherlv_35= '}' ) ) - // InternalRosSystem.g:78:2: ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'TopicConnections' otherlv_12= '{' ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? otherlv_16= '}' )? (otherlv_17= 'ServiceConnections' otherlv_18= '{' ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ActionConnections' otherlv_24= '{' ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'Parameters' otherlv_30= '{' ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? otherlv_34= '}' )? otherlv_35= '}' ) + // InternalRosSystem.g:77:2: ( ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'RosComponentStacks' otherlv_12= '(' ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? otherlv_16= ')' )? (otherlv_17= 'TopicConnections' otherlv_18= '{' ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ServiceConnections' otherlv_24= '{' ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'ActionConnections' otherlv_30= '{' ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? otherlv_34= '}' )? (otherlv_35= 'Parameters' otherlv_36= '{' ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? otherlv_40= '}' )? otherlv_41= '}' ) ) + // InternalRosSystem.g:78:2: ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'RosComponentStacks' otherlv_12= '(' ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? otherlv_16= ')' )? (otherlv_17= 'TopicConnections' otherlv_18= '{' ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ServiceConnections' otherlv_24= '{' ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'ActionConnections' otherlv_30= '{' ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? otherlv_34= '}' )? (otherlv_35= 'Parameters' otherlv_36= '{' ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? otherlv_40= '}' )? otherlv_41= '}' ) { - // InternalRosSystem.g:78:2: ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'TopicConnections' otherlv_12= '{' ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? otherlv_16= '}' )? (otherlv_17= 'ServiceConnections' otherlv_18= '{' ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ActionConnections' otherlv_24= '{' ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'Parameters' otherlv_30= '{' ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? otherlv_34= '}' )? otherlv_35= '}' ) - // InternalRosSystem.g:79:3: () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'TopicConnections' otherlv_12= '{' ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? otherlv_16= '}' )? (otherlv_17= 'ServiceConnections' otherlv_18= '{' ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ActionConnections' otherlv_24= '{' ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'Parameters' otherlv_30= '{' ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? otherlv_34= '}' )? otherlv_35= '}' + // InternalRosSystem.g:78:2: ( () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'RosComponentStacks' otherlv_12= '(' ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? otherlv_16= ')' )? (otherlv_17= 'TopicConnections' otherlv_18= '{' ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ServiceConnections' otherlv_24= '{' ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'ActionConnections' otherlv_30= '{' ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? otherlv_34= '}' )? (otherlv_35= 'Parameters' otherlv_36= '{' ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? otherlv_40= '}' )? otherlv_41= '}' ) + // InternalRosSystem.g:79:3: () otherlv_1= 'RosSystem' otherlv_2= '{' otherlv_3= 'Name' ( (lv_Name_4_0= ruleEString ) ) (otherlv_5= 'RosComponents' otherlv_6= '(' ( ( (lv_RosComponent_7_0= ruleComponentInterface ) ) (otherlv_8= ',' ( (lv_RosComponent_9_0= ruleComponentInterface ) ) )* )? otherlv_10= ')' )? (otherlv_11= 'RosComponentStacks' otherlv_12= '(' ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? otherlv_16= ')' )? (otherlv_17= 'TopicConnections' otherlv_18= '{' ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? otherlv_22= '}' )? (otherlv_23= 'ServiceConnections' otherlv_24= '{' ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? otherlv_28= '}' )? (otherlv_29= 'ActionConnections' otherlv_30= '{' ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? otherlv_34= '}' )? (otherlv_35= 'Parameters' otherlv_36= '{' ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? otherlv_40= '}' )? otherlv_41= '}' { // InternalRosSystem.g:79:3: () // InternalRosSystem.g:80:4: @@ -316,7 +328,7 @@ public final EObject ruleRosSystem() throws RecognitionException { int alt2=2; int LA2_0 = input.LA(1); - if ( (LA2_0==39) ) { + if ( (LA2_0==46) ) { alt2=1; } switch (alt2) { @@ -429,7 +441,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:177:3: (otherlv_11= 'TopicConnections' otherlv_12= '{' ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? otherlv_16= '}' )? + // InternalRosSystem.g:177:3: (otherlv_11= 'RosComponentStacks' otherlv_12= '(' ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? otherlv_16= ')' )? int alt6=2; int LA6_0 = input.LA(1); @@ -438,38 +450,38 @@ public final EObject ruleRosSystem() throws RecognitionException { } switch (alt6) { case 1 : - // InternalRosSystem.g:178:4: otherlv_11= 'TopicConnections' otherlv_12= '{' ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? otherlv_16= '}' + // InternalRosSystem.g:178:4: otherlv_11= 'RosComponentStacks' otherlv_12= '(' ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? otherlv_16= ')' { - otherlv_11=(Token)match(input,29,FOLLOW_3); + otherlv_11=(Token)match(input,29,FOLLOW_7); - newLeafNode(otherlv_11, grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_6_0()); + newLeafNode(otherlv_11, grammarAccess.getRosSystemAccess().getRosComponentStacksKeyword_6_0()); - otherlv_12=(Token)match(input,23,FOLLOW_12); + otherlv_12=(Token)match(input,26,FOLLOW_12); - newLeafNode(otherlv_12, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_6_1()); + newLeafNode(otherlv_12, grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_6_1()); - // InternalRosSystem.g:186:4: ( ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* )? + // InternalRosSystem.g:186:4: ( ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* )? int alt5=2; int LA5_0 = input.LA(1); - if ( (LA5_0==34) ) { + if ( (LA5_0==40) ) { alt5=1; } switch (alt5) { case 1 : - // InternalRosSystem.g:187:5: ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* + // InternalRosSystem.g:187:5: ( (lv_ComponentStack_13_0= ruleComponentStack ) ) (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* { - // InternalRosSystem.g:187:5: ( (lv_TopicConnections_13_0= ruleTopicConnection ) ) - // InternalRosSystem.g:188:6: (lv_TopicConnections_13_0= ruleTopicConnection ) + // InternalRosSystem.g:187:5: ( (lv_ComponentStack_13_0= ruleComponentStack ) ) + // InternalRosSystem.g:188:6: (lv_ComponentStack_13_0= ruleComponentStack ) { - // InternalRosSystem.g:188:6: (lv_TopicConnections_13_0= ruleTopicConnection ) - // InternalRosSystem.g:189:7: lv_TopicConnections_13_0= ruleTopicConnection + // InternalRosSystem.g:188:6: (lv_ComponentStack_13_0= ruleComponentStack ) + // InternalRosSystem.g:189:7: lv_ComponentStack_13_0= ruleComponentStack { - newCompositeNode(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_0_0()); - pushFollow(FOLLOW_13); - lv_TopicConnections_13_0=ruleTopicConnection(); + pushFollow(FOLLOW_9); + lv_ComponentStack_13_0=ruleComponentStack(); state._fsp--; @@ -479,9 +491,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "TopicConnections", - lv_TopicConnections_13_0, - "de.fraunhofer.ipa.rossystem.RosSystem.TopicConnection"); + "ComponentStack", + lv_ComponentStack_13_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ComponentStack"); afterParserOrEnumRuleCall(); @@ -490,7 +502,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:206:5: (otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) )* + // InternalRosSystem.g:206:5: (otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) )* loop4: do { int alt4=2; @@ -503,23 +515,23 @@ public final EObject ruleRosSystem() throws RecognitionException { switch (alt4) { case 1 : - // InternalRosSystem.g:207:6: otherlv_14= ',' ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) + // InternalRosSystem.g:207:6: otherlv_14= ',' ( (lv_ComponentStack_15_0= ruleComponentStack ) ) { - otherlv_14=(Token)match(input,27,FOLLOW_14); + otherlv_14=(Token)match(input,27,FOLLOW_13); newLeafNode(otherlv_14, grammarAccess.getRosSystemAccess().getCommaKeyword_6_2_1_0()); - // InternalRosSystem.g:211:6: ( (lv_TopicConnections_15_0= ruleTopicConnection ) ) - // InternalRosSystem.g:212:7: (lv_TopicConnections_15_0= ruleTopicConnection ) + // InternalRosSystem.g:211:6: ( (lv_ComponentStack_15_0= ruleComponentStack ) ) + // InternalRosSystem.g:212:7: (lv_ComponentStack_15_0= ruleComponentStack ) { - // InternalRosSystem.g:212:7: (lv_TopicConnections_15_0= ruleTopicConnection ) - // InternalRosSystem.g:213:8: lv_TopicConnections_15_0= ruleTopicConnection + // InternalRosSystem.g:212:7: (lv_ComponentStack_15_0= ruleComponentStack ) + // InternalRosSystem.g:213:8: lv_ComponentStack_15_0= ruleComponentStack { - newCompositeNode(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getComponentStackComponentStackParserRuleCall_6_2_1_1_0()); - pushFollow(FOLLOW_13); - lv_TopicConnections_15_0=ruleTopicConnection(); + pushFollow(FOLLOW_9); + lv_ComponentStack_15_0=ruleComponentStack(); state._fsp--; @@ -529,9 +541,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "TopicConnections", - lv_TopicConnections_15_0, - "de.fraunhofer.ipa.rossystem.RosSystem.TopicConnection"); + "ComponentStack", + lv_ComponentStack_15_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ComponentStack"); afterParserOrEnumRuleCall(); @@ -555,9 +567,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } - otherlv_16=(Token)match(input,30,FOLLOW_15); + otherlv_16=(Token)match(input,28,FOLLOW_14); - newLeafNode(otherlv_16, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_6_3()); + newLeafNode(otherlv_16, grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_6_3()); } @@ -565,47 +577,47 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:237:3: (otherlv_17= 'ServiceConnections' otherlv_18= '{' ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? otherlv_22= '}' )? + // InternalRosSystem.g:237:3: (otherlv_17= 'TopicConnections' otherlv_18= '{' ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? otherlv_22= '}' )? int alt9=2; int LA9_0 = input.LA(1); - if ( (LA9_0==31) ) { + if ( (LA9_0==30) ) { alt9=1; } switch (alt9) { case 1 : - // InternalRosSystem.g:238:4: otherlv_17= 'ServiceConnections' otherlv_18= '{' ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? otherlv_22= '}' + // InternalRosSystem.g:238:4: otherlv_17= 'TopicConnections' otherlv_18= '{' ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? otherlv_22= '}' { - otherlv_17=(Token)match(input,31,FOLLOW_3); + otherlv_17=(Token)match(input,30,FOLLOW_3); - newLeafNode(otherlv_17, grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_7_0()); + newLeafNode(otherlv_17, grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_7_0()); - otherlv_18=(Token)match(input,23,FOLLOW_16); + otherlv_18=(Token)match(input,23,FOLLOW_15); newLeafNode(otherlv_18, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_7_1()); - // InternalRosSystem.g:246:4: ( ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* )? + // InternalRosSystem.g:246:4: ( ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* )? int alt8=2; int LA8_0 = input.LA(1); - if ( (LA8_0==37) ) { + if ( (LA8_0==35) ) { alt8=1; } switch (alt8) { case 1 : - // InternalRosSystem.g:247:5: ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* + // InternalRosSystem.g:247:5: ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* { - // InternalRosSystem.g:247:5: ( (lv_ServiceConnections_19_0= ruleServiceConnection ) ) - // InternalRosSystem.g:248:6: (lv_ServiceConnections_19_0= ruleServiceConnection ) + // InternalRosSystem.g:247:5: ( (lv_TopicConnections_19_0= ruleTopicConnection ) ) + // InternalRosSystem.g:248:6: (lv_TopicConnections_19_0= ruleTopicConnection ) { - // InternalRosSystem.g:248:6: (lv_ServiceConnections_19_0= ruleServiceConnection ) - // InternalRosSystem.g:249:7: lv_ServiceConnections_19_0= ruleServiceConnection + // InternalRosSystem.g:248:6: (lv_TopicConnections_19_0= ruleTopicConnection ) + // InternalRosSystem.g:249:7: lv_TopicConnections_19_0= ruleTopicConnection { - newCompositeNode(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0()); - pushFollow(FOLLOW_13); - lv_ServiceConnections_19_0=ruleServiceConnection(); + pushFollow(FOLLOW_16); + lv_TopicConnections_19_0=ruleTopicConnection(); state._fsp--; @@ -615,9 +627,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "ServiceConnections", - lv_ServiceConnections_19_0, - "de.fraunhofer.ipa.rossystem.RosSystem.ServiceConnection"); + "TopicConnections", + lv_TopicConnections_19_0, + "de.fraunhofer.ipa.rossystem.RosSystem.TopicConnection"); afterParserOrEnumRuleCall(); @@ -626,7 +638,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:266:5: (otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) )* + // InternalRosSystem.g:266:5: (otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) )* loop7: do { int alt7=2; @@ -639,23 +651,23 @@ public final EObject ruleRosSystem() throws RecognitionException { switch (alt7) { case 1 : - // InternalRosSystem.g:267:6: otherlv_20= ',' ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) + // InternalRosSystem.g:267:6: otherlv_20= ',' ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) { otherlv_20=(Token)match(input,27,FOLLOW_17); newLeafNode(otherlv_20, grammarAccess.getRosSystemAccess().getCommaKeyword_7_2_1_0()); - // InternalRosSystem.g:271:6: ( (lv_ServiceConnections_21_0= ruleServiceConnection ) ) - // InternalRosSystem.g:272:7: (lv_ServiceConnections_21_0= ruleServiceConnection ) + // InternalRosSystem.g:271:6: ( (lv_TopicConnections_21_0= ruleTopicConnection ) ) + // InternalRosSystem.g:272:7: (lv_TopicConnections_21_0= ruleTopicConnection ) { - // InternalRosSystem.g:272:7: (lv_ServiceConnections_21_0= ruleServiceConnection ) - // InternalRosSystem.g:273:8: lv_ServiceConnections_21_0= ruleServiceConnection + // InternalRosSystem.g:272:7: (lv_TopicConnections_21_0= ruleTopicConnection ) + // InternalRosSystem.g:273:8: lv_TopicConnections_21_0= ruleTopicConnection { - newCompositeNode(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0()); - pushFollow(FOLLOW_13); - lv_ServiceConnections_21_0=ruleServiceConnection(); + pushFollow(FOLLOW_16); + lv_TopicConnections_21_0=ruleTopicConnection(); state._fsp--; @@ -665,9 +677,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "ServiceConnections", - lv_ServiceConnections_21_0, - "de.fraunhofer.ipa.rossystem.RosSystem.ServiceConnection"); + "TopicConnections", + lv_TopicConnections_21_0, + "de.fraunhofer.ipa.rossystem.RosSystem.TopicConnection"); afterParserOrEnumRuleCall(); @@ -691,7 +703,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - otherlv_22=(Token)match(input,30,FOLLOW_18); + otherlv_22=(Token)match(input,31,FOLLOW_18); newLeafNode(otherlv_22, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_7_3()); @@ -701,7 +713,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:297:3: (otherlv_23= 'ActionConnections' otherlv_24= '{' ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? otherlv_28= '}' )? + // InternalRosSystem.g:297:3: (otherlv_23= 'ServiceConnections' otherlv_24= '{' ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? otherlv_28= '}' )? int alt12=2; int LA12_0 = input.LA(1); @@ -710,17 +722,17 @@ public final EObject ruleRosSystem() throws RecognitionException { } switch (alt12) { case 1 : - // InternalRosSystem.g:298:4: otherlv_23= 'ActionConnections' otherlv_24= '{' ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? otherlv_28= '}' + // InternalRosSystem.g:298:4: otherlv_23= 'ServiceConnections' otherlv_24= '{' ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? otherlv_28= '}' { otherlv_23=(Token)match(input,32,FOLLOW_3); - newLeafNode(otherlv_23, grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_8_0()); + newLeafNode(otherlv_23, grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_8_0()); otherlv_24=(Token)match(input,23,FOLLOW_19); newLeafNode(otherlv_24, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_8_1()); - // InternalRosSystem.g:306:4: ( ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* )? + // InternalRosSystem.g:306:4: ( ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* )? int alt11=2; int LA11_0 = input.LA(1); @@ -729,19 +741,19 @@ public final EObject ruleRosSystem() throws RecognitionException { } switch (alt11) { case 1 : - // InternalRosSystem.g:307:5: ( (lv_ActionConnections_25_0= ruleActionConnection ) ) (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* + // InternalRosSystem.g:307:5: ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* { - // InternalRosSystem.g:307:5: ( (lv_ActionConnections_25_0= ruleActionConnection ) ) - // InternalRosSystem.g:308:6: (lv_ActionConnections_25_0= ruleActionConnection ) + // InternalRosSystem.g:307:5: ( (lv_ServiceConnections_25_0= ruleServiceConnection ) ) + // InternalRosSystem.g:308:6: (lv_ServiceConnections_25_0= ruleServiceConnection ) { - // InternalRosSystem.g:308:6: (lv_ActionConnections_25_0= ruleActionConnection ) - // InternalRosSystem.g:309:7: lv_ActionConnections_25_0= ruleActionConnection + // InternalRosSystem.g:308:6: (lv_ServiceConnections_25_0= ruleServiceConnection ) + // InternalRosSystem.g:309:7: lv_ServiceConnections_25_0= ruleServiceConnection { - newCompositeNode(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_0_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0()); - pushFollow(FOLLOW_13); - lv_ActionConnections_25_0=ruleActionConnection(); + pushFollow(FOLLOW_16); + lv_ServiceConnections_25_0=ruleServiceConnection(); state._fsp--; @@ -751,9 +763,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "ActionConnections", - lv_ActionConnections_25_0, - "de.fraunhofer.ipa.rossystem.RosSystem.ActionConnection"); + "ServiceConnections", + lv_ServiceConnections_25_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ServiceConnection"); afterParserOrEnumRuleCall(); @@ -762,7 +774,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:326:5: (otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) )* + // InternalRosSystem.g:326:5: (otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) )* loop10: do { int alt10=2; @@ -775,23 +787,23 @@ public final EObject ruleRosSystem() throws RecognitionException { switch (alt10) { case 1 : - // InternalRosSystem.g:327:6: otherlv_26= ',' ( (lv_ActionConnections_27_0= ruleActionConnection ) ) + // InternalRosSystem.g:327:6: otherlv_26= ',' ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) { otherlv_26=(Token)match(input,27,FOLLOW_20); newLeafNode(otherlv_26, grammarAccess.getRosSystemAccess().getCommaKeyword_8_2_1_0()); - // InternalRosSystem.g:331:6: ( (lv_ActionConnections_27_0= ruleActionConnection ) ) - // InternalRosSystem.g:332:7: (lv_ActionConnections_27_0= ruleActionConnection ) + // InternalRosSystem.g:331:6: ( (lv_ServiceConnections_27_0= ruleServiceConnection ) ) + // InternalRosSystem.g:332:7: (lv_ServiceConnections_27_0= ruleServiceConnection ) { - // InternalRosSystem.g:332:7: (lv_ActionConnections_27_0= ruleActionConnection ) - // InternalRosSystem.g:333:8: lv_ActionConnections_27_0= ruleActionConnection + // InternalRosSystem.g:332:7: (lv_ServiceConnections_27_0= ruleServiceConnection ) + // InternalRosSystem.g:333:8: lv_ServiceConnections_27_0= ruleServiceConnection { - newCompositeNode(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0()); - pushFollow(FOLLOW_13); - lv_ActionConnections_27_0=ruleActionConnection(); + pushFollow(FOLLOW_16); + lv_ServiceConnections_27_0=ruleServiceConnection(); state._fsp--; @@ -801,9 +813,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "ActionConnections", - lv_ActionConnections_27_0, - "de.fraunhofer.ipa.rossystem.RosSystem.ActionConnection"); + "ServiceConnections", + lv_ServiceConnections_27_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ServiceConnection"); afterParserOrEnumRuleCall(); @@ -827,7 +839,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - otherlv_28=(Token)match(input,30,FOLLOW_21); + otherlv_28=(Token)match(input,31,FOLLOW_21); newLeafNode(otherlv_28, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_8_3()); @@ -837,7 +849,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:357:3: (otherlv_29= 'Parameters' otherlv_30= '{' ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? otherlv_34= '}' )? + // InternalRosSystem.g:357:3: (otherlv_29= 'ActionConnections' otherlv_30= '{' ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? otherlv_34= '}' )? int alt15=2; int LA15_0 = input.LA(1); @@ -846,38 +858,38 @@ public final EObject ruleRosSystem() throws RecognitionException { } switch (alt15) { case 1 : - // InternalRosSystem.g:358:4: otherlv_29= 'Parameters' otherlv_30= '{' ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? otherlv_34= '}' + // InternalRosSystem.g:358:4: otherlv_29= 'ActionConnections' otherlv_30= '{' ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? otherlv_34= '}' { otherlv_29=(Token)match(input,33,FOLLOW_3); - newLeafNode(otherlv_29, grammarAccess.getRosSystemAccess().getParametersKeyword_9_0()); + newLeafNode(otherlv_29, grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_9_0()); otherlv_30=(Token)match(input,23,FOLLOW_22); newLeafNode(otherlv_30, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_9_1()); - // InternalRosSystem.g:366:4: ( ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* )? + // InternalRosSystem.g:366:4: ( ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* )? int alt14=2; int LA14_0 = input.LA(1); - if ( (LA14_0==64) ) { + if ( (LA14_0==39) ) { alt14=1; } switch (alt14) { case 1 : - // InternalRosSystem.g:367:5: ( (lv_Parameter_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* + // InternalRosSystem.g:367:5: ( (lv_ActionConnections_31_0= ruleActionConnection ) ) (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* { - // InternalRosSystem.g:367:5: ( (lv_Parameter_31_0= ruleParameter ) ) - // InternalRosSystem.g:368:6: (lv_Parameter_31_0= ruleParameter ) + // InternalRosSystem.g:367:5: ( (lv_ActionConnections_31_0= ruleActionConnection ) ) + // InternalRosSystem.g:368:6: (lv_ActionConnections_31_0= ruleActionConnection ) { - // InternalRosSystem.g:368:6: (lv_Parameter_31_0= ruleParameter ) - // InternalRosSystem.g:369:7: lv_Parameter_31_0= ruleParameter + // InternalRosSystem.g:368:6: (lv_ActionConnections_31_0= ruleActionConnection ) + // InternalRosSystem.g:369:7: lv_ActionConnections_31_0= ruleActionConnection { - newCompositeNode(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_0_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_0_0()); - pushFollow(FOLLOW_13); - lv_Parameter_31_0=ruleParameter(); + pushFollow(FOLLOW_16); + lv_ActionConnections_31_0=ruleActionConnection(); state._fsp--; @@ -887,9 +899,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "Parameter", - lv_Parameter_31_0, - "de.fraunhofer.ipa.rossystem.RosSystem.Parameter"); + "ActionConnections", + lv_ActionConnections_31_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ActionConnection"); afterParserOrEnumRuleCall(); @@ -898,7 +910,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - // InternalRosSystem.g:386:5: (otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) )* + // InternalRosSystem.g:386:5: (otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) )* loop13: do { int alt13=2; @@ -911,23 +923,23 @@ public final EObject ruleRosSystem() throws RecognitionException { switch (alt13) { case 1 : - // InternalRosSystem.g:387:6: otherlv_32= ',' ( (lv_Parameter_33_0= ruleParameter ) ) + // InternalRosSystem.g:387:6: otherlv_32= ',' ( (lv_ActionConnections_33_0= ruleActionConnection ) ) { otherlv_32=(Token)match(input,27,FOLLOW_23); newLeafNode(otherlv_32, grammarAccess.getRosSystemAccess().getCommaKeyword_9_2_1_0()); - // InternalRosSystem.g:391:6: ( (lv_Parameter_33_0= ruleParameter ) ) - // InternalRosSystem.g:392:7: (lv_Parameter_33_0= ruleParameter ) + // InternalRosSystem.g:391:6: ( (lv_ActionConnections_33_0= ruleActionConnection ) ) + // InternalRosSystem.g:392:7: (lv_ActionConnections_33_0= ruleActionConnection ) { - // InternalRosSystem.g:392:7: (lv_Parameter_33_0= ruleParameter ) - // InternalRosSystem.g:393:8: lv_Parameter_33_0= ruleParameter + // InternalRosSystem.g:392:7: (lv_ActionConnections_33_0= ruleActionConnection ) + // InternalRosSystem.g:393:8: lv_ActionConnections_33_0= ruleActionConnection { - newCompositeNode(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_9_2_1_1_0()); + newCompositeNode(grammarAccess.getRosSystemAccess().getActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0()); - pushFollow(FOLLOW_13); - lv_Parameter_33_0=ruleParameter(); + pushFollow(FOLLOW_16); + lv_ActionConnections_33_0=ruleActionConnection(); state._fsp--; @@ -937,9 +949,9 @@ public final EObject ruleRosSystem() throws RecognitionException { } add( current, - "Parameter", - lv_Parameter_33_0, - "de.fraunhofer.ipa.rossystem.RosSystem.Parameter"); + "ActionConnections", + lv_ActionConnections_33_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ActionConnection"); afterParserOrEnumRuleCall(); @@ -963,7 +975,7 @@ public final EObject ruleRosSystem() throws RecognitionException { } - otherlv_34=(Token)match(input,30,FOLLOW_24); + otherlv_34=(Token)match(input,31,FOLLOW_24); newLeafNode(otherlv_34, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_9_3()); @@ -973,9 +985,145 @@ public final EObject ruleRosSystem() throws RecognitionException { } - otherlv_35=(Token)match(input,30,FOLLOW_2); + // InternalRosSystem.g:417:3: (otherlv_35= 'Parameters' otherlv_36= '{' ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? otherlv_40= '}' )? + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==34) ) { + alt18=1; + } + switch (alt18) { + case 1 : + // InternalRosSystem.g:418:4: otherlv_35= 'Parameters' otherlv_36= '{' ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? otherlv_40= '}' + { + otherlv_35=(Token)match(input,34,FOLLOW_3); + + newLeafNode(otherlv_35, grammarAccess.getRosSystemAccess().getParametersKeyword_10_0()); + + otherlv_36=(Token)match(input,23,FOLLOW_25); + + newLeafNode(otherlv_36, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_10_1()); + + // InternalRosSystem.g:426:4: ( ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==69) ) { + alt17=1; + } + switch (alt17) { + case 1 : + // InternalRosSystem.g:427:5: ( (lv_Parameter_37_0= ruleParameter ) ) (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* + { + // InternalRosSystem.g:427:5: ( (lv_Parameter_37_0= ruleParameter ) ) + // InternalRosSystem.g:428:6: (lv_Parameter_37_0= ruleParameter ) + { + // InternalRosSystem.g:428:6: (lv_Parameter_37_0= ruleParameter ) + // InternalRosSystem.g:429:7: lv_Parameter_37_0= ruleParameter + { + + newCompositeNode(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_0_0()); + + pushFollow(FOLLOW_16); + lv_Parameter_37_0=ruleParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRosSystemRule()); + } + add( + current, + "Parameter", + lv_Parameter_37_0, + "de.fraunhofer.ipa.rossystem.RosSystem.Parameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRosSystem.g:446:5: (otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==27) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // InternalRosSystem.g:447:6: otherlv_38= ',' ( (lv_Parameter_39_0= ruleParameter ) ) + { + otherlv_38=(Token)match(input,27,FOLLOW_26); + + newLeafNode(otherlv_38, grammarAccess.getRosSystemAccess().getCommaKeyword_10_2_1_0()); + + // InternalRosSystem.g:451:6: ( (lv_Parameter_39_0= ruleParameter ) ) + // InternalRosSystem.g:452:7: (lv_Parameter_39_0= ruleParameter ) + { + // InternalRosSystem.g:452:7: (lv_Parameter_39_0= ruleParameter ) + // InternalRosSystem.g:453:8: lv_Parameter_39_0= ruleParameter + { + + newCompositeNode(grammarAccess.getRosSystemAccess().getParameterParameterParserRuleCall_10_2_1_1_0()); + + pushFollow(FOLLOW_16); + lv_Parameter_39_0=ruleParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRosSystemRule()); + } + add( + current, + "Parameter", + lv_Parameter_39_0, + "de.fraunhofer.ipa.rossystem.RosSystem.Parameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop16; + } + } while (true); + + + } + break; + + } + + otherlv_40=(Token)match(input,31,FOLLOW_27); + + newLeafNode(otherlv_40, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10_3()); + + + } + break; + + } + + otherlv_41=(Token)match(input,31,FOLLOW_2); - newLeafNode(otherlv_35, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10()); + newLeafNode(otherlv_41, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_11()); } @@ -1000,7 +1148,7 @@ public final EObject ruleRosSystem() throws RecognitionException { // $ANTLR start "entryRuleTopicConnection" - // InternalRosSystem.g:425:1: entryRuleTopicConnection returns [EObject current=null] : iv_ruleTopicConnection= ruleTopicConnection EOF ; + // InternalRosSystem.g:485:1: entryRuleTopicConnection returns [EObject current=null] : iv_ruleTopicConnection= ruleTopicConnection EOF ; public final EObject entryRuleTopicConnection() throws RecognitionException { EObject current = null; @@ -1008,8 +1156,8 @@ public final EObject entryRuleTopicConnection() throws RecognitionException { try { - // InternalRosSystem.g:425:56: (iv_ruleTopicConnection= ruleTopicConnection EOF ) - // InternalRosSystem.g:426:2: iv_ruleTopicConnection= ruleTopicConnection EOF + // InternalRosSystem.g:485:56: (iv_ruleTopicConnection= ruleTopicConnection EOF ) + // InternalRosSystem.g:486:2: iv_ruleTopicConnection= ruleTopicConnection EOF { newCompositeNode(grammarAccess.getTopicConnectionRule()); pushFollow(FOLLOW_1); @@ -1036,7 +1184,7 @@ public final EObject entryRuleTopicConnection() throws RecognitionException { // $ANTLR start "ruleTopicConnection" - // InternalRosSystem.g:432:1: ruleTopicConnection returns [EObject current=null] : (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) ; + // InternalRosSystem.g:492:1: ruleTopicConnection returns [EObject current=null] : (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) ; public final EObject ruleTopicConnection() throws RecognitionException { EObject current = null; @@ -1058,21 +1206,21 @@ public final EObject ruleTopicConnection() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:438:2: ( (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) ) - // InternalRosSystem.g:439:2: (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) + // InternalRosSystem.g:498:2: ( (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) ) + // InternalRosSystem.g:499:2: (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) { - // InternalRosSystem.g:439:2: (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) - // InternalRosSystem.g:440:3: otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' + // InternalRosSystem.g:499:2: (otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' ) + // InternalRosSystem.g:500:3: otherlv_0= 'TopicConnection' ( (lv_TopicName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' otherlv_15= '}' { - otherlv_0=(Token)match(input,34,FOLLOW_5); + otherlv_0=(Token)match(input,35,FOLLOW_5); newLeafNode(otherlv_0, grammarAccess.getTopicConnectionAccess().getTopicConnectionKeyword_0()); - // InternalRosSystem.g:444:3: ( (lv_TopicName_1_0= ruleEString ) ) - // InternalRosSystem.g:445:4: (lv_TopicName_1_0= ruleEString ) + // InternalRosSystem.g:504:3: ( (lv_TopicName_1_0= ruleEString ) ) + // InternalRosSystem.g:505:4: (lv_TopicName_1_0= ruleEString ) { - // InternalRosSystem.g:445:4: (lv_TopicName_1_0= ruleEString ) - // InternalRosSystem.g:446:5: lv_TopicName_1_0= ruleEString + // InternalRosSystem.g:505:4: (lv_TopicName_1_0= ruleEString ) + // InternalRosSystem.g:506:5: lv_TopicName_1_0= ruleEString { newCompositeNode(grammarAccess.getTopicConnectionAccess().getTopicNameEStringParserRuleCall_1_0()); @@ -1099,11 +1247,11 @@ public final EObject ruleTopicConnection() throws RecognitionException { } - otherlv_2=(Token)match(input,23,FOLLOW_25); + otherlv_2=(Token)match(input,23,FOLLOW_28); newLeafNode(otherlv_2, grammarAccess.getTopicConnectionAccess().getLeftCurlyBracketKeyword_2()); - otherlv_3=(Token)match(input,35,FOLLOW_7); + otherlv_3=(Token)match(input,36,FOLLOW_7); newLeafNode(otherlv_3, grammarAccess.getTopicConnectionAccess().getFromKeyword_3()); @@ -1111,11 +1259,11 @@ public final EObject ruleTopicConnection() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_4()); - // InternalRosSystem.g:475:3: ( ( ruleEString ) ) - // InternalRosSystem.g:476:4: ( ruleEString ) + // InternalRosSystem.g:535:3: ( ( ruleEString ) ) + // InternalRosSystem.g:536:4: ( ruleEString ) { - // InternalRosSystem.g:476:4: ( ruleEString ) - // InternalRosSystem.g:477:5: ruleEString + // InternalRosSystem.g:536:4: ( ruleEString ) + // InternalRosSystem.g:537:5: ruleEString { if (current==null) { @@ -1139,30 +1287,30 @@ public final EObject ruleTopicConnection() throws RecognitionException { } - // InternalRosSystem.g:491:3: (otherlv_6= ',' ( ( ruleEString ) ) )* - loop16: + // InternalRosSystem.g:551:3: (otherlv_6= ',' ( ( ruleEString ) ) )* + loop19: do { - int alt16=2; - int LA16_0 = input.LA(1); + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA16_0==27) ) { - alt16=1; + if ( (LA19_0==27) ) { + alt19=1; } - switch (alt16) { + switch (alt19) { case 1 : - // InternalRosSystem.g:492:4: otherlv_6= ',' ( ( ruleEString ) ) + // InternalRosSystem.g:552:4: otherlv_6= ',' ( ( ruleEString ) ) { otherlv_6=(Token)match(input,27,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getTopicConnectionAccess().getCommaKeyword_6_0()); - // InternalRosSystem.g:496:4: ( ( ruleEString ) ) - // InternalRosSystem.g:497:5: ( ruleEString ) + // InternalRosSystem.g:556:4: ( ( ruleEString ) ) + // InternalRosSystem.g:557:5: ( ruleEString ) { - // InternalRosSystem.g:497:5: ( ruleEString ) - // InternalRosSystem.g:498:6: ruleEString + // InternalRosSystem.g:557:5: ( ruleEString ) + // InternalRosSystem.g:558:6: ruleEString { if (current==null) { @@ -1191,15 +1339,15 @@ public final EObject ruleTopicConnection() throws RecognitionException { break; default : - break loop16; + break loop19; } } while (true); - otherlv_8=(Token)match(input,28,FOLLOW_26); + otherlv_8=(Token)match(input,28,FOLLOW_29); newLeafNode(otherlv_8, grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_7()); - otherlv_9=(Token)match(input,36,FOLLOW_7); + otherlv_9=(Token)match(input,37,FOLLOW_7); newLeafNode(otherlv_9, grammarAccess.getTopicConnectionAccess().getToKeyword_8()); @@ -1207,11 +1355,11 @@ public final EObject ruleTopicConnection() throws RecognitionException { newLeafNode(otherlv_10, grammarAccess.getTopicConnectionAccess().getLeftParenthesisKeyword_9()); - // InternalRosSystem.g:525:3: ( ( ruleEString ) ) - // InternalRosSystem.g:526:4: ( ruleEString ) + // InternalRosSystem.g:585:3: ( ( ruleEString ) ) + // InternalRosSystem.g:586:4: ( ruleEString ) { - // InternalRosSystem.g:526:4: ( ruleEString ) - // InternalRosSystem.g:527:5: ruleEString + // InternalRosSystem.g:586:4: ( ruleEString ) + // InternalRosSystem.g:587:5: ruleEString { if (current==null) { @@ -1235,30 +1383,30 @@ public final EObject ruleTopicConnection() throws RecognitionException { } - // InternalRosSystem.g:541:3: (otherlv_12= ',' ( ( ruleEString ) ) )* - loop17: + // InternalRosSystem.g:601:3: (otherlv_12= ',' ( ( ruleEString ) ) )* + loop20: do { - int alt17=2; - int LA17_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA17_0==27) ) { - alt17=1; + if ( (LA20_0==27) ) { + alt20=1; } - switch (alt17) { + switch (alt20) { case 1 : - // InternalRosSystem.g:542:4: otherlv_12= ',' ( ( ruleEString ) ) + // InternalRosSystem.g:602:4: otherlv_12= ',' ( ( ruleEString ) ) { otherlv_12=(Token)match(input,27,FOLLOW_5); newLeafNode(otherlv_12, grammarAccess.getTopicConnectionAccess().getCommaKeyword_11_0()); - // InternalRosSystem.g:546:4: ( ( ruleEString ) ) - // InternalRosSystem.g:547:5: ( ruleEString ) + // InternalRosSystem.g:606:4: ( ( ruleEString ) ) + // InternalRosSystem.g:607:5: ( ruleEString ) { - // InternalRosSystem.g:547:5: ( ruleEString ) - // InternalRosSystem.g:548:6: ruleEString + // InternalRosSystem.g:607:5: ( ruleEString ) + // InternalRosSystem.g:608:6: ruleEString { if (current==null) { @@ -1287,15 +1435,15 @@ public final EObject ruleTopicConnection() throws RecognitionException { break; default : - break loop17; + break loop20; } } while (true); - otherlv_14=(Token)match(input,28,FOLLOW_24); + otherlv_14=(Token)match(input,28,FOLLOW_27); newLeafNode(otherlv_14, grammarAccess.getTopicConnectionAccess().getRightParenthesisKeyword_12()); - otherlv_15=(Token)match(input,30,FOLLOW_2); + otherlv_15=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_15, grammarAccess.getTopicConnectionAccess().getRightCurlyBracketKeyword_13()); @@ -1322,7 +1470,7 @@ public final EObject ruleTopicConnection() throws RecognitionException { // $ANTLR start "entryRuleServiceConnection" - // InternalRosSystem.g:575:1: entryRuleServiceConnection returns [EObject current=null] : iv_ruleServiceConnection= ruleServiceConnection EOF ; + // InternalRosSystem.g:635:1: entryRuleServiceConnection returns [EObject current=null] : iv_ruleServiceConnection= ruleServiceConnection EOF ; public final EObject entryRuleServiceConnection() throws RecognitionException { EObject current = null; @@ -1330,8 +1478,8 @@ public final EObject entryRuleServiceConnection() throws RecognitionException { try { - // InternalRosSystem.g:575:58: (iv_ruleServiceConnection= ruleServiceConnection EOF ) - // InternalRosSystem.g:576:2: iv_ruleServiceConnection= ruleServiceConnection EOF + // InternalRosSystem.g:635:58: (iv_ruleServiceConnection= ruleServiceConnection EOF ) + // InternalRosSystem.g:636:2: iv_ruleServiceConnection= ruleServiceConnection EOF { newCompositeNode(grammarAccess.getServiceConnectionRule()); pushFollow(FOLLOW_1); @@ -1358,7 +1506,7 @@ public final EObject entryRuleServiceConnection() throws RecognitionException { // $ANTLR start "ruleServiceConnection" - // InternalRosSystem.g:582:1: ruleServiceConnection returns [EObject current=null] : (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) ; + // InternalRosSystem.g:642:1: ruleServiceConnection returns [EObject current=null] : (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) ; public final EObject ruleServiceConnection() throws RecognitionException { EObject current = null; @@ -1377,21 +1525,21 @@ public final EObject ruleServiceConnection() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:588:2: ( (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) ) - // InternalRosSystem.g:589:2: (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) + // InternalRosSystem.g:648:2: ( (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) ) + // InternalRosSystem.g:649:2: (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) { - // InternalRosSystem.g:589:2: (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) - // InternalRosSystem.g:590:3: otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' + // InternalRosSystem.g:649:2: (otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' ) + // InternalRosSystem.g:650:3: otherlv_0= 'ServiceConnection' ( (lv_ServiceName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' otherlv_9= 'To' ( ( ruleEString ) ) otherlv_11= '}' { - otherlv_0=(Token)match(input,37,FOLLOW_5); + otherlv_0=(Token)match(input,38,FOLLOW_5); newLeafNode(otherlv_0, grammarAccess.getServiceConnectionAccess().getServiceConnectionKeyword_0()); - // InternalRosSystem.g:594:3: ( (lv_ServiceName_1_0= ruleEString ) ) - // InternalRosSystem.g:595:4: (lv_ServiceName_1_0= ruleEString ) + // InternalRosSystem.g:654:3: ( (lv_ServiceName_1_0= ruleEString ) ) + // InternalRosSystem.g:655:4: (lv_ServiceName_1_0= ruleEString ) { - // InternalRosSystem.g:595:4: (lv_ServiceName_1_0= ruleEString ) - // InternalRosSystem.g:596:5: lv_ServiceName_1_0= ruleEString + // InternalRosSystem.g:655:4: (lv_ServiceName_1_0= ruleEString ) + // InternalRosSystem.g:656:5: lv_ServiceName_1_0= ruleEString { newCompositeNode(grammarAccess.getServiceConnectionAccess().getServiceNameEStringParserRuleCall_1_0()); @@ -1418,11 +1566,11 @@ public final EObject ruleServiceConnection() throws RecognitionException { } - otherlv_2=(Token)match(input,23,FOLLOW_25); + otherlv_2=(Token)match(input,23,FOLLOW_28); newLeafNode(otherlv_2, grammarAccess.getServiceConnectionAccess().getLeftCurlyBracketKeyword_2()); - otherlv_3=(Token)match(input,35,FOLLOW_7); + otherlv_3=(Token)match(input,36,FOLLOW_7); newLeafNode(otherlv_3, grammarAccess.getServiceConnectionAccess().getFromKeyword_3()); @@ -1430,11 +1578,11 @@ public final EObject ruleServiceConnection() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getServiceConnectionAccess().getLeftParenthesisKeyword_4()); - // InternalRosSystem.g:625:3: ( ( ruleEString ) ) - // InternalRosSystem.g:626:4: ( ruleEString ) + // InternalRosSystem.g:685:3: ( ( ruleEString ) ) + // InternalRosSystem.g:686:4: ( ruleEString ) { - // InternalRosSystem.g:626:4: ( ruleEString ) - // InternalRosSystem.g:627:5: ruleEString + // InternalRosSystem.g:686:4: ( ruleEString ) + // InternalRosSystem.g:687:5: ruleEString { if (current==null) { @@ -1458,30 +1606,30 @@ public final EObject ruleServiceConnection() throws RecognitionException { } - // InternalRosSystem.g:641:3: (otherlv_6= ',' ( ( ruleEString ) ) )* - loop18: + // InternalRosSystem.g:701:3: (otherlv_6= ',' ( ( ruleEString ) ) )* + loop21: do { - int alt18=2; - int LA18_0 = input.LA(1); + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA18_0==27) ) { - alt18=1; + if ( (LA21_0==27) ) { + alt21=1; } - switch (alt18) { + switch (alt21) { case 1 : - // InternalRosSystem.g:642:4: otherlv_6= ',' ( ( ruleEString ) ) + // InternalRosSystem.g:702:4: otherlv_6= ',' ( ( ruleEString ) ) { otherlv_6=(Token)match(input,27,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getServiceConnectionAccess().getCommaKeyword_6_0()); - // InternalRosSystem.g:646:4: ( ( ruleEString ) ) - // InternalRosSystem.g:647:5: ( ruleEString ) + // InternalRosSystem.g:706:4: ( ( ruleEString ) ) + // InternalRosSystem.g:707:5: ( ruleEString ) { - // InternalRosSystem.g:647:5: ( ruleEString ) - // InternalRosSystem.g:648:6: ruleEString + // InternalRosSystem.g:707:5: ( ruleEString ) + // InternalRosSystem.g:708:6: ruleEString { if (current==null) { @@ -1510,23 +1658,23 @@ public final EObject ruleServiceConnection() throws RecognitionException { break; default : - break loop18; + break loop21; } } while (true); - otherlv_8=(Token)match(input,28,FOLLOW_26); + otherlv_8=(Token)match(input,28,FOLLOW_29); newLeafNode(otherlv_8, grammarAccess.getServiceConnectionAccess().getRightParenthesisKeyword_7()); - otherlv_9=(Token)match(input,36,FOLLOW_5); + otherlv_9=(Token)match(input,37,FOLLOW_5); newLeafNode(otherlv_9, grammarAccess.getServiceConnectionAccess().getToKeyword_8()); - // InternalRosSystem.g:671:3: ( ( ruleEString ) ) - // InternalRosSystem.g:672:4: ( ruleEString ) + // InternalRosSystem.g:731:3: ( ( ruleEString ) ) + // InternalRosSystem.g:732:4: ( ruleEString ) { - // InternalRosSystem.g:672:4: ( ruleEString ) - // InternalRosSystem.g:673:5: ruleEString + // InternalRosSystem.g:732:4: ( ruleEString ) + // InternalRosSystem.g:733:5: ruleEString { if (current==null) { @@ -1536,7 +1684,7 @@ public final EObject ruleServiceConnection() throws RecognitionException { newCompositeNode(grammarAccess.getServiceConnectionAccess().getToRosServiceClientCrossReference_9_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -1550,7 +1698,7 @@ public final EObject ruleServiceConnection() throws RecognitionException { } - otherlv_11=(Token)match(input,30,FOLLOW_2); + otherlv_11=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_11, grammarAccess.getServiceConnectionAccess().getRightCurlyBracketKeyword_10()); @@ -1577,7 +1725,7 @@ public final EObject ruleServiceConnection() throws RecognitionException { // $ANTLR start "entryRuleActionConnection" - // InternalRosSystem.g:695:1: entryRuleActionConnection returns [EObject current=null] : iv_ruleActionConnection= ruleActionConnection EOF ; + // InternalRosSystem.g:755:1: entryRuleActionConnection returns [EObject current=null] : iv_ruleActionConnection= ruleActionConnection EOF ; public final EObject entryRuleActionConnection() throws RecognitionException { EObject current = null; @@ -1585,8 +1733,8 @@ public final EObject entryRuleActionConnection() throws RecognitionException { try { - // InternalRosSystem.g:695:57: (iv_ruleActionConnection= ruleActionConnection EOF ) - // InternalRosSystem.g:696:2: iv_ruleActionConnection= ruleActionConnection EOF + // InternalRosSystem.g:755:57: (iv_ruleActionConnection= ruleActionConnection EOF ) + // InternalRosSystem.g:756:2: iv_ruleActionConnection= ruleActionConnection EOF { newCompositeNode(grammarAccess.getActionConnectionRule()); pushFollow(FOLLOW_1); @@ -1613,7 +1761,7 @@ public final EObject entryRuleActionConnection() throws RecognitionException { // $ANTLR start "ruleActionConnection" - // InternalRosSystem.g:702:1: ruleActionConnection returns [EObject current=null] : (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) ; + // InternalRosSystem.g:762:1: ruleActionConnection returns [EObject current=null] : (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) ; public final EObject ruleActionConnection() throws RecognitionException { EObject current = null; @@ -1629,21 +1777,21 @@ public final EObject ruleActionConnection() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:708:2: ( (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) ) - // InternalRosSystem.g:709:2: (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) + // InternalRosSystem.g:768:2: ( (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) ) + // InternalRosSystem.g:769:2: (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) { - // InternalRosSystem.g:709:2: (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) - // InternalRosSystem.g:710:3: otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' + // InternalRosSystem.g:769:2: (otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' ) + // InternalRosSystem.g:770:3: otherlv_0= 'ActionConnection' ( (lv_ActionName_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'From' ( ( ruleEString ) ) otherlv_5= 'To' ( ( ruleEString ) ) otherlv_7= '}' { - otherlv_0=(Token)match(input,38,FOLLOW_5); + otherlv_0=(Token)match(input,39,FOLLOW_5); newLeafNode(otherlv_0, grammarAccess.getActionConnectionAccess().getActionConnectionKeyword_0()); - // InternalRosSystem.g:714:3: ( (lv_ActionName_1_0= ruleEString ) ) - // InternalRosSystem.g:715:4: (lv_ActionName_1_0= ruleEString ) + // InternalRosSystem.g:774:3: ( (lv_ActionName_1_0= ruleEString ) ) + // InternalRosSystem.g:775:4: (lv_ActionName_1_0= ruleEString ) { - // InternalRosSystem.g:715:4: (lv_ActionName_1_0= ruleEString ) - // InternalRosSystem.g:716:5: lv_ActionName_1_0= ruleEString + // InternalRosSystem.g:775:4: (lv_ActionName_1_0= ruleEString ) + // InternalRosSystem.g:776:5: lv_ActionName_1_0= ruleEString { newCompositeNode(grammarAccess.getActionConnectionAccess().getActionNameEStringParserRuleCall_1_0()); @@ -1670,19 +1818,19 @@ public final EObject ruleActionConnection() throws RecognitionException { } - otherlv_2=(Token)match(input,23,FOLLOW_25); + otherlv_2=(Token)match(input,23,FOLLOW_28); newLeafNode(otherlv_2, grammarAccess.getActionConnectionAccess().getLeftCurlyBracketKeyword_2()); - otherlv_3=(Token)match(input,35,FOLLOW_5); + otherlv_3=(Token)match(input,36,FOLLOW_5); newLeafNode(otherlv_3, grammarAccess.getActionConnectionAccess().getFromKeyword_3()); - // InternalRosSystem.g:741:3: ( ( ruleEString ) ) - // InternalRosSystem.g:742:4: ( ruleEString ) + // InternalRosSystem.g:801:3: ( ( ruleEString ) ) + // InternalRosSystem.g:802:4: ( ruleEString ) { - // InternalRosSystem.g:742:4: ( ruleEString ) - // InternalRosSystem.g:743:5: ruleEString + // InternalRosSystem.g:802:4: ( ruleEString ) + // InternalRosSystem.g:803:5: ruleEString { if (current==null) { @@ -1692,7 +1840,7 @@ public final EObject ruleActionConnection() throws RecognitionException { newCompositeNode(grammarAccess.getActionConnectionAccess().getFromRosActionServerCrossReference_4_0()); - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_29); ruleEString(); state._fsp--; @@ -1706,15 +1854,15 @@ public final EObject ruleActionConnection() throws RecognitionException { } - otherlv_5=(Token)match(input,36,FOLLOW_5); + otherlv_5=(Token)match(input,37,FOLLOW_5); newLeafNode(otherlv_5, grammarAccess.getActionConnectionAccess().getToKeyword_5()); - // InternalRosSystem.g:761:3: ( ( ruleEString ) ) - // InternalRosSystem.g:762:4: ( ruleEString ) + // InternalRosSystem.g:821:3: ( ( ruleEString ) ) + // InternalRosSystem.g:822:4: ( ruleEString ) { - // InternalRosSystem.g:762:4: ( ruleEString ) - // InternalRosSystem.g:763:5: ruleEString + // InternalRosSystem.g:822:4: ( ruleEString ) + // InternalRosSystem.g:823:5: ruleEString { if (current==null) { @@ -1724,7 +1872,7 @@ public final EObject ruleActionConnection() throws RecognitionException { newCompositeNode(grammarAccess.getActionConnectionAccess().getToRosActionClientCrossReference_6_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -1738,7 +1886,7 @@ public final EObject ruleActionConnection() throws RecognitionException { } - otherlv_7=(Token)match(input,30,FOLLOW_2); + otherlv_7=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_7, grammarAccess.getActionConnectionAccess().getRightCurlyBracketKeyword_7()); @@ -1765,7 +1913,7 @@ public final EObject ruleActionConnection() throws RecognitionException { // $ANTLR start "entryRuleEString" - // InternalRosSystem.g:785:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; + // InternalRosSystem.g:845:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; public final String entryRuleEString() throws RecognitionException { String current = null; @@ -1773,8 +1921,8 @@ public final String entryRuleEString() throws RecognitionException { try { - // InternalRosSystem.g:785:47: (iv_ruleEString= ruleEString EOF ) - // InternalRosSystem.g:786:2: iv_ruleEString= ruleEString EOF + // InternalRosSystem.g:845:47: (iv_ruleEString= ruleEString EOF ) + // InternalRosSystem.g:846:2: iv_ruleEString= ruleEString EOF { newCompositeNode(grammarAccess.getEStringRule()); pushFollow(FOLLOW_1); @@ -1801,7 +1949,7 @@ public final String entryRuleEString() throws RecognitionException { // $ANTLR start "ruleEString" - // InternalRosSystem.g:792:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; + // InternalRosSystem.g:852:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -1812,49 +1960,683 @@ public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:798:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) - // InternalRosSystem.g:799:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + // InternalRosSystem.g:858:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) + // InternalRosSystem.g:859:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + { + // InternalRosSystem.g:859:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==RULE_STRING) ) { + alt22=1; + } + else if ( (LA22_0==RULE_ID) ) { + alt22=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + + throw nvae; + } + switch (alt22) { + case 1 : + // InternalRosSystem.g:860:3: this_STRING_0= RULE_STRING + { + this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); + + current.merge(this_STRING_0); + + + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + + + } + break; + case 2 : + // InternalRosSystem.g:868:3: this_ID_1= RULE_ID + { + this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); + + current.merge(this_ID_1); + + + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEString" + + + // $ANTLR start "entryRuleComponentStack" + // InternalRosSystem.g:879:1: entryRuleComponentStack returns [EObject current=null] : iv_ruleComponentStack= ruleComponentStack EOF ; + public final EObject entryRuleComponentStack() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentStack = null; + + + try { + // InternalRosSystem.g:879:55: (iv_ruleComponentStack= ruleComponentStack EOF ) + // InternalRosSystem.g:880:2: iv_ruleComponentStack= ruleComponentStack EOF + { + newCompositeNode(grammarAccess.getComponentStackRule()); + pushFollow(FOLLOW_1); + iv_ruleComponentStack=ruleComponentStack(); + + state._fsp--; + + current =iv_ruleComponentStack; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentStack" + + + // $ANTLR start "ruleComponentStack" + // InternalRosSystem.g:886:1: ruleComponentStack returns [EObject current=null] : (otherlv_0= 'ComponentStack' otherlv_1= '{' otherlv_2= 'name' ( (lv_Name_3_0= ruleEString ) ) (otherlv_4= 'RosComponents' otherlv_5= '(' ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? otherlv_9= ')' )? (otherlv_10= 'QualityAttributes' otherlv_11= '(' ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? otherlv_15= ')' )? otherlv_16= '}' ) ; + public final EObject ruleComponentStack() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_16=null; + AntlrDatatypeRuleToken lv_Name_3_0 = null; + + EObject lv_RosComponent_6_0 = null; + + EObject lv_RosComponent_8_0 = null; + + EObject lv_QualityAttribute_12_0 = null; + + EObject lv_QualityAttribute_14_0 = null; + + + + enterRule(); + + try { + // InternalRosSystem.g:892:2: ( (otherlv_0= 'ComponentStack' otherlv_1= '{' otherlv_2= 'name' ( (lv_Name_3_0= ruleEString ) ) (otherlv_4= 'RosComponents' otherlv_5= '(' ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? otherlv_9= ')' )? (otherlv_10= 'QualityAttributes' otherlv_11= '(' ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? otherlv_15= ')' )? otherlv_16= '}' ) ) + // InternalRosSystem.g:893:2: (otherlv_0= 'ComponentStack' otherlv_1= '{' otherlv_2= 'name' ( (lv_Name_3_0= ruleEString ) ) (otherlv_4= 'RosComponents' otherlv_5= '(' ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? otherlv_9= ')' )? (otherlv_10= 'QualityAttributes' otherlv_11= '(' ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? otherlv_15= ')' )? otherlv_16= '}' ) + { + // InternalRosSystem.g:893:2: (otherlv_0= 'ComponentStack' otherlv_1= '{' otherlv_2= 'name' ( (lv_Name_3_0= ruleEString ) ) (otherlv_4= 'RosComponents' otherlv_5= '(' ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? otherlv_9= ')' )? (otherlv_10= 'QualityAttributes' otherlv_11= '(' ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? otherlv_15= ')' )? otherlv_16= '}' ) + // InternalRosSystem.g:894:3: otherlv_0= 'ComponentStack' otherlv_1= '{' otherlv_2= 'name' ( (lv_Name_3_0= ruleEString ) ) (otherlv_4= 'RosComponents' otherlv_5= '(' ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? otherlv_9= ')' )? (otherlv_10= 'QualityAttributes' otherlv_11= '(' ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? otherlv_15= ')' )? otherlv_16= '}' + { + otherlv_0=(Token)match(input,40,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getComponentStackAccess().getComponentStackKeyword_0()); + + otherlv_1=(Token)match(input,23,FOLLOW_30); + + newLeafNode(otherlv_1, grammarAccess.getComponentStackAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,41,FOLLOW_5); + + newLeafNode(otherlv_2, grammarAccess.getComponentStackAccess().getNameKeyword_2()); + + // InternalRosSystem.g:906:3: ( (lv_Name_3_0= ruleEString ) ) + // InternalRosSystem.g:907:4: (lv_Name_3_0= ruleEString ) { - // InternalRosSystem.g:799:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) - int alt19=2; - int LA19_0 = input.LA(1); + // InternalRosSystem.g:907:4: (lv_Name_3_0= ruleEString ) + // InternalRosSystem.g:908:5: lv_Name_3_0= ruleEString + { + + newCompositeNode(grammarAccess.getComponentStackAccess().getNameEStringParserRuleCall_3_0()); + + pushFollow(FOLLOW_31); + lv_Name_3_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentStackRule()); + } + set( + current, + "Name", + lv_Name_3_0, + "de.fraunhofer.ipa.rossystem.RosSystem.EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRosSystem.g:925:3: (otherlv_4= 'RosComponents' otherlv_5= '(' ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? otherlv_9= ')' )? + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==25) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // InternalRosSystem.g:926:4: otherlv_4= 'RosComponents' otherlv_5= '(' ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? otherlv_9= ')' + { + otherlv_4=(Token)match(input,25,FOLLOW_7); + + newLeafNode(otherlv_4, grammarAccess.getComponentStackAccess().getRosComponentsKeyword_4_0()); + + otherlv_5=(Token)match(input,26,FOLLOW_8); + + newLeafNode(otherlv_5, grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_4_1()); + + // InternalRosSystem.g:934:4: ( ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* )? + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==46) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // InternalRosSystem.g:935:5: ( (lv_RosComponent_6_0= ruleComponentInterface ) ) (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* + { + // InternalRosSystem.g:935:5: ( (lv_RosComponent_6_0= ruleComponentInterface ) ) + // InternalRosSystem.g:936:6: (lv_RosComponent_6_0= ruleComponentInterface ) + { + // InternalRosSystem.g:936:6: (lv_RosComponent_6_0= ruleComponentInterface ) + // InternalRosSystem.g:937:7: lv_RosComponent_6_0= ruleComponentInterface + { + + newCompositeNode(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_0_0()); + + pushFollow(FOLLOW_9); + lv_RosComponent_6_0=ruleComponentInterface(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentStackRule()); + } + add( + current, + "RosComponent", + lv_RosComponent_6_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ComponentInterface"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRosSystem.g:954:5: (otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) )* + loop23: + do { + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==27) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // InternalRosSystem.g:955:6: otherlv_7= ',' ( (lv_RosComponent_8_0= ruleComponentInterface ) ) + { + otherlv_7=(Token)match(input,27,FOLLOW_10); + + newLeafNode(otherlv_7, grammarAccess.getComponentStackAccess().getCommaKeyword_4_2_1_0()); + + // InternalRosSystem.g:959:6: ( (lv_RosComponent_8_0= ruleComponentInterface ) ) + // InternalRosSystem.g:960:7: (lv_RosComponent_8_0= ruleComponentInterface ) + { + // InternalRosSystem.g:960:7: (lv_RosComponent_8_0= ruleComponentInterface ) + // InternalRosSystem.g:961:8: lv_RosComponent_8_0= ruleComponentInterface + { + + newCompositeNode(grammarAccess.getComponentStackAccess().getRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0()); + + pushFollow(FOLLOW_9); + lv_RosComponent_8_0=ruleComponentInterface(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentStackRule()); + } + add( + current, + "RosComponent", + lv_RosComponent_8_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ComponentInterface"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop23; + } + } while (true); + + + } + break; + + } + + otherlv_9=(Token)match(input,28,FOLLOW_32); + + newLeafNode(otherlv_9, grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_4_3()); + + + } + break; + + } + + // InternalRosSystem.g:985:3: (otherlv_10= 'QualityAttributes' otherlv_11= '(' ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? otherlv_15= ')' )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==42) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalRosSystem.g:986:4: otherlv_10= 'QualityAttributes' otherlv_11= '(' ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? otherlv_15= ')' + { + otherlv_10=(Token)match(input,42,FOLLOW_7); + + newLeafNode(otherlv_10, grammarAccess.getComponentStackAccess().getQualityAttributesKeyword_5_0()); + + otherlv_11=(Token)match(input,26,FOLLOW_33); + + newLeafNode(otherlv_11, grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_5_1()); + + // InternalRosSystem.g:994:4: ( ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==43) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalRosSystem.g:995:5: ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* + { + // InternalRosSystem.g:995:5: ( (lv_QualityAttribute_12_0= ruleQualityAttribute ) ) + // InternalRosSystem.g:996:6: (lv_QualityAttribute_12_0= ruleQualityAttribute ) + { + // InternalRosSystem.g:996:6: (lv_QualityAttribute_12_0= ruleQualityAttribute ) + // InternalRosSystem.g:997:7: lv_QualityAttribute_12_0= ruleQualityAttribute + { + + newCompositeNode(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_0_0()); + + pushFollow(FOLLOW_9); + lv_QualityAttribute_12_0=ruleQualityAttribute(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentStackRule()); + } + add( + current, + "QualityAttribute", + lv_QualityAttribute_12_0, + "de.fraunhofer.ipa.rossystem.RosSystem.QualityAttribute"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRosSystem.g:1014:5: (otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) )* + loop26: + do { + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==27) ) { + alt26=1; + } + + + switch (alt26) { + case 1 : + // InternalRosSystem.g:1015:6: otherlv_13= ',' ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) + { + otherlv_13=(Token)match(input,27,FOLLOW_34); + + newLeafNode(otherlv_13, grammarAccess.getComponentStackAccess().getCommaKeyword_5_2_1_0()); + + // InternalRosSystem.g:1019:6: ( (lv_QualityAttribute_14_0= ruleQualityAttribute ) ) + // InternalRosSystem.g:1020:7: (lv_QualityAttribute_14_0= ruleQualityAttribute ) + { + // InternalRosSystem.g:1020:7: (lv_QualityAttribute_14_0= ruleQualityAttribute ) + // InternalRosSystem.g:1021:8: lv_QualityAttribute_14_0= ruleQualityAttribute + { + + newCompositeNode(grammarAccess.getComponentStackAccess().getQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0()); + + pushFollow(FOLLOW_9); + lv_QualityAttribute_14_0=ruleQualityAttribute(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentStackRule()); + } + add( + current, + "QualityAttribute", + lv_QualityAttribute_14_0, + "de.fraunhofer.ipa.rossystem.RosSystem.QualityAttribute"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop26; + } + } while (true); + + + } + break; + + } + + otherlv_15=(Token)match(input,28,FOLLOW_27); + + newLeafNode(otherlv_15, grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_5_3()); + + + } + break; + + } + + otherlv_16=(Token)match(input,31,FOLLOW_2); + + newLeafNode(otherlv_16, grammarAccess.getComponentStackAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentStack" + + + // $ANTLR start "entryRuleQualityAttribute" + // InternalRosSystem.g:1053:1: entryRuleQualityAttribute returns [EObject current=null] : iv_ruleQualityAttribute= ruleQualityAttribute EOF ; + public final EObject entryRuleQualityAttribute() throws RecognitionException { + EObject current = null; + + EObject iv_ruleQualityAttribute = null; + + + try { + // InternalRosSystem.g:1053:57: (iv_ruleQualityAttribute= ruleQualityAttribute EOF ) + // InternalRosSystem.g:1054:2: iv_ruleQualityAttribute= ruleQualityAttribute EOF + { + newCompositeNode(grammarAccess.getQualityAttributeRule()); + pushFollow(FOLLOW_1); + iv_ruleQualityAttribute=ruleQualityAttribute(); + + state._fsp--; + + current =iv_ruleQualityAttribute; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualityAttribute" + + + // $ANTLR start "ruleQualityAttribute" + // InternalRosSystem.g:1060:1: ruleQualityAttribute returns [EObject current=null] : (otherlv_0= 'QualityAttribute' ( (lv_Name_1_0= ruleEString ) ) (otherlv_2= 'type' ( (lv_Type_3_0= ruleParameterType ) ) )? (otherlv_4= 'value' ( (lv_Value_5_0= ruleParameterValue ) ) )? ) ; + public final EObject ruleQualityAttribute() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + AntlrDatatypeRuleToken lv_Name_1_0 = null; + + EObject lv_Type_3_0 = null; + + EObject lv_Value_5_0 = null; + + + + enterRule(); + + try { + // InternalRosSystem.g:1066:2: ( (otherlv_0= 'QualityAttribute' ( (lv_Name_1_0= ruleEString ) ) (otherlv_2= 'type' ( (lv_Type_3_0= ruleParameterType ) ) )? (otherlv_4= 'value' ( (lv_Value_5_0= ruleParameterValue ) ) )? ) ) + // InternalRosSystem.g:1067:2: (otherlv_0= 'QualityAttribute' ( (lv_Name_1_0= ruleEString ) ) (otherlv_2= 'type' ( (lv_Type_3_0= ruleParameterType ) ) )? (otherlv_4= 'value' ( (lv_Value_5_0= ruleParameterValue ) ) )? ) + { + // InternalRosSystem.g:1067:2: (otherlv_0= 'QualityAttribute' ( (lv_Name_1_0= ruleEString ) ) (otherlv_2= 'type' ( (lv_Type_3_0= ruleParameterType ) ) )? (otherlv_4= 'value' ( (lv_Value_5_0= ruleParameterValue ) ) )? ) + // InternalRosSystem.g:1068:3: otherlv_0= 'QualityAttribute' ( (lv_Name_1_0= ruleEString ) ) (otherlv_2= 'type' ( (lv_Type_3_0= ruleParameterType ) ) )? (otherlv_4= 'value' ( (lv_Value_5_0= ruleParameterValue ) ) )? + { + otherlv_0=(Token)match(input,43,FOLLOW_5); + + newLeafNode(otherlv_0, grammarAccess.getQualityAttributeAccess().getQualityAttributeKeyword_0()); + + // InternalRosSystem.g:1072:3: ( (lv_Name_1_0= ruleEString ) ) + // InternalRosSystem.g:1073:4: (lv_Name_1_0= ruleEString ) + { + // InternalRosSystem.g:1073:4: (lv_Name_1_0= ruleEString ) + // InternalRosSystem.g:1074:5: lv_Name_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getQualityAttributeAccess().getNameEStringParserRuleCall_1_0()); + + pushFollow(FOLLOW_35); + lv_Name_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQualityAttributeRule()); + } + set( + current, + "Name", + lv_Name_1_0, + "de.fraunhofer.ipa.rossystem.RosSystem.EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRosSystem.g:1091:3: (otherlv_2= 'type' ( (lv_Type_3_0= ruleParameterType ) ) )? + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==44) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // InternalRosSystem.g:1092:4: otherlv_2= 'type' ( (lv_Type_3_0= ruleParameterType ) ) + { + otherlv_2=(Token)match(input,44,FOLLOW_36); + + newLeafNode(otherlv_2, grammarAccess.getQualityAttributeAccess().getTypeKeyword_2_0()); + + // InternalRosSystem.g:1096:4: ( (lv_Type_3_0= ruleParameterType ) ) + // InternalRosSystem.g:1097:5: (lv_Type_3_0= ruleParameterType ) + { + // InternalRosSystem.g:1097:5: (lv_Type_3_0= ruleParameterType ) + // InternalRosSystem.g:1098:6: lv_Type_3_0= ruleParameterType + { + + newCompositeNode(grammarAccess.getQualityAttributeAccess().getTypeParameterTypeParserRuleCall_2_1_0()); + + pushFollow(FOLLOW_37); + lv_Type_3_0=ruleParameterType(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQualityAttributeRule()); + } + set( + current, + "Type", + lv_Type_3_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ParameterType"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; - if ( (LA19_0==RULE_STRING) ) { - alt19=1; } - else if ( (LA19_0==RULE_ID) ) { - alt19=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 19, 0, input); - throw nvae; + // InternalRosSystem.g:1116:3: (otherlv_4= 'value' ( (lv_Value_5_0= ruleParameterValue ) ) )? + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==45) ) { + alt30=1; } - switch (alt19) { + switch (alt30) { case 1 : - // InternalRosSystem.g:800:3: this_STRING_0= RULE_STRING + // InternalRosSystem.g:1117:4: otherlv_4= 'value' ( (lv_Value_5_0= ruleParameterValue ) ) { - this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); + otherlv_4=(Token)match(input,45,FOLLOW_38); - current.merge(this_STRING_0); - + newLeafNode(otherlv_4, grammarAccess.getQualityAttributeAccess().getValueKeyword_3_0()); + + // InternalRosSystem.g:1121:4: ( (lv_Value_5_0= ruleParameterValue ) ) + // InternalRosSystem.g:1122:5: (lv_Value_5_0= ruleParameterValue ) + { + // InternalRosSystem.g:1122:5: (lv_Value_5_0= ruleParameterValue ) + // InternalRosSystem.g:1123:6: lv_Value_5_0= ruleParameterValue + { - newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); - + newCompositeNode(grammarAccess.getQualityAttributeAccess().getValueParameterValueParserRuleCall_3_1_0()); + + pushFollow(FOLLOW_2); + lv_Value_5_0=ruleParameterValue(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQualityAttributeRule()); + } + set( + current, + "Value", + lv_Value_5_0, + "de.fraunhofer.ipa.rossystem.RosSystem.ParameterValue"); + afterParserOrEnumRuleCall(); + } - break; - case 2 : - // InternalRosSystem.g:808:3: this_ID_1= RULE_ID - { - this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); - current.merge(this_ID_1); - - newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); - + } + } break; @@ -1862,6 +2644,9 @@ else if ( (LA19_0==RULE_ID) ) { } + } + + } @@ -1877,11 +2662,11 @@ else if ( (LA19_0==RULE_ID) ) { } return current; } - // $ANTLR end "ruleEString" + // $ANTLR end "ruleQualityAttribute" // $ANTLR start "entryRuleComponentInterface" - // InternalRosSystem.g:819:1: entryRuleComponentInterface returns [EObject current=null] : iv_ruleComponentInterface= ruleComponentInterface EOF ; + // InternalRosSystem.g:1145:1: entryRuleComponentInterface returns [EObject current=null] : iv_ruleComponentInterface= ruleComponentInterface EOF ; public final EObject entryRuleComponentInterface() throws RecognitionException { EObject current = null; @@ -1889,8 +2674,8 @@ public final EObject entryRuleComponentInterface() throws RecognitionException { try { - // InternalRosSystem.g:819:59: (iv_ruleComponentInterface= ruleComponentInterface EOF ) - // InternalRosSystem.g:820:2: iv_ruleComponentInterface= ruleComponentInterface EOF + // InternalRosSystem.g:1145:59: (iv_ruleComponentInterface= ruleComponentInterface EOF ) + // InternalRosSystem.g:1146:2: iv_ruleComponentInterface= ruleComponentInterface EOF { newCompositeNode(grammarAccess.getComponentInterfaceRule()); pushFollow(FOLLOW_1); @@ -1917,7 +2702,7 @@ public final EObject entryRuleComponentInterface() throws RecognitionException { // $ANTLR start "ruleComponentInterface" - // InternalRosSystem.g:826:1: ruleComponentInterface returns [EObject current=null] : (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) ; + // InternalRosSystem.g:1152:1: ruleComponentInterface returns [EObject current=null] : (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) ; public final EObject ruleComponentInterface() throws RecognitionException { EObject current = null; @@ -1992,34 +2777,34 @@ public final EObject ruleComponentInterface() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:832:2: ( (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) ) - // InternalRosSystem.g:833:2: (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) + // InternalRosSystem.g:1158:2: ( (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) ) + // InternalRosSystem.g:1159:2: (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) { - // InternalRosSystem.g:833:2: (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) - // InternalRosSystem.g:834:3: otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' + // InternalRosSystem.g:1159:2: (otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' ) + // InternalRosSystem.g:1160:3: otherlv_0= 'ComponentInterface' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? otherlv_50= '}' { - otherlv_0=(Token)match(input,39,FOLLOW_3); + otherlv_0=(Token)match(input,46,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getComponentInterfaceAccess().getComponentInterfaceKeyword_0()); - otherlv_1=(Token)match(input,23,FOLLOW_27); + otherlv_1=(Token)match(input,23,FOLLOW_30); newLeafNode(otherlv_1, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,40,FOLLOW_5); + otherlv_2=(Token)match(input,41,FOLLOW_5); newLeafNode(otherlv_2, grammarAccess.getComponentInterfaceAccess().getNameKeyword_2()); - // InternalRosSystem.g:846:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRosSystem.g:847:4: (lv_name_3_0= ruleEString ) + // InternalRosSystem.g:1172:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRosSystem.g:1173:4: (lv_name_3_0= ruleEString ) { - // InternalRosSystem.g:847:4: (lv_name_3_0= ruleEString ) - // InternalRosSystem.g:848:5: lv_name_3_0= ruleEString + // InternalRosSystem.g:1173:4: (lv_name_3_0= ruleEString ) + // InternalRosSystem.g:1174:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getNameEStringParserRuleCall_3_0()); - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_39); lv_name_3_0=ruleEString(); state._fsp--; @@ -2041,31 +2826,31 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:865:3: (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? - int alt20=2; - int LA20_0 = input.LA(1); + // InternalRosSystem.g:1191:3: (otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) )? + int alt31=2; + int LA31_0 = input.LA(1); - if ( (LA20_0==41) ) { - alt20=1; + if ( (LA31_0==47) ) { + alt31=1; } - switch (alt20) { + switch (alt31) { case 1 : - // InternalRosSystem.g:866:4: otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) + // InternalRosSystem.g:1192:4: otherlv_4= 'NameSpace' ( (lv_NameSpace_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,41,FOLLOW_5); + otherlv_4=(Token)match(input,47,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getComponentInterfaceAccess().getNameSpaceKeyword_4_0()); - // InternalRosSystem.g:870:4: ( (lv_NameSpace_5_0= ruleEString ) ) - // InternalRosSystem.g:871:5: (lv_NameSpace_5_0= ruleEString ) + // InternalRosSystem.g:1196:4: ( (lv_NameSpace_5_0= ruleEString ) ) + // InternalRosSystem.g:1197:5: (lv_NameSpace_5_0= ruleEString ) { - // InternalRosSystem.g:871:5: (lv_NameSpace_5_0= ruleEString ) - // InternalRosSystem.g:872:6: lv_NameSpace_5_0= ruleEString + // InternalRosSystem.g:1197:5: (lv_NameSpace_5_0= ruleEString ) + // InternalRosSystem.g:1198:6: lv_NameSpace_5_0= ruleEString { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getNameSpaceEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_40); lv_NameSpace_5_0=ruleEString(); state._fsp--; @@ -2093,26 +2878,26 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:890:3: (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? - int alt21=2; - int LA21_0 = input.LA(1); + // InternalRosSystem.g:1216:3: (otherlv_6= 'FromRosNode' ( ( ruleEString ) ) )? + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA21_0==42) ) { - alt21=1; + if ( (LA32_0==48) ) { + alt32=1; } - switch (alt21) { + switch (alt32) { case 1 : - // InternalRosSystem.g:891:4: otherlv_6= 'FromRosNode' ( ( ruleEString ) ) + // InternalRosSystem.g:1217:4: otherlv_6= 'FromRosNode' ( ( ruleEString ) ) { - otherlv_6=(Token)match(input,42,FOLLOW_5); + otherlv_6=(Token)match(input,48,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getComponentInterfaceAccess().getFromRosNodeKeyword_5_0()); - // InternalRosSystem.g:895:4: ( ( ruleEString ) ) - // InternalRosSystem.g:896:5: ( ruleEString ) + // InternalRosSystem.g:1221:4: ( ( ruleEString ) ) + // InternalRosSystem.g:1222:5: ( ruleEString ) { - // InternalRosSystem.g:896:5: ( ruleEString ) - // InternalRosSystem.g:897:6: ruleEString + // InternalRosSystem.g:1222:5: ( ruleEString ) + // InternalRosSystem.g:1223:6: ruleEString { if (current==null) { @@ -2122,7 +2907,7 @@ public final EObject ruleComponentInterface() throws RecognitionException { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getFromRosNodeNodeCrossReference_5_1_0()); - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_41); ruleEString(); state._fsp--; @@ -2142,35 +2927,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:912:3: (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? - int alt23=2; - int LA23_0 = input.LA(1); + // InternalRosSystem.g:1238:3: (otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' )? + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA23_0==43) ) { - alt23=1; + if ( (LA34_0==49) ) { + alt34=1; } - switch (alt23) { + switch (alt34) { case 1 : - // InternalRosSystem.g:913:4: otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' + // InternalRosSystem.g:1239:4: otherlv_8= 'RosPublishers' otherlv_9= '{' ( (lv_rospublisher_10_0= ruleRosPublisher ) ) (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* otherlv_13= '}' { - otherlv_8=(Token)match(input,43,FOLLOW_3); + otherlv_8=(Token)match(input,49,FOLLOW_3); newLeafNode(otherlv_8, grammarAccess.getComponentInterfaceAccess().getRosPublishersKeyword_6_0()); - otherlv_9=(Token)match(input,23,FOLLOW_31); + otherlv_9=(Token)match(input,23,FOLLOW_42); newLeafNode(otherlv_9, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_6_1()); - // InternalRosSystem.g:921:4: ( (lv_rospublisher_10_0= ruleRosPublisher ) ) - // InternalRosSystem.g:922:5: (lv_rospublisher_10_0= ruleRosPublisher ) + // InternalRosSystem.g:1247:4: ( (lv_rospublisher_10_0= ruleRosPublisher ) ) + // InternalRosSystem.g:1248:5: (lv_rospublisher_10_0= ruleRosPublisher ) { - // InternalRosSystem.g:922:5: (lv_rospublisher_10_0= ruleRosPublisher ) - // InternalRosSystem.g:923:6: lv_rospublisher_10_0= ruleRosPublisher + // InternalRosSystem.g:1248:5: (lv_rospublisher_10_0= ruleRosPublisher ) + // InternalRosSystem.g:1249:6: lv_rospublisher_10_0= ruleRosPublisher { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRospublisherRosPublisherParserRuleCall_6_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rospublisher_10_0=ruleRosPublisher(); state._fsp--; @@ -2192,35 +2977,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:940:4: (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* - loop22: + // InternalRosSystem.g:1266:4: (otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) )* + loop33: do { - int alt22=2; - int LA22_0 = input.LA(1); + int alt33=2; + int LA33_0 = input.LA(1); - if ( (LA22_0==27) ) { - alt22=1; + if ( (LA33_0==27) ) { + alt33=1; } - switch (alt22) { + switch (alt33) { case 1 : - // InternalRosSystem.g:941:5: otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) + // InternalRosSystem.g:1267:5: otherlv_11= ',' ( (lv_rospublisher_12_0= ruleRosPublisher ) ) { - otherlv_11=(Token)match(input,27,FOLLOW_31); + otherlv_11=(Token)match(input,27,FOLLOW_42); newLeafNode(otherlv_11, grammarAccess.getComponentInterfaceAccess().getCommaKeyword_6_3_0()); - // InternalRosSystem.g:945:5: ( (lv_rospublisher_12_0= ruleRosPublisher ) ) - // InternalRosSystem.g:946:6: (lv_rospublisher_12_0= ruleRosPublisher ) + // InternalRosSystem.g:1271:5: ( (lv_rospublisher_12_0= ruleRosPublisher ) ) + // InternalRosSystem.g:1272:6: (lv_rospublisher_12_0= ruleRosPublisher ) { - // InternalRosSystem.g:946:6: (lv_rospublisher_12_0= ruleRosPublisher ) - // InternalRosSystem.g:947:7: lv_rospublisher_12_0= ruleRosPublisher + // InternalRosSystem.g:1272:6: (lv_rospublisher_12_0= ruleRosPublisher ) + // InternalRosSystem.g:1273:7: lv_rospublisher_12_0= ruleRosPublisher { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRospublisherRosPublisherParserRuleCall_6_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rospublisher_12_0=ruleRosPublisher(); state._fsp--; @@ -2247,11 +3032,11 @@ public final EObject ruleComponentInterface() throws RecognitionException { break; default : - break loop22; + break loop33; } } while (true); - otherlv_13=(Token)match(input,30,FOLLOW_32); + otherlv_13=(Token)match(input,31,FOLLOW_43); newLeafNode(otherlv_13, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_6_4()); @@ -2261,35 +3046,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:970:3: (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? - int alt25=2; - int LA25_0 = input.LA(1); + // InternalRosSystem.g:1296:3: (otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' )? + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA25_0==44) ) { - alt25=1; + if ( (LA36_0==50) ) { + alt36=1; } - switch (alt25) { + switch (alt36) { case 1 : - // InternalRosSystem.g:971:4: otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' + // InternalRosSystem.g:1297:4: otherlv_14= 'RosSubscribers' otherlv_15= '{' ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* otherlv_19= '}' { - otherlv_14=(Token)match(input,44,FOLLOW_3); + otherlv_14=(Token)match(input,50,FOLLOW_3); newLeafNode(otherlv_14, grammarAccess.getComponentInterfaceAccess().getRosSubscribersKeyword_7_0()); - otherlv_15=(Token)match(input,23,FOLLOW_33); + otherlv_15=(Token)match(input,23,FOLLOW_44); newLeafNode(otherlv_15, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_7_1()); - // InternalRosSystem.g:979:4: ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) - // InternalRosSystem.g:980:5: (lv_rossubscriber_16_0= ruleRosSubscriber ) + // InternalRosSystem.g:1305:4: ( (lv_rossubscriber_16_0= ruleRosSubscriber ) ) + // InternalRosSystem.g:1306:5: (lv_rossubscriber_16_0= ruleRosSubscriber ) { - // InternalRosSystem.g:980:5: (lv_rossubscriber_16_0= ruleRosSubscriber ) - // InternalRosSystem.g:981:6: lv_rossubscriber_16_0= ruleRosSubscriber + // InternalRosSystem.g:1306:5: (lv_rossubscriber_16_0= ruleRosSubscriber ) + // InternalRosSystem.g:1307:6: lv_rossubscriber_16_0= ruleRosSubscriber { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRossubscriberRosSubscriberParserRuleCall_7_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rossubscriber_16_0=ruleRosSubscriber(); state._fsp--; @@ -2311,35 +3096,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:998:4: (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* - loop24: + // InternalRosSystem.g:1324:4: (otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) )* + loop35: do { - int alt24=2; - int LA24_0 = input.LA(1); + int alt35=2; + int LA35_0 = input.LA(1); - if ( (LA24_0==27) ) { - alt24=1; + if ( (LA35_0==27) ) { + alt35=1; } - switch (alt24) { + switch (alt35) { case 1 : - // InternalRosSystem.g:999:5: otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) + // InternalRosSystem.g:1325:5: otherlv_17= ',' ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) { - otherlv_17=(Token)match(input,27,FOLLOW_33); + otherlv_17=(Token)match(input,27,FOLLOW_44); newLeafNode(otherlv_17, grammarAccess.getComponentInterfaceAccess().getCommaKeyword_7_3_0()); - // InternalRosSystem.g:1003:5: ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) - // InternalRosSystem.g:1004:6: (lv_rossubscriber_18_0= ruleRosSubscriber ) + // InternalRosSystem.g:1329:5: ( (lv_rossubscriber_18_0= ruleRosSubscriber ) ) + // InternalRosSystem.g:1330:6: (lv_rossubscriber_18_0= ruleRosSubscriber ) { - // InternalRosSystem.g:1004:6: (lv_rossubscriber_18_0= ruleRosSubscriber ) - // InternalRosSystem.g:1005:7: lv_rossubscriber_18_0= ruleRosSubscriber + // InternalRosSystem.g:1330:6: (lv_rossubscriber_18_0= ruleRosSubscriber ) + // InternalRosSystem.g:1331:7: lv_rossubscriber_18_0= ruleRosSubscriber { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRossubscriberRosSubscriberParserRuleCall_7_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rossubscriber_18_0=ruleRosSubscriber(); state._fsp--; @@ -2366,11 +3151,11 @@ public final EObject ruleComponentInterface() throws RecognitionException { break; default : - break loop24; + break loop35; } } while (true); - otherlv_19=(Token)match(input,30,FOLLOW_34); + otherlv_19=(Token)match(input,31,FOLLOW_45); newLeafNode(otherlv_19, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_7_4()); @@ -2380,35 +3165,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1028:3: (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? - int alt27=2; - int LA27_0 = input.LA(1); + // InternalRosSystem.g:1354:3: (otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' )? + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA27_0==45) ) { - alt27=1; + if ( (LA38_0==51) ) { + alt38=1; } - switch (alt27) { + switch (alt38) { case 1 : - // InternalRosSystem.g:1029:4: otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' + // InternalRosSystem.g:1355:4: otherlv_20= 'RosSrvServers' otherlv_21= '{' ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* otherlv_25= '}' { - otherlv_20=(Token)match(input,45,FOLLOW_3); + otherlv_20=(Token)match(input,51,FOLLOW_3); newLeafNode(otherlv_20, grammarAccess.getComponentInterfaceAccess().getRosSrvServersKeyword_8_0()); - otherlv_21=(Token)match(input,23,FOLLOW_35); + otherlv_21=(Token)match(input,23,FOLLOW_46); newLeafNode(otherlv_21, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_8_1()); - // InternalRosSystem.g:1037:4: ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) - // InternalRosSystem.g:1038:5: (lv_rosserviceserver_22_0= ruleRosServiceServer ) + // InternalRosSystem.g:1363:4: ( (lv_rosserviceserver_22_0= ruleRosServiceServer ) ) + // InternalRosSystem.g:1364:5: (lv_rosserviceserver_22_0= ruleRosServiceServer ) { - // InternalRosSystem.g:1038:5: (lv_rosserviceserver_22_0= ruleRosServiceServer ) - // InternalRosSystem.g:1039:6: lv_rosserviceserver_22_0= ruleRosServiceServer + // InternalRosSystem.g:1364:5: (lv_rosserviceserver_22_0= ruleRosServiceServer ) + // InternalRosSystem.g:1365:6: lv_rosserviceserver_22_0= ruleRosServiceServer { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosserviceserverRosServiceServerParserRuleCall_8_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosserviceserver_22_0=ruleRosServiceServer(); state._fsp--; @@ -2430,35 +3215,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1056:4: (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* - loop26: + // InternalRosSystem.g:1382:4: (otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) )* + loop37: do { - int alt26=2; - int LA26_0 = input.LA(1); + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA26_0==27) ) { - alt26=1; + if ( (LA37_0==27) ) { + alt37=1; } - switch (alt26) { + switch (alt37) { case 1 : - // InternalRosSystem.g:1057:5: otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) + // InternalRosSystem.g:1383:5: otherlv_23= ',' ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) { - otherlv_23=(Token)match(input,27,FOLLOW_35); + otherlv_23=(Token)match(input,27,FOLLOW_46); newLeafNode(otherlv_23, grammarAccess.getComponentInterfaceAccess().getCommaKeyword_8_3_0()); - // InternalRosSystem.g:1061:5: ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) - // InternalRosSystem.g:1062:6: (lv_rosserviceserver_24_0= ruleRosServiceServer ) + // InternalRosSystem.g:1387:5: ( (lv_rosserviceserver_24_0= ruleRosServiceServer ) ) + // InternalRosSystem.g:1388:6: (lv_rosserviceserver_24_0= ruleRosServiceServer ) { - // InternalRosSystem.g:1062:6: (lv_rosserviceserver_24_0= ruleRosServiceServer ) - // InternalRosSystem.g:1063:7: lv_rosserviceserver_24_0= ruleRosServiceServer + // InternalRosSystem.g:1388:6: (lv_rosserviceserver_24_0= ruleRosServiceServer ) + // InternalRosSystem.g:1389:7: lv_rosserviceserver_24_0= ruleRosServiceServer { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosserviceserverRosServiceServerParserRuleCall_8_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosserviceserver_24_0=ruleRosServiceServer(); state._fsp--; @@ -2485,11 +3270,11 @@ public final EObject ruleComponentInterface() throws RecognitionException { break; default : - break loop26; + break loop37; } } while (true); - otherlv_25=(Token)match(input,30,FOLLOW_36); + otherlv_25=(Token)match(input,31,FOLLOW_47); newLeafNode(otherlv_25, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_8_4()); @@ -2499,35 +3284,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1086:3: (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? - int alt29=2; - int LA29_0 = input.LA(1); + // InternalRosSystem.g:1412:3: (otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' )? + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA29_0==46) ) { - alt29=1; + if ( (LA40_0==52) ) { + alt40=1; } - switch (alt29) { + switch (alt40) { case 1 : - // InternalRosSystem.g:1087:4: otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' + // InternalRosSystem.g:1413:4: otherlv_26= 'RosSrvClients' otherlv_27= '{' ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* otherlv_31= '}' { - otherlv_26=(Token)match(input,46,FOLLOW_3); + otherlv_26=(Token)match(input,52,FOLLOW_3); newLeafNode(otherlv_26, grammarAccess.getComponentInterfaceAccess().getRosSrvClientsKeyword_9_0()); - otherlv_27=(Token)match(input,23,FOLLOW_37); + otherlv_27=(Token)match(input,23,FOLLOW_48); newLeafNode(otherlv_27, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_9_1()); - // InternalRosSystem.g:1095:4: ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) - // InternalRosSystem.g:1096:5: (lv_rosserviceclient_28_0= ruleRosServiceClient ) + // InternalRosSystem.g:1421:4: ( (lv_rosserviceclient_28_0= ruleRosServiceClient ) ) + // InternalRosSystem.g:1422:5: (lv_rosserviceclient_28_0= ruleRosServiceClient ) { - // InternalRosSystem.g:1096:5: (lv_rosserviceclient_28_0= ruleRosServiceClient ) - // InternalRosSystem.g:1097:6: lv_rosserviceclient_28_0= ruleRosServiceClient + // InternalRosSystem.g:1422:5: (lv_rosserviceclient_28_0= ruleRosServiceClient ) + // InternalRosSystem.g:1423:6: lv_rosserviceclient_28_0= ruleRosServiceClient { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosserviceclientRosServiceClientParserRuleCall_9_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosserviceclient_28_0=ruleRosServiceClient(); state._fsp--; @@ -2549,35 +3334,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1114:4: (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* - loop28: + // InternalRosSystem.g:1440:4: (otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) )* + loop39: do { - int alt28=2; - int LA28_0 = input.LA(1); + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA28_0==27) ) { - alt28=1; + if ( (LA39_0==27) ) { + alt39=1; } - switch (alt28) { + switch (alt39) { case 1 : - // InternalRosSystem.g:1115:5: otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) + // InternalRosSystem.g:1441:5: otherlv_29= ',' ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) { - otherlv_29=(Token)match(input,27,FOLLOW_37); + otherlv_29=(Token)match(input,27,FOLLOW_48); newLeafNode(otherlv_29, grammarAccess.getComponentInterfaceAccess().getCommaKeyword_9_3_0()); - // InternalRosSystem.g:1119:5: ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) - // InternalRosSystem.g:1120:6: (lv_rosserviceclient_30_0= ruleRosServiceClient ) + // InternalRosSystem.g:1445:5: ( (lv_rosserviceclient_30_0= ruleRosServiceClient ) ) + // InternalRosSystem.g:1446:6: (lv_rosserviceclient_30_0= ruleRosServiceClient ) { - // InternalRosSystem.g:1120:6: (lv_rosserviceclient_30_0= ruleRosServiceClient ) - // InternalRosSystem.g:1121:7: lv_rosserviceclient_30_0= ruleRosServiceClient + // InternalRosSystem.g:1446:6: (lv_rosserviceclient_30_0= ruleRosServiceClient ) + // InternalRosSystem.g:1447:7: lv_rosserviceclient_30_0= ruleRosServiceClient { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosserviceclientRosServiceClientParserRuleCall_9_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosserviceclient_30_0=ruleRosServiceClient(); state._fsp--; @@ -2604,11 +3389,11 @@ public final EObject ruleComponentInterface() throws RecognitionException { break; default : - break loop28; + break loop39; } } while (true); - otherlv_31=(Token)match(input,30,FOLLOW_38); + otherlv_31=(Token)match(input,31,FOLLOW_49); newLeafNode(otherlv_31, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_9_4()); @@ -2618,35 +3403,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1144:3: (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalRosSystem.g:1470:3: (otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' )? + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA31_0==47) ) { - alt31=1; + if ( (LA42_0==53) ) { + alt42=1; } - switch (alt31) { + switch (alt42) { case 1 : - // InternalRosSystem.g:1145:4: otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' + // InternalRosSystem.g:1471:4: otherlv_32= 'RosActionServers' otherlv_33= '{' ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* otherlv_37= '}' { - otherlv_32=(Token)match(input,47,FOLLOW_3); + otherlv_32=(Token)match(input,53,FOLLOW_3); newLeafNode(otherlv_32, grammarAccess.getComponentInterfaceAccess().getRosActionServersKeyword_10_0()); - otherlv_33=(Token)match(input,23,FOLLOW_39); + otherlv_33=(Token)match(input,23,FOLLOW_50); newLeafNode(otherlv_33, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_10_1()); - // InternalRosSystem.g:1153:4: ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) - // InternalRosSystem.g:1154:5: (lv_rosactionserver_34_0= ruleRosActionServer ) + // InternalRosSystem.g:1479:4: ( (lv_rosactionserver_34_0= ruleRosActionServer ) ) + // InternalRosSystem.g:1480:5: (lv_rosactionserver_34_0= ruleRosActionServer ) { - // InternalRosSystem.g:1154:5: (lv_rosactionserver_34_0= ruleRosActionServer ) - // InternalRosSystem.g:1155:6: lv_rosactionserver_34_0= ruleRosActionServer + // InternalRosSystem.g:1480:5: (lv_rosactionserver_34_0= ruleRosActionServer ) + // InternalRosSystem.g:1481:6: lv_rosactionserver_34_0= ruleRosActionServer { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosactionserverRosActionServerParserRuleCall_10_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosactionserver_34_0=ruleRosActionServer(); state._fsp--; @@ -2668,35 +3453,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1172:4: (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* - loop30: + // InternalRosSystem.g:1498:4: (otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) )* + loop41: do { - int alt30=2; - int LA30_0 = input.LA(1); + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA30_0==27) ) { - alt30=1; + if ( (LA41_0==27) ) { + alt41=1; } - switch (alt30) { + switch (alt41) { case 1 : - // InternalRosSystem.g:1173:5: otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) + // InternalRosSystem.g:1499:5: otherlv_35= ',' ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) { - otherlv_35=(Token)match(input,27,FOLLOW_39); + otherlv_35=(Token)match(input,27,FOLLOW_50); newLeafNode(otherlv_35, grammarAccess.getComponentInterfaceAccess().getCommaKeyword_10_3_0()); - // InternalRosSystem.g:1177:5: ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) - // InternalRosSystem.g:1178:6: (lv_rosactionserver_36_0= ruleRosActionServer ) + // InternalRosSystem.g:1503:5: ( (lv_rosactionserver_36_0= ruleRosActionServer ) ) + // InternalRosSystem.g:1504:6: (lv_rosactionserver_36_0= ruleRosActionServer ) { - // InternalRosSystem.g:1178:6: (lv_rosactionserver_36_0= ruleRosActionServer ) - // InternalRosSystem.g:1179:7: lv_rosactionserver_36_0= ruleRosActionServer + // InternalRosSystem.g:1504:6: (lv_rosactionserver_36_0= ruleRosActionServer ) + // InternalRosSystem.g:1505:7: lv_rosactionserver_36_0= ruleRosActionServer { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosactionserverRosActionServerParserRuleCall_10_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosactionserver_36_0=ruleRosActionServer(); state._fsp--; @@ -2723,11 +3508,11 @@ public final EObject ruleComponentInterface() throws RecognitionException { break; default : - break loop30; + break loop41; } } while (true); - otherlv_37=(Token)match(input,30,FOLLOW_40); + otherlv_37=(Token)match(input,31,FOLLOW_51); newLeafNode(otherlv_37, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_10_4()); @@ -2737,35 +3522,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1202:3: (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? - int alt33=2; - int LA33_0 = input.LA(1); + // InternalRosSystem.g:1528:3: (otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' )? + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA33_0==48) ) { - alt33=1; + if ( (LA44_0==54) ) { + alt44=1; } - switch (alt33) { + switch (alt44) { case 1 : - // InternalRosSystem.g:1203:4: otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' + // InternalRosSystem.g:1529:4: otherlv_38= 'RosActionClients' otherlv_39= '{' ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* otherlv_43= '}' { - otherlv_38=(Token)match(input,48,FOLLOW_3); + otherlv_38=(Token)match(input,54,FOLLOW_3); newLeafNode(otherlv_38, grammarAccess.getComponentInterfaceAccess().getRosActionClientsKeyword_11_0()); - otherlv_39=(Token)match(input,23,FOLLOW_41); + otherlv_39=(Token)match(input,23,FOLLOW_52); newLeafNode(otherlv_39, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_11_1()); - // InternalRosSystem.g:1211:4: ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) - // InternalRosSystem.g:1212:5: (lv_rosactionclient_40_0= ruleRosActionClient ) + // InternalRosSystem.g:1537:4: ( (lv_rosactionclient_40_0= ruleRosActionClient ) ) + // InternalRosSystem.g:1538:5: (lv_rosactionclient_40_0= ruleRosActionClient ) { - // InternalRosSystem.g:1212:5: (lv_rosactionclient_40_0= ruleRosActionClient ) - // InternalRosSystem.g:1213:6: lv_rosactionclient_40_0= ruleRosActionClient + // InternalRosSystem.g:1538:5: (lv_rosactionclient_40_0= ruleRosActionClient ) + // InternalRosSystem.g:1539:6: lv_rosactionclient_40_0= ruleRosActionClient { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosactionclientRosActionClientParserRuleCall_11_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosactionclient_40_0=ruleRosActionClient(); state._fsp--; @@ -2787,35 +3572,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1230:4: (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* - loop32: + // InternalRosSystem.g:1556:4: (otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) )* + loop43: do { - int alt32=2; - int LA32_0 = input.LA(1); + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA32_0==27) ) { - alt32=1; + if ( (LA43_0==27) ) { + alt43=1; } - switch (alt32) { + switch (alt43) { case 1 : - // InternalRosSystem.g:1231:5: otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) + // InternalRosSystem.g:1557:5: otherlv_41= ',' ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) { - otherlv_41=(Token)match(input,27,FOLLOW_41); + otherlv_41=(Token)match(input,27,FOLLOW_52); newLeafNode(otherlv_41, grammarAccess.getComponentInterfaceAccess().getCommaKeyword_11_3_0()); - // InternalRosSystem.g:1235:5: ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) - // InternalRosSystem.g:1236:6: (lv_rosactionclient_42_0= ruleRosActionClient ) + // InternalRosSystem.g:1561:5: ( (lv_rosactionclient_42_0= ruleRosActionClient ) ) + // InternalRosSystem.g:1562:6: (lv_rosactionclient_42_0= ruleRosActionClient ) { - // InternalRosSystem.g:1236:6: (lv_rosactionclient_42_0= ruleRosActionClient ) - // InternalRosSystem.g:1237:7: lv_rosactionclient_42_0= ruleRosActionClient + // InternalRosSystem.g:1562:6: (lv_rosactionclient_42_0= ruleRosActionClient ) + // InternalRosSystem.g:1563:7: lv_rosactionclient_42_0= ruleRosActionClient { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosactionclientRosActionClientParserRuleCall_11_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosactionclient_42_0=ruleRosActionClient(); state._fsp--; @@ -2842,11 +3627,11 @@ public final EObject ruleComponentInterface() throws RecognitionException { break; default : - break loop32; + break loop43; } } while (true); - otherlv_43=(Token)match(input,30,FOLLOW_42); + otherlv_43=(Token)match(input,31,FOLLOW_53); newLeafNode(otherlv_43, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_11_4()); @@ -2856,35 +3641,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1260:3: (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? - int alt35=2; - int LA35_0 = input.LA(1); + // InternalRosSystem.g:1586:3: (otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA35_0==49) ) { - alt35=1; + if ( (LA46_0==55) ) { + alt46=1; } - switch (alt35) { + switch (alt46) { case 1 : - // InternalRosSystem.g:1261:4: otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' + // InternalRosSystem.g:1587:4: otherlv_44= 'RosParameters' otherlv_45= '{' ( (lv_rosparameter_46_0= ruleRosParameter ) ) (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* otherlv_49= '}' { - otherlv_44=(Token)match(input,49,FOLLOW_3); + otherlv_44=(Token)match(input,55,FOLLOW_3); newLeafNode(otherlv_44, grammarAccess.getComponentInterfaceAccess().getRosParametersKeyword_12_0()); - otherlv_45=(Token)match(input,23,FOLLOW_43); + otherlv_45=(Token)match(input,23,FOLLOW_54); newLeafNode(otherlv_45, grammarAccess.getComponentInterfaceAccess().getLeftCurlyBracketKeyword_12_1()); - // InternalRosSystem.g:1269:4: ( (lv_rosparameter_46_0= ruleRosParameter ) ) - // InternalRosSystem.g:1270:5: (lv_rosparameter_46_0= ruleRosParameter ) + // InternalRosSystem.g:1595:4: ( (lv_rosparameter_46_0= ruleRosParameter ) ) + // InternalRosSystem.g:1596:5: (lv_rosparameter_46_0= ruleRosParameter ) { - // InternalRosSystem.g:1270:5: (lv_rosparameter_46_0= ruleRosParameter ) - // InternalRosSystem.g:1271:6: lv_rosparameter_46_0= ruleRosParameter + // InternalRosSystem.g:1596:5: (lv_rosparameter_46_0= ruleRosParameter ) + // InternalRosSystem.g:1597:6: lv_rosparameter_46_0= ruleRosParameter { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosparameterRosParameterParserRuleCall_12_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosparameter_46_0=ruleRosParameter(); state._fsp--; @@ -2906,35 +3691,35 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - // InternalRosSystem.g:1288:4: (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* - loop34: + // InternalRosSystem.g:1614:4: (otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) )* + loop45: do { - int alt34=2; - int LA34_0 = input.LA(1); + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA34_0==27) ) { - alt34=1; + if ( (LA45_0==27) ) { + alt45=1; } - switch (alt34) { + switch (alt45) { case 1 : - // InternalRosSystem.g:1289:5: otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) + // InternalRosSystem.g:1615:5: otherlv_47= ',' ( (lv_rosparameter_48_0= ruleRosParameter ) ) { - otherlv_47=(Token)match(input,27,FOLLOW_43); + otherlv_47=(Token)match(input,27,FOLLOW_54); newLeafNode(otherlv_47, grammarAccess.getComponentInterfaceAccess().getCommaKeyword_12_3_0()); - // InternalRosSystem.g:1293:5: ( (lv_rosparameter_48_0= ruleRosParameter ) ) - // InternalRosSystem.g:1294:6: (lv_rosparameter_48_0= ruleRosParameter ) + // InternalRosSystem.g:1619:5: ( (lv_rosparameter_48_0= ruleRosParameter ) ) + // InternalRosSystem.g:1620:6: (lv_rosparameter_48_0= ruleRosParameter ) { - // InternalRosSystem.g:1294:6: (lv_rosparameter_48_0= ruleRosParameter ) - // InternalRosSystem.g:1295:7: lv_rosparameter_48_0= ruleRosParameter + // InternalRosSystem.g:1620:6: (lv_rosparameter_48_0= ruleRosParameter ) + // InternalRosSystem.g:1621:7: lv_rosparameter_48_0= ruleRosParameter { newCompositeNode(grammarAccess.getComponentInterfaceAccess().getRosparameterRosParameterParserRuleCall_12_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_rosparameter_48_0=ruleRosParameter(); state._fsp--; @@ -2961,11 +3746,11 @@ public final EObject ruleComponentInterface() throws RecognitionException { break; default : - break loop34; + break loop45; } } while (true); - otherlv_49=(Token)match(input,30,FOLLOW_24); + otherlv_49=(Token)match(input,31,FOLLOW_27); newLeafNode(otherlv_49, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_12_4()); @@ -2975,7 +3760,7 @@ public final EObject ruleComponentInterface() throws RecognitionException { } - otherlv_50=(Token)match(input,30,FOLLOW_2); + otherlv_50=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_50, grammarAccess.getComponentInterfaceAccess().getRightCurlyBracketKeyword_13()); @@ -3002,7 +3787,7 @@ public final EObject ruleComponentInterface() throws RecognitionException { // $ANTLR start "entryRuleRosPublisher" - // InternalRosSystem.g:1326:1: entryRuleRosPublisher returns [EObject current=null] : iv_ruleRosPublisher= ruleRosPublisher EOF ; + // InternalRosSystem.g:1652:1: entryRuleRosPublisher returns [EObject current=null] : iv_ruleRosPublisher= ruleRosPublisher EOF ; public final EObject entryRuleRosPublisher() throws RecognitionException { EObject current = null; @@ -3010,8 +3795,8 @@ public final EObject entryRuleRosPublisher() throws RecognitionException { try { - // InternalRosSystem.g:1326:53: (iv_ruleRosPublisher= ruleRosPublisher EOF ) - // InternalRosSystem.g:1327:2: iv_ruleRosPublisher= ruleRosPublisher EOF + // InternalRosSystem.g:1652:53: (iv_ruleRosPublisher= ruleRosPublisher EOF ) + // InternalRosSystem.g:1653:2: iv_ruleRosPublisher= ruleRosPublisher EOF { newCompositeNode(grammarAccess.getRosPublisherRule()); pushFollow(FOLLOW_1); @@ -3038,7 +3823,7 @@ public final EObject entryRuleRosPublisher() throws RecognitionException { // $ANTLR start "ruleRosPublisher" - // InternalRosSystem.g:1333:1: ruleRosPublisher returns [EObject current=null] : ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) ; + // InternalRosSystem.g:1659:1: ruleRosPublisher returns [EObject current=null] : ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) ; public final EObject ruleRosPublisher() throws RecognitionException { EObject current = null; @@ -3056,14 +3841,14 @@ public final EObject ruleRosPublisher() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:1339:2: ( ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) ) - // InternalRosSystem.g:1340:2: ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1665:2: ( ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // InternalRosSystem.g:1666:2: ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) { - // InternalRosSystem.g:1340:2: ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) - // InternalRosSystem.g:1341:3: () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' + // InternalRosSystem.g:1666:2: ( () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1667:3: () otherlv_1= 'RosPublisher' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefPublisher' ( ( ruleEString ) ) otherlv_8= '}' { - // InternalRosSystem.g:1341:3: () - // InternalRosSystem.g:1342:4: + // InternalRosSystem.g:1667:3: () + // InternalRosSystem.g:1668:4: { current = forceCreateModelElement( @@ -3073,23 +3858,23 @@ public final EObject ruleRosPublisher() throws RecognitionException { } - otherlv_1=(Token)match(input,50,FOLLOW_44); + otherlv_1=(Token)match(input,56,FOLLOW_55); newLeafNode(otherlv_1, grammarAccess.getRosPublisherAccess().getRosPublisherKeyword_1()); - // InternalRosSystem.g:1352:3: ( (lv_name_2_0= ruleEString ) )? - int alt36=2; - int LA36_0 = input.LA(1); + // InternalRosSystem.g:1678:3: ( (lv_name_2_0= ruleEString ) )? + int alt47=2; + int LA47_0 = input.LA(1); - if ( ((LA36_0>=RULE_STRING && LA36_0<=RULE_ID)) ) { - alt36=1; + if ( ((LA47_0>=RULE_STRING && LA47_0<=RULE_ID)) ) { + alt47=1; } - switch (alt36) { + switch (alt47) { case 1 : - // InternalRosSystem.g:1353:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1679:4: (lv_name_2_0= ruleEString ) { - // InternalRosSystem.g:1353:4: (lv_name_2_0= ruleEString ) - // InternalRosSystem.g:1354:5: lv_name_2_0= ruleEString + // InternalRosSystem.g:1679:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1680:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getRosPublisherAccess().getNameEStringParserRuleCall_2_0()); @@ -3119,35 +3904,35 @@ public final EObject ruleRosPublisher() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_45); + otherlv_3=(Token)match(input,23,FOLLOW_56); newLeafNode(otherlv_3, grammarAccess.getRosPublisherAccess().getLeftCurlyBracketKeyword_3()); - // InternalRosSystem.g:1375:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalRosSystem.g:1701:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA37_0==51) ) { - alt37=1; + if ( (LA48_0==57) ) { + alt48=1; } - switch (alt37) { + switch (alt48) { case 1 : - // InternalRosSystem.g:1376:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:1702:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,51,FOLLOW_5); + otherlv_4=(Token)match(input,57,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getRosPublisherAccess().getNsKeyword_4_0()); - // InternalRosSystem.g:1380:4: ( (lv_ns_5_0= ruleEString ) ) - // InternalRosSystem.g:1381:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:1706:4: ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:1707:5: (lv_ns_5_0= ruleEString ) { - // InternalRosSystem.g:1381:5: (lv_ns_5_0= ruleEString ) - // InternalRosSystem.g:1382:6: lv_ns_5_0= ruleEString + // InternalRosSystem.g:1707:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:1708:6: lv_ns_5_0= ruleEString { newCompositeNode(grammarAccess.getRosPublisherAccess().getNsEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_46); + pushFollow(FOLLOW_57); lv_ns_5_0=ruleEString(); state._fsp--; @@ -3175,15 +3960,15 @@ public final EObject ruleRosPublisher() throws RecognitionException { } - otherlv_6=(Token)match(input,52,FOLLOW_5); + otherlv_6=(Token)match(input,58,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getRosPublisherAccess().getRefPublisherKeyword_5()); - // InternalRosSystem.g:1404:3: ( ( ruleEString ) ) - // InternalRosSystem.g:1405:4: ( ruleEString ) + // InternalRosSystem.g:1730:3: ( ( ruleEString ) ) + // InternalRosSystem.g:1731:4: ( ruleEString ) { - // InternalRosSystem.g:1405:4: ( ruleEString ) - // InternalRosSystem.g:1406:5: ruleEString + // InternalRosSystem.g:1731:4: ( ruleEString ) + // InternalRosSystem.g:1732:5: ruleEString { if (current==null) { @@ -3193,7 +3978,7 @@ public final EObject ruleRosPublisher() throws RecognitionException { newCompositeNode(grammarAccess.getRosPublisherAccess().getPublisherPublisherCrossReference_6_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -3207,7 +3992,7 @@ public final EObject ruleRosPublisher() throws RecognitionException { } - otherlv_8=(Token)match(input,30,FOLLOW_2); + otherlv_8=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getRosPublisherAccess().getRightCurlyBracketKeyword_7()); @@ -3234,7 +4019,7 @@ public final EObject ruleRosPublisher() throws RecognitionException { // $ANTLR start "entryRuleRosSubscriber" - // InternalRosSystem.g:1428:1: entryRuleRosSubscriber returns [EObject current=null] : iv_ruleRosSubscriber= ruleRosSubscriber EOF ; + // InternalRosSystem.g:1754:1: entryRuleRosSubscriber returns [EObject current=null] : iv_ruleRosSubscriber= ruleRosSubscriber EOF ; public final EObject entryRuleRosSubscriber() throws RecognitionException { EObject current = null; @@ -3242,8 +4027,8 @@ public final EObject entryRuleRosSubscriber() throws RecognitionException { try { - // InternalRosSystem.g:1428:54: (iv_ruleRosSubscriber= ruleRosSubscriber EOF ) - // InternalRosSystem.g:1429:2: iv_ruleRosSubscriber= ruleRosSubscriber EOF + // InternalRosSystem.g:1754:54: (iv_ruleRosSubscriber= ruleRosSubscriber EOF ) + // InternalRosSystem.g:1755:2: iv_ruleRosSubscriber= ruleRosSubscriber EOF { newCompositeNode(grammarAccess.getRosSubscriberRule()); pushFollow(FOLLOW_1); @@ -3270,7 +4055,7 @@ public final EObject entryRuleRosSubscriber() throws RecognitionException { // $ANTLR start "ruleRosSubscriber" - // InternalRosSystem.g:1435:1: ruleRosSubscriber returns [EObject current=null] : ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) ; + // InternalRosSystem.g:1761:1: ruleRosSubscriber returns [EObject current=null] : ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) ; public final EObject ruleRosSubscriber() throws RecognitionException { EObject current = null; @@ -3288,14 +4073,14 @@ public final EObject ruleRosSubscriber() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:1441:2: ( ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) ) - // InternalRosSystem.g:1442:2: ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1767:2: ( ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // InternalRosSystem.g:1768:2: ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) { - // InternalRosSystem.g:1442:2: ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) - // InternalRosSystem.g:1443:3: () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' + // InternalRosSystem.g:1768:2: ( () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1769:3: () otherlv_1= 'RosSubscriber' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefSubscriber' ( ( ruleEString ) ) otherlv_8= '}' { - // InternalRosSystem.g:1443:3: () - // InternalRosSystem.g:1444:4: + // InternalRosSystem.g:1769:3: () + // InternalRosSystem.g:1770:4: { current = forceCreateModelElement( @@ -3305,23 +4090,23 @@ public final EObject ruleRosSubscriber() throws RecognitionException { } - otherlv_1=(Token)match(input,53,FOLLOW_44); + otherlv_1=(Token)match(input,59,FOLLOW_55); newLeafNode(otherlv_1, grammarAccess.getRosSubscriberAccess().getRosSubscriberKeyword_1()); - // InternalRosSystem.g:1454:3: ( (lv_name_2_0= ruleEString ) )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalRosSystem.g:1780:3: ( (lv_name_2_0= ruleEString ) )? + int alt49=2; + int LA49_0 = input.LA(1); - if ( ((LA38_0>=RULE_STRING && LA38_0<=RULE_ID)) ) { - alt38=1; + if ( ((LA49_0>=RULE_STRING && LA49_0<=RULE_ID)) ) { + alt49=1; } - switch (alt38) { + switch (alt49) { case 1 : - // InternalRosSystem.g:1455:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1781:4: (lv_name_2_0= ruleEString ) { - // InternalRosSystem.g:1455:4: (lv_name_2_0= ruleEString ) - // InternalRosSystem.g:1456:5: lv_name_2_0= ruleEString + // InternalRosSystem.g:1781:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1782:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getRosSubscriberAccess().getNameEStringParserRuleCall_2_0()); @@ -3351,35 +4136,35 @@ public final EObject ruleRosSubscriber() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_47); + otherlv_3=(Token)match(input,23,FOLLOW_58); newLeafNode(otherlv_3, grammarAccess.getRosSubscriberAccess().getLeftCurlyBracketKeyword_3()); - // InternalRosSystem.g:1477:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? - int alt39=2; - int LA39_0 = input.LA(1); + // InternalRosSystem.g:1803:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? + int alt50=2; + int LA50_0 = input.LA(1); - if ( (LA39_0==51) ) { - alt39=1; + if ( (LA50_0==57) ) { + alt50=1; } - switch (alt39) { + switch (alt50) { case 1 : - // InternalRosSystem.g:1478:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:1804:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,51,FOLLOW_5); + otherlv_4=(Token)match(input,57,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getRosSubscriberAccess().getNsKeyword_4_0()); - // InternalRosSystem.g:1482:4: ( (lv_ns_5_0= ruleEString ) ) - // InternalRosSystem.g:1483:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:1808:4: ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:1809:5: (lv_ns_5_0= ruleEString ) { - // InternalRosSystem.g:1483:5: (lv_ns_5_0= ruleEString ) - // InternalRosSystem.g:1484:6: lv_ns_5_0= ruleEString + // InternalRosSystem.g:1809:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:1810:6: lv_ns_5_0= ruleEString { newCompositeNode(grammarAccess.getRosSubscriberAccess().getNsEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_59); lv_ns_5_0=ruleEString(); state._fsp--; @@ -3407,15 +4192,15 @@ public final EObject ruleRosSubscriber() throws RecognitionException { } - otherlv_6=(Token)match(input,54,FOLLOW_5); + otherlv_6=(Token)match(input,60,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getRosSubscriberAccess().getRefSubscriberKeyword_5()); - // InternalRosSystem.g:1506:3: ( ( ruleEString ) ) - // InternalRosSystem.g:1507:4: ( ruleEString ) + // InternalRosSystem.g:1832:3: ( ( ruleEString ) ) + // InternalRosSystem.g:1833:4: ( ruleEString ) { - // InternalRosSystem.g:1507:4: ( ruleEString ) - // InternalRosSystem.g:1508:5: ruleEString + // InternalRosSystem.g:1833:4: ( ruleEString ) + // InternalRosSystem.g:1834:5: ruleEString { if (current==null) { @@ -3425,7 +4210,7 @@ public final EObject ruleRosSubscriber() throws RecognitionException { newCompositeNode(grammarAccess.getRosSubscriberAccess().getSubscriberSubscriberCrossReference_6_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -3439,7 +4224,7 @@ public final EObject ruleRosSubscriber() throws RecognitionException { } - otherlv_8=(Token)match(input,30,FOLLOW_2); + otherlv_8=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getRosSubscriberAccess().getRightCurlyBracketKeyword_7()); @@ -3466,7 +4251,7 @@ public final EObject ruleRosSubscriber() throws RecognitionException { // $ANTLR start "entryRuleRosServiceServer" - // InternalRosSystem.g:1530:1: entryRuleRosServiceServer returns [EObject current=null] : iv_ruleRosServiceServer= ruleRosServiceServer EOF ; + // InternalRosSystem.g:1856:1: entryRuleRosServiceServer returns [EObject current=null] : iv_ruleRosServiceServer= ruleRosServiceServer EOF ; public final EObject entryRuleRosServiceServer() throws RecognitionException { EObject current = null; @@ -3474,8 +4259,8 @@ public final EObject entryRuleRosServiceServer() throws RecognitionException { try { - // InternalRosSystem.g:1530:57: (iv_ruleRosServiceServer= ruleRosServiceServer EOF ) - // InternalRosSystem.g:1531:2: iv_ruleRosServiceServer= ruleRosServiceServer EOF + // InternalRosSystem.g:1856:57: (iv_ruleRosServiceServer= ruleRosServiceServer EOF ) + // InternalRosSystem.g:1857:2: iv_ruleRosServiceServer= ruleRosServiceServer EOF { newCompositeNode(grammarAccess.getRosServiceServerRule()); pushFollow(FOLLOW_1); @@ -3502,7 +4287,7 @@ public final EObject entryRuleRosServiceServer() throws RecognitionException { // $ANTLR start "ruleRosServiceServer" - // InternalRosSystem.g:1537:1: ruleRosServiceServer returns [EObject current=null] : ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ; + // InternalRosSystem.g:1863:1: ruleRosServiceServer returns [EObject current=null] : ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ; public final EObject ruleRosServiceServer() throws RecognitionException { EObject current = null; @@ -3520,14 +4305,14 @@ public final EObject ruleRosServiceServer() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:1543:2: ( ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ) - // InternalRosSystem.g:1544:2: ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1869:2: ( ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // InternalRosSystem.g:1870:2: ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) { - // InternalRosSystem.g:1544:2: ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) - // InternalRosSystem.g:1545:3: () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' + // InternalRosSystem.g:1870:2: ( () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1871:3: () otherlv_1= 'RosServiceServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' { - // InternalRosSystem.g:1545:3: () - // InternalRosSystem.g:1546:4: + // InternalRosSystem.g:1871:3: () + // InternalRosSystem.g:1872:4: { current = forceCreateModelElement( @@ -3537,23 +4322,23 @@ public final EObject ruleRosServiceServer() throws RecognitionException { } - otherlv_1=(Token)match(input,55,FOLLOW_44); + otherlv_1=(Token)match(input,61,FOLLOW_55); newLeafNode(otherlv_1, grammarAccess.getRosServiceServerAccess().getRosServiceServerKeyword_1()); - // InternalRosSystem.g:1556:3: ( (lv_name_2_0= ruleEString ) )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalRosSystem.g:1882:3: ( (lv_name_2_0= ruleEString ) )? + int alt51=2; + int LA51_0 = input.LA(1); - if ( ((LA40_0>=RULE_STRING && LA40_0<=RULE_ID)) ) { - alt40=1; + if ( ((LA51_0>=RULE_STRING && LA51_0<=RULE_ID)) ) { + alt51=1; } - switch (alt40) { + switch (alt51) { case 1 : - // InternalRosSystem.g:1557:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1883:4: (lv_name_2_0= ruleEString ) { - // InternalRosSystem.g:1557:4: (lv_name_2_0= ruleEString ) - // InternalRosSystem.g:1558:5: lv_name_2_0= ruleEString + // InternalRosSystem.g:1883:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1884:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getRosServiceServerAccess().getNameEStringParserRuleCall_2_0()); @@ -3583,35 +4368,35 @@ public final EObject ruleRosServiceServer() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_49); + otherlv_3=(Token)match(input,23,FOLLOW_60); newLeafNode(otherlv_3, grammarAccess.getRosServiceServerAccess().getLeftCurlyBracketKeyword_3()); - // InternalRosSystem.g:1579:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? - int alt41=2; - int LA41_0 = input.LA(1); + // InternalRosSystem.g:1905:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA41_0==51) ) { - alt41=1; + if ( (LA52_0==57) ) { + alt52=1; } - switch (alt41) { + switch (alt52) { case 1 : - // InternalRosSystem.g:1580:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:1906:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,51,FOLLOW_5); + otherlv_4=(Token)match(input,57,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getRosServiceServerAccess().getNsKeyword_4_0()); - // InternalRosSystem.g:1584:4: ( (lv_ns_5_0= ruleEString ) ) - // InternalRosSystem.g:1585:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:1910:4: ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:1911:5: (lv_ns_5_0= ruleEString ) { - // InternalRosSystem.g:1585:5: (lv_ns_5_0= ruleEString ) - // InternalRosSystem.g:1586:6: lv_ns_5_0= ruleEString + // InternalRosSystem.g:1911:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:1912:6: lv_ns_5_0= ruleEString { newCompositeNode(grammarAccess.getRosServiceServerAccess().getNsEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_50); + pushFollow(FOLLOW_61); lv_ns_5_0=ruleEString(); state._fsp--; @@ -3639,15 +4424,15 @@ public final EObject ruleRosServiceServer() throws RecognitionException { } - otherlv_6=(Token)match(input,56,FOLLOW_5); + otherlv_6=(Token)match(input,62,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getRosServiceServerAccess().getRefServerKeyword_5()); - // InternalRosSystem.g:1608:3: ( ( ruleEString ) ) - // InternalRosSystem.g:1609:4: ( ruleEString ) + // InternalRosSystem.g:1934:3: ( ( ruleEString ) ) + // InternalRosSystem.g:1935:4: ( ruleEString ) { - // InternalRosSystem.g:1609:4: ( ruleEString ) - // InternalRosSystem.g:1610:5: ruleEString + // InternalRosSystem.g:1935:4: ( ruleEString ) + // InternalRosSystem.g:1936:5: ruleEString { if (current==null) { @@ -3657,7 +4442,7 @@ public final EObject ruleRosServiceServer() throws RecognitionException { newCompositeNode(grammarAccess.getRosServiceServerAccess().getSrvserverServiceServerCrossReference_6_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -3671,7 +4456,7 @@ public final EObject ruleRosServiceServer() throws RecognitionException { } - otherlv_8=(Token)match(input,30,FOLLOW_2); + otherlv_8=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getRosServiceServerAccess().getRightCurlyBracketKeyword_7()); @@ -3698,7 +4483,7 @@ public final EObject ruleRosServiceServer() throws RecognitionException { // $ANTLR start "entryRuleRosServiceClient" - // InternalRosSystem.g:1632:1: entryRuleRosServiceClient returns [EObject current=null] : iv_ruleRosServiceClient= ruleRosServiceClient EOF ; + // InternalRosSystem.g:1958:1: entryRuleRosServiceClient returns [EObject current=null] : iv_ruleRosServiceClient= ruleRosServiceClient EOF ; public final EObject entryRuleRosServiceClient() throws RecognitionException { EObject current = null; @@ -3706,8 +4491,8 @@ public final EObject entryRuleRosServiceClient() throws RecognitionException { try { - // InternalRosSystem.g:1632:57: (iv_ruleRosServiceClient= ruleRosServiceClient EOF ) - // InternalRosSystem.g:1633:2: iv_ruleRosServiceClient= ruleRosServiceClient EOF + // InternalRosSystem.g:1958:57: (iv_ruleRosServiceClient= ruleRosServiceClient EOF ) + // InternalRosSystem.g:1959:2: iv_ruleRosServiceClient= ruleRosServiceClient EOF { newCompositeNode(grammarAccess.getRosServiceClientRule()); pushFollow(FOLLOW_1); @@ -3734,7 +4519,7 @@ public final EObject entryRuleRosServiceClient() throws RecognitionException { // $ANTLR start "ruleRosServiceClient" - // InternalRosSystem.g:1639:1: ruleRosServiceClient returns [EObject current=null] : ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ; + // InternalRosSystem.g:1965:1: ruleRosServiceClient returns [EObject current=null] : ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ; public final EObject ruleRosServiceClient() throws RecognitionException { EObject current = null; @@ -3752,14 +4537,14 @@ public final EObject ruleRosServiceClient() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:1645:2: ( ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ) - // InternalRosSystem.g:1646:2: ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1971:2: ( ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // InternalRosSystem.g:1972:2: ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) { - // InternalRosSystem.g:1646:2: ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) - // InternalRosSystem.g:1647:3: () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' + // InternalRosSystem.g:1972:2: ( () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:1973:3: () otherlv_1= 'RosServiceClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' { - // InternalRosSystem.g:1647:3: () - // InternalRosSystem.g:1648:4: + // InternalRosSystem.g:1973:3: () + // InternalRosSystem.g:1974:4: { current = forceCreateModelElement( @@ -3769,23 +4554,23 @@ public final EObject ruleRosServiceClient() throws RecognitionException { } - otherlv_1=(Token)match(input,57,FOLLOW_44); + otherlv_1=(Token)match(input,63,FOLLOW_55); newLeafNode(otherlv_1, grammarAccess.getRosServiceClientAccess().getRosServiceClientKeyword_1()); - // InternalRosSystem.g:1658:3: ( (lv_name_2_0= ruleEString ) )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalRosSystem.g:1984:3: ( (lv_name_2_0= ruleEString ) )? + int alt53=2; + int LA53_0 = input.LA(1); - if ( ((LA42_0>=RULE_STRING && LA42_0<=RULE_ID)) ) { - alt42=1; + if ( ((LA53_0>=RULE_STRING && LA53_0<=RULE_ID)) ) { + alt53=1; } - switch (alt42) { + switch (alt53) { case 1 : - // InternalRosSystem.g:1659:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1985:4: (lv_name_2_0= ruleEString ) { - // InternalRosSystem.g:1659:4: (lv_name_2_0= ruleEString ) - // InternalRosSystem.g:1660:5: lv_name_2_0= ruleEString + // InternalRosSystem.g:1985:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:1986:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getRosServiceClientAccess().getNameEStringParserRuleCall_2_0()); @@ -3815,35 +4600,35 @@ public final EObject ruleRosServiceClient() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_51); + otherlv_3=(Token)match(input,23,FOLLOW_62); newLeafNode(otherlv_3, grammarAccess.getRosServiceClientAccess().getLeftCurlyBracketKeyword_3()); - // InternalRosSystem.g:1681:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? - int alt43=2; - int LA43_0 = input.LA(1); + // InternalRosSystem.g:2007:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA43_0==51) ) { - alt43=1; + if ( (LA54_0==57) ) { + alt54=1; } - switch (alt43) { + switch (alt54) { case 1 : - // InternalRosSystem.g:1682:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2008:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,51,FOLLOW_5); + otherlv_4=(Token)match(input,57,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getRosServiceClientAccess().getNsKeyword_4_0()); - // InternalRosSystem.g:1686:4: ( (lv_ns_5_0= ruleEString ) ) - // InternalRosSystem.g:1687:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2012:4: ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2013:5: (lv_ns_5_0= ruleEString ) { - // InternalRosSystem.g:1687:5: (lv_ns_5_0= ruleEString ) - // InternalRosSystem.g:1688:6: lv_ns_5_0= ruleEString + // InternalRosSystem.g:2013:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2014:6: lv_ns_5_0= ruleEString { newCompositeNode(grammarAccess.getRosServiceClientAccess().getNsEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_63); lv_ns_5_0=ruleEString(); state._fsp--; @@ -3871,15 +4656,15 @@ public final EObject ruleRosServiceClient() throws RecognitionException { } - otherlv_6=(Token)match(input,58,FOLLOW_5); + otherlv_6=(Token)match(input,64,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getRosServiceClientAccess().getRefClientKeyword_5()); - // InternalRosSystem.g:1710:3: ( ( ruleEString ) ) - // InternalRosSystem.g:1711:4: ( ruleEString ) + // InternalRosSystem.g:2036:3: ( ( ruleEString ) ) + // InternalRosSystem.g:2037:4: ( ruleEString ) { - // InternalRosSystem.g:1711:4: ( ruleEString ) - // InternalRosSystem.g:1712:5: ruleEString + // InternalRosSystem.g:2037:4: ( ruleEString ) + // InternalRosSystem.g:2038:5: ruleEString { if (current==null) { @@ -3889,7 +4674,7 @@ public final EObject ruleRosServiceClient() throws RecognitionException { newCompositeNode(grammarAccess.getRosServiceClientAccess().getSrvclientServiceClientCrossReference_6_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -3903,7 +4688,7 @@ public final EObject ruleRosServiceClient() throws RecognitionException { } - otherlv_8=(Token)match(input,30,FOLLOW_2); + otherlv_8=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getRosServiceClientAccess().getRightCurlyBracketKeyword_7()); @@ -3930,7 +4715,7 @@ public final EObject ruleRosServiceClient() throws RecognitionException { // $ANTLR start "entryRuleRosActionServer" - // InternalRosSystem.g:1734:1: entryRuleRosActionServer returns [EObject current=null] : iv_ruleRosActionServer= ruleRosActionServer EOF ; + // InternalRosSystem.g:2060:1: entryRuleRosActionServer returns [EObject current=null] : iv_ruleRosActionServer= ruleRosActionServer EOF ; public final EObject entryRuleRosActionServer() throws RecognitionException { EObject current = null; @@ -3938,8 +4723,8 @@ public final EObject entryRuleRosActionServer() throws RecognitionException { try { - // InternalRosSystem.g:1734:56: (iv_ruleRosActionServer= ruleRosActionServer EOF ) - // InternalRosSystem.g:1735:2: iv_ruleRosActionServer= ruleRosActionServer EOF + // InternalRosSystem.g:2060:56: (iv_ruleRosActionServer= ruleRosActionServer EOF ) + // InternalRosSystem.g:2061:2: iv_ruleRosActionServer= ruleRosActionServer EOF { newCompositeNode(grammarAccess.getRosActionServerRule()); pushFollow(FOLLOW_1); @@ -3966,7 +4751,7 @@ public final EObject entryRuleRosActionServer() throws RecognitionException { // $ANTLR start "ruleRosActionServer" - // InternalRosSystem.g:1741:1: ruleRosActionServer returns [EObject current=null] : ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ; + // InternalRosSystem.g:2067:1: ruleRosActionServer returns [EObject current=null] : ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ; public final EObject ruleRosActionServer() throws RecognitionException { EObject current = null; @@ -3984,14 +4769,14 @@ public final EObject ruleRosActionServer() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:1747:2: ( ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ) - // InternalRosSystem.g:1748:2: ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:2073:2: ( ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // InternalRosSystem.g:2074:2: ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) { - // InternalRosSystem.g:1748:2: ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) - // InternalRosSystem.g:1749:3: () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' + // InternalRosSystem.g:2074:2: ( () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:2075:3: () otherlv_1= 'RosActionServer' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefServer' ( ( ruleEString ) ) otherlv_8= '}' { - // InternalRosSystem.g:1749:3: () - // InternalRosSystem.g:1750:4: + // InternalRosSystem.g:2075:3: () + // InternalRosSystem.g:2076:4: { current = forceCreateModelElement( @@ -4001,23 +4786,23 @@ public final EObject ruleRosActionServer() throws RecognitionException { } - otherlv_1=(Token)match(input,59,FOLLOW_44); + otherlv_1=(Token)match(input,65,FOLLOW_55); newLeafNode(otherlv_1, grammarAccess.getRosActionServerAccess().getRosActionServerKeyword_1()); - // InternalRosSystem.g:1760:3: ( (lv_name_2_0= ruleEString ) )? - int alt44=2; - int LA44_0 = input.LA(1); + // InternalRosSystem.g:2086:3: ( (lv_name_2_0= ruleEString ) )? + int alt55=2; + int LA55_0 = input.LA(1); - if ( ((LA44_0>=RULE_STRING && LA44_0<=RULE_ID)) ) { - alt44=1; + if ( ((LA55_0>=RULE_STRING && LA55_0<=RULE_ID)) ) { + alt55=1; } - switch (alt44) { + switch (alt55) { case 1 : - // InternalRosSystem.g:1761:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:2087:4: (lv_name_2_0= ruleEString ) { - // InternalRosSystem.g:1761:4: (lv_name_2_0= ruleEString ) - // InternalRosSystem.g:1762:5: lv_name_2_0= ruleEString + // InternalRosSystem.g:2087:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:2088:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getRosActionServerAccess().getNameEStringParserRuleCall_2_0()); @@ -4047,35 +4832,35 @@ public final EObject ruleRosActionServer() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_49); + otherlv_3=(Token)match(input,23,FOLLOW_60); newLeafNode(otherlv_3, grammarAccess.getRosActionServerAccess().getLeftCurlyBracketKeyword_3()); - // InternalRosSystem.g:1783:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? - int alt45=2; - int LA45_0 = input.LA(1); + // InternalRosSystem.g:2109:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? + int alt56=2; + int LA56_0 = input.LA(1); - if ( (LA45_0==51) ) { - alt45=1; + if ( (LA56_0==57) ) { + alt56=1; } - switch (alt45) { + switch (alt56) { case 1 : - // InternalRosSystem.g:1784:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2110:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,51,FOLLOW_5); + otherlv_4=(Token)match(input,57,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getRosActionServerAccess().getNsKeyword_4_0()); - // InternalRosSystem.g:1788:4: ( (lv_ns_5_0= ruleEString ) ) - // InternalRosSystem.g:1789:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2114:4: ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2115:5: (lv_ns_5_0= ruleEString ) { - // InternalRosSystem.g:1789:5: (lv_ns_5_0= ruleEString ) - // InternalRosSystem.g:1790:6: lv_ns_5_0= ruleEString + // InternalRosSystem.g:2115:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2116:6: lv_ns_5_0= ruleEString { newCompositeNode(grammarAccess.getRosActionServerAccess().getNsEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_50); + pushFollow(FOLLOW_61); lv_ns_5_0=ruleEString(); state._fsp--; @@ -4103,15 +4888,15 @@ public final EObject ruleRosActionServer() throws RecognitionException { } - otherlv_6=(Token)match(input,56,FOLLOW_5); + otherlv_6=(Token)match(input,62,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getRosActionServerAccess().getRefServerKeyword_5()); - // InternalRosSystem.g:1812:3: ( ( ruleEString ) ) - // InternalRosSystem.g:1813:4: ( ruleEString ) + // InternalRosSystem.g:2138:3: ( ( ruleEString ) ) + // InternalRosSystem.g:2139:4: ( ruleEString ) { - // InternalRosSystem.g:1813:4: ( ruleEString ) - // InternalRosSystem.g:1814:5: ruleEString + // InternalRosSystem.g:2139:4: ( ruleEString ) + // InternalRosSystem.g:2140:5: ruleEString { if (current==null) { @@ -4121,7 +4906,7 @@ public final EObject ruleRosActionServer() throws RecognitionException { newCompositeNode(grammarAccess.getRosActionServerAccess().getActserverActionServerCrossReference_6_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -4135,7 +4920,7 @@ public final EObject ruleRosActionServer() throws RecognitionException { } - otherlv_8=(Token)match(input,30,FOLLOW_2); + otherlv_8=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getRosActionServerAccess().getRightCurlyBracketKeyword_7()); @@ -4162,7 +4947,7 @@ public final EObject ruleRosActionServer() throws RecognitionException { // $ANTLR start "entryRuleRosActionClient" - // InternalRosSystem.g:1836:1: entryRuleRosActionClient returns [EObject current=null] : iv_ruleRosActionClient= ruleRosActionClient EOF ; + // InternalRosSystem.g:2162:1: entryRuleRosActionClient returns [EObject current=null] : iv_ruleRosActionClient= ruleRosActionClient EOF ; public final EObject entryRuleRosActionClient() throws RecognitionException { EObject current = null; @@ -4170,8 +4955,8 @@ public final EObject entryRuleRosActionClient() throws RecognitionException { try { - // InternalRosSystem.g:1836:56: (iv_ruleRosActionClient= ruleRosActionClient EOF ) - // InternalRosSystem.g:1837:2: iv_ruleRosActionClient= ruleRosActionClient EOF + // InternalRosSystem.g:2162:56: (iv_ruleRosActionClient= ruleRosActionClient EOF ) + // InternalRosSystem.g:2163:2: iv_ruleRosActionClient= ruleRosActionClient EOF { newCompositeNode(grammarAccess.getRosActionClientRule()); pushFollow(FOLLOW_1); @@ -4198,7 +4983,7 @@ public final EObject entryRuleRosActionClient() throws RecognitionException { // $ANTLR start "ruleRosActionClient" - // InternalRosSystem.g:1843:1: ruleRosActionClient returns [EObject current=null] : ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ; + // InternalRosSystem.g:2169:1: ruleRosActionClient returns [EObject current=null] : ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ; public final EObject ruleRosActionClient() throws RecognitionException { EObject current = null; @@ -4216,14 +5001,14 @@ public final EObject ruleRosActionClient() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:1849:2: ( ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ) - // InternalRosSystem.g:1850:2: ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:2175:2: ( ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // InternalRosSystem.g:2176:2: ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) { - // InternalRosSystem.g:1850:2: ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) - // InternalRosSystem.g:1851:3: () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' + // InternalRosSystem.g:2176:2: ( () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' ) + // InternalRosSystem.g:2177:3: () otherlv_1= 'RosActionClient' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefClient' ( ( ruleEString ) ) otherlv_8= '}' { - // InternalRosSystem.g:1851:3: () - // InternalRosSystem.g:1852:4: + // InternalRosSystem.g:2177:3: () + // InternalRosSystem.g:2178:4: { current = forceCreateModelElement( @@ -4233,23 +5018,23 @@ public final EObject ruleRosActionClient() throws RecognitionException { } - otherlv_1=(Token)match(input,60,FOLLOW_44); + otherlv_1=(Token)match(input,66,FOLLOW_55); newLeafNode(otherlv_1, grammarAccess.getRosActionClientAccess().getRosActionClientKeyword_1()); - // InternalRosSystem.g:1862:3: ( (lv_name_2_0= ruleEString ) )? - int alt46=2; - int LA46_0 = input.LA(1); + // InternalRosSystem.g:2188:3: ( (lv_name_2_0= ruleEString ) )? + int alt57=2; + int LA57_0 = input.LA(1); - if ( ((LA46_0>=RULE_STRING && LA46_0<=RULE_ID)) ) { - alt46=1; + if ( ((LA57_0>=RULE_STRING && LA57_0<=RULE_ID)) ) { + alt57=1; } - switch (alt46) { + switch (alt57) { case 1 : - // InternalRosSystem.g:1863:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:2189:4: (lv_name_2_0= ruleEString ) { - // InternalRosSystem.g:1863:4: (lv_name_2_0= ruleEString ) - // InternalRosSystem.g:1864:5: lv_name_2_0= ruleEString + // InternalRosSystem.g:2189:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:2190:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getRosActionClientAccess().getNameEStringParserRuleCall_2_0()); @@ -4279,35 +5064,35 @@ public final EObject ruleRosActionClient() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_51); + otherlv_3=(Token)match(input,23,FOLLOW_62); newLeafNode(otherlv_3, grammarAccess.getRosActionClientAccess().getLeftCurlyBracketKeyword_3()); - // InternalRosSystem.g:1885:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? - int alt47=2; - int LA47_0 = input.LA(1); + // InternalRosSystem.g:2211:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? + int alt58=2; + int LA58_0 = input.LA(1); - if ( (LA47_0==51) ) { - alt47=1; + if ( (LA58_0==57) ) { + alt58=1; } - switch (alt47) { + switch (alt58) { case 1 : - // InternalRosSystem.g:1886:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2212:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,51,FOLLOW_5); + otherlv_4=(Token)match(input,57,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getRosActionClientAccess().getNsKeyword_4_0()); - // InternalRosSystem.g:1890:4: ( (lv_ns_5_0= ruleEString ) ) - // InternalRosSystem.g:1891:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2216:4: ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2217:5: (lv_ns_5_0= ruleEString ) { - // InternalRosSystem.g:1891:5: (lv_ns_5_0= ruleEString ) - // InternalRosSystem.g:1892:6: lv_ns_5_0= ruleEString + // InternalRosSystem.g:2217:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2218:6: lv_ns_5_0= ruleEString { newCompositeNode(grammarAccess.getRosActionClientAccess().getNsEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_63); lv_ns_5_0=ruleEString(); state._fsp--; @@ -4335,15 +5120,15 @@ public final EObject ruleRosActionClient() throws RecognitionException { } - otherlv_6=(Token)match(input,58,FOLLOW_5); + otherlv_6=(Token)match(input,64,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getRosActionClientAccess().getRefClientKeyword_5()); - // InternalRosSystem.g:1914:3: ( ( ruleEString ) ) - // InternalRosSystem.g:1915:4: ( ruleEString ) + // InternalRosSystem.g:2240:3: ( ( ruleEString ) ) + // InternalRosSystem.g:2241:4: ( ruleEString ) { - // InternalRosSystem.g:1915:4: ( ruleEString ) - // InternalRosSystem.g:1916:5: ruleEString + // InternalRosSystem.g:2241:4: ( ruleEString ) + // InternalRosSystem.g:2242:5: ruleEString { if (current==null) { @@ -4353,7 +5138,7 @@ public final EObject ruleRosActionClient() throws RecognitionException { newCompositeNode(grammarAccess.getRosActionClientAccess().getActclientActionClientCrossReference_6_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); ruleEString(); state._fsp--; @@ -4367,7 +5152,7 @@ public final EObject ruleRosActionClient() throws RecognitionException { } - otherlv_8=(Token)match(input,30,FOLLOW_2); + otherlv_8=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getRosActionClientAccess().getRightCurlyBracketKeyword_7()); @@ -4394,7 +5179,7 @@ public final EObject ruleRosActionClient() throws RecognitionException { // $ANTLR start "entryRuleRosParameter" - // InternalRosSystem.g:1938:1: entryRuleRosParameter returns [EObject current=null] : iv_ruleRosParameter= ruleRosParameter EOF ; + // InternalRosSystem.g:2264:1: entryRuleRosParameter returns [EObject current=null] : iv_ruleRosParameter= ruleRosParameter EOF ; public final EObject entryRuleRosParameter() throws RecognitionException { EObject current = null; @@ -4402,8 +5187,8 @@ public final EObject entryRuleRosParameter() throws RecognitionException { try { - // InternalRosSystem.g:1938:53: (iv_ruleRosParameter= ruleRosParameter EOF ) - // InternalRosSystem.g:1939:2: iv_ruleRosParameter= ruleRosParameter EOF + // InternalRosSystem.g:2264:53: (iv_ruleRosParameter= ruleRosParameter EOF ) + // InternalRosSystem.g:2265:2: iv_ruleRosParameter= ruleRosParameter EOF { newCompositeNode(grammarAccess.getRosParameterRule()); pushFollow(FOLLOW_1); @@ -4430,7 +5215,7 @@ public final EObject entryRuleRosParameter() throws RecognitionException { // $ANTLR start "ruleRosParameter" - // InternalRosSystem.g:1945:1: ruleRosParameter returns [EObject current=null] : ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ; + // InternalRosSystem.g:2271:1: ruleRosParameter returns [EObject current=null] : ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ; public final EObject ruleRosParameter() throws RecognitionException { EObject current = null; @@ -4451,14 +5236,14 @@ public final EObject ruleRosParameter() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:1951:2: ( ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ) - // InternalRosSystem.g:1952:2: ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) + // InternalRosSystem.g:2277:2: ( ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ) + // InternalRosSystem.g:2278:2: ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) { - // InternalRosSystem.g:1952:2: ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) - // InternalRosSystem.g:1953:3: () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' + // InternalRosSystem.g:2278:2: ( () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) + // InternalRosSystem.g:2279:3: () otherlv_1= 'RosParameter' ( (lv_name_2_0= ruleEString ) )? otherlv_3= '{' (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? otherlv_6= 'RefParameter' ( ( ruleEString ) ) (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' { - // InternalRosSystem.g:1953:3: () - // InternalRosSystem.g:1954:4: + // InternalRosSystem.g:2279:3: () + // InternalRosSystem.g:2280:4: { current = forceCreateModelElement( @@ -4468,23 +5253,23 @@ public final EObject ruleRosParameter() throws RecognitionException { } - otherlv_1=(Token)match(input,61,FOLLOW_44); + otherlv_1=(Token)match(input,67,FOLLOW_55); newLeafNode(otherlv_1, grammarAccess.getRosParameterAccess().getRosParameterKeyword_1()); - // InternalRosSystem.g:1964:3: ( (lv_name_2_0= ruleEString ) )? - int alt48=2; - int LA48_0 = input.LA(1); + // InternalRosSystem.g:2290:3: ( (lv_name_2_0= ruleEString ) )? + int alt59=2; + int LA59_0 = input.LA(1); - if ( ((LA48_0>=RULE_STRING && LA48_0<=RULE_ID)) ) { - alt48=1; + if ( ((LA59_0>=RULE_STRING && LA59_0<=RULE_ID)) ) { + alt59=1; } - switch (alt48) { + switch (alt59) { case 1 : - // InternalRosSystem.g:1965:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:2291:4: (lv_name_2_0= ruleEString ) { - // InternalRosSystem.g:1965:4: (lv_name_2_0= ruleEString ) - // InternalRosSystem.g:1966:5: lv_name_2_0= ruleEString + // InternalRosSystem.g:2291:4: (lv_name_2_0= ruleEString ) + // InternalRosSystem.g:2292:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getRosParameterAccess().getNameEStringParserRuleCall_2_0()); @@ -4514,35 +5299,35 @@ public final EObject ruleRosParameter() throws RecognitionException { } - otherlv_3=(Token)match(input,23,FOLLOW_53); + otherlv_3=(Token)match(input,23,FOLLOW_64); newLeafNode(otherlv_3, grammarAccess.getRosParameterAccess().getLeftCurlyBracketKeyword_3()); - // InternalRosSystem.g:1987:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? - int alt49=2; - int LA49_0 = input.LA(1); + // InternalRosSystem.g:2313:3: (otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) )? + int alt60=2; + int LA60_0 = input.LA(1); - if ( (LA49_0==51) ) { - alt49=1; + if ( (LA60_0==57) ) { + alt60=1; } - switch (alt49) { + switch (alt60) { case 1 : - // InternalRosSystem.g:1988:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2314:4: otherlv_4= 'ns' ( (lv_ns_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,51,FOLLOW_5); + otherlv_4=(Token)match(input,57,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getRosParameterAccess().getNsKeyword_4_0()); - // InternalRosSystem.g:1992:4: ( (lv_ns_5_0= ruleEString ) ) - // InternalRosSystem.g:1993:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2318:4: ( (lv_ns_5_0= ruleEString ) ) + // InternalRosSystem.g:2319:5: (lv_ns_5_0= ruleEString ) { - // InternalRosSystem.g:1993:5: (lv_ns_5_0= ruleEString ) - // InternalRosSystem.g:1994:6: lv_ns_5_0= ruleEString + // InternalRosSystem.g:2319:5: (lv_ns_5_0= ruleEString ) + // InternalRosSystem.g:2320:6: lv_ns_5_0= ruleEString { newCompositeNode(grammarAccess.getRosParameterAccess().getNsEStringParserRuleCall_4_1_0()); - pushFollow(FOLLOW_54); + pushFollow(FOLLOW_65); lv_ns_5_0=ruleEString(); state._fsp--; @@ -4570,15 +5355,15 @@ public final EObject ruleRosParameter() throws RecognitionException { } - otherlv_6=(Token)match(input,62,FOLLOW_5); + otherlv_6=(Token)match(input,68,FOLLOW_5); newLeafNode(otherlv_6, grammarAccess.getRosParameterAccess().getRefParameterKeyword_5()); - // InternalRosSystem.g:2016:3: ( ( ruleEString ) ) - // InternalRosSystem.g:2017:4: ( ruleEString ) + // InternalRosSystem.g:2342:3: ( ( ruleEString ) ) + // InternalRosSystem.g:2343:4: ( ruleEString ) { - // InternalRosSystem.g:2017:4: ( ruleEString ) - // InternalRosSystem.g:2018:5: ruleEString + // InternalRosSystem.g:2343:4: ( ruleEString ) + // InternalRosSystem.g:2344:5: ruleEString { if (current==null) { @@ -4588,7 +5373,7 @@ public final EObject ruleRosParameter() throws RecognitionException { newCompositeNode(grammarAccess.getRosParameterAccess().getParameterParameterCrossReference_6_0()); - pushFollow(FOLLOW_55); + pushFollow(FOLLOW_66); ruleEString(); state._fsp--; @@ -4602,31 +5387,31 @@ public final EObject ruleRosParameter() throws RecognitionException { } - // InternalRosSystem.g:2032:3: (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? - int alt50=2; - int LA50_0 = input.LA(1); + // InternalRosSystem.g:2358:3: (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? + int alt61=2; + int LA61_0 = input.LA(1); - if ( (LA50_0==63) ) { - alt50=1; + if ( (LA61_0==45) ) { + alt61=1; } - switch (alt50) { + switch (alt61) { case 1 : - // InternalRosSystem.g:2033:4: otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) + // InternalRosSystem.g:2359:4: otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) { - otherlv_8=(Token)match(input,63,FOLLOW_56); + otherlv_8=(Token)match(input,45,FOLLOW_38); newLeafNode(otherlv_8, grammarAccess.getRosParameterAccess().getValueKeyword_7_0()); - // InternalRosSystem.g:2037:4: ( (lv_value_9_0= ruleParameterValue ) ) - // InternalRosSystem.g:2038:5: (lv_value_9_0= ruleParameterValue ) + // InternalRosSystem.g:2363:4: ( (lv_value_9_0= ruleParameterValue ) ) + // InternalRosSystem.g:2364:5: (lv_value_9_0= ruleParameterValue ) { - // InternalRosSystem.g:2038:5: (lv_value_9_0= ruleParameterValue ) - // InternalRosSystem.g:2039:6: lv_value_9_0= ruleParameterValue + // InternalRosSystem.g:2364:5: (lv_value_9_0= ruleParameterValue ) + // InternalRosSystem.g:2365:6: lv_value_9_0= ruleParameterValue { newCompositeNode(grammarAccess.getRosParameterAccess().getValueParameterValueParserRuleCall_7_1_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); lv_value_9_0=ruleParameterValue(); state._fsp--; @@ -4654,7 +5439,7 @@ public final EObject ruleRosParameter() throws RecognitionException { } - otherlv_10=(Token)match(input,30,FOLLOW_2); + otherlv_10=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_10, grammarAccess.getRosParameterAccess().getRightCurlyBracketKeyword_8()); @@ -4681,7 +5466,7 @@ public final EObject ruleRosParameter() throws RecognitionException { // $ANTLR start "entryRuleParameter" - // InternalRosSystem.g:2065:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; + // InternalRosSystem.g:2391:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; public final EObject entryRuleParameter() throws RecognitionException { EObject current = null; @@ -4689,8 +5474,8 @@ public final EObject entryRuleParameter() throws RecognitionException { try { - // InternalRosSystem.g:2065:50: (iv_ruleParameter= ruleParameter EOF ) - // InternalRosSystem.g:2066:2: iv_ruleParameter= ruleParameter EOF + // InternalRosSystem.g:2391:50: (iv_ruleParameter= ruleParameter EOF ) + // InternalRosSystem.g:2392:2: iv_ruleParameter= ruleParameter EOF { newCompositeNode(grammarAccess.getParameterRule()); pushFollow(FOLLOW_1); @@ -4717,7 +5502,7 @@ public final EObject entryRuleParameter() throws RecognitionException { // $ANTLR start "ruleParameter" - // InternalRosSystem.g:2072:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ; + // InternalRosSystem.g:2398:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ; public final EObject ruleParameter() throws RecognitionException { EObject current = null; @@ -4741,34 +5526,34 @@ public final EObject ruleParameter() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2078:2: ( (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ) - // InternalRosSystem.g:2079:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) + // InternalRosSystem.g:2404:2: ( (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) ) + // InternalRosSystem.g:2405:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) { - // InternalRosSystem.g:2079:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) - // InternalRosSystem.g:2080:3: otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' + // InternalRosSystem.g:2405:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' ) + // InternalRosSystem.g:2406:3: otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? otherlv_10= '}' { - otherlv_0=(Token)match(input,64,FOLLOW_3); + otherlv_0=(Token)match(input,69,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0()); - otherlv_1=(Token)match(input,23,FOLLOW_27); + otherlv_1=(Token)match(input,23,FOLLOW_30); newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,40,FOLLOW_5); + otherlv_2=(Token)match(input,41,FOLLOW_5); newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getNameKeyword_2()); - // InternalRosSystem.g:2092:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRosSystem.g:2093:4: (lv_name_3_0= ruleEString ) + // InternalRosSystem.g:2418:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRosSystem.g:2419:4: (lv_name_3_0= ruleEString ) { - // InternalRosSystem.g:2093:4: (lv_name_3_0= ruleEString ) - // InternalRosSystem.g:2094:5: lv_name_3_0= ruleEString + // InternalRosSystem.g:2419:4: (lv_name_3_0= ruleEString ) + // InternalRosSystem.g:2420:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_3_0()); - pushFollow(FOLLOW_57); + pushFollow(FOLLOW_67); lv_name_3_0=ruleEString(); state._fsp--; @@ -4790,31 +5575,31 @@ public final EObject ruleParameter() throws RecognitionException { } - // InternalRosSystem.g:2111:3: (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? - int alt51=2; - int LA51_0 = input.LA(1); + // InternalRosSystem.g:2437:3: (otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) )? + int alt62=2; + int LA62_0 = input.LA(1); - if ( (LA51_0==41) ) { - alt51=1; + if ( (LA62_0==47) ) { + alt62=1; } - switch (alt51) { + switch (alt62) { case 1 : - // InternalRosSystem.g:2112:4: otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) + // InternalRosSystem.g:2438:4: otherlv_4= 'NameSpace' ( (lv_namespace_5_0= ruleNamespace ) ) { - otherlv_4=(Token)match(input,41,FOLLOW_58); + otherlv_4=(Token)match(input,47,FOLLOW_68); newLeafNode(otherlv_4, grammarAccess.getParameterAccess().getNameSpaceKeyword_4_0()); - // InternalRosSystem.g:2116:4: ( (lv_namespace_5_0= ruleNamespace ) ) - // InternalRosSystem.g:2117:5: (lv_namespace_5_0= ruleNamespace ) + // InternalRosSystem.g:2442:4: ( (lv_namespace_5_0= ruleNamespace ) ) + // InternalRosSystem.g:2443:5: (lv_namespace_5_0= ruleNamespace ) { - // InternalRosSystem.g:2117:5: (lv_namespace_5_0= ruleNamespace ) - // InternalRosSystem.g:2118:6: lv_namespace_5_0= ruleNamespace + // InternalRosSystem.g:2443:5: (lv_namespace_5_0= ruleNamespace ) + // InternalRosSystem.g:2444:6: lv_namespace_5_0= ruleNamespace { newCompositeNode(grammarAccess.getParameterAccess().getNamespaceNamespaceParserRuleCall_4_1_0()); - pushFollow(FOLLOW_59); + pushFollow(FOLLOW_69); lv_namespace_5_0=ruleNamespace(); state._fsp--; @@ -4842,31 +5627,31 @@ public final EObject ruleParameter() throws RecognitionException { } - // InternalRosSystem.g:2136:3: (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? - int alt52=2; - int LA52_0 = input.LA(1); + // InternalRosSystem.g:2462:3: (otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) )? + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA52_0==65) ) { - alt52=1; + if ( (LA63_0==44) ) { + alt63=1; } - switch (alt52) { + switch (alt63) { case 1 : - // InternalRosSystem.g:2137:4: otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) + // InternalRosSystem.g:2463:4: otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) { - otherlv_6=(Token)match(input,65,FOLLOW_60); + otherlv_6=(Token)match(input,44,FOLLOW_36); newLeafNode(otherlv_6, grammarAccess.getParameterAccess().getTypeKeyword_5_0()); - // InternalRosSystem.g:2141:4: ( (lv_type_7_0= ruleParameterType ) ) - // InternalRosSystem.g:2142:5: (lv_type_7_0= ruleParameterType ) + // InternalRosSystem.g:2467:4: ( (lv_type_7_0= ruleParameterType ) ) + // InternalRosSystem.g:2468:5: (lv_type_7_0= ruleParameterType ) { - // InternalRosSystem.g:2142:5: (lv_type_7_0= ruleParameterType ) - // InternalRosSystem.g:2143:6: lv_type_7_0= ruleParameterType + // InternalRosSystem.g:2468:5: (lv_type_7_0= ruleParameterType ) + // InternalRosSystem.g:2469:6: lv_type_7_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterAccess().getTypeParameterTypeParserRuleCall_5_1_0()); - pushFollow(FOLLOW_55); + pushFollow(FOLLOW_66); lv_type_7_0=ruleParameterType(); state._fsp--; @@ -4894,31 +5679,31 @@ public final EObject ruleParameter() throws RecognitionException { } - // InternalRosSystem.g:2161:3: (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? - int alt53=2; - int LA53_0 = input.LA(1); + // InternalRosSystem.g:2487:3: (otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) )? + int alt64=2; + int LA64_0 = input.LA(1); - if ( (LA53_0==63) ) { - alt53=1; + if ( (LA64_0==45) ) { + alt64=1; } - switch (alt53) { + switch (alt64) { case 1 : - // InternalRosSystem.g:2162:4: otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) + // InternalRosSystem.g:2488:4: otherlv_8= 'value' ( (lv_value_9_0= ruleParameterValue ) ) { - otherlv_8=(Token)match(input,63,FOLLOW_56); + otherlv_8=(Token)match(input,45,FOLLOW_38); newLeafNode(otherlv_8, grammarAccess.getParameterAccess().getValueKeyword_6_0()); - // InternalRosSystem.g:2166:4: ( (lv_value_9_0= ruleParameterValue ) ) - // InternalRosSystem.g:2167:5: (lv_value_9_0= ruleParameterValue ) + // InternalRosSystem.g:2492:4: ( (lv_value_9_0= ruleParameterValue ) ) + // InternalRosSystem.g:2493:5: (lv_value_9_0= ruleParameterValue ) { - // InternalRosSystem.g:2167:5: (lv_value_9_0= ruleParameterValue ) - // InternalRosSystem.g:2168:6: lv_value_9_0= ruleParameterValue + // InternalRosSystem.g:2493:5: (lv_value_9_0= ruleParameterValue ) + // InternalRosSystem.g:2494:6: lv_value_9_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterAccess().getValueParameterValueParserRuleCall_6_1_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); lv_value_9_0=ruleParameterValue(); state._fsp--; @@ -4946,7 +5731,7 @@ public final EObject ruleParameter() throws RecognitionException { } - otherlv_10=(Token)match(input,30,FOLLOW_2); + otherlv_10=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_10, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); @@ -4973,7 +5758,7 @@ public final EObject ruleParameter() throws RecognitionException { // $ANTLR start "entryRuleParameterType" - // InternalRosSystem.g:2194:1: entryRuleParameterType returns [EObject current=null] : iv_ruleParameterType= ruleParameterType EOF ; + // InternalRosSystem.g:2520:1: entryRuleParameterType returns [EObject current=null] : iv_ruleParameterType= ruleParameterType EOF ; public final EObject entryRuleParameterType() throws RecognitionException { EObject current = null; @@ -4981,8 +5766,8 @@ public final EObject entryRuleParameterType() throws RecognitionException { try { - // InternalRosSystem.g:2194:54: (iv_ruleParameterType= ruleParameterType EOF ) - // InternalRosSystem.g:2195:2: iv_ruleParameterType= ruleParameterType EOF + // InternalRosSystem.g:2520:54: (iv_ruleParameterType= ruleParameterType EOF ) + // InternalRosSystem.g:2521:2: iv_ruleParameterType= ruleParameterType EOF { newCompositeNode(grammarAccess.getParameterTypeRule()); pushFollow(FOLLOW_1); @@ -5009,7 +5794,7 @@ public final EObject entryRuleParameterType() throws RecognitionException { // $ANTLR start "ruleParameterType" - // InternalRosSystem.g:2201:1: ruleParameterType returns [EObject current=null] : (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ; + // InternalRosSystem.g:2527:1: ruleParameterType returns [EObject current=null] : (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ; public final EObject ruleParameterType() throws RecognitionException { EObject current = null; @@ -5034,62 +5819,62 @@ public final EObject ruleParameterType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2207:2: ( (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ) - // InternalRosSystem.g:2208:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) + // InternalRosSystem.g:2533:2: ( (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ) + // InternalRosSystem.g:2534:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) { - // InternalRosSystem.g:2208:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) - int alt54=8; + // InternalRosSystem.g:2534:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) + int alt65=8; switch ( input.LA(1) ) { - case 66: + case 70: { - alt54=1; + alt65=1; } break; - case 67: + case 71: { - alt54=2; + alt65=2; } break; - case 68: + case 72: { - alt54=3; + alt65=3; } break; - case 70: + case 74: { - alt54=4; + alt65=4; } break; - case 71: + case 75: { - alt54=5; + alt65=5; } break; - case 72: + case 76: { - alt54=6; + alt65=6; } break; - case 73: + case 77: { - alt54=7; + alt65=7; } break; - case 74: + case 78: { - alt54=8; + alt65=8; } break; default: NoViableAltException nvae = - new NoViableAltException("", 54, 0, input); + new NoViableAltException("", 65, 0, input); throw nvae; } - switch (alt54) { + switch (alt65) { case 1 : - // InternalRosSystem.g:2209:3: this_ParameterListType_0= ruleParameterListType + // InternalRosSystem.g:2535:3: this_ParameterListType_0= ruleParameterListType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterListTypeParserRuleCall_0()); @@ -5107,7 +5892,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 2 : - // InternalRosSystem.g:2218:3: this_ParameterStructType_1= ruleParameterStructType + // InternalRosSystem.g:2544:3: this_ParameterStructType_1= ruleParameterStructType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterStructTypeParserRuleCall_1()); @@ -5125,7 +5910,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 3 : - // InternalRosSystem.g:2227:3: this_ParameterIntegerType_2= ruleParameterIntegerType + // InternalRosSystem.g:2553:3: this_ParameterIntegerType_2= ruleParameterIntegerType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterIntegerTypeParserRuleCall_2()); @@ -5143,7 +5928,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 4 : - // InternalRosSystem.g:2236:3: this_ParameterStringType_3= ruleParameterStringType + // InternalRosSystem.g:2562:3: this_ParameterStringType_3= ruleParameterStringType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterStringTypeParserRuleCall_3()); @@ -5161,7 +5946,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 5 : - // InternalRosSystem.g:2245:3: this_ParameterDoubleType_4= ruleParameterDoubleType + // InternalRosSystem.g:2571:3: this_ParameterDoubleType_4= ruleParameterDoubleType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterDoubleTypeParserRuleCall_4()); @@ -5179,7 +5964,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 6 : - // InternalRosSystem.g:2254:3: this_ParameterBooleanType_5= ruleParameterBooleanType + // InternalRosSystem.g:2580:3: this_ParameterBooleanType_5= ruleParameterBooleanType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterBooleanTypeParserRuleCall_5()); @@ -5197,7 +5982,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 7 : - // InternalRosSystem.g:2263:3: this_ParameterBase64Type_6= ruleParameterBase64Type + // InternalRosSystem.g:2589:3: this_ParameterBase64Type_6= ruleParameterBase64Type { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterBase64TypeParserRuleCall_6()); @@ -5215,7 +6000,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 8 : - // InternalRosSystem.g:2272:3: this_ParameterArrayType_7= ruleParameterArrayType + // InternalRosSystem.g:2598:3: this_ParameterArrayType_7= ruleParameterArrayType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterArrayTypeParserRuleCall_7()); @@ -5255,7 +6040,7 @@ public final EObject ruleParameterType() throws RecognitionException { // $ANTLR start "entryRuleParameterValue" - // InternalRosSystem.g:2284:1: entryRuleParameterValue returns [EObject current=null] : iv_ruleParameterValue= ruleParameterValue EOF ; + // InternalRosSystem.g:2610:1: entryRuleParameterValue returns [EObject current=null] : iv_ruleParameterValue= ruleParameterValue EOF ; public final EObject entryRuleParameterValue() throws RecognitionException { EObject current = null; @@ -5263,8 +6048,8 @@ public final EObject entryRuleParameterValue() throws RecognitionException { try { - // InternalRosSystem.g:2284:55: (iv_ruleParameterValue= ruleParameterValue EOF ) - // InternalRosSystem.g:2285:2: iv_ruleParameterValue= ruleParameterValue EOF + // InternalRosSystem.g:2610:55: (iv_ruleParameterValue= ruleParameterValue EOF ) + // InternalRosSystem.g:2611:2: iv_ruleParameterValue= ruleParameterValue EOF { newCompositeNode(grammarAccess.getParameterValueRule()); pushFollow(FOLLOW_1); @@ -5291,7 +6076,7 @@ public final EObject entryRuleParameterValue() throws RecognitionException { // $ANTLR start "ruleParameterValue" - // InternalRosSystem.g:2291:1: ruleParameterValue returns [EObject current=null] : (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ; + // InternalRosSystem.g:2617:1: ruleParameterValue returns [EObject current=null] : (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ; public final EObject ruleParameterValue() throws RecognitionException { EObject current = null; @@ -5314,15 +6099,15 @@ public final EObject ruleParameterValue() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2297:2: ( (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ) - // InternalRosSystem.g:2298:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) + // InternalRosSystem.g:2623:2: ( (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ) + // InternalRosSystem.g:2624:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) { - // InternalRosSystem.g:2298:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) - int alt55=7; - alt55 = dfa55.predict(input); - switch (alt55) { + // InternalRosSystem.g:2624:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) + int alt66=7; + alt66 = dfa66.predict(input); + switch (alt66) { case 1 : - // InternalRosSystem.g:2299:3: this_ParameterString_0= ruleParameterString + // InternalRosSystem.g:2625:3: this_ParameterString_0= ruleParameterString { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterStringParserRuleCall_0()); @@ -5340,7 +6125,7 @@ public final EObject ruleParameterValue() throws RecognitionException { } break; case 2 : - // InternalRosSystem.g:2308:3: this_ParameterBase64_1= ruleParameterBase64 + // InternalRosSystem.g:2634:3: this_ParameterBase64_1= ruleParameterBase64 { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterBase64ParserRuleCall_1()); @@ -5358,7 +6143,7 @@ public final EObject ruleParameterValue() throws RecognitionException { } break; case 3 : - // InternalRosSystem.g:2317:3: this_ParameterInteger_2= ruleParameterInteger + // InternalRosSystem.g:2643:3: this_ParameterInteger_2= ruleParameterInteger { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterIntegerParserRuleCall_2()); @@ -5376,7 +6161,7 @@ public final EObject ruleParameterValue() throws RecognitionException { } break; case 4 : - // InternalRosSystem.g:2326:3: this_ParameterDouble_3= ruleParameterDouble + // InternalRosSystem.g:2652:3: this_ParameterDouble_3= ruleParameterDouble { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterDoubleParserRuleCall_3()); @@ -5394,7 +6179,7 @@ public final EObject ruleParameterValue() throws RecognitionException { } break; case 5 : - // InternalRosSystem.g:2335:3: this_ParameterBoolean_4= ruleParameterBoolean + // InternalRosSystem.g:2661:3: this_ParameterBoolean_4= ruleParameterBoolean { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterBooleanParserRuleCall_4()); @@ -5412,7 +6197,7 @@ public final EObject ruleParameterValue() throws RecognitionException { } break; case 6 : - // InternalRosSystem.g:2344:3: this_ParameterList_5= ruleParameterList + // InternalRosSystem.g:2670:3: this_ParameterList_5= ruleParameterList { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterListParserRuleCall_5()); @@ -5430,7 +6215,7 @@ public final EObject ruleParameterValue() throws RecognitionException { } break; case 7 : - // InternalRosSystem.g:2353:3: this_ParameterStruct_6= ruleParameterStruct + // InternalRosSystem.g:2679:3: this_ParameterStruct_6= ruleParameterStruct { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterStructParserRuleCall_6()); @@ -5470,7 +6255,7 @@ public final EObject ruleParameterValue() throws RecognitionException { // $ANTLR start "entryRuleParameterListType" - // InternalRosSystem.g:2365:1: entryRuleParameterListType returns [EObject current=null] : iv_ruleParameterListType= ruleParameterListType EOF ; + // InternalRosSystem.g:2691:1: entryRuleParameterListType returns [EObject current=null] : iv_ruleParameterListType= ruleParameterListType EOF ; public final EObject entryRuleParameterListType() throws RecognitionException { EObject current = null; @@ -5478,8 +6263,8 @@ public final EObject entryRuleParameterListType() throws RecognitionException { try { - // InternalRosSystem.g:2365:58: (iv_ruleParameterListType= ruleParameterListType EOF ) - // InternalRosSystem.g:2366:2: iv_ruleParameterListType= ruleParameterListType EOF + // InternalRosSystem.g:2691:58: (iv_ruleParameterListType= ruleParameterListType EOF ) + // InternalRosSystem.g:2692:2: iv_ruleParameterListType= ruleParameterListType EOF { newCompositeNode(grammarAccess.getParameterListTypeRule()); pushFollow(FOLLOW_1); @@ -5506,7 +6291,7 @@ public final EObject entryRuleParameterListType() throws RecognitionException { // $ANTLR start "ruleParameterListType" - // InternalRosSystem.g:2372:1: ruleParameterListType returns [EObject current=null] : ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ; + // InternalRosSystem.g:2698:1: ruleParameterListType returns [EObject current=null] : ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ; public final EObject ruleParameterListType() throws RecognitionException { EObject current = null; @@ -5523,14 +6308,14 @@ public final EObject ruleParameterListType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2378:2: ( ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ) - // InternalRosSystem.g:2379:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) + // InternalRosSystem.g:2704:2: ( ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ) + // InternalRosSystem.g:2705:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) { - // InternalRosSystem.g:2379:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) - // InternalRosSystem.g:2380:3: () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' + // InternalRosSystem.g:2705:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) + // InternalRosSystem.g:2706:3: () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' { - // InternalRosSystem.g:2380:3: () - // InternalRosSystem.g:2381:4: + // InternalRosSystem.g:2706:3: () + // InternalRosSystem.g:2707:4: { current = forceCreateModelElement( @@ -5540,24 +6325,24 @@ public final EObject ruleParameterListType() throws RecognitionException { } - otherlv_1=(Token)match(input,66,FOLLOW_3); + otherlv_1=(Token)match(input,70,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getParameterListTypeAccess().getListKeyword_1()); - otherlv_2=(Token)match(input,23,FOLLOW_60); + otherlv_2=(Token)match(input,23,FOLLOW_36); newLeafNode(otherlv_2, grammarAccess.getParameterListTypeAccess().getLeftCurlyBracketKeyword_2()); - // InternalRosSystem.g:2395:3: ( (lv_sequence_3_0= ruleParameterType ) ) - // InternalRosSystem.g:2396:4: (lv_sequence_3_0= ruleParameterType ) + // InternalRosSystem.g:2721:3: ( (lv_sequence_3_0= ruleParameterType ) ) + // InternalRosSystem.g:2722:4: (lv_sequence_3_0= ruleParameterType ) { - // InternalRosSystem.g:2396:4: (lv_sequence_3_0= ruleParameterType ) - // InternalRosSystem.g:2397:5: lv_sequence_3_0= ruleParameterType + // InternalRosSystem.g:2722:4: (lv_sequence_3_0= ruleParameterType ) + // InternalRosSystem.g:2723:5: lv_sequence_3_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_3_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_sequence_3_0=ruleParameterType(); state._fsp--; @@ -5579,35 +6364,35 @@ public final EObject ruleParameterListType() throws RecognitionException { } - // InternalRosSystem.g:2414:3: (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* - loop56: + // InternalRosSystem.g:2740:3: (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* + loop67: do { - int alt56=2; - int LA56_0 = input.LA(1); + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA56_0==27) ) { - alt56=1; + if ( (LA67_0==27) ) { + alt67=1; } - switch (alt56) { + switch (alt67) { case 1 : - // InternalRosSystem.g:2415:4: otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) + // InternalRosSystem.g:2741:4: otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) { - otherlv_4=(Token)match(input,27,FOLLOW_60); + otherlv_4=(Token)match(input,27,FOLLOW_36); newLeafNode(otherlv_4, grammarAccess.getParameterListTypeAccess().getCommaKeyword_4_0()); - // InternalRosSystem.g:2419:4: ( (lv_sequence_5_0= ruleParameterType ) ) - // InternalRosSystem.g:2420:5: (lv_sequence_5_0= ruleParameterType ) + // InternalRosSystem.g:2745:4: ( (lv_sequence_5_0= ruleParameterType ) ) + // InternalRosSystem.g:2746:5: (lv_sequence_5_0= ruleParameterType ) { - // InternalRosSystem.g:2420:5: (lv_sequence_5_0= ruleParameterType ) - // InternalRosSystem.g:2421:6: lv_sequence_5_0= ruleParameterType + // InternalRosSystem.g:2746:5: (lv_sequence_5_0= ruleParameterType ) + // InternalRosSystem.g:2747:6: lv_sequence_5_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_4_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_sequence_5_0=ruleParameterType(); state._fsp--; @@ -5634,11 +6419,11 @@ public final EObject ruleParameterListType() throws RecognitionException { break; default : - break loop56; + break loop67; } } while (true); - otherlv_6=(Token)match(input,30,FOLLOW_2); + otherlv_6=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_6, grammarAccess.getParameterListTypeAccess().getRightCurlyBracketKeyword_5()); @@ -5665,7 +6450,7 @@ public final EObject ruleParameterListType() throws RecognitionException { // $ANTLR start "entryRuleParameterStructType" - // InternalRosSystem.g:2447:1: entryRuleParameterStructType returns [EObject current=null] : iv_ruleParameterStructType= ruleParameterStructType EOF ; + // InternalRosSystem.g:2773:1: entryRuleParameterStructType returns [EObject current=null] : iv_ruleParameterStructType= ruleParameterStructType EOF ; public final EObject entryRuleParameterStructType() throws RecognitionException { EObject current = null; @@ -5673,8 +6458,8 @@ public final EObject entryRuleParameterStructType() throws RecognitionException try { - // InternalRosSystem.g:2447:60: (iv_ruleParameterStructType= ruleParameterStructType EOF ) - // InternalRosSystem.g:2448:2: iv_ruleParameterStructType= ruleParameterStructType EOF + // InternalRosSystem.g:2773:60: (iv_ruleParameterStructType= ruleParameterStructType EOF ) + // InternalRosSystem.g:2774:2: iv_ruleParameterStructType= ruleParameterStructType EOF { newCompositeNode(grammarAccess.getParameterStructTypeRule()); pushFollow(FOLLOW_1); @@ -5701,7 +6486,7 @@ public final EObject entryRuleParameterStructType() throws RecognitionException // $ANTLR start "ruleParameterStructType" - // InternalRosSystem.g:2454:1: ruleParameterStructType returns [EObject current=null] : ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ; + // InternalRosSystem.g:2780:1: ruleParameterStructType returns [EObject current=null] : ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ; public final EObject ruleParameterStructType() throws RecognitionException { EObject current = null; @@ -5718,14 +6503,14 @@ public final EObject ruleParameterStructType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2460:2: ( ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ) - // InternalRosSystem.g:2461:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) + // InternalRosSystem.g:2786:2: ( ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ) + // InternalRosSystem.g:2787:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) { - // InternalRosSystem.g:2461:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) - // InternalRosSystem.g:2462:3: () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' + // InternalRosSystem.g:2787:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) + // InternalRosSystem.g:2788:3: () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' { - // InternalRosSystem.g:2462:3: () - // InternalRosSystem.g:2463:4: + // InternalRosSystem.g:2788:3: () + // InternalRosSystem.g:2789:4: { current = forceCreateModelElement( @@ -5735,7 +6520,7 @@ public final EObject ruleParameterStructType() throws RecognitionException { } - otherlv_1=(Token)match(input,67,FOLLOW_3); + otherlv_1=(Token)match(input,71,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getParameterStructTypeAccess().getStructKeyword_1()); @@ -5743,16 +6528,16 @@ public final EObject ruleParameterStructType() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterStructTypeAccess().getLeftCurlyBracketKeyword_2()); - // InternalRosSystem.g:2477:3: ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) - // InternalRosSystem.g:2478:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) + // InternalRosSystem.g:2803:3: ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) + // InternalRosSystem.g:2804:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) { - // InternalRosSystem.g:2478:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) - // InternalRosSystem.g:2479:5: lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember + // InternalRosSystem.g:2804:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) + // InternalRosSystem.g:2805:5: lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember { newCompositeNode(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parameterstructypetmember_3_0=ruleParameterStructTypeMember(); state._fsp--; @@ -5774,35 +6559,35 @@ public final EObject ruleParameterStructType() throws RecognitionException { } - // InternalRosSystem.g:2496:3: (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* - loop57: + // InternalRosSystem.g:2822:3: (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* + loop68: do { - int alt57=2; - int LA57_0 = input.LA(1); + int alt68=2; + int LA68_0 = input.LA(1); - if ( (LA57_0==27) ) { - alt57=1; + if ( (LA68_0==27) ) { + alt68=1; } - switch (alt57) { + switch (alt68) { case 1 : - // InternalRosSystem.g:2497:4: otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) + // InternalRosSystem.g:2823:4: otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) { otherlv_4=(Token)match(input,27,FOLLOW_5); newLeafNode(otherlv_4, grammarAccess.getParameterStructTypeAccess().getCommaKeyword_4_0()); - // InternalRosSystem.g:2501:4: ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) - // InternalRosSystem.g:2502:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) + // InternalRosSystem.g:2827:4: ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) + // InternalRosSystem.g:2828:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) { - // InternalRosSystem.g:2502:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) - // InternalRosSystem.g:2503:6: lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember + // InternalRosSystem.g:2828:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) + // InternalRosSystem.g:2829:6: lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember { newCompositeNode(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parameterstructypetmember_5_0=ruleParameterStructTypeMember(); state._fsp--; @@ -5829,11 +6614,11 @@ public final EObject ruleParameterStructType() throws RecognitionException { break; default : - break loop57; + break loop68; } } while (true); - otherlv_6=(Token)match(input,30,FOLLOW_2); + otherlv_6=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_6, grammarAccess.getParameterStructTypeAccess().getRightCurlyBracketKeyword_5()); @@ -5860,7 +6645,7 @@ public final EObject ruleParameterStructType() throws RecognitionException { // $ANTLR start "entryRuleParameterIntegerType" - // InternalRosSystem.g:2529:1: entryRuleParameterIntegerType returns [EObject current=null] : iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ; + // InternalRosSystem.g:2855:1: entryRuleParameterIntegerType returns [EObject current=null] : iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ; public final EObject entryRuleParameterIntegerType() throws RecognitionException { EObject current = null; @@ -5868,8 +6653,8 @@ public final EObject entryRuleParameterIntegerType() throws RecognitionException try { - // InternalRosSystem.g:2529:61: (iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ) - // InternalRosSystem.g:2530:2: iv_ruleParameterIntegerType= ruleParameterIntegerType EOF + // InternalRosSystem.g:2855:61: (iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ) + // InternalRosSystem.g:2856:2: iv_ruleParameterIntegerType= ruleParameterIntegerType EOF { newCompositeNode(grammarAccess.getParameterIntegerTypeRule()); pushFollow(FOLLOW_1); @@ -5896,7 +6681,7 @@ public final EObject entryRuleParameterIntegerType() throws RecognitionException // $ANTLR start "ruleParameterIntegerType" - // InternalRosSystem.g:2536:1: ruleParameterIntegerType returns [EObject current=null] : ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ; + // InternalRosSystem.g:2862:1: ruleParameterIntegerType returns [EObject current=null] : ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ; public final EObject ruleParameterIntegerType() throws RecognitionException { EObject current = null; @@ -5909,14 +6694,14 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2542:2: ( ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ) - // InternalRosSystem.g:2543:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) + // InternalRosSystem.g:2868:2: ( ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ) + // InternalRosSystem.g:2869:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) { - // InternalRosSystem.g:2543:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) - // InternalRosSystem.g:2544:3: () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? + // InternalRosSystem.g:2869:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) + // InternalRosSystem.g:2870:3: () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? { - // InternalRosSystem.g:2544:3: () - // InternalRosSystem.g:2545:4: + // InternalRosSystem.g:2870:3: () + // InternalRosSystem.g:2871:4: { current = forceCreateModelElement( @@ -5926,34 +6711,34 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { } - otherlv_1=(Token)match(input,68,FOLLOW_61); + otherlv_1=(Token)match(input,72,FOLLOW_70); newLeafNode(otherlv_1, grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); - // InternalRosSystem.g:2555:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? - int alt58=2; - int LA58_0 = input.LA(1); + // InternalRosSystem.g:2881:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA58_0==69) ) { - int LA58_1 = input.LA(2); + if ( (LA69_0==73) ) { + int LA69_1 = input.LA(2); - if ( (LA58_1==RULE_DECINT) ) { - alt58=1; + if ( (LA69_1==RULE_DECINT) ) { + alt69=1; } } - switch (alt58) { + switch (alt69) { case 1 : - // InternalRosSystem.g:2556:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) + // InternalRosSystem.g:2882:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) { - otherlv_2=(Token)match(input,69,FOLLOW_62); + otherlv_2=(Token)match(input,73,FOLLOW_71); newLeafNode(otherlv_2, grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); - // InternalRosSystem.g:2560:4: ( (lv_default_3_0= ruleParameterInteger ) ) - // InternalRosSystem.g:2561:5: (lv_default_3_0= ruleParameterInteger ) + // InternalRosSystem.g:2886:4: ( (lv_default_3_0= ruleParameterInteger ) ) + // InternalRosSystem.g:2887:5: (lv_default_3_0= ruleParameterInteger ) { - // InternalRosSystem.g:2561:5: (lv_default_3_0= ruleParameterInteger ) - // InternalRosSystem.g:2562:6: lv_default_3_0= ruleParameterInteger + // InternalRosSystem.g:2887:5: (lv_default_3_0= ruleParameterInteger ) + // InternalRosSystem.g:2888:6: lv_default_3_0= ruleParameterInteger { newCompositeNode(grammarAccess.getParameterIntegerTypeAccess().getDefaultParameterIntegerParserRuleCall_2_1_0()); @@ -6009,7 +6794,7 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { // $ANTLR start "entryRuleParameterStringType" - // InternalRosSystem.g:2584:1: entryRuleParameterStringType returns [EObject current=null] : iv_ruleParameterStringType= ruleParameterStringType EOF ; + // InternalRosSystem.g:2910:1: entryRuleParameterStringType returns [EObject current=null] : iv_ruleParameterStringType= ruleParameterStringType EOF ; public final EObject entryRuleParameterStringType() throws RecognitionException { EObject current = null; @@ -6017,8 +6802,8 @@ public final EObject entryRuleParameterStringType() throws RecognitionException try { - // InternalRosSystem.g:2584:60: (iv_ruleParameterStringType= ruleParameterStringType EOF ) - // InternalRosSystem.g:2585:2: iv_ruleParameterStringType= ruleParameterStringType EOF + // InternalRosSystem.g:2910:60: (iv_ruleParameterStringType= ruleParameterStringType EOF ) + // InternalRosSystem.g:2911:2: iv_ruleParameterStringType= ruleParameterStringType EOF { newCompositeNode(grammarAccess.getParameterStringTypeRule()); pushFollow(FOLLOW_1); @@ -6045,7 +6830,7 @@ public final EObject entryRuleParameterStringType() throws RecognitionException // $ANTLR start "ruleParameterStringType" - // InternalRosSystem.g:2591:1: ruleParameterStringType returns [EObject current=null] : ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ; + // InternalRosSystem.g:2917:1: ruleParameterStringType returns [EObject current=null] : ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ; public final EObject ruleParameterStringType() throws RecognitionException { EObject current = null; @@ -6058,14 +6843,14 @@ public final EObject ruleParameterStringType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2597:2: ( ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ) - // InternalRosSystem.g:2598:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) + // InternalRosSystem.g:2923:2: ( ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ) + // InternalRosSystem.g:2924:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) { - // InternalRosSystem.g:2598:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) - // InternalRosSystem.g:2599:3: () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? + // InternalRosSystem.g:2924:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) + // InternalRosSystem.g:2925:3: () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? { - // InternalRosSystem.g:2599:3: () - // InternalRosSystem.g:2600:4: + // InternalRosSystem.g:2925:3: () + // InternalRosSystem.g:2926:4: { current = forceCreateModelElement( @@ -6075,34 +6860,34 @@ public final EObject ruleParameterStringType() throws RecognitionException { } - otherlv_1=(Token)match(input,70,FOLLOW_61); + otherlv_1=(Token)match(input,74,FOLLOW_70); newLeafNode(otherlv_1, grammarAccess.getParameterStringTypeAccess().getStringKeyword_1()); - // InternalRosSystem.g:2610:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? - int alt59=2; - int LA59_0 = input.LA(1); + // InternalRosSystem.g:2936:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? + int alt70=2; + int LA70_0 = input.LA(1); - if ( (LA59_0==69) ) { - int LA59_1 = input.LA(2); + if ( (LA70_0==73) ) { + int LA70_1 = input.LA(2); - if ( ((LA59_1>=RULE_STRING && LA59_1<=RULE_ID)) ) { - alt59=1; + if ( ((LA70_1>=RULE_STRING && LA70_1<=RULE_ID)) ) { + alt70=1; } } - switch (alt59) { + switch (alt70) { case 1 : - // InternalRosSystem.g:2611:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) + // InternalRosSystem.g:2937:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) { - otherlv_2=(Token)match(input,69,FOLLOW_5); + otherlv_2=(Token)match(input,73,FOLLOW_5); newLeafNode(otherlv_2, grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); - // InternalRosSystem.g:2615:4: ( (lv_default_3_0= ruleParameterString ) ) - // InternalRosSystem.g:2616:5: (lv_default_3_0= ruleParameterString ) + // InternalRosSystem.g:2941:4: ( (lv_default_3_0= ruleParameterString ) ) + // InternalRosSystem.g:2942:5: (lv_default_3_0= ruleParameterString ) { - // InternalRosSystem.g:2616:5: (lv_default_3_0= ruleParameterString ) - // InternalRosSystem.g:2617:6: lv_default_3_0= ruleParameterString + // InternalRosSystem.g:2942:5: (lv_default_3_0= ruleParameterString ) + // InternalRosSystem.g:2943:6: lv_default_3_0= ruleParameterString { newCompositeNode(grammarAccess.getParameterStringTypeAccess().getDefaultParameterStringParserRuleCall_2_1_0()); @@ -6158,7 +6943,7 @@ public final EObject ruleParameterStringType() throws RecognitionException { // $ANTLR start "entryRuleParameterDoubleType" - // InternalRosSystem.g:2639:1: entryRuleParameterDoubleType returns [EObject current=null] : iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ; + // InternalRosSystem.g:2965:1: entryRuleParameterDoubleType returns [EObject current=null] : iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ; public final EObject entryRuleParameterDoubleType() throws RecognitionException { EObject current = null; @@ -6166,8 +6951,8 @@ public final EObject entryRuleParameterDoubleType() throws RecognitionException try { - // InternalRosSystem.g:2639:60: (iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ) - // InternalRosSystem.g:2640:2: iv_ruleParameterDoubleType= ruleParameterDoubleType EOF + // InternalRosSystem.g:2965:60: (iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ) + // InternalRosSystem.g:2966:2: iv_ruleParameterDoubleType= ruleParameterDoubleType EOF { newCompositeNode(grammarAccess.getParameterDoubleTypeRule()); pushFollow(FOLLOW_1); @@ -6194,7 +6979,7 @@ public final EObject entryRuleParameterDoubleType() throws RecognitionException // $ANTLR start "ruleParameterDoubleType" - // InternalRosSystem.g:2646:1: ruleParameterDoubleType returns [EObject current=null] : ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ; + // InternalRosSystem.g:2972:1: ruleParameterDoubleType returns [EObject current=null] : ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ; public final EObject ruleParameterDoubleType() throws RecognitionException { EObject current = null; @@ -6207,14 +6992,14 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2652:2: ( ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ) - // InternalRosSystem.g:2653:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) + // InternalRosSystem.g:2978:2: ( ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ) + // InternalRosSystem.g:2979:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) { - // InternalRosSystem.g:2653:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) - // InternalRosSystem.g:2654:3: () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? + // InternalRosSystem.g:2979:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) + // InternalRosSystem.g:2980:3: () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? { - // InternalRosSystem.g:2654:3: () - // InternalRosSystem.g:2655:4: + // InternalRosSystem.g:2980:3: () + // InternalRosSystem.g:2981:4: { current = forceCreateModelElement( @@ -6224,34 +7009,34 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { } - otherlv_1=(Token)match(input,71,FOLLOW_61); + otherlv_1=(Token)match(input,75,FOLLOW_70); newLeafNode(otherlv_1, grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); - // InternalRosSystem.g:2665:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? - int alt60=2; - int LA60_0 = input.LA(1); + // InternalRosSystem.g:2991:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? + int alt71=2; + int LA71_0 = input.LA(1); - if ( (LA60_0==69) ) { - int LA60_1 = input.LA(2); + if ( (LA71_0==73) ) { + int LA71_1 = input.LA(2); - if ( (LA60_1==RULE_DOUBLE) ) { - alt60=1; + if ( (LA71_1==RULE_DOUBLE) ) { + alt71=1; } } - switch (alt60) { + switch (alt71) { case 1 : - // InternalRosSystem.g:2666:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) + // InternalRosSystem.g:2992:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) { - otherlv_2=(Token)match(input,69,FOLLOW_63); + otherlv_2=(Token)match(input,73,FOLLOW_72); newLeafNode(otherlv_2, grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); - // InternalRosSystem.g:2670:4: ( (lv_default_3_0= ruleParameterDouble ) ) - // InternalRosSystem.g:2671:5: (lv_default_3_0= ruleParameterDouble ) + // InternalRosSystem.g:2996:4: ( (lv_default_3_0= ruleParameterDouble ) ) + // InternalRosSystem.g:2997:5: (lv_default_3_0= ruleParameterDouble ) { - // InternalRosSystem.g:2671:5: (lv_default_3_0= ruleParameterDouble ) - // InternalRosSystem.g:2672:6: lv_default_3_0= ruleParameterDouble + // InternalRosSystem.g:2997:5: (lv_default_3_0= ruleParameterDouble ) + // InternalRosSystem.g:2998:6: lv_default_3_0= ruleParameterDouble { newCompositeNode(grammarAccess.getParameterDoubleTypeAccess().getDefaultParameterDoubleParserRuleCall_2_1_0()); @@ -6307,7 +7092,7 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { // $ANTLR start "entryRuleParameterBooleanType" - // InternalRosSystem.g:2694:1: entryRuleParameterBooleanType returns [EObject current=null] : iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ; + // InternalRosSystem.g:3020:1: entryRuleParameterBooleanType returns [EObject current=null] : iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ; public final EObject entryRuleParameterBooleanType() throws RecognitionException { EObject current = null; @@ -6315,8 +7100,8 @@ public final EObject entryRuleParameterBooleanType() throws RecognitionException try { - // InternalRosSystem.g:2694:61: (iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ) - // InternalRosSystem.g:2695:2: iv_ruleParameterBooleanType= ruleParameterBooleanType EOF + // InternalRosSystem.g:3020:61: (iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ) + // InternalRosSystem.g:3021:2: iv_ruleParameterBooleanType= ruleParameterBooleanType EOF { newCompositeNode(grammarAccess.getParameterBooleanTypeRule()); pushFollow(FOLLOW_1); @@ -6343,7 +7128,7 @@ public final EObject entryRuleParameterBooleanType() throws RecognitionException // $ANTLR start "ruleParameterBooleanType" - // InternalRosSystem.g:2701:1: ruleParameterBooleanType returns [EObject current=null] : ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ; + // InternalRosSystem.g:3027:1: ruleParameterBooleanType returns [EObject current=null] : ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ; public final EObject ruleParameterBooleanType() throws RecognitionException { EObject current = null; @@ -6356,14 +7141,14 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2707:2: ( ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ) - // InternalRosSystem.g:2708:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) + // InternalRosSystem.g:3033:2: ( ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ) + // InternalRosSystem.g:3034:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) { - // InternalRosSystem.g:2708:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) - // InternalRosSystem.g:2709:3: () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? + // InternalRosSystem.g:3034:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) + // InternalRosSystem.g:3035:3: () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? { - // InternalRosSystem.g:2709:3: () - // InternalRosSystem.g:2710:4: + // InternalRosSystem.g:3035:3: () + // InternalRosSystem.g:3036:4: { current = forceCreateModelElement( @@ -6373,34 +7158,34 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { } - otherlv_1=(Token)match(input,72,FOLLOW_61); + otherlv_1=(Token)match(input,76,FOLLOW_70); newLeafNode(otherlv_1, grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); - // InternalRosSystem.g:2720:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? - int alt61=2; - int LA61_0 = input.LA(1); + // InternalRosSystem.g:3046:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? + int alt72=2; + int LA72_0 = input.LA(1); - if ( (LA61_0==69) ) { - int LA61_1 = input.LA(2); + if ( (LA72_0==73) ) { + int LA72_1 = input.LA(2); - if ( (LA61_1==RULE_BOOLEAN) ) { - alt61=1; + if ( (LA72_1==RULE_BOOLEAN) ) { + alt72=1; } } - switch (alt61) { + switch (alt72) { case 1 : - // InternalRosSystem.g:2721:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) + // InternalRosSystem.g:3047:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) { - otherlv_2=(Token)match(input,69,FOLLOW_64); + otherlv_2=(Token)match(input,73,FOLLOW_73); newLeafNode(otherlv_2, grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); - // InternalRosSystem.g:2725:4: ( (lv_default_3_0= ruleParameterBoolean ) ) - // InternalRosSystem.g:2726:5: (lv_default_3_0= ruleParameterBoolean ) + // InternalRosSystem.g:3051:4: ( (lv_default_3_0= ruleParameterBoolean ) ) + // InternalRosSystem.g:3052:5: (lv_default_3_0= ruleParameterBoolean ) { - // InternalRosSystem.g:2726:5: (lv_default_3_0= ruleParameterBoolean ) - // InternalRosSystem.g:2727:6: lv_default_3_0= ruleParameterBoolean + // InternalRosSystem.g:3052:5: (lv_default_3_0= ruleParameterBoolean ) + // InternalRosSystem.g:3053:6: lv_default_3_0= ruleParameterBoolean { newCompositeNode(grammarAccess.getParameterBooleanTypeAccess().getDefaultParameterBooleanParserRuleCall_2_1_0()); @@ -6456,7 +7241,7 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64Type" - // InternalRosSystem.g:2749:1: entryRuleParameterBase64Type returns [EObject current=null] : iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ; + // InternalRosSystem.g:3075:1: entryRuleParameterBase64Type returns [EObject current=null] : iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ; public final EObject entryRuleParameterBase64Type() throws RecognitionException { EObject current = null; @@ -6464,8 +7249,8 @@ public final EObject entryRuleParameterBase64Type() throws RecognitionException try { - // InternalRosSystem.g:2749:60: (iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ) - // InternalRosSystem.g:2750:2: iv_ruleParameterBase64Type= ruleParameterBase64Type EOF + // InternalRosSystem.g:3075:60: (iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ) + // InternalRosSystem.g:3076:2: iv_ruleParameterBase64Type= ruleParameterBase64Type EOF { newCompositeNode(grammarAccess.getParameterBase64TypeRule()); pushFollow(FOLLOW_1); @@ -6492,7 +7277,7 @@ public final EObject entryRuleParameterBase64Type() throws RecognitionException // $ANTLR start "ruleParameterBase64Type" - // InternalRosSystem.g:2756:1: ruleParameterBase64Type returns [EObject current=null] : ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ; + // InternalRosSystem.g:3082:1: ruleParameterBase64Type returns [EObject current=null] : ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ; public final EObject ruleParameterBase64Type() throws RecognitionException { EObject current = null; @@ -6505,14 +7290,14 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2762:2: ( ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ) - // InternalRosSystem.g:2763:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) + // InternalRosSystem.g:3088:2: ( ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ) + // InternalRosSystem.g:3089:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) { - // InternalRosSystem.g:2763:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) - // InternalRosSystem.g:2764:3: () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? + // InternalRosSystem.g:3089:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) + // InternalRosSystem.g:3090:3: () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? { - // InternalRosSystem.g:2764:3: () - // InternalRosSystem.g:2765:4: + // InternalRosSystem.g:3090:3: () + // InternalRosSystem.g:3091:4: { current = forceCreateModelElement( @@ -6522,34 +7307,34 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { } - otherlv_1=(Token)match(input,73,FOLLOW_61); + otherlv_1=(Token)match(input,77,FOLLOW_70); newLeafNode(otherlv_1, grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); - // InternalRosSystem.g:2775:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? - int alt62=2; - int LA62_0 = input.LA(1); + // InternalRosSystem.g:3101:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? + int alt73=2; + int LA73_0 = input.LA(1); - if ( (LA62_0==69) ) { - int LA62_1 = input.LA(2); + if ( (LA73_0==73) ) { + int LA73_1 = input.LA(2); - if ( (LA62_1==RULE_BINARY) ) { - alt62=1; + if ( (LA73_1==RULE_BINARY) ) { + alt73=1; } } - switch (alt62) { + switch (alt73) { case 1 : - // InternalRosSystem.g:2776:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) + // InternalRosSystem.g:3102:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) { - otherlv_2=(Token)match(input,69,FOLLOW_65); + otherlv_2=(Token)match(input,73,FOLLOW_74); newLeafNode(otherlv_2, grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); - // InternalRosSystem.g:2780:4: ( (lv_default_3_0= ruleParameterBase64 ) ) - // InternalRosSystem.g:2781:5: (lv_default_3_0= ruleParameterBase64 ) + // InternalRosSystem.g:3106:4: ( (lv_default_3_0= ruleParameterBase64 ) ) + // InternalRosSystem.g:3107:5: (lv_default_3_0= ruleParameterBase64 ) { - // InternalRosSystem.g:2781:5: (lv_default_3_0= ruleParameterBase64 ) - // InternalRosSystem.g:2782:6: lv_default_3_0= ruleParameterBase64 + // InternalRosSystem.g:3107:5: (lv_default_3_0= ruleParameterBase64 ) + // InternalRosSystem.g:3108:6: lv_default_3_0= ruleParameterBase64 { newCompositeNode(grammarAccess.getParameterBase64TypeAccess().getDefaultParameterBase64ParserRuleCall_2_1_0()); @@ -6605,7 +7390,7 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { // $ANTLR start "entryRuleParameterArrayType" - // InternalRosSystem.g:2804:1: entryRuleParameterArrayType returns [EObject current=null] : iv_ruleParameterArrayType= ruleParameterArrayType EOF ; + // InternalRosSystem.g:3130:1: entryRuleParameterArrayType returns [EObject current=null] : iv_ruleParameterArrayType= ruleParameterArrayType EOF ; public final EObject entryRuleParameterArrayType() throws RecognitionException { EObject current = null; @@ -6613,8 +7398,8 @@ public final EObject entryRuleParameterArrayType() throws RecognitionException { try { - // InternalRosSystem.g:2804:59: (iv_ruleParameterArrayType= ruleParameterArrayType EOF ) - // InternalRosSystem.g:2805:2: iv_ruleParameterArrayType= ruleParameterArrayType EOF + // InternalRosSystem.g:3130:59: (iv_ruleParameterArrayType= ruleParameterArrayType EOF ) + // InternalRosSystem.g:3131:2: iv_ruleParameterArrayType= ruleParameterArrayType EOF { newCompositeNode(grammarAccess.getParameterArrayTypeRule()); pushFollow(FOLLOW_1); @@ -6641,7 +7426,7 @@ public final EObject entryRuleParameterArrayType() throws RecognitionException { // $ANTLR start "ruleParameterArrayType" - // InternalRosSystem.g:2811:1: ruleParameterArrayType returns [EObject current=null] : (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ; + // InternalRosSystem.g:3137:1: ruleParameterArrayType returns [EObject current=null] : (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ; public final EObject ruleParameterArrayType() throws RecognitionException { EObject current = null; @@ -6659,34 +7444,34 @@ public final EObject ruleParameterArrayType() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2817:2: ( (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ) - // InternalRosSystem.g:2818:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) + // InternalRosSystem.g:3143:2: ( (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ) + // InternalRosSystem.g:3144:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) { - // InternalRosSystem.g:2818:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) - // InternalRosSystem.g:2819:3: otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' + // InternalRosSystem.g:3144:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) + // InternalRosSystem.g:3145:3: otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' { - otherlv_0=(Token)match(input,74,FOLLOW_3); + otherlv_0=(Token)match(input,78,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getParameterArrayTypeAccess().getArrayKeyword_0()); - otherlv_1=(Token)match(input,23,FOLLOW_66); + otherlv_1=(Token)match(input,23,FOLLOW_75); newLeafNode(otherlv_1, grammarAccess.getParameterArrayTypeAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,65,FOLLOW_60); + otherlv_2=(Token)match(input,44,FOLLOW_36); newLeafNode(otherlv_2, grammarAccess.getParameterArrayTypeAccess().getTypeKeyword_2()); - // InternalRosSystem.g:2831:3: ( (lv_type_3_0= ruleParameterType ) ) - // InternalRosSystem.g:2832:4: (lv_type_3_0= ruleParameterType ) + // InternalRosSystem.g:3157:3: ( (lv_type_3_0= ruleParameterType ) ) + // InternalRosSystem.g:3158:4: (lv_type_3_0= ruleParameterType ) { - // InternalRosSystem.g:2832:4: (lv_type_3_0= ruleParameterType ) - // InternalRosSystem.g:2833:5: lv_type_3_0= ruleParameterType + // InternalRosSystem.g:3158:4: (lv_type_3_0= ruleParameterType ) + // InternalRosSystem.g:3159:5: lv_type_3_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterArrayTypeAccess().getTypeParameterTypeParserRuleCall_3_0()); - pushFollow(FOLLOW_67); + pushFollow(FOLLOW_76); lv_type_3_0=ruleParameterType(); state._fsp--; @@ -6708,31 +7493,31 @@ public final EObject ruleParameterArrayType() throws RecognitionException { } - // InternalRosSystem.g:2850:3: (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? - int alt63=2; - int LA63_0 = input.LA(1); + // InternalRosSystem.g:3176:3: (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? + int alt74=2; + int LA74_0 = input.LA(1); - if ( (LA63_0==69) ) { - alt63=1; + if ( (LA74_0==73) ) { + alt74=1; } - switch (alt63) { + switch (alt74) { case 1 : - // InternalRosSystem.g:2851:4: otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) + // InternalRosSystem.g:3177:4: otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) { - otherlv_4=(Token)match(input,69,FOLLOW_3); + otherlv_4=(Token)match(input,73,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); - // InternalRosSystem.g:2855:4: ( (lv_default_5_0= ruleParameterList ) ) - // InternalRosSystem.g:2856:5: (lv_default_5_0= ruleParameterList ) + // InternalRosSystem.g:3181:4: ( (lv_default_5_0= ruleParameterList ) ) + // InternalRosSystem.g:3182:5: (lv_default_5_0= ruleParameterList ) { - // InternalRosSystem.g:2856:5: (lv_default_5_0= ruleParameterList ) - // InternalRosSystem.g:2857:6: lv_default_5_0= ruleParameterList + // InternalRosSystem.g:3182:5: (lv_default_5_0= ruleParameterList ) + // InternalRosSystem.g:3183:6: lv_default_5_0= ruleParameterList { newCompositeNode(grammarAccess.getParameterArrayTypeAccess().getDefaultParameterListParserRuleCall_4_1_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); lv_default_5_0=ruleParameterList(); state._fsp--; @@ -6760,7 +7545,7 @@ public final EObject ruleParameterArrayType() throws RecognitionException { } - otherlv_6=(Token)match(input,30,FOLLOW_2); + otherlv_6=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_6, grammarAccess.getParameterArrayTypeAccess().getRightCurlyBracketKeyword_5()); @@ -6787,7 +7572,7 @@ public final EObject ruleParameterArrayType() throws RecognitionException { // $ANTLR start "entryRuleParameterList" - // InternalRosSystem.g:2883:1: entryRuleParameterList returns [EObject current=null] : iv_ruleParameterList= ruleParameterList EOF ; + // InternalRosSystem.g:3209:1: entryRuleParameterList returns [EObject current=null] : iv_ruleParameterList= ruleParameterList EOF ; public final EObject entryRuleParameterList() throws RecognitionException { EObject current = null; @@ -6795,8 +7580,8 @@ public final EObject entryRuleParameterList() throws RecognitionException { try { - // InternalRosSystem.g:2883:54: (iv_ruleParameterList= ruleParameterList EOF ) - // InternalRosSystem.g:2884:2: iv_ruleParameterList= ruleParameterList EOF + // InternalRosSystem.g:3209:54: (iv_ruleParameterList= ruleParameterList EOF ) + // InternalRosSystem.g:3210:2: iv_ruleParameterList= ruleParameterList EOF { newCompositeNode(grammarAccess.getParameterListRule()); pushFollow(FOLLOW_1); @@ -6823,7 +7608,7 @@ public final EObject entryRuleParameterList() throws RecognitionException { // $ANTLR start "ruleParameterList" - // InternalRosSystem.g:2890:1: ruleParameterList returns [EObject current=null] : ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ; + // InternalRosSystem.g:3216:1: ruleParameterList returns [EObject current=null] : ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ; public final EObject ruleParameterList() throws RecognitionException { EObject current = null; @@ -6839,14 +7624,14 @@ public final EObject ruleParameterList() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2896:2: ( ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ) - // InternalRosSystem.g:2897:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) + // InternalRosSystem.g:3222:2: ( ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ) + // InternalRosSystem.g:3223:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) { - // InternalRosSystem.g:2897:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) - // InternalRosSystem.g:2898:3: () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' + // InternalRosSystem.g:3223:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) + // InternalRosSystem.g:3224:3: () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' { - // InternalRosSystem.g:2898:3: () - // InternalRosSystem.g:2899:4: + // InternalRosSystem.g:3224:3: () + // InternalRosSystem.g:3225:4: { current = forceCreateModelElement( @@ -6856,20 +7641,20 @@ public final EObject ruleParameterList() throws RecognitionException { } - otherlv_1=(Token)match(input,23,FOLLOW_56); + otherlv_1=(Token)match(input,23,FOLLOW_38); newLeafNode(otherlv_1, grammarAccess.getParameterListAccess().getLeftCurlyBracketKeyword_1()); - // InternalRosSystem.g:2909:3: ( (lv_value_2_0= ruleParameterValue ) ) - // InternalRosSystem.g:2910:4: (lv_value_2_0= ruleParameterValue ) + // InternalRosSystem.g:3235:3: ( (lv_value_2_0= ruleParameterValue ) ) + // InternalRosSystem.g:3236:4: (lv_value_2_0= ruleParameterValue ) { - // InternalRosSystem.g:2910:4: (lv_value_2_0= ruleParameterValue ) - // InternalRosSystem.g:2911:5: lv_value_2_0= ruleParameterValue + // InternalRosSystem.g:3236:4: (lv_value_2_0= ruleParameterValue ) + // InternalRosSystem.g:3237:5: lv_value_2_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_value_2_0=ruleParameterValue(); state._fsp--; @@ -6891,35 +7676,35 @@ public final EObject ruleParameterList() throws RecognitionException { } - // InternalRosSystem.g:2928:3: (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* - loop64: + // InternalRosSystem.g:3254:3: (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* + loop75: do { - int alt64=2; - int LA64_0 = input.LA(1); + int alt75=2; + int LA75_0 = input.LA(1); - if ( (LA64_0==27) ) { - alt64=1; + if ( (LA75_0==27) ) { + alt75=1; } - switch (alt64) { + switch (alt75) { case 1 : - // InternalRosSystem.g:2929:4: otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRosSystem.g:3255:4: otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) { - otherlv_3=(Token)match(input,27,FOLLOW_56); + otherlv_3=(Token)match(input,27,FOLLOW_38); newLeafNode(otherlv_3, grammarAccess.getParameterListAccess().getCommaKeyword_3_0()); - // InternalRosSystem.g:2933:4: ( (lv_value_4_0= ruleParameterValue ) ) - // InternalRosSystem.g:2934:5: (lv_value_4_0= ruleParameterValue ) + // InternalRosSystem.g:3259:4: ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRosSystem.g:3260:5: (lv_value_4_0= ruleParameterValue ) { - // InternalRosSystem.g:2934:5: (lv_value_4_0= ruleParameterValue ) - // InternalRosSystem.g:2935:6: lv_value_4_0= ruleParameterValue + // InternalRosSystem.g:3260:5: (lv_value_4_0= ruleParameterValue ) + // InternalRosSystem.g:3261:6: lv_value_4_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_value_4_0=ruleParameterValue(); state._fsp--; @@ -6946,11 +7731,11 @@ public final EObject ruleParameterList() throws RecognitionException { break; default : - break loop64; + break loop75; } } while (true); - otherlv_5=(Token)match(input,30,FOLLOW_2); + otherlv_5=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_5, grammarAccess.getParameterListAccess().getRightCurlyBracketKeyword_4()); @@ -6977,7 +7762,7 @@ public final EObject ruleParameterList() throws RecognitionException { // $ANTLR start "entryRuleParameterAny" - // InternalRosSystem.g:2961:1: entryRuleParameterAny returns [EObject current=null] : iv_ruleParameterAny= ruleParameterAny EOF ; + // InternalRosSystem.g:3287:1: entryRuleParameterAny returns [EObject current=null] : iv_ruleParameterAny= ruleParameterAny EOF ; public final EObject entryRuleParameterAny() throws RecognitionException { EObject current = null; @@ -6985,8 +7770,8 @@ public final EObject entryRuleParameterAny() throws RecognitionException { try { - // InternalRosSystem.g:2961:53: (iv_ruleParameterAny= ruleParameterAny EOF ) - // InternalRosSystem.g:2962:2: iv_ruleParameterAny= ruleParameterAny EOF + // InternalRosSystem.g:3287:53: (iv_ruleParameterAny= ruleParameterAny EOF ) + // InternalRosSystem.g:3288:2: iv_ruleParameterAny= ruleParameterAny EOF { newCompositeNode(grammarAccess.getParameterAnyRule()); pushFollow(FOLLOW_1); @@ -7013,7 +7798,7 @@ public final EObject entryRuleParameterAny() throws RecognitionException { // $ANTLR start "ruleParameterAny" - // InternalRosSystem.g:2968:1: ruleParameterAny returns [EObject current=null] : ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ; + // InternalRosSystem.g:3294:1: ruleParameterAny returns [EObject current=null] : ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ; public final EObject ruleParameterAny() throws RecognitionException { EObject current = null; @@ -7028,14 +7813,14 @@ public final EObject ruleParameterAny() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:2974:2: ( ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ) - // InternalRosSystem.g:2975:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) + // InternalRosSystem.g:3300:2: ( ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ) + // InternalRosSystem.g:3301:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) { - // InternalRosSystem.g:2975:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) - // InternalRosSystem.g:2976:3: () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' + // InternalRosSystem.g:3301:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) + // InternalRosSystem.g:3302:3: () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' { - // InternalRosSystem.g:2976:3: () - // InternalRosSystem.g:2977:4: + // InternalRosSystem.g:3302:3: () + // InternalRosSystem.g:3303:4: { current = forceCreateModelElement( @@ -7045,39 +7830,39 @@ public final EObject ruleParameterAny() throws RecognitionException { } - otherlv_1=(Token)match(input,75,FOLLOW_3); + otherlv_1=(Token)match(input,79,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getParameterAnyAccess().getParameterAnyKeyword_1()); - otherlv_2=(Token)match(input,23,FOLLOW_55); + otherlv_2=(Token)match(input,23,FOLLOW_66); newLeafNode(otherlv_2, grammarAccess.getParameterAnyAccess().getLeftCurlyBracketKeyword_2()); - // InternalRosSystem.g:2991:3: (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? - int alt65=2; - int LA65_0 = input.LA(1); + // InternalRosSystem.g:3317:3: (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? + int alt76=2; + int LA76_0 = input.LA(1); - if ( (LA65_0==63) ) { - alt65=1; + if ( (LA76_0==45) ) { + alt76=1; } - switch (alt65) { + switch (alt76) { case 1 : - // InternalRosSystem.g:2992:4: otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) + // InternalRosSystem.g:3318:4: otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) { - otherlv_3=(Token)match(input,63,FOLLOW_5); + otherlv_3=(Token)match(input,45,FOLLOW_5); newLeafNode(otherlv_3, grammarAccess.getParameterAnyAccess().getValueKeyword_3_0()); - // InternalRosSystem.g:2996:4: ( (lv_value_4_0= ruleEString ) ) - // InternalRosSystem.g:2997:5: (lv_value_4_0= ruleEString ) + // InternalRosSystem.g:3322:4: ( (lv_value_4_0= ruleEString ) ) + // InternalRosSystem.g:3323:5: (lv_value_4_0= ruleEString ) { - // InternalRosSystem.g:2997:5: (lv_value_4_0= ruleEString ) - // InternalRosSystem.g:2998:6: lv_value_4_0= ruleEString + // InternalRosSystem.g:3323:5: (lv_value_4_0= ruleEString ) + // InternalRosSystem.g:3324:6: lv_value_4_0= ruleEString { newCompositeNode(grammarAccess.getParameterAnyAccess().getValueEStringParserRuleCall_3_1_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); lv_value_4_0=ruleEString(); state._fsp--; @@ -7105,7 +7890,7 @@ public final EObject ruleParameterAny() throws RecognitionException { } - otherlv_5=(Token)match(input,30,FOLLOW_2); + otherlv_5=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_5, grammarAccess.getParameterAnyAccess().getRightCurlyBracketKeyword_4()); @@ -7132,7 +7917,7 @@ public final EObject ruleParameterAny() throws RecognitionException { // $ANTLR start "entryRuleParameterString" - // InternalRosSystem.g:3024:1: entryRuleParameterString returns [EObject current=null] : iv_ruleParameterString= ruleParameterString EOF ; + // InternalRosSystem.g:3350:1: entryRuleParameterString returns [EObject current=null] : iv_ruleParameterString= ruleParameterString EOF ; public final EObject entryRuleParameterString() throws RecognitionException { EObject current = null; @@ -7140,8 +7925,8 @@ public final EObject entryRuleParameterString() throws RecognitionException { try { - // InternalRosSystem.g:3024:56: (iv_ruleParameterString= ruleParameterString EOF ) - // InternalRosSystem.g:3025:2: iv_ruleParameterString= ruleParameterString EOF + // InternalRosSystem.g:3350:56: (iv_ruleParameterString= ruleParameterString EOF ) + // InternalRosSystem.g:3351:2: iv_ruleParameterString= ruleParameterString EOF { newCompositeNode(grammarAccess.getParameterStringRule()); pushFollow(FOLLOW_1); @@ -7168,7 +7953,7 @@ public final EObject entryRuleParameterString() throws RecognitionException { // $ANTLR start "ruleParameterString" - // InternalRosSystem.g:3031:1: ruleParameterString returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ; + // InternalRosSystem.g:3357:1: ruleParameterString returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ; public final EObject ruleParameterString() throws RecognitionException { EObject current = null; @@ -7179,14 +7964,14 @@ public final EObject ruleParameterString() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3037:2: ( ( (lv_value_0_0= ruleEString ) ) ) - // InternalRosSystem.g:3038:2: ( (lv_value_0_0= ruleEString ) ) + // InternalRosSystem.g:3363:2: ( ( (lv_value_0_0= ruleEString ) ) ) + // InternalRosSystem.g:3364:2: ( (lv_value_0_0= ruleEString ) ) { - // InternalRosSystem.g:3038:2: ( (lv_value_0_0= ruleEString ) ) - // InternalRosSystem.g:3039:3: (lv_value_0_0= ruleEString ) + // InternalRosSystem.g:3364:2: ( (lv_value_0_0= ruleEString ) ) + // InternalRosSystem.g:3365:3: (lv_value_0_0= ruleEString ) { - // InternalRosSystem.g:3039:3: (lv_value_0_0= ruleEString ) - // InternalRosSystem.g:3040:4: lv_value_0_0= ruleEString + // InternalRosSystem.g:3365:3: (lv_value_0_0= ruleEString ) + // InternalRosSystem.g:3366:4: lv_value_0_0= ruleEString { newCompositeNode(grammarAccess.getParameterStringAccess().getValueEStringParserRuleCall_0()); @@ -7233,7 +8018,7 @@ public final EObject ruleParameterString() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64" - // InternalRosSystem.g:3060:1: entryRuleParameterBase64 returns [EObject current=null] : iv_ruleParameterBase64= ruleParameterBase64 EOF ; + // InternalRosSystem.g:3386:1: entryRuleParameterBase64 returns [EObject current=null] : iv_ruleParameterBase64= ruleParameterBase64 EOF ; public final EObject entryRuleParameterBase64() throws RecognitionException { EObject current = null; @@ -7241,8 +8026,8 @@ public final EObject entryRuleParameterBase64() throws RecognitionException { try { - // InternalRosSystem.g:3060:56: (iv_ruleParameterBase64= ruleParameterBase64 EOF ) - // InternalRosSystem.g:3061:2: iv_ruleParameterBase64= ruleParameterBase64 EOF + // InternalRosSystem.g:3386:56: (iv_ruleParameterBase64= ruleParameterBase64 EOF ) + // InternalRosSystem.g:3387:2: iv_ruleParameterBase64= ruleParameterBase64 EOF { newCompositeNode(grammarAccess.getParameterBase64Rule()); pushFollow(FOLLOW_1); @@ -7269,7 +8054,7 @@ public final EObject entryRuleParameterBase64() throws RecognitionException { // $ANTLR start "ruleParameterBase64" - // InternalRosSystem.g:3067:1: ruleParameterBase64 returns [EObject current=null] : ( (lv_value_0_0= ruleBase64Binary ) ) ; + // InternalRosSystem.g:3393:1: ruleParameterBase64 returns [EObject current=null] : ( (lv_value_0_0= ruleBase64Binary ) ) ; public final EObject ruleParameterBase64() throws RecognitionException { EObject current = null; @@ -7280,14 +8065,14 @@ public final EObject ruleParameterBase64() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3073:2: ( ( (lv_value_0_0= ruleBase64Binary ) ) ) - // InternalRosSystem.g:3074:2: ( (lv_value_0_0= ruleBase64Binary ) ) + // InternalRosSystem.g:3399:2: ( ( (lv_value_0_0= ruleBase64Binary ) ) ) + // InternalRosSystem.g:3400:2: ( (lv_value_0_0= ruleBase64Binary ) ) { - // InternalRosSystem.g:3074:2: ( (lv_value_0_0= ruleBase64Binary ) ) - // InternalRosSystem.g:3075:3: (lv_value_0_0= ruleBase64Binary ) + // InternalRosSystem.g:3400:2: ( (lv_value_0_0= ruleBase64Binary ) ) + // InternalRosSystem.g:3401:3: (lv_value_0_0= ruleBase64Binary ) { - // InternalRosSystem.g:3075:3: (lv_value_0_0= ruleBase64Binary ) - // InternalRosSystem.g:3076:4: lv_value_0_0= ruleBase64Binary + // InternalRosSystem.g:3401:3: (lv_value_0_0= ruleBase64Binary ) + // InternalRosSystem.g:3402:4: lv_value_0_0= ruleBase64Binary { newCompositeNode(grammarAccess.getParameterBase64Access().getValueBase64BinaryParserRuleCall_0()); @@ -7334,7 +8119,7 @@ public final EObject ruleParameterBase64() throws RecognitionException { // $ANTLR start "entryRuleParameterInteger" - // InternalRosSystem.g:3096:1: entryRuleParameterInteger returns [EObject current=null] : iv_ruleParameterInteger= ruleParameterInteger EOF ; + // InternalRosSystem.g:3422:1: entryRuleParameterInteger returns [EObject current=null] : iv_ruleParameterInteger= ruleParameterInteger EOF ; public final EObject entryRuleParameterInteger() throws RecognitionException { EObject current = null; @@ -7342,8 +8127,8 @@ public final EObject entryRuleParameterInteger() throws RecognitionException { try { - // InternalRosSystem.g:3096:57: (iv_ruleParameterInteger= ruleParameterInteger EOF ) - // InternalRosSystem.g:3097:2: iv_ruleParameterInteger= ruleParameterInteger EOF + // InternalRosSystem.g:3422:57: (iv_ruleParameterInteger= ruleParameterInteger EOF ) + // InternalRosSystem.g:3423:2: iv_ruleParameterInteger= ruleParameterInteger EOF { newCompositeNode(grammarAccess.getParameterIntegerRule()); pushFollow(FOLLOW_1); @@ -7370,7 +8155,7 @@ public final EObject entryRuleParameterInteger() throws RecognitionException { // $ANTLR start "ruleParameterInteger" - // InternalRosSystem.g:3103:1: ruleParameterInteger returns [EObject current=null] : ( (lv_value_0_0= ruleInteger0 ) ) ; + // InternalRosSystem.g:3429:1: ruleParameterInteger returns [EObject current=null] : ( (lv_value_0_0= ruleInteger0 ) ) ; public final EObject ruleParameterInteger() throws RecognitionException { EObject current = null; @@ -7381,14 +8166,14 @@ public final EObject ruleParameterInteger() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3109:2: ( ( (lv_value_0_0= ruleInteger0 ) ) ) - // InternalRosSystem.g:3110:2: ( (lv_value_0_0= ruleInteger0 ) ) + // InternalRosSystem.g:3435:2: ( ( (lv_value_0_0= ruleInteger0 ) ) ) + // InternalRosSystem.g:3436:2: ( (lv_value_0_0= ruleInteger0 ) ) { - // InternalRosSystem.g:3110:2: ( (lv_value_0_0= ruleInteger0 ) ) - // InternalRosSystem.g:3111:3: (lv_value_0_0= ruleInteger0 ) + // InternalRosSystem.g:3436:2: ( (lv_value_0_0= ruleInteger0 ) ) + // InternalRosSystem.g:3437:3: (lv_value_0_0= ruleInteger0 ) { - // InternalRosSystem.g:3111:3: (lv_value_0_0= ruleInteger0 ) - // InternalRosSystem.g:3112:4: lv_value_0_0= ruleInteger0 + // InternalRosSystem.g:3437:3: (lv_value_0_0= ruleInteger0 ) + // InternalRosSystem.g:3438:4: lv_value_0_0= ruleInteger0 { newCompositeNode(grammarAccess.getParameterIntegerAccess().getValueInteger0ParserRuleCall_0()); @@ -7435,7 +8220,7 @@ public final EObject ruleParameterInteger() throws RecognitionException { // $ANTLR start "entryRuleParameterDouble" - // InternalRosSystem.g:3132:1: entryRuleParameterDouble returns [EObject current=null] : iv_ruleParameterDouble= ruleParameterDouble EOF ; + // InternalRosSystem.g:3458:1: entryRuleParameterDouble returns [EObject current=null] : iv_ruleParameterDouble= ruleParameterDouble EOF ; public final EObject entryRuleParameterDouble() throws RecognitionException { EObject current = null; @@ -7443,8 +8228,8 @@ public final EObject entryRuleParameterDouble() throws RecognitionException { try { - // InternalRosSystem.g:3132:56: (iv_ruleParameterDouble= ruleParameterDouble EOF ) - // InternalRosSystem.g:3133:2: iv_ruleParameterDouble= ruleParameterDouble EOF + // InternalRosSystem.g:3458:56: (iv_ruleParameterDouble= ruleParameterDouble EOF ) + // InternalRosSystem.g:3459:2: iv_ruleParameterDouble= ruleParameterDouble EOF { newCompositeNode(grammarAccess.getParameterDoubleRule()); pushFollow(FOLLOW_1); @@ -7471,7 +8256,7 @@ public final EObject entryRuleParameterDouble() throws RecognitionException { // $ANTLR start "ruleParameterDouble" - // InternalRosSystem.g:3139:1: ruleParameterDouble returns [EObject current=null] : ( (lv_value_0_0= ruleDouble0 ) ) ; + // InternalRosSystem.g:3465:1: ruleParameterDouble returns [EObject current=null] : ( (lv_value_0_0= ruleDouble0 ) ) ; public final EObject ruleParameterDouble() throws RecognitionException { EObject current = null; @@ -7482,14 +8267,14 @@ public final EObject ruleParameterDouble() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3145:2: ( ( (lv_value_0_0= ruleDouble0 ) ) ) - // InternalRosSystem.g:3146:2: ( (lv_value_0_0= ruleDouble0 ) ) + // InternalRosSystem.g:3471:2: ( ( (lv_value_0_0= ruleDouble0 ) ) ) + // InternalRosSystem.g:3472:2: ( (lv_value_0_0= ruleDouble0 ) ) { - // InternalRosSystem.g:3146:2: ( (lv_value_0_0= ruleDouble0 ) ) - // InternalRosSystem.g:3147:3: (lv_value_0_0= ruleDouble0 ) + // InternalRosSystem.g:3472:2: ( (lv_value_0_0= ruleDouble0 ) ) + // InternalRosSystem.g:3473:3: (lv_value_0_0= ruleDouble0 ) { - // InternalRosSystem.g:3147:3: (lv_value_0_0= ruleDouble0 ) - // InternalRosSystem.g:3148:4: lv_value_0_0= ruleDouble0 + // InternalRosSystem.g:3473:3: (lv_value_0_0= ruleDouble0 ) + // InternalRosSystem.g:3474:4: lv_value_0_0= ruleDouble0 { newCompositeNode(grammarAccess.getParameterDoubleAccess().getValueDouble0ParserRuleCall_0()); @@ -7536,7 +8321,7 @@ public final EObject ruleParameterDouble() throws RecognitionException { // $ANTLR start "entryRuleParameterBoolean" - // InternalRosSystem.g:3168:1: entryRuleParameterBoolean returns [EObject current=null] : iv_ruleParameterBoolean= ruleParameterBoolean EOF ; + // InternalRosSystem.g:3494:1: entryRuleParameterBoolean returns [EObject current=null] : iv_ruleParameterBoolean= ruleParameterBoolean EOF ; public final EObject entryRuleParameterBoolean() throws RecognitionException { EObject current = null; @@ -7544,8 +8329,8 @@ public final EObject entryRuleParameterBoolean() throws RecognitionException { try { - // InternalRosSystem.g:3168:57: (iv_ruleParameterBoolean= ruleParameterBoolean EOF ) - // InternalRosSystem.g:3169:2: iv_ruleParameterBoolean= ruleParameterBoolean EOF + // InternalRosSystem.g:3494:57: (iv_ruleParameterBoolean= ruleParameterBoolean EOF ) + // InternalRosSystem.g:3495:2: iv_ruleParameterBoolean= ruleParameterBoolean EOF { newCompositeNode(grammarAccess.getParameterBooleanRule()); pushFollow(FOLLOW_1); @@ -7572,7 +8357,7 @@ public final EObject entryRuleParameterBoolean() throws RecognitionException { // $ANTLR start "ruleParameterBoolean" - // InternalRosSystem.g:3175:1: ruleParameterBoolean returns [EObject current=null] : ( (lv_value_0_0= ruleboolean0 ) ) ; + // InternalRosSystem.g:3501:1: ruleParameterBoolean returns [EObject current=null] : ( (lv_value_0_0= ruleboolean0 ) ) ; public final EObject ruleParameterBoolean() throws RecognitionException { EObject current = null; @@ -7583,14 +8368,14 @@ public final EObject ruleParameterBoolean() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3181:2: ( ( (lv_value_0_0= ruleboolean0 ) ) ) - // InternalRosSystem.g:3182:2: ( (lv_value_0_0= ruleboolean0 ) ) + // InternalRosSystem.g:3507:2: ( ( (lv_value_0_0= ruleboolean0 ) ) ) + // InternalRosSystem.g:3508:2: ( (lv_value_0_0= ruleboolean0 ) ) { - // InternalRosSystem.g:3182:2: ( (lv_value_0_0= ruleboolean0 ) ) - // InternalRosSystem.g:3183:3: (lv_value_0_0= ruleboolean0 ) + // InternalRosSystem.g:3508:2: ( (lv_value_0_0= ruleboolean0 ) ) + // InternalRosSystem.g:3509:3: (lv_value_0_0= ruleboolean0 ) { - // InternalRosSystem.g:3183:3: (lv_value_0_0= ruleboolean0 ) - // InternalRosSystem.g:3184:4: lv_value_0_0= ruleboolean0 + // InternalRosSystem.g:3509:3: (lv_value_0_0= ruleboolean0 ) + // InternalRosSystem.g:3510:4: lv_value_0_0= ruleboolean0 { newCompositeNode(grammarAccess.getParameterBooleanAccess().getValueBoolean0ParserRuleCall_0()); @@ -7637,7 +8422,7 @@ public final EObject ruleParameterBoolean() throws RecognitionException { // $ANTLR start "entryRuleParameterDate" - // InternalRosSystem.g:3204:1: entryRuleParameterDate returns [EObject current=null] : iv_ruleParameterDate= ruleParameterDate EOF ; + // InternalRosSystem.g:3530:1: entryRuleParameterDate returns [EObject current=null] : iv_ruleParameterDate= ruleParameterDate EOF ; public final EObject entryRuleParameterDate() throws RecognitionException { EObject current = null; @@ -7645,8 +8430,8 @@ public final EObject entryRuleParameterDate() throws RecognitionException { try { - // InternalRosSystem.g:3204:54: (iv_ruleParameterDate= ruleParameterDate EOF ) - // InternalRosSystem.g:3205:2: iv_ruleParameterDate= ruleParameterDate EOF + // InternalRosSystem.g:3530:54: (iv_ruleParameterDate= ruleParameterDate EOF ) + // InternalRosSystem.g:3531:2: iv_ruleParameterDate= ruleParameterDate EOF { newCompositeNode(grammarAccess.getParameterDateRule()); pushFollow(FOLLOW_1); @@ -7673,7 +8458,7 @@ public final EObject entryRuleParameterDate() throws RecognitionException { // $ANTLR start "ruleParameterDate" - // InternalRosSystem.g:3211:1: ruleParameterDate returns [EObject current=null] : ( (lv_value_0_0= ruleDateTime0 ) ) ; + // InternalRosSystem.g:3537:1: ruleParameterDate returns [EObject current=null] : ( (lv_value_0_0= ruleDateTime0 ) ) ; public final EObject ruleParameterDate() throws RecognitionException { EObject current = null; @@ -7684,14 +8469,14 @@ public final EObject ruleParameterDate() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3217:2: ( ( (lv_value_0_0= ruleDateTime0 ) ) ) - // InternalRosSystem.g:3218:2: ( (lv_value_0_0= ruleDateTime0 ) ) + // InternalRosSystem.g:3543:2: ( ( (lv_value_0_0= ruleDateTime0 ) ) ) + // InternalRosSystem.g:3544:2: ( (lv_value_0_0= ruleDateTime0 ) ) { - // InternalRosSystem.g:3218:2: ( (lv_value_0_0= ruleDateTime0 ) ) - // InternalRosSystem.g:3219:3: (lv_value_0_0= ruleDateTime0 ) + // InternalRosSystem.g:3544:2: ( (lv_value_0_0= ruleDateTime0 ) ) + // InternalRosSystem.g:3545:3: (lv_value_0_0= ruleDateTime0 ) { - // InternalRosSystem.g:3219:3: (lv_value_0_0= ruleDateTime0 ) - // InternalRosSystem.g:3220:4: lv_value_0_0= ruleDateTime0 + // InternalRosSystem.g:3545:3: (lv_value_0_0= ruleDateTime0 ) + // InternalRosSystem.g:3546:4: lv_value_0_0= ruleDateTime0 { newCompositeNode(grammarAccess.getParameterDateAccess().getValueDateTime0ParserRuleCall_0()); @@ -7738,7 +8523,7 @@ public final EObject ruleParameterDate() throws RecognitionException { // $ANTLR start "entryRuleParameterStruct" - // InternalRosSystem.g:3240:1: entryRuleParameterStruct returns [EObject current=null] : iv_ruleParameterStruct= ruleParameterStruct EOF ; + // InternalRosSystem.g:3566:1: entryRuleParameterStruct returns [EObject current=null] : iv_ruleParameterStruct= ruleParameterStruct EOF ; public final EObject entryRuleParameterStruct() throws RecognitionException { EObject current = null; @@ -7746,8 +8531,8 @@ public final EObject entryRuleParameterStruct() throws RecognitionException { try { - // InternalRosSystem.g:3240:56: (iv_ruleParameterStruct= ruleParameterStruct EOF ) - // InternalRosSystem.g:3241:2: iv_ruleParameterStruct= ruleParameterStruct EOF + // InternalRosSystem.g:3566:56: (iv_ruleParameterStruct= ruleParameterStruct EOF ) + // InternalRosSystem.g:3567:2: iv_ruleParameterStruct= ruleParameterStruct EOF { newCompositeNode(grammarAccess.getParameterStructRule()); pushFollow(FOLLOW_1); @@ -7774,7 +8559,7 @@ public final EObject entryRuleParameterStruct() throws RecognitionException { // $ANTLR start "ruleParameterStruct" - // InternalRosSystem.g:3247:1: ruleParameterStruct returns [EObject current=null] : ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ; + // InternalRosSystem.g:3573:1: ruleParameterStruct returns [EObject current=null] : ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ; public final EObject ruleParameterStruct() throws RecognitionException { EObject current = null; @@ -7792,14 +8577,14 @@ public final EObject ruleParameterStruct() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3253:2: ( ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ) - // InternalRosSystem.g:3254:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) + // InternalRosSystem.g:3579:2: ( ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ) + // InternalRosSystem.g:3580:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) { - // InternalRosSystem.g:3254:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) - // InternalRosSystem.g:3255:3: () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? + // InternalRosSystem.g:3580:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) + // InternalRosSystem.g:3581:3: () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? { - // InternalRosSystem.g:3255:3: () - // InternalRosSystem.g:3256:4: + // InternalRosSystem.g:3581:3: () + // InternalRosSystem.g:3582:4: { current = forceCreateModelElement( @@ -7809,31 +8594,31 @@ public final EObject ruleParameterStruct() throws RecognitionException { } - // InternalRosSystem.g:3262:3: (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? - int alt67=2; - int LA67_0 = input.LA(1); + // InternalRosSystem.g:3588:3: (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? + int alt78=2; + int LA78_0 = input.LA(1); - if ( (LA67_0==23) ) { - alt67=1; + if ( (LA78_0==23) ) { + alt78=1; } - switch (alt67) { + switch (alt78) { case 1 : - // InternalRosSystem.g:3263:4: otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' + // InternalRosSystem.g:3589:4: otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' { otherlv_1=(Token)match(input,23,FOLLOW_5); newLeafNode(otherlv_1, grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_0()); - // InternalRosSystem.g:3267:4: ( (lv_value_2_0= ruleParameterStructMember ) ) - // InternalRosSystem.g:3268:5: (lv_value_2_0= ruleParameterStructMember ) + // InternalRosSystem.g:3593:4: ( (lv_value_2_0= ruleParameterStructMember ) ) + // InternalRosSystem.g:3594:5: (lv_value_2_0= ruleParameterStructMember ) { - // InternalRosSystem.g:3268:5: (lv_value_2_0= ruleParameterStructMember ) - // InternalRosSystem.g:3269:6: lv_value_2_0= ruleParameterStructMember + // InternalRosSystem.g:3594:5: (lv_value_2_0= ruleParameterStructMember ) + // InternalRosSystem.g:3595:6: lv_value_2_0= ruleParameterStructMember { newCompositeNode(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_value_2_0=ruleParameterStructMember(); state._fsp--; @@ -7855,20 +8640,20 @@ public final EObject ruleParameterStruct() throws RecognitionException { } - // InternalRosSystem.g:3286:4: (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* - loop66: + // InternalRosSystem.g:3612:4: (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* + loop77: do { - int alt66=2; - int LA66_0 = input.LA(1); + int alt77=2; + int LA77_0 = input.LA(1); - if ( (LA66_0==27) ) { - alt66=1; + if ( (LA77_0==27) ) { + alt77=1; } - switch (alt66) { + switch (alt77) { case 1 : - // InternalRosSystem.g:3287:5: otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' + // InternalRosSystem.g:3613:5: otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' { otherlv_3=(Token)match(input,27,FOLLOW_3); @@ -7878,16 +8663,16 @@ public final EObject ruleParameterStruct() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_2_1()); - // InternalRosSystem.g:3295:5: ( (lv_value_5_0= ruleParameterStructMember ) ) - // InternalRosSystem.g:3296:6: (lv_value_5_0= ruleParameterStructMember ) + // InternalRosSystem.g:3621:5: ( (lv_value_5_0= ruleParameterStructMember ) ) + // InternalRosSystem.g:3622:6: (lv_value_5_0= ruleParameterStructMember ) { - // InternalRosSystem.g:3296:6: (lv_value_5_0= ruleParameterStructMember ) - // InternalRosSystem.g:3297:7: lv_value_5_0= ruleParameterStructMember + // InternalRosSystem.g:3622:6: (lv_value_5_0= ruleParameterStructMember ) + // InternalRosSystem.g:3623:7: lv_value_5_0= ruleParameterStructMember { newCompositeNode(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_2_2_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); lv_value_5_0=ruleParameterStructMember(); state._fsp--; @@ -7909,7 +8694,7 @@ public final EObject ruleParameterStruct() throws RecognitionException { } - otherlv_6=(Token)match(input,30,FOLLOW_13); + otherlv_6=(Token)match(input,31,FOLLOW_16); newLeafNode(otherlv_6, grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_2_3()); @@ -7918,11 +8703,11 @@ public final EObject ruleParameterStruct() throws RecognitionException { break; default : - break loop66; + break loop77; } } while (true); - otherlv_7=(Token)match(input,30,FOLLOW_2); + otherlv_7=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_7, grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_3()); @@ -7955,7 +8740,7 @@ public final EObject ruleParameterStruct() throws RecognitionException { // $ANTLR start "entryRuleParameterStructMember" - // InternalRosSystem.g:3328:1: entryRuleParameterStructMember returns [EObject current=null] : iv_ruleParameterStructMember= ruleParameterStructMember EOF ; + // InternalRosSystem.g:3654:1: entryRuleParameterStructMember returns [EObject current=null] : iv_ruleParameterStructMember= ruleParameterStructMember EOF ; public final EObject entryRuleParameterStructMember() throws RecognitionException { EObject current = null; @@ -7963,8 +8748,8 @@ public final EObject entryRuleParameterStructMember() throws RecognitionExceptio try { - // InternalRosSystem.g:3328:62: (iv_ruleParameterStructMember= ruleParameterStructMember EOF ) - // InternalRosSystem.g:3329:2: iv_ruleParameterStructMember= ruleParameterStructMember EOF + // InternalRosSystem.g:3654:62: (iv_ruleParameterStructMember= ruleParameterStructMember EOF ) + // InternalRosSystem.g:3655:2: iv_ruleParameterStructMember= ruleParameterStructMember EOF { newCompositeNode(grammarAccess.getParameterStructMemberRule()); pushFollow(FOLLOW_1); @@ -7991,7 +8776,7 @@ public final EObject entryRuleParameterStructMember() throws RecognitionExceptio // $ANTLR start "ruleParameterStructMember" - // InternalRosSystem.g:3335:1: ruleParameterStructMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) ; + // InternalRosSystem.g:3661:1: ruleParameterStructMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) ; public final EObject ruleParameterStructMember() throws RecognitionException { EObject current = null; @@ -8007,17 +8792,17 @@ public final EObject ruleParameterStructMember() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3341:2: ( ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) ) - // InternalRosSystem.g:3342:2: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) + // InternalRosSystem.g:3667:2: ( ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) ) + // InternalRosSystem.g:3668:2: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) { - // InternalRosSystem.g:3342:2: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) - // InternalRosSystem.g:3343:3: ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' + // InternalRosSystem.g:3668:2: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' ) + // InternalRosSystem.g:3669:3: ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleParameterValue ) ) otherlv_4= '}' { - // InternalRosSystem.g:3343:3: ( (lv_name_0_0= ruleEString ) ) - // InternalRosSystem.g:3344:4: (lv_name_0_0= ruleEString ) + // InternalRosSystem.g:3669:3: ( (lv_name_0_0= ruleEString ) ) + // InternalRosSystem.g:3670:4: (lv_name_0_0= ruleEString ) { - // InternalRosSystem.g:3344:4: (lv_name_0_0= ruleEString ) - // InternalRosSystem.g:3345:5: lv_name_0_0= ruleEString + // InternalRosSystem.g:3670:4: (lv_name_0_0= ruleEString ) + // InternalRosSystem.g:3671:5: lv_name_0_0= ruleEString { newCompositeNode(grammarAccess.getParameterStructMemberAccess().getNameEStringParserRuleCall_0_0()); @@ -8044,24 +8829,24 @@ public final EObject ruleParameterStructMember() throws RecognitionException { } - otherlv_1=(Token)match(input,23,FOLLOW_68); + otherlv_1=(Token)match(input,23,FOLLOW_77); newLeafNode(otherlv_1, grammarAccess.getParameterStructMemberAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,63,FOLLOW_56); + otherlv_2=(Token)match(input,45,FOLLOW_38); newLeafNode(otherlv_2, grammarAccess.getParameterStructMemberAccess().getValueKeyword_2()); - // InternalRosSystem.g:3370:3: ( (lv_value_3_0= ruleParameterValue ) ) - // InternalRosSystem.g:3371:4: (lv_value_3_0= ruleParameterValue ) + // InternalRosSystem.g:3696:3: ( (lv_value_3_0= ruleParameterValue ) ) + // InternalRosSystem.g:3697:4: (lv_value_3_0= ruleParameterValue ) { - // InternalRosSystem.g:3371:4: (lv_value_3_0= ruleParameterValue ) - // InternalRosSystem.g:3372:5: lv_value_3_0= ruleParameterValue + // InternalRosSystem.g:3697:4: (lv_value_3_0= ruleParameterValue ) + // InternalRosSystem.g:3698:5: lv_value_3_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterStructMemberAccess().getValueParameterValueParserRuleCall_3_0()); - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_27); lv_value_3_0=ruleParameterValue(); state._fsp--; @@ -8083,7 +8868,7 @@ public final EObject ruleParameterStructMember() throws RecognitionException { } - otherlv_4=(Token)match(input,30,FOLLOW_2); + otherlv_4=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_4, grammarAccess.getParameterStructMemberAccess().getRightCurlyBracketKeyword_4()); @@ -8110,7 +8895,7 @@ public final EObject ruleParameterStructMember() throws RecognitionException { // $ANTLR start "entryRuleParameterStructTypeMember" - // InternalRosSystem.g:3397:1: entryRuleParameterStructTypeMember returns [EObject current=null] : iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ; + // InternalRosSystem.g:3723:1: entryRuleParameterStructTypeMember returns [EObject current=null] : iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ; public final EObject entryRuleParameterStructTypeMember() throws RecognitionException { EObject current = null; @@ -8118,8 +8903,8 @@ public final EObject entryRuleParameterStructTypeMember() throws RecognitionExce try { - // InternalRosSystem.g:3397:66: (iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ) - // InternalRosSystem.g:3398:2: iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF + // InternalRosSystem.g:3723:66: (iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ) + // InternalRosSystem.g:3724:2: iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF { newCompositeNode(grammarAccess.getParameterStructTypeMemberRule()); pushFollow(FOLLOW_1); @@ -8146,7 +8931,7 @@ public final EObject entryRuleParameterStructTypeMember() throws RecognitionExce // $ANTLR start "ruleParameterStructTypeMember" - // InternalRosSystem.g:3404:1: ruleParameterStructTypeMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ; + // InternalRosSystem.g:3730:1: ruleParameterStructTypeMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ; public final EObject ruleParameterStructTypeMember() throws RecognitionException { EObject current = null; @@ -8159,22 +8944,22 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException enterRule(); try { - // InternalRosSystem.g:3410:2: ( ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ) - // InternalRosSystem.g:3411:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) + // InternalRosSystem.g:3736:2: ( ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ) + // InternalRosSystem.g:3737:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) { - // InternalRosSystem.g:3411:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) - // InternalRosSystem.g:3412:3: ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) + // InternalRosSystem.g:3737:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) + // InternalRosSystem.g:3738:3: ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) { - // InternalRosSystem.g:3412:3: ( (lv_name_0_0= ruleEString ) ) - // InternalRosSystem.g:3413:4: (lv_name_0_0= ruleEString ) + // InternalRosSystem.g:3738:3: ( (lv_name_0_0= ruleEString ) ) + // InternalRosSystem.g:3739:4: (lv_name_0_0= ruleEString ) { - // InternalRosSystem.g:3413:4: (lv_name_0_0= ruleEString ) - // InternalRosSystem.g:3414:5: lv_name_0_0= ruleEString + // InternalRosSystem.g:3739:4: (lv_name_0_0= ruleEString ) + // InternalRosSystem.g:3740:5: lv_name_0_0= ruleEString { newCompositeNode(grammarAccess.getParameterStructTypeMemberAccess().getNameEStringParserRuleCall_0_0()); - pushFollow(FOLLOW_60); + pushFollow(FOLLOW_36); lv_name_0_0=ruleEString(); state._fsp--; @@ -8196,11 +8981,11 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException } - // InternalRosSystem.g:3431:3: ( (lv_type_1_0= ruleParameterType ) ) - // InternalRosSystem.g:3432:4: (lv_type_1_0= ruleParameterType ) + // InternalRosSystem.g:3757:3: ( (lv_type_1_0= ruleParameterType ) ) + // InternalRosSystem.g:3758:4: (lv_type_1_0= ruleParameterType ) { - // InternalRosSystem.g:3432:4: (lv_type_1_0= ruleParameterType ) - // InternalRosSystem.g:3433:5: lv_type_1_0= ruleParameterType + // InternalRosSystem.g:3758:4: (lv_type_1_0= ruleParameterType ) + // InternalRosSystem.g:3759:5: lv_type_1_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterStructTypeMemberAccess().getTypeParameterTypeParserRuleCall_1_0()); @@ -8250,7 +9035,7 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException // $ANTLR start "entryRuleBase64Binary" - // InternalRosSystem.g:3454:1: entryRuleBase64Binary returns [String current=null] : iv_ruleBase64Binary= ruleBase64Binary EOF ; + // InternalRosSystem.g:3780:1: entryRuleBase64Binary returns [String current=null] : iv_ruleBase64Binary= ruleBase64Binary EOF ; public final String entryRuleBase64Binary() throws RecognitionException { String current = null; @@ -8258,8 +9043,8 @@ public final String entryRuleBase64Binary() throws RecognitionException { try { - // InternalRosSystem.g:3454:52: (iv_ruleBase64Binary= ruleBase64Binary EOF ) - // InternalRosSystem.g:3455:2: iv_ruleBase64Binary= ruleBase64Binary EOF + // InternalRosSystem.g:3780:52: (iv_ruleBase64Binary= ruleBase64Binary EOF ) + // InternalRosSystem.g:3781:2: iv_ruleBase64Binary= ruleBase64Binary EOF { newCompositeNode(grammarAccess.getBase64BinaryRule()); pushFollow(FOLLOW_1); @@ -8286,7 +9071,7 @@ public final String entryRuleBase64Binary() throws RecognitionException { // $ANTLR start "ruleBase64Binary" - // InternalRosSystem.g:3461:1: ruleBase64Binary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BINARY_0= RULE_BINARY ; + // InternalRosSystem.g:3787:1: ruleBase64Binary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BINARY_0= RULE_BINARY ; public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8296,8 +9081,8 @@ public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionExcepti enterRule(); try { - // InternalRosSystem.g:3467:2: (this_BINARY_0= RULE_BINARY ) - // InternalRosSystem.g:3468:2: this_BINARY_0= RULE_BINARY + // InternalRosSystem.g:3793:2: (this_BINARY_0= RULE_BINARY ) + // InternalRosSystem.g:3794:2: this_BINARY_0= RULE_BINARY { this_BINARY_0=(Token)match(input,RULE_BINARY,FOLLOW_2); @@ -8326,7 +9111,7 @@ public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionExcepti // $ANTLR start "entryRuleboolean0" - // InternalRosSystem.g:3478:1: entryRuleboolean0 returns [String current=null] : iv_ruleboolean0= ruleboolean0 EOF ; + // InternalRosSystem.g:3804:1: entryRuleboolean0 returns [String current=null] : iv_ruleboolean0= ruleboolean0 EOF ; public final String entryRuleboolean0() throws RecognitionException { String current = null; @@ -8334,8 +9119,8 @@ public final String entryRuleboolean0() throws RecognitionException { try { - // InternalRosSystem.g:3478:48: (iv_ruleboolean0= ruleboolean0 EOF ) - // InternalRosSystem.g:3479:2: iv_ruleboolean0= ruleboolean0 EOF + // InternalRosSystem.g:3804:48: (iv_ruleboolean0= ruleboolean0 EOF ) + // InternalRosSystem.g:3805:2: iv_ruleboolean0= ruleboolean0 EOF { newCompositeNode(grammarAccess.getBoolean0Rule()); pushFollow(FOLLOW_1); @@ -8362,7 +9147,7 @@ public final String entryRuleboolean0() throws RecognitionException { // $ANTLR start "ruleboolean0" - // InternalRosSystem.g:3485:1: ruleboolean0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BOOLEAN_0= RULE_BOOLEAN ; + // InternalRosSystem.g:3811:1: ruleboolean0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BOOLEAN_0= RULE_BOOLEAN ; public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8372,8 +9157,8 @@ public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3491:2: (this_BOOLEAN_0= RULE_BOOLEAN ) - // InternalRosSystem.g:3492:2: this_BOOLEAN_0= RULE_BOOLEAN + // InternalRosSystem.g:3817:2: (this_BOOLEAN_0= RULE_BOOLEAN ) + // InternalRosSystem.g:3818:2: this_BOOLEAN_0= RULE_BOOLEAN { this_BOOLEAN_0=(Token)match(input,RULE_BOOLEAN,FOLLOW_2); @@ -8402,7 +9187,7 @@ public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { // $ANTLR start "entryRuleDouble0" - // InternalRosSystem.g:3502:1: entryRuleDouble0 returns [String current=null] : iv_ruleDouble0= ruleDouble0 EOF ; + // InternalRosSystem.g:3828:1: entryRuleDouble0 returns [String current=null] : iv_ruleDouble0= ruleDouble0 EOF ; public final String entryRuleDouble0() throws RecognitionException { String current = null; @@ -8410,8 +9195,8 @@ public final String entryRuleDouble0() throws RecognitionException { try { - // InternalRosSystem.g:3502:47: (iv_ruleDouble0= ruleDouble0 EOF ) - // InternalRosSystem.g:3503:2: iv_ruleDouble0= ruleDouble0 EOF + // InternalRosSystem.g:3828:47: (iv_ruleDouble0= ruleDouble0 EOF ) + // InternalRosSystem.g:3829:2: iv_ruleDouble0= ruleDouble0 EOF { newCompositeNode(grammarAccess.getDouble0Rule()); pushFollow(FOLLOW_1); @@ -8438,7 +9223,7 @@ public final String entryRuleDouble0() throws RecognitionException { // $ANTLR start "ruleDouble0" - // InternalRosSystem.g:3509:1: ruleDouble0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DOUBLE_0= RULE_DOUBLE ; + // InternalRosSystem.g:3835:1: ruleDouble0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DOUBLE_0= RULE_DOUBLE ; public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8448,8 +9233,8 @@ public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3515:2: (this_DOUBLE_0= RULE_DOUBLE ) - // InternalRosSystem.g:3516:2: this_DOUBLE_0= RULE_DOUBLE + // InternalRosSystem.g:3841:2: (this_DOUBLE_0= RULE_DOUBLE ) + // InternalRosSystem.g:3842:2: this_DOUBLE_0= RULE_DOUBLE { this_DOUBLE_0=(Token)match(input,RULE_DOUBLE,FOLLOW_2); @@ -8478,7 +9263,7 @@ public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { // $ANTLR start "entryRuleInteger0" - // InternalRosSystem.g:3526:1: entryRuleInteger0 returns [String current=null] : iv_ruleInteger0= ruleInteger0 EOF ; + // InternalRosSystem.g:3852:1: entryRuleInteger0 returns [String current=null] : iv_ruleInteger0= ruleInteger0 EOF ; public final String entryRuleInteger0() throws RecognitionException { String current = null; @@ -8486,8 +9271,8 @@ public final String entryRuleInteger0() throws RecognitionException { try { - // InternalRosSystem.g:3526:48: (iv_ruleInteger0= ruleInteger0 EOF ) - // InternalRosSystem.g:3527:2: iv_ruleInteger0= ruleInteger0 EOF + // InternalRosSystem.g:3852:48: (iv_ruleInteger0= ruleInteger0 EOF ) + // InternalRosSystem.g:3853:2: iv_ruleInteger0= ruleInteger0 EOF { newCompositeNode(grammarAccess.getInteger0Rule()); pushFollow(FOLLOW_1); @@ -8514,7 +9299,7 @@ public final String entryRuleInteger0() throws RecognitionException { // $ANTLR start "ruleInteger0" - // InternalRosSystem.g:3533:1: ruleInteger0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DECINT_0= RULE_DECINT ; + // InternalRosSystem.g:3859:1: ruleInteger0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DECINT_0= RULE_DECINT ; public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8524,8 +9309,8 @@ public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3539:2: (this_DECINT_0= RULE_DECINT ) - // InternalRosSystem.g:3540:2: this_DECINT_0= RULE_DECINT + // InternalRosSystem.g:3865:2: (this_DECINT_0= RULE_DECINT ) + // InternalRosSystem.g:3866:2: this_DECINT_0= RULE_DECINT { this_DECINT_0=(Token)match(input,RULE_DECINT,FOLLOW_2); @@ -8554,7 +9339,7 @@ public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { // $ANTLR start "entryRuleDateTime0" - // InternalRosSystem.g:3550:1: entryRuleDateTime0 returns [String current=null] : iv_ruleDateTime0= ruleDateTime0 EOF ; + // InternalRosSystem.g:3876:1: entryRuleDateTime0 returns [String current=null] : iv_ruleDateTime0= ruleDateTime0 EOF ; public final String entryRuleDateTime0() throws RecognitionException { String current = null; @@ -8562,8 +9347,8 @@ public final String entryRuleDateTime0() throws RecognitionException { try { - // InternalRosSystem.g:3550:49: (iv_ruleDateTime0= ruleDateTime0 EOF ) - // InternalRosSystem.g:3551:2: iv_ruleDateTime0= ruleDateTime0 EOF + // InternalRosSystem.g:3876:49: (iv_ruleDateTime0= ruleDateTime0 EOF ) + // InternalRosSystem.g:3877:2: iv_ruleDateTime0= ruleDateTime0 EOF { newCompositeNode(grammarAccess.getDateTime0Rule()); pushFollow(FOLLOW_1); @@ -8590,7 +9375,7 @@ public final String entryRuleDateTime0() throws RecognitionException { // $ANTLR start "ruleDateTime0" - // InternalRosSystem.g:3557:1: ruleDateTime0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DATE_TIME_0= RULE_DATE_TIME ; + // InternalRosSystem.g:3883:1: ruleDateTime0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DATE_TIME_0= RULE_DATE_TIME ; public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -8600,8 +9385,8 @@ public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException enterRule(); try { - // InternalRosSystem.g:3563:2: (this_DATE_TIME_0= RULE_DATE_TIME ) - // InternalRosSystem.g:3564:2: this_DATE_TIME_0= RULE_DATE_TIME + // InternalRosSystem.g:3889:2: (this_DATE_TIME_0= RULE_DATE_TIME ) + // InternalRosSystem.g:3890:2: this_DATE_TIME_0= RULE_DATE_TIME { this_DATE_TIME_0=(Token)match(input,RULE_DATE_TIME,FOLLOW_2); @@ -8630,7 +9415,7 @@ public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException // $ANTLR start "entryRuleNamespace" - // InternalRosSystem.g:3574:1: entryRuleNamespace returns [EObject current=null] : iv_ruleNamespace= ruleNamespace EOF ; + // InternalRosSystem.g:3900:1: entryRuleNamespace returns [EObject current=null] : iv_ruleNamespace= ruleNamespace EOF ; public final EObject entryRuleNamespace() throws RecognitionException { EObject current = null; @@ -8638,8 +9423,8 @@ public final EObject entryRuleNamespace() throws RecognitionException { try { - // InternalRosSystem.g:3574:50: (iv_ruleNamespace= ruleNamespace EOF ) - // InternalRosSystem.g:3575:2: iv_ruleNamespace= ruleNamespace EOF + // InternalRosSystem.g:3900:50: (iv_ruleNamespace= ruleNamespace EOF ) + // InternalRosSystem.g:3901:2: iv_ruleNamespace= ruleNamespace EOF { newCompositeNode(grammarAccess.getNamespaceRule()); pushFollow(FOLLOW_1); @@ -8666,7 +9451,7 @@ public final EObject entryRuleNamespace() throws RecognitionException { // $ANTLR start "ruleNamespace" - // InternalRosSystem.g:3581:1: ruleNamespace returns [EObject current=null] : (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ; + // InternalRosSystem.g:3907:1: ruleNamespace returns [EObject current=null] : (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ; public final EObject ruleNamespace() throws RecognitionException { EObject current = null; @@ -8681,37 +9466,37 @@ public final EObject ruleNamespace() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3587:2: ( (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ) - // InternalRosSystem.g:3588:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) + // InternalRosSystem.g:3913:2: ( (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ) + // InternalRosSystem.g:3914:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) { - // InternalRosSystem.g:3588:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) - int alt68=3; + // InternalRosSystem.g:3914:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) + int alt79=3; switch ( input.LA(1) ) { - case 76: + case 80: { - alt68=1; + alt79=1; } break; - case 78: + case 82: { - alt68=2; + alt79=2; } break; - case 79: + case 83: { - alt68=3; + alt79=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 68, 0, input); + new NoViableAltException("", 79, 0, input); throw nvae; } - switch (alt68) { + switch (alt79) { case 1 : - // InternalRosSystem.g:3589:3: this_GlobalNamespace_0= ruleGlobalNamespace + // InternalRosSystem.g:3915:3: this_GlobalNamespace_0= ruleGlobalNamespace { newCompositeNode(grammarAccess.getNamespaceAccess().getGlobalNamespaceParserRuleCall_0()); @@ -8729,7 +9514,7 @@ public final EObject ruleNamespace() throws RecognitionException { } break; case 2 : - // InternalRosSystem.g:3598:3: this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl + // InternalRosSystem.g:3924:3: this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl { newCompositeNode(grammarAccess.getNamespaceAccess().getRelativeNamespace_ImplParserRuleCall_1()); @@ -8747,7 +9532,7 @@ public final EObject ruleNamespace() throws RecognitionException { } break; case 3 : - // InternalRosSystem.g:3607:3: this_PrivateNamespace_2= rulePrivateNamespace + // InternalRosSystem.g:3933:3: this_PrivateNamespace_2= rulePrivateNamespace { newCompositeNode(grammarAccess.getNamespaceAccess().getPrivateNamespaceParserRuleCall_2()); @@ -8787,7 +9572,7 @@ public final EObject ruleNamespace() throws RecognitionException { // $ANTLR start "entryRuleGlobalNamespace" - // InternalRosSystem.g:3619:1: entryRuleGlobalNamespace returns [EObject current=null] : iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ; + // InternalRosSystem.g:3945:1: entryRuleGlobalNamespace returns [EObject current=null] : iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ; public final EObject entryRuleGlobalNamespace() throws RecognitionException { EObject current = null; @@ -8795,8 +9580,8 @@ public final EObject entryRuleGlobalNamespace() throws RecognitionException { try { - // InternalRosSystem.g:3619:56: (iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ) - // InternalRosSystem.g:3620:2: iv_ruleGlobalNamespace= ruleGlobalNamespace EOF + // InternalRosSystem.g:3945:56: (iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ) + // InternalRosSystem.g:3946:2: iv_ruleGlobalNamespace= ruleGlobalNamespace EOF { newCompositeNode(grammarAccess.getGlobalNamespaceRule()); pushFollow(FOLLOW_1); @@ -8823,7 +9608,7 @@ public final EObject entryRuleGlobalNamespace() throws RecognitionException { // $ANTLR start "ruleGlobalNamespace" - // InternalRosSystem.g:3626:1: ruleGlobalNamespace returns [EObject current=null] : ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRosSystem.g:3952:1: ruleGlobalNamespace returns [EObject current=null] : ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject ruleGlobalNamespace() throws RecognitionException { EObject current = null; @@ -8843,14 +9628,14 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3632:2: ( ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRosSystem.g:3633:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRosSystem.g:3958:2: ( ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRosSystem.g:3959:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRosSystem.g:3633:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRosSystem.g:3634:3: () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRosSystem.g:3959:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRosSystem.g:3960:3: () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRosSystem.g:3634:3: () - // InternalRosSystem.g:3635:4: + // InternalRosSystem.g:3960:3: () + // InternalRosSystem.g:3961:4: { current = forceCreateModelElement( @@ -8860,43 +9645,43 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { } - otherlv_1=(Token)match(input,76,FOLLOW_3); + otherlv_1=(Token)match(input,80,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceKeyword_1()); - otherlv_2=(Token)match(input,23,FOLLOW_69); + otherlv_2=(Token)match(input,23,FOLLOW_78); newLeafNode(otherlv_2, grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_2()); - // InternalRosSystem.g:3649:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt70=2; - int LA70_0 = input.LA(1); + // InternalRosSystem.g:3975:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt81=2; + int LA81_0 = input.LA(1); - if ( (LA70_0==77) ) { - alt70=1; + if ( (LA81_0==81) ) { + alt81=1; } - switch (alt70) { + switch (alt81) { case 1 : - // InternalRosSystem.g:3650:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRosSystem.g:3976:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { - otherlv_3=(Token)match(input,77,FOLLOW_3); + otherlv_3=(Token)match(input,81,FOLLOW_3); newLeafNode(otherlv_3, grammarAccess.getGlobalNamespaceAccess().getPartsKeyword_3_0()); - otherlv_4=(Token)match(input,23,FOLLOW_70); + otherlv_4=(Token)match(input,23,FOLLOW_79); newLeafNode(otherlv_4, grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRosSystem.g:3658:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRosSystem.g:3659:5: (lv_parts_5_0= ruleGraphName ) + // InternalRosSystem.g:3984:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRosSystem.g:3985:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRosSystem.g:3659:5: (lv_parts_5_0= ruleGraphName ) - // InternalRosSystem.g:3660:6: lv_parts_5_0= ruleGraphName + // InternalRosSystem.g:3985:5: (lv_parts_5_0= ruleGraphName ) + // InternalRosSystem.g:3986:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parts_5_0=ruleGraphName(); state._fsp--; @@ -8918,35 +9703,35 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { } - // InternalRosSystem.g:3677:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop69: + // InternalRosSystem.g:4003:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop80: do { - int alt69=2; - int LA69_0 = input.LA(1); + int alt80=2; + int LA80_0 = input.LA(1); - if ( (LA69_0==27) ) { - alt69=1; + if ( (LA80_0==27) ) { + alt80=1; } - switch (alt69) { + switch (alt80) { case 1 : - // InternalRosSystem.g:3678:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRosSystem.g:4004:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { - otherlv_6=(Token)match(input,27,FOLLOW_70); + otherlv_6=(Token)match(input,27,FOLLOW_79); newLeafNode(otherlv_6, grammarAccess.getGlobalNamespaceAccess().getCommaKeyword_3_3_0()); - // InternalRosSystem.g:3682:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRosSystem.g:3683:6: (lv_parts_7_0= ruleGraphName ) + // InternalRosSystem.g:4008:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRosSystem.g:4009:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRosSystem.g:3683:6: (lv_parts_7_0= ruleGraphName ) - // InternalRosSystem.g:3684:7: lv_parts_7_0= ruleGraphName + // InternalRosSystem.g:4009:6: (lv_parts_7_0= ruleGraphName ) + // InternalRosSystem.g:4010:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parts_7_0=ruleGraphName(); state._fsp--; @@ -8973,11 +9758,11 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { break; default : - break loop69; + break loop80; } } while (true); - otherlv_8=(Token)match(input,30,FOLLOW_24); + otherlv_8=(Token)match(input,31,FOLLOW_27); newLeafNode(otherlv_8, grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_3_4()); @@ -8987,7 +9772,7 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { } - otherlv_9=(Token)match(input,30,FOLLOW_2); + otherlv_9=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_9, grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_4()); @@ -9014,7 +9799,7 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { // $ANTLR start "entryRuleRelativeNamespace_Impl" - // InternalRosSystem.g:3715:1: entryRuleRelativeNamespace_Impl returns [EObject current=null] : iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ; + // InternalRosSystem.g:4041:1: entryRuleRelativeNamespace_Impl returns [EObject current=null] : iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ; public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionException { EObject current = null; @@ -9022,8 +9807,8 @@ public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionExcepti try { - // InternalRosSystem.g:3715:63: (iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ) - // InternalRosSystem.g:3716:2: iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF + // InternalRosSystem.g:4041:63: (iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ) + // InternalRosSystem.g:4042:2: iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF { newCompositeNode(grammarAccess.getRelativeNamespace_ImplRule()); pushFollow(FOLLOW_1); @@ -9050,7 +9835,7 @@ public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionExcepti // $ANTLR start "ruleRelativeNamespace_Impl" - // InternalRosSystem.g:3722:1: ruleRelativeNamespace_Impl returns [EObject current=null] : ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRosSystem.g:4048:1: ruleRelativeNamespace_Impl returns [EObject current=null] : ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { EObject current = null; @@ -9070,14 +9855,14 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3728:2: ( ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRosSystem.g:3729:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRosSystem.g:4054:2: ( ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRosSystem.g:4055:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRosSystem.g:3729:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRosSystem.g:3730:3: () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRosSystem.g:4055:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRosSystem.g:4056:3: () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRosSystem.g:3730:3: () - // InternalRosSystem.g:3731:4: + // InternalRosSystem.g:4056:3: () + // InternalRosSystem.g:4057:4: { current = forceCreateModelElement( @@ -9087,43 +9872,43 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { } - otherlv_1=(Token)match(input,78,FOLLOW_3); + otherlv_1=(Token)match(input,82,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceKeyword_1()); - otherlv_2=(Token)match(input,23,FOLLOW_69); + otherlv_2=(Token)match(input,23,FOLLOW_78); newLeafNode(otherlv_2, grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_2()); - // InternalRosSystem.g:3745:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt72=2; - int LA72_0 = input.LA(1); + // InternalRosSystem.g:4071:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt83=2; + int LA83_0 = input.LA(1); - if ( (LA72_0==77) ) { - alt72=1; + if ( (LA83_0==81) ) { + alt83=1; } - switch (alt72) { + switch (alt83) { case 1 : - // InternalRosSystem.g:3746:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRosSystem.g:4072:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { - otherlv_3=(Token)match(input,77,FOLLOW_3); + otherlv_3=(Token)match(input,81,FOLLOW_3); newLeafNode(otherlv_3, grammarAccess.getRelativeNamespace_ImplAccess().getPartsKeyword_3_0()); - otherlv_4=(Token)match(input,23,FOLLOW_70); + otherlv_4=(Token)match(input,23,FOLLOW_79); newLeafNode(otherlv_4, grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRosSystem.g:3754:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRosSystem.g:3755:5: (lv_parts_5_0= ruleGraphName ) + // InternalRosSystem.g:4080:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRosSystem.g:4081:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRosSystem.g:3755:5: (lv_parts_5_0= ruleGraphName ) - // InternalRosSystem.g:3756:6: lv_parts_5_0= ruleGraphName + // InternalRosSystem.g:4081:5: (lv_parts_5_0= ruleGraphName ) + // InternalRosSystem.g:4082:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parts_5_0=ruleGraphName(); state._fsp--; @@ -9145,35 +9930,35 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { } - // InternalRosSystem.g:3773:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop71: + // InternalRosSystem.g:4099:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop82: do { - int alt71=2; - int LA71_0 = input.LA(1); + int alt82=2; + int LA82_0 = input.LA(1); - if ( (LA71_0==27) ) { - alt71=1; + if ( (LA82_0==27) ) { + alt82=1; } - switch (alt71) { + switch (alt82) { case 1 : - // InternalRosSystem.g:3774:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRosSystem.g:4100:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { - otherlv_6=(Token)match(input,27,FOLLOW_70); + otherlv_6=(Token)match(input,27,FOLLOW_79); newLeafNode(otherlv_6, grammarAccess.getRelativeNamespace_ImplAccess().getCommaKeyword_3_3_0()); - // InternalRosSystem.g:3778:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRosSystem.g:3779:6: (lv_parts_7_0= ruleGraphName ) + // InternalRosSystem.g:4104:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRosSystem.g:4105:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRosSystem.g:3779:6: (lv_parts_7_0= ruleGraphName ) - // InternalRosSystem.g:3780:7: lv_parts_7_0= ruleGraphName + // InternalRosSystem.g:4105:6: (lv_parts_7_0= ruleGraphName ) + // InternalRosSystem.g:4106:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parts_7_0=ruleGraphName(); state._fsp--; @@ -9200,11 +9985,11 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { break; default : - break loop71; + break loop82; } } while (true); - otherlv_8=(Token)match(input,30,FOLLOW_24); + otherlv_8=(Token)match(input,31,FOLLOW_27); newLeafNode(otherlv_8, grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_3_4()); @@ -9214,7 +9999,7 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { } - otherlv_9=(Token)match(input,30,FOLLOW_2); + otherlv_9=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_9, grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_4()); @@ -9241,7 +10026,7 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { // $ANTLR start "entryRulePrivateNamespace" - // InternalRosSystem.g:3811:1: entryRulePrivateNamespace returns [EObject current=null] : iv_rulePrivateNamespace= rulePrivateNamespace EOF ; + // InternalRosSystem.g:4137:1: entryRulePrivateNamespace returns [EObject current=null] : iv_rulePrivateNamespace= rulePrivateNamespace EOF ; public final EObject entryRulePrivateNamespace() throws RecognitionException { EObject current = null; @@ -9249,8 +10034,8 @@ public final EObject entryRulePrivateNamespace() throws RecognitionException { try { - // InternalRosSystem.g:3811:57: (iv_rulePrivateNamespace= rulePrivateNamespace EOF ) - // InternalRosSystem.g:3812:2: iv_rulePrivateNamespace= rulePrivateNamespace EOF + // InternalRosSystem.g:4137:57: (iv_rulePrivateNamespace= rulePrivateNamespace EOF ) + // InternalRosSystem.g:4138:2: iv_rulePrivateNamespace= rulePrivateNamespace EOF { newCompositeNode(grammarAccess.getPrivateNamespaceRule()); pushFollow(FOLLOW_1); @@ -9277,7 +10062,7 @@ public final EObject entryRulePrivateNamespace() throws RecognitionException { // $ANTLR start "rulePrivateNamespace" - // InternalRosSystem.g:3818:1: rulePrivateNamespace returns [EObject current=null] : ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRosSystem.g:4144:1: rulePrivateNamespace returns [EObject current=null] : ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject rulePrivateNamespace() throws RecognitionException { EObject current = null; @@ -9297,14 +10082,14 @@ public final EObject rulePrivateNamespace() throws RecognitionException { enterRule(); try { - // InternalRosSystem.g:3824:2: ( ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRosSystem.g:3825:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRosSystem.g:4150:2: ( ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRosSystem.g:4151:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRosSystem.g:3825:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRosSystem.g:3826:3: () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRosSystem.g:4151:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRosSystem.g:4152:3: () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRosSystem.g:3826:3: () - // InternalRosSystem.g:3827:4: + // InternalRosSystem.g:4152:3: () + // InternalRosSystem.g:4153:4: { current = forceCreateModelElement( @@ -9314,43 +10099,43 @@ public final EObject rulePrivateNamespace() throws RecognitionException { } - otherlv_1=(Token)match(input,79,FOLLOW_3); + otherlv_1=(Token)match(input,83,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceKeyword_1()); - otherlv_2=(Token)match(input,23,FOLLOW_69); + otherlv_2=(Token)match(input,23,FOLLOW_78); newLeafNode(otherlv_2, grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_2()); - // InternalRosSystem.g:3841:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt74=2; - int LA74_0 = input.LA(1); + // InternalRosSystem.g:4167:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt85=2; + int LA85_0 = input.LA(1); - if ( (LA74_0==77) ) { - alt74=1; + if ( (LA85_0==81) ) { + alt85=1; } - switch (alt74) { + switch (alt85) { case 1 : - // InternalRosSystem.g:3842:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRosSystem.g:4168:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { - otherlv_3=(Token)match(input,77,FOLLOW_3); + otherlv_3=(Token)match(input,81,FOLLOW_3); newLeafNode(otherlv_3, grammarAccess.getPrivateNamespaceAccess().getPartsKeyword_3_0()); - otherlv_4=(Token)match(input,23,FOLLOW_70); + otherlv_4=(Token)match(input,23,FOLLOW_79); newLeafNode(otherlv_4, grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRosSystem.g:3850:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRosSystem.g:3851:5: (lv_parts_5_0= ruleGraphName ) + // InternalRosSystem.g:4176:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRosSystem.g:4177:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRosSystem.g:3851:5: (lv_parts_5_0= ruleGraphName ) - // InternalRosSystem.g:3852:6: lv_parts_5_0= ruleGraphName + // InternalRosSystem.g:4177:5: (lv_parts_5_0= ruleGraphName ) + // InternalRosSystem.g:4178:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parts_5_0=ruleGraphName(); state._fsp--; @@ -9372,35 +10157,35 @@ public final EObject rulePrivateNamespace() throws RecognitionException { } - // InternalRosSystem.g:3869:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop73: + // InternalRosSystem.g:4195:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop84: do { - int alt73=2; - int LA73_0 = input.LA(1); + int alt84=2; + int LA84_0 = input.LA(1); - if ( (LA73_0==27) ) { - alt73=1; + if ( (LA84_0==27) ) { + alt84=1; } - switch (alt73) { + switch (alt84) { case 1 : - // InternalRosSystem.g:3870:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRosSystem.g:4196:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { - otherlv_6=(Token)match(input,27,FOLLOW_70); + otherlv_6=(Token)match(input,27,FOLLOW_79); newLeafNode(otherlv_6, grammarAccess.getPrivateNamespaceAccess().getCommaKeyword_3_3_0()); - // InternalRosSystem.g:3874:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRosSystem.g:3875:6: (lv_parts_7_0= ruleGraphName ) + // InternalRosSystem.g:4200:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRosSystem.g:4201:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRosSystem.g:3875:6: (lv_parts_7_0= ruleGraphName ) - // InternalRosSystem.g:3876:7: lv_parts_7_0= ruleGraphName + // InternalRosSystem.g:4201:6: (lv_parts_7_0= ruleGraphName ) + // InternalRosSystem.g:4202:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_16); lv_parts_7_0=ruleGraphName(); state._fsp--; @@ -9427,11 +10212,11 @@ public final EObject rulePrivateNamespace() throws RecognitionException { break; default : - break loop73; + break loop84; } } while (true); - otherlv_8=(Token)match(input,30,FOLLOW_24); + otherlv_8=(Token)match(input,31,FOLLOW_27); newLeafNode(otherlv_8, grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_3_4()); @@ -9441,7 +10226,7 @@ public final EObject rulePrivateNamespace() throws RecognitionException { } - otherlv_9=(Token)match(input,30,FOLLOW_2); + otherlv_9=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_9, grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_4()); @@ -9468,7 +10253,7 @@ public final EObject rulePrivateNamespace() throws RecognitionException { // $ANTLR start "entryRuleGraphName" - // InternalRosSystem.g:3907:1: entryRuleGraphName returns [String current=null] : iv_ruleGraphName= ruleGraphName EOF ; + // InternalRosSystem.g:4233:1: entryRuleGraphName returns [String current=null] : iv_ruleGraphName= ruleGraphName EOF ; public final String entryRuleGraphName() throws RecognitionException { String current = null; @@ -9476,8 +10261,8 @@ public final String entryRuleGraphName() throws RecognitionException { try { - // InternalRosSystem.g:3907:49: (iv_ruleGraphName= ruleGraphName EOF ) - // InternalRosSystem.g:3908:2: iv_ruleGraphName= ruleGraphName EOF + // InternalRosSystem.g:4233:49: (iv_ruleGraphName= ruleGraphName EOF ) + // InternalRosSystem.g:4234:2: iv_ruleGraphName= ruleGraphName EOF { newCompositeNode(grammarAccess.getGraphNameRule()); pushFollow(FOLLOW_1); @@ -9504,7 +10289,7 @@ public final String entryRuleGraphName() throws RecognitionException { // $ANTLR start "ruleGraphName" - // InternalRosSystem.g:3914:1: ruleGraphName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'GraphName' ; + // InternalRosSystem.g:4240:1: ruleGraphName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'GraphName' ; public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -9514,10 +10299,10 @@ public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException enterRule(); try { - // InternalRosSystem.g:3920:2: (kw= 'GraphName' ) - // InternalRosSystem.g:3921:2: kw= 'GraphName' + // InternalRosSystem.g:4246:2: (kw= 'GraphName' ) + // InternalRosSystem.g:4247:2: kw= 'GraphName' { - kw=(Token)match(input,80,FOLLOW_2); + kw=(Token)match(input,84,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getGraphNameAccess().getGraphNameKeyword()); @@ -9543,24 +10328,24 @@ public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException // Delegated rules - protected DFA55 dfa55 = new DFA55(this); + protected DFA66 dfa66 = new DFA66(this); static final String dfa_1s = "\13\uffff"; static final String dfa_2s = "\1\7\12\uffff"; static final String dfa_3s = "\1\4\5\uffff\1\4\1\uffff\2\27\1\uffff"; - static final String dfa_4s = "\1\36\5\uffff\1\36\1\uffff\2\36\1\uffff"; + static final String dfa_4s = "\1\37\5\uffff\1\37\1\uffff\2\37\1\uffff"; static final String dfa_5s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\uffff\1\7\2\uffff\1\6"; static final String dfa_6s = "\13\uffff}>"; static final String[] dfa_7s = { - "\2\1\1\2\1\5\1\4\1\3\15\uffff\1\6\3\uffff\1\7\2\uffff\1\7", + "\2\1\1\2\1\5\1\4\1\3\15\uffff\1\6\3\uffff\2\7\2\uffff\1\7", "", "", "", "", "", - "\1\10\1\11\4\12\15\uffff\1\12\3\uffff\1\12\2\uffff\1\12", + "\1\10\1\11\4\12\15\uffff\1\12\3\uffff\1\12\3\uffff\1\12", "", - "\1\7\3\uffff\1\12\2\uffff\1\12", - "\1\7\3\uffff\1\12\2\uffff\1\12", + "\1\7\3\uffff\1\12\3\uffff\1\12", + "\1\7\3\uffff\1\12\3\uffff\1\12", "" }; @@ -9572,11 +10357,11 @@ public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); - class DFA55 extends DFA { + class DFA66 extends DFA { - public DFA55(BaseRecognizer recognizer) { + public DFA66(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 55; + this.decisionNumber = 66; this.eot = dfa_1; this.eof = dfa_2; this.min = dfa_3; @@ -9586,7 +10371,7 @@ public DFA55(BaseRecognizer recognizer) { this.transition = dfa_7; } public String getDescription() { - return "2298:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct )"; + return "2624:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct )"; } } @@ -9596,70 +10381,79 @@ public String getDescription() { public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000030L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000003E2000000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000007E2000000L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000008010000000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000400010000000L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000018000000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x00000003E0000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000440000000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000048000000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x00000003C0000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000002040000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000340000000L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000004040000000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x00000007E0000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000010010000000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x00000007C0000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000880000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000088000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000780000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000004080000000L}); public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000004000000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000240000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000040000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000001000000000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0003FE0040000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0003FC0040000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0003F80040000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0004000000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0003F00040000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0020000000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0003E00040000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0080000000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0003C00040000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0003800040000000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0800000000000000L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0003000040000000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x1000000000000000L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0002000040000000L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000800030L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0018000000000000L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0010000000000000L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0048000000000000L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0040000000000000L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0108000000000000L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0408000000000000L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0400000000000000L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x4008000000000000L}); - public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x8000000040000000L}); - public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x00000000008003F0L}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x8000020040000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x000000000000D000L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x8000000040000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x00000000000007DCL}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000000200L}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000040000000L,0x0000000000000020L}); - public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000040000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000680000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000008080000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000480000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000080000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000040082000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000040080000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000080010000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000300000000002L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000007DC0L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000200000000002L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x00000000008003F0L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x00FF800080000000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x00FF000080000000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x00FE000080000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x00FC000080000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0800000000000000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x00F8000080000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x00F0000080000000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x00E0000080000000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x00C0000080000000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0080000080000000L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000800030L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0600000000000000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x1200000000000000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x4200000000000000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000200080000000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000B00080000000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000000L,0x00000000000D0000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000300080000000L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000200L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000080000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000080000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); } \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSemanticSequencer.java b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSemanticSequencer.java index 2c918b186..806605f5d 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSemanticSequencer.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSemanticSequencer.java @@ -50,6 +50,8 @@ import ros.RelativeNamespace; import ros.RosPackage; import rossystem.ActionConnection; +import rossystem.ComponentStack; +import rossystem.QualityAttribute; import rossystem.RosSystem; import rossystem.RossystemPackage; import rossystem.ServiceConnection; @@ -177,6 +179,12 @@ else if (epackage == RossystemPackage.eINSTANCE) case RossystemPackage.ACTION_CONNECTION: sequence_ActionConnection(context, (ActionConnection) semanticObject); return; + case RossystemPackage.COMPONENT_STACK: + sequence_ComponentStack(context, (ComponentStack) semanticObject); + return; + case RossystemPackage.QUALITY_ATTRIBUTE: + sequence_QualityAttribute(context, (QualityAttribute) semanticObject); + return; case RossystemPackage.ROS_SYSTEM: sequence_RosSystem(context, (RosSystem) semanticObject); return; @@ -238,6 +246,22 @@ protected void sequence_ComponentInterface(ISerializationContext context, Compon } + /** + * Contexts: + * ComponentStack returns ComponentStack + * + * Constraint: + * ( + * Name=EString + * (RosComponent+=ComponentInterface RosComponent+=ComponentInterface*)? + * (QualityAttribute+=QualityAttribute QualityAttribute+=QualityAttribute*)? + * ) + */ + protected void sequence_ComponentStack(ISerializationContext context, ComponentStack semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + /** * Contexts: * Namespace returns GlobalNamespace @@ -597,6 +621,18 @@ protected void sequence_PrivateNamespace(ISerializationContext context, PrivateN } + /** + * Contexts: + * QualityAttribute returns QualityAttribute + * + * Constraint: + * (Name=EString Type=ParameterType? Value=ParameterValue?) + */ + protected void sequence_QualityAttribute(ISerializationContext context, QualityAttribute semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + /** * Contexts: * Namespace returns RelativeNamespace @@ -702,6 +738,7 @@ protected void sequence_RosSubscriber(ISerializationContext context, RosSubscrib * ( * Name=EString * (RosComponent+=ComponentInterface RosComponent+=ComponentInterface*)? + * (ComponentStack+=ComponentStack ComponentStack+=ComponentStack*)? * (TopicConnections+=TopicConnection TopicConnections+=TopicConnection*)? * (ServiceConnections+=ServiceConnection ServiceConnections+=ServiceConnection*)? * (ActionConnections+=ActionConnection ActionConnections+=ActionConnection*)? diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSyntacticSequencer.java b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSyntacticSequencer.java index 0e24d7a1f..0daa2e79d 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSyntacticSequencer.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/serializer/RosSystemSyntacticSequencer.java @@ -21,20 +21,26 @@ public class RosSystemSyntacticSequencer extends AbstractSyntacticSequencer { protected RosSystemGrammarAccess grammarAccess; - protected AbstractElementAlias match_RosSystem___ActionConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q; - protected AbstractElementAlias match_RosSystem___ParametersKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q; + protected AbstractElementAlias match_ComponentStack___QualityAttributesKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q; + protected AbstractElementAlias match_ComponentStack___RosComponentsKeyword_4_0_LeftParenthesisKeyword_4_1_RightParenthesisKeyword_4_3__q; + protected AbstractElementAlias match_RosSystem___ActionConnectionsKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q; + protected AbstractElementAlias match_RosSystem___ParametersKeyword_10_0_LeftCurlyBracketKeyword_10_1_RightCurlyBracketKeyword_10_3__q; + protected AbstractElementAlias match_RosSystem___RosComponentStacksKeyword_6_0_LeftParenthesisKeyword_6_1_RightParenthesisKeyword_6_3__q; protected AbstractElementAlias match_RosSystem___RosComponentsKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q; - protected AbstractElementAlias match_RosSystem___ServiceConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q; - protected AbstractElementAlias match_RosSystem___TopicConnectionsKeyword_6_0_LeftCurlyBracketKeyword_6_1_RightCurlyBracketKeyword_6_3__q; + protected AbstractElementAlias match_RosSystem___ServiceConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q; + protected AbstractElementAlias match_RosSystem___TopicConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q; @Inject protected void init(IGrammarAccess access) { grammarAccess = (RosSystemGrammarAccess) access; - match_RosSystem___ActionConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_8_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_8_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_8_3())); - match_RosSystem___ParametersKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getParametersKeyword_9_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_9_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_9_3())); + match_ComponentStack___QualityAttributesKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getComponentStackAccess().getQualityAttributesKeyword_5_0()), new TokenAlias(false, false, grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_5_1()), new TokenAlias(false, false, grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_5_3())); + match_ComponentStack___RosComponentsKeyword_4_0_LeftParenthesisKeyword_4_1_RightParenthesisKeyword_4_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getComponentStackAccess().getRosComponentsKeyword_4_0()), new TokenAlias(false, false, grammarAccess.getComponentStackAccess().getLeftParenthesisKeyword_4_1()), new TokenAlias(false, false, grammarAccess.getComponentStackAccess().getRightParenthesisKeyword_4_3())); + match_RosSystem___ActionConnectionsKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getActionConnectionsKeyword_9_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_9_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_9_3())); + match_RosSystem___ParametersKeyword_10_0_LeftCurlyBracketKeyword_10_1_RightCurlyBracketKeyword_10_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getParametersKeyword_10_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_10_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_10_3())); + match_RosSystem___RosComponentStacksKeyword_6_0_LeftParenthesisKeyword_6_1_RightParenthesisKeyword_6_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRosComponentStacksKeyword_6_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_6_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_6_3())); match_RosSystem___RosComponentsKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRosComponentsKeyword_5_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftParenthesisKeyword_5_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightParenthesisKeyword_5_3())); - match_RosSystem___ServiceConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_7_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_7_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_7_3())); - match_RosSystem___TopicConnectionsKeyword_6_0_LeftCurlyBracketKeyword_6_1_RightCurlyBracketKeyword_6_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_6_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_6_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_6_3())); + match_RosSystem___ServiceConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getServiceConnectionsKeyword_8_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_8_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_8_3())); + match_RosSystem___TopicConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getTopicConnectionsKeyword_7_0()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getLeftCurlyBracketKeyword_7_1()), new TokenAlias(false, false, grammarAccess.getRosSystemAccess().getRightCurlyBracketKeyword_7_3())); } @Override @@ -49,35 +55,67 @@ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition trans List transitionNodes = collectNodes(fromNode, toNode); for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { List syntaxNodes = getNodesFor(transitionNodes, syntax); - if (match_RosSystem___ActionConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q.equals(syntax)) - emit_RosSystem___ActionConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_RosSystem___ParametersKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q.equals(syntax)) - emit_RosSystem___ParametersKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + if (match_ComponentStack___QualityAttributesKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q.equals(syntax)) + emit_ComponentStack___QualityAttributesKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentStack___RosComponentsKeyword_4_0_LeftParenthesisKeyword_4_1_RightParenthesisKeyword_4_3__q.equals(syntax)) + emit_ComponentStack___RosComponentsKeyword_4_0_LeftParenthesisKeyword_4_1_RightParenthesisKeyword_4_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_RosSystem___ActionConnectionsKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q.equals(syntax)) + emit_RosSystem___ActionConnectionsKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_RosSystem___ParametersKeyword_10_0_LeftCurlyBracketKeyword_10_1_RightCurlyBracketKeyword_10_3__q.equals(syntax)) + emit_RosSystem___ParametersKeyword_10_0_LeftCurlyBracketKeyword_10_1_RightCurlyBracketKeyword_10_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_RosSystem___RosComponentStacksKeyword_6_0_LeftParenthesisKeyword_6_1_RightParenthesisKeyword_6_3__q.equals(syntax)) + emit_RosSystem___RosComponentStacksKeyword_6_0_LeftParenthesisKeyword_6_1_RightParenthesisKeyword_6_3__q(semanticObject, getLastNavigableState(), syntaxNodes); else if (match_RosSystem___RosComponentsKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q.equals(syntax)) emit_RosSystem___RosComponentsKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_RosSystem___ServiceConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q.equals(syntax)) - emit_RosSystem___ServiceConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_RosSystem___TopicConnectionsKeyword_6_0_LeftCurlyBracketKeyword_6_1_RightCurlyBracketKeyword_6_3__q.equals(syntax)) - emit_RosSystem___TopicConnectionsKeyword_6_0_LeftCurlyBracketKeyword_6_1_RightCurlyBracketKeyword_6_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_RosSystem___ServiceConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q.equals(syntax)) + emit_RosSystem___ServiceConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_RosSystem___TopicConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q.equals(syntax)) + emit_RosSystem___TopicConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } + /** + * Ambiguous syntax: + * ('QualityAttributes' '(' ')')? + * + * This ambiguous syntax occurs at: + * Name=EString ('RosComponents' '(' ')')? (ambiguity) '}' (rule end) + * RosComponent+=ComponentInterface ')' (ambiguity) '}' (rule end) + */ + protected void emit_ComponentStack___QualityAttributesKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('RosComponents' '(' ')')? + * + * This ambiguous syntax occurs at: + * Name=EString (ambiguity) 'QualityAttributes' '(' QualityAttribute+=QualityAttribute + * Name=EString (ambiguity) ('QualityAttributes' '(' ')')? '}' (rule end) + */ + protected void emit_ComponentStack___RosComponentsKeyword_4_0_LeftParenthesisKeyword_4_1_RightParenthesisKeyword_4_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + /** * Ambiguous syntax: * ('ActionConnections' '{' '}')? * * This ambiguous syntax occurs at: - * Name=EString ('RosComponents' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) 'Parameters' '{' Parameter+=Parameter - * Name=EString ('RosComponents' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) ('Parameters' '{' '}')? '}' (rule end) - * RosComponent+=ComponentInterface ')' ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) 'Parameters' '{' Parameter+=Parameter - * RosComponent+=ComponentInterface ')' ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) ('Parameters' '{' '}')? '}' (rule end) + * ComponentStack+=ComponentStack ')' ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) 'Parameters' '{' Parameter+=Parameter + * ComponentStack+=ComponentStack ')' ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) ('Parameters' '{' '}')? '}' (rule end) + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) 'Parameters' '{' Parameter+=Parameter + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) ('Parameters' '{' '}')? '}' (rule end) + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) 'Parameters' '{' Parameter+=Parameter + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? (ambiguity) ('Parameters' '{' '}')? '}' (rule end) * ServiceConnections+=ServiceConnection '}' (ambiguity) 'Parameters' '{' Parameter+=Parameter * ServiceConnections+=ServiceConnection '}' (ambiguity) ('Parameters' '{' '}')? '}' (rule end) * TopicConnections+=TopicConnection '}' ('ServiceConnections' '{' '}')? (ambiguity) 'Parameters' '{' Parameter+=Parameter * TopicConnections+=TopicConnection '}' ('ServiceConnections' '{' '}')? (ambiguity) ('Parameters' '{' '}')? '}' (rule end) */ - protected void emit_RosSystem___ActionConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_RosSystem___ActionConnectionsKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } @@ -87,12 +125,33 @@ protected void emit_RosSystem___ActionConnectionsKeyword_8_0_LeftCurlyBracketKey * * This ambiguous syntax occurs at: * ActionConnections+=ActionConnection '}' (ambiguity) '}' (rule end) - * Name=EString ('RosComponents' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? (ambiguity) '}' (rule end) - * RosComponent+=ComponentInterface ')' ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? (ambiguity) '}' (rule end) + * ComponentStack+=ComponentStack ')' ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? (ambiguity) '}' (rule end) + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? (ambiguity) '}' (rule end) + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? (ambiguity) '}' (rule end) * ServiceConnections+=ServiceConnection '}' ('ActionConnections' '{' '}')? (ambiguity) '}' (rule end) * TopicConnections+=TopicConnection '}' ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? (ambiguity) '}' (rule end) */ - protected void emit_RosSystem___ParametersKeyword_9_0_LeftCurlyBracketKeyword_9_1_RightCurlyBracketKeyword_9_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_RosSystem___ParametersKeyword_10_0_LeftCurlyBracketKeyword_10_1_RightCurlyBracketKeyword_10_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('RosComponentStacks' '(' ')')? + * + * This ambiguous syntax occurs at: + * Name=EString ('RosComponents' '(' ')')? (ambiguity) 'TopicConnections' '{' TopicConnections+=TopicConnection + * Name=EString ('RosComponents' '(' ')')? (ambiguity) ('TopicConnections' '{' '}')? 'ServiceConnections' '{' ServiceConnections+=ServiceConnection + * Name=EString ('RosComponents' '(' ')')? (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection + * Name=EString ('RosComponents' '(' ')')? (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * Name=EString ('RosComponents' '(' ')')? (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * RosComponent+=ComponentInterface ')' (ambiguity) 'TopicConnections' '{' TopicConnections+=TopicConnection + * RosComponent+=ComponentInterface ')' (ambiguity) ('TopicConnections' '{' '}')? 'ServiceConnections' '{' ServiceConnections+=ServiceConnection + * RosComponent+=ComponentInterface ')' (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection + * RosComponent+=ComponentInterface ')' (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * RosComponent+=ComponentInterface ')' (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + */ + protected void emit_RosSystem___RosComponentStacksKeyword_6_0_LeftParenthesisKeyword_6_1_RightParenthesisKeyword_6_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } @@ -101,11 +160,12 @@ protected void emit_RosSystem___ParametersKeyword_9_0_LeftCurlyBracketKeyword_9_ * ('RosComponents' '(' ')')? * * This ambiguous syntax occurs at: - * Name=EString (ambiguity) 'TopicConnections' '{' TopicConnections+=TopicConnection - * Name=EString (ambiguity) ('TopicConnections' '{' '}')? 'ServiceConnections' '{' ServiceConnections+=ServiceConnection - * Name=EString (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection - * Name=EString (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter - * Name=EString (ambiguity) ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * Name=EString (ambiguity) 'RosComponentStacks' '(' ComponentStack+=ComponentStack + * Name=EString (ambiguity) ('RosComponentStacks' '(' ')')? 'TopicConnections' '{' TopicConnections+=TopicConnection + * Name=EString (ambiguity) ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? 'ServiceConnections' '{' ServiceConnections+=ServiceConnection + * Name=EString (ambiguity) ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection + * Name=EString (ambiguity) ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * Name=EString (ambiguity) ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) */ protected void emit_RosSystem___RosComponentsKeyword_5_0_LeftParenthesisKeyword_5_1_RightParenthesisKeyword_5_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); @@ -116,17 +176,20 @@ protected void emit_RosSystem___RosComponentsKeyword_5_0_LeftParenthesisKeyword_ * ('ServiceConnections' '{' '}')? * * This ambiguous syntax occurs at: - * Name=EString ('RosComponents' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) 'ActionConnections' '{' ActionConnections+=ActionConnection - * Name=EString ('RosComponents' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter - * Name=EString ('RosComponents' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) - * RosComponent+=ComponentInterface ')' ('TopicConnections' '{' '}')? (ambiguity) 'ActionConnections' '{' ActionConnections+=ActionConnection - * RosComponent+=ComponentInterface ')' ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter - * RosComponent+=ComponentInterface ')' ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * ComponentStack+=ComponentStack ')' ('TopicConnections' '{' '}')? (ambiguity) 'ActionConnections' '{' ActionConnections+=ActionConnection + * ComponentStack+=ComponentStack ')' ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * ComponentStack+=ComponentStack ')' ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) 'ActionConnections' '{' ActionConnections+=ActionConnection + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) 'ActionConnections' '{' ActionConnections+=ActionConnection + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? ('TopicConnections' '{' '}')? (ambiguity) ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) * TopicConnections+=TopicConnection '}' (ambiguity) 'ActionConnections' '{' ActionConnections+=ActionConnection * TopicConnections+=TopicConnection '}' (ambiguity) ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter * TopicConnections+=TopicConnection '}' (ambiguity) ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) */ - protected void emit_RosSystem___ServiceConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_RosSystem___ServiceConnectionsKeyword_8_0_LeftCurlyBracketKeyword_8_1_RightCurlyBracketKeyword_8_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } @@ -135,16 +198,20 @@ protected void emit_RosSystem___ServiceConnectionsKeyword_7_0_LeftCurlyBracketKe * ('TopicConnections' '{' '}')? * * This ambiguous syntax occurs at: - * Name=EString ('RosComponents' '(' ')')? (ambiguity) 'ServiceConnections' '{' ServiceConnections+=ServiceConnection - * Name=EString ('RosComponents' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection - * Name=EString ('RosComponents' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter - * Name=EString ('RosComponents' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) - * RosComponent+=ComponentInterface ')' (ambiguity) 'ServiceConnections' '{' ServiceConnections+=ServiceConnection - * RosComponent+=ComponentInterface ')' (ambiguity) ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection - * RosComponent+=ComponentInterface ')' (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter - * RosComponent+=ComponentInterface ')' (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * ComponentStack+=ComponentStack ')' (ambiguity) 'ServiceConnections' '{' ServiceConnections+=ServiceConnection + * ComponentStack+=ComponentStack ')' (ambiguity) ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection + * ComponentStack+=ComponentStack ')' (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * ComponentStack+=ComponentStack ')' (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? (ambiguity) 'ServiceConnections' '{' ServiceConnections+=ServiceConnection + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * Name=EString ('RosComponents' '(' ')')? ('RosComponentStacks' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? (ambiguity) 'ServiceConnections' '{' ServiceConnections+=ServiceConnection + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? 'ActionConnections' '{' ActionConnections+=ActionConnection + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? 'Parameters' '{' Parameter+=Parameter + * RosComponent+=ComponentInterface ')' ('RosComponentStacks' '(' ')')? (ambiguity) ('ServiceConnections' '{' '}')? ('ActionConnections' '{' '}')? ('Parameters' '{' '}')? '}' (rule end) */ - protected void emit_RosSystem___TopicConnectionsKeyword_6_0_LeftCurlyBracketKeyword_6_1_RightCurlyBracketKeyword_6_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_RosSystem___TopicConnectionsKeyword_7_0_LeftCurlyBracketKeyword_7_1_RightCurlyBracketKeyword_7_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/services/RosSystemGrammarAccess.java b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/services/RosSystemGrammarAccess.java index 31280626a..f9ba79aed 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/services/RosSystemGrammarAccess.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src-gen/de/fraunhofer/ipa/rossystem/services/RosSystemGrammarAccess.java @@ -45,50 +45,61 @@ public class RosSystemElements extends AbstractParserRuleElementFinder { private final RuleCall cRosComponentComponentInterfaceParserRuleCall_5_2_1_1_0 = (RuleCall)cRosComponentAssignment_5_2_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_5_3 = (Keyword)cGroup_5.eContents().get(3); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); - private final Keyword cTopicConnectionsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Keyword cRosComponentStacksKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2); - private final Assignment cTopicConnectionsAssignment_6_2_0 = (Assignment)cGroup_6_2.eContents().get(0); - private final RuleCall cTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0 = (RuleCall)cTopicConnectionsAssignment_6_2_0.eContents().get(0); + private final Assignment cComponentStackAssignment_6_2_0 = (Assignment)cGroup_6_2.eContents().get(0); + private final RuleCall cComponentStackComponentStackParserRuleCall_6_2_0_0 = (RuleCall)cComponentStackAssignment_6_2_0.eContents().get(0); private final Group cGroup_6_2_1 = (Group)cGroup_6_2.eContents().get(1); private final Keyword cCommaKeyword_6_2_1_0 = (Keyword)cGroup_6_2_1.eContents().get(0); - private final Assignment cTopicConnectionsAssignment_6_2_1_1 = (Assignment)cGroup_6_2_1.eContents().get(1); - private final RuleCall cTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0 = (RuleCall)cTopicConnectionsAssignment_6_2_1_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6_3 = (Keyword)cGroup_6.eContents().get(3); + private final Assignment cComponentStackAssignment_6_2_1_1 = (Assignment)cGroup_6_2_1.eContents().get(1); + private final RuleCall cComponentStackComponentStackParserRuleCall_6_2_1_1_0 = (RuleCall)cComponentStackAssignment_6_2_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_6_3 = (Keyword)cGroup_6.eContents().get(3); private final Group cGroup_7 = (Group)cGroup.eContents().get(7); - private final Keyword cServiceConnectionsKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cTopicConnectionsKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); private final Group cGroup_7_2 = (Group)cGroup_7.eContents().get(2); - private final Assignment cServiceConnectionsAssignment_7_2_0 = (Assignment)cGroup_7_2.eContents().get(0); - private final RuleCall cServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0 = (RuleCall)cServiceConnectionsAssignment_7_2_0.eContents().get(0); + private final Assignment cTopicConnectionsAssignment_7_2_0 = (Assignment)cGroup_7_2.eContents().get(0); + private final RuleCall cTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0 = (RuleCall)cTopicConnectionsAssignment_7_2_0.eContents().get(0); private final Group cGroup_7_2_1 = (Group)cGroup_7_2.eContents().get(1); private final Keyword cCommaKeyword_7_2_1_0 = (Keyword)cGroup_7_2_1.eContents().get(0); - private final Assignment cServiceConnectionsAssignment_7_2_1_1 = (Assignment)cGroup_7_2_1.eContents().get(1); - private final RuleCall cServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0 = (RuleCall)cServiceConnectionsAssignment_7_2_1_1.eContents().get(0); + private final Assignment cTopicConnectionsAssignment_7_2_1_1 = (Assignment)cGroup_7_2_1.eContents().get(1); + private final RuleCall cTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0 = (RuleCall)cTopicConnectionsAssignment_7_2_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7_3 = (Keyword)cGroup_7.eContents().get(3); private final Group cGroup_8 = (Group)cGroup.eContents().get(8); - private final Keyword cActionConnectionsKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final Keyword cServiceConnectionsKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1); private final Group cGroup_8_2 = (Group)cGroup_8.eContents().get(2); - private final Assignment cActionConnectionsAssignment_8_2_0 = (Assignment)cGroup_8_2.eContents().get(0); - private final RuleCall cActionConnectionsActionConnectionParserRuleCall_8_2_0_0 = (RuleCall)cActionConnectionsAssignment_8_2_0.eContents().get(0); + private final Assignment cServiceConnectionsAssignment_8_2_0 = (Assignment)cGroup_8_2.eContents().get(0); + private final RuleCall cServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0 = (RuleCall)cServiceConnectionsAssignment_8_2_0.eContents().get(0); private final Group cGroup_8_2_1 = (Group)cGroup_8_2.eContents().get(1); private final Keyword cCommaKeyword_8_2_1_0 = (Keyword)cGroup_8_2_1.eContents().get(0); - private final Assignment cActionConnectionsAssignment_8_2_1_1 = (Assignment)cGroup_8_2_1.eContents().get(1); - private final RuleCall cActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0 = (RuleCall)cActionConnectionsAssignment_8_2_1_1.eContents().get(0); + private final Assignment cServiceConnectionsAssignment_8_2_1_1 = (Assignment)cGroup_8_2_1.eContents().get(1); + private final RuleCall cServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0 = (RuleCall)cServiceConnectionsAssignment_8_2_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_8_3 = (Keyword)cGroup_8.eContents().get(3); private final Group cGroup_9 = (Group)cGroup.eContents().get(9); - private final Keyword cParametersKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); + private final Keyword cActionConnectionsKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); private final Group cGroup_9_2 = (Group)cGroup_9.eContents().get(2); - private final Assignment cParameterAssignment_9_2_0 = (Assignment)cGroup_9_2.eContents().get(0); - private final RuleCall cParameterParameterParserRuleCall_9_2_0_0 = (RuleCall)cParameterAssignment_9_2_0.eContents().get(0); + private final Assignment cActionConnectionsAssignment_9_2_0 = (Assignment)cGroup_9_2.eContents().get(0); + private final RuleCall cActionConnectionsActionConnectionParserRuleCall_9_2_0_0 = (RuleCall)cActionConnectionsAssignment_9_2_0.eContents().get(0); private final Group cGroup_9_2_1 = (Group)cGroup_9_2.eContents().get(1); private final Keyword cCommaKeyword_9_2_1_0 = (Keyword)cGroup_9_2_1.eContents().get(0); - private final Assignment cParameterAssignment_9_2_1_1 = (Assignment)cGroup_9_2_1.eContents().get(1); - private final RuleCall cParameterParameterParserRuleCall_9_2_1_1_0 = (RuleCall)cParameterAssignment_9_2_1_1.eContents().get(0); + private final Assignment cActionConnectionsAssignment_9_2_1_1 = (Assignment)cGroup_9_2_1.eContents().get(1); + private final RuleCall cActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0 = (RuleCall)cActionConnectionsAssignment_9_2_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_9_3 = (Keyword)cGroup_9.eContents().get(3); - private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10); + private final Group cGroup_10 = (Group)cGroup.eContents().get(10); + private final Keyword cParametersKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1); + private final Group cGroup_10_2 = (Group)cGroup_10.eContents().get(2); + private final Assignment cParameterAssignment_10_2_0 = (Assignment)cGroup_10_2.eContents().get(0); + private final RuleCall cParameterParameterParserRuleCall_10_2_0_0 = (RuleCall)cParameterAssignment_10_2_0.eContents().get(0); + private final Group cGroup_10_2_1 = (Group)cGroup_10_2.eContents().get(1); + private final Keyword cCommaKeyword_10_2_1_0 = (Keyword)cGroup_10_2_1.eContents().get(0); + private final Assignment cParameterAssignment_10_2_1_1 = (Assignment)cGroup_10_2_1.eContents().get(1); + private final RuleCall cParameterParameterParserRuleCall_10_2_1_1_0 = (RuleCall)cParameterAssignment_10_2_1_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_10_3 = (Keyword)cGroup_10.eContents().get(3); + private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); //RosSystem returns RosSystem: // {RosSystem} @@ -96,6 +107,7 @@ public class RosSystemElements extends AbstractParserRuleElementFinder { // '{' // 'Name' Name=EString // ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + // ('RosComponentStacks' '(' (ComponentStack+=ComponentStack ( "," ComponentStack+=ComponentStack)*)? ')' )? // ('TopicConnections' '{' (TopicConnections+=TopicConnection ( "," TopicConnections+=TopicConnection)*)? '}' )? // ('ServiceConnections' '{' (ServiceConnections+=ServiceConnection ( "," ServiceConnections+=ServiceConnection)*)? '}' )? // ('ActionConnections' '{' (ActionConnections+=ActionConnection ( "," ActionConnections+=ActionConnection)*)? '}' )? @@ -108,6 +120,7 @@ public class RosSystemElements extends AbstractParserRuleElementFinder { //'{' // 'Name' Name=EString // ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + // ('RosComponentStacks' '(' (ComponentStack+=ComponentStack ( "," ComponentStack+=ComponentStack)*)? ')' )? // ('TopicConnections' '{' (TopicConnections+=TopicConnection ( "," TopicConnections+=TopicConnection)*)? '}' )? // ('ServiceConnections' '{' (ServiceConnections+=ServiceConnection ( "," ServiceConnections+=ServiceConnection)*)? '}' )? // ('ActionConnections' '{' (ActionConnections+=ActionConnection ( "," ActionConnections+=ActionConnection)*)? '}' )? @@ -166,140 +179,173 @@ public class RosSystemElements extends AbstractParserRuleElementFinder { //')' public Keyword getRightParenthesisKeyword_5_3() { return cRightParenthesisKeyword_5_3; } - //('TopicConnections' '{' (TopicConnections+=TopicConnection ( "," TopicConnections+=TopicConnection)*)? '}' )? + //('RosComponentStacks' '(' (ComponentStack+=ComponentStack ( "," ComponentStack+=ComponentStack)*)? ')' )? public Group getGroup_6() { return cGroup_6; } + //'RosComponentStacks' + public Keyword getRosComponentStacksKeyword_6_0() { return cRosComponentStacksKeyword_6_0; } + + //'(' + public Keyword getLeftParenthesisKeyword_6_1() { return cLeftParenthesisKeyword_6_1; } + + //(ComponentStack+=ComponentStack ( "," ComponentStack+=ComponentStack)*)? + public Group getGroup_6_2() { return cGroup_6_2; } + + //ComponentStack+=ComponentStack + public Assignment getComponentStackAssignment_6_2_0() { return cComponentStackAssignment_6_2_0; } + + //ComponentStack + public RuleCall getComponentStackComponentStackParserRuleCall_6_2_0_0() { return cComponentStackComponentStackParserRuleCall_6_2_0_0; } + + //( "," ComponentStack+=ComponentStack)* + public Group getGroup_6_2_1() { return cGroup_6_2_1; } + + //"," + public Keyword getCommaKeyword_6_2_1_0() { return cCommaKeyword_6_2_1_0; } + + //ComponentStack+=ComponentStack + public Assignment getComponentStackAssignment_6_2_1_1() { return cComponentStackAssignment_6_2_1_1; } + + //ComponentStack + public RuleCall getComponentStackComponentStackParserRuleCall_6_2_1_1_0() { return cComponentStackComponentStackParserRuleCall_6_2_1_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_6_3() { return cRightParenthesisKeyword_6_3; } + + //('TopicConnections' '{' (TopicConnections+=TopicConnection ( "," TopicConnections+=TopicConnection)*)? '}' )? + public Group getGroup_7() { return cGroup_7; } + //'TopicConnections' - public Keyword getTopicConnectionsKeyword_6_0() { return cTopicConnectionsKeyword_6_0; } + public Keyword getTopicConnectionsKeyword_7_0() { return cTopicConnectionsKeyword_7_0; } //'{' - public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } //(TopicConnections+=TopicConnection ( "," TopicConnections+=TopicConnection)*)? - public Group getGroup_6_2() { return cGroup_6_2; } + public Group getGroup_7_2() { return cGroup_7_2; } //TopicConnections+=TopicConnection - public Assignment getTopicConnectionsAssignment_6_2_0() { return cTopicConnectionsAssignment_6_2_0; } + public Assignment getTopicConnectionsAssignment_7_2_0() { return cTopicConnectionsAssignment_7_2_0; } //TopicConnection - public RuleCall getTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0() { return cTopicConnectionsTopicConnectionParserRuleCall_6_2_0_0; } + public RuleCall getTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0() { return cTopicConnectionsTopicConnectionParserRuleCall_7_2_0_0; } //( "," TopicConnections+=TopicConnection)* - public Group getGroup_6_2_1() { return cGroup_6_2_1; } + public Group getGroup_7_2_1() { return cGroup_7_2_1; } //"," - public Keyword getCommaKeyword_6_2_1_0() { return cCommaKeyword_6_2_1_0; } + public Keyword getCommaKeyword_7_2_1_0() { return cCommaKeyword_7_2_1_0; } //TopicConnections+=TopicConnection - public Assignment getTopicConnectionsAssignment_6_2_1_1() { return cTopicConnectionsAssignment_6_2_1_1; } + public Assignment getTopicConnectionsAssignment_7_2_1_1() { return cTopicConnectionsAssignment_7_2_1_1; } //TopicConnection - public RuleCall getTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0() { return cTopicConnectionsTopicConnectionParserRuleCall_6_2_1_1_0; } + public RuleCall getTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0() { return cTopicConnectionsTopicConnectionParserRuleCall_7_2_1_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_6_3() { return cRightCurlyBracketKeyword_6_3; } + public Keyword getRightCurlyBracketKeyword_7_3() { return cRightCurlyBracketKeyword_7_3; } //('ServiceConnections' '{' (ServiceConnections+=ServiceConnection ( "," ServiceConnections+=ServiceConnection)*)? '}' )? - public Group getGroup_7() { return cGroup_7; } + public Group getGroup_8() { return cGroup_8; } //'ServiceConnections' - public Keyword getServiceConnectionsKeyword_7_0() { return cServiceConnectionsKeyword_7_0; } + public Keyword getServiceConnectionsKeyword_8_0() { return cServiceConnectionsKeyword_8_0; } //'{' - public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; } //(ServiceConnections+=ServiceConnection ( "," ServiceConnections+=ServiceConnection)*)? - public Group getGroup_7_2() { return cGroup_7_2; } + public Group getGroup_8_2() { return cGroup_8_2; } //ServiceConnections+=ServiceConnection - public Assignment getServiceConnectionsAssignment_7_2_0() { return cServiceConnectionsAssignment_7_2_0; } + public Assignment getServiceConnectionsAssignment_8_2_0() { return cServiceConnectionsAssignment_8_2_0; } //ServiceConnection - public RuleCall getServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0() { return cServiceConnectionsServiceConnectionParserRuleCall_7_2_0_0; } + public RuleCall getServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0() { return cServiceConnectionsServiceConnectionParserRuleCall_8_2_0_0; } //( "," ServiceConnections+=ServiceConnection)* - public Group getGroup_7_2_1() { return cGroup_7_2_1; } + public Group getGroup_8_2_1() { return cGroup_8_2_1; } //"," - public Keyword getCommaKeyword_7_2_1_0() { return cCommaKeyword_7_2_1_0; } + public Keyword getCommaKeyword_8_2_1_0() { return cCommaKeyword_8_2_1_0; } //ServiceConnections+=ServiceConnection - public Assignment getServiceConnectionsAssignment_7_2_1_1() { return cServiceConnectionsAssignment_7_2_1_1; } + public Assignment getServiceConnectionsAssignment_8_2_1_1() { return cServiceConnectionsAssignment_8_2_1_1; } //ServiceConnection - public RuleCall getServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0() { return cServiceConnectionsServiceConnectionParserRuleCall_7_2_1_1_0; } + public RuleCall getServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0() { return cServiceConnectionsServiceConnectionParserRuleCall_8_2_1_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_7_3() { return cRightCurlyBracketKeyword_7_3; } + public Keyword getRightCurlyBracketKeyword_8_3() { return cRightCurlyBracketKeyword_8_3; } //('ActionConnections' '{' (ActionConnections+=ActionConnection ( "," ActionConnections+=ActionConnection)*)? '}' )? - public Group getGroup_8() { return cGroup_8; } + public Group getGroup_9() { return cGroup_9; } //'ActionConnections' - public Keyword getActionConnectionsKeyword_8_0() { return cActionConnectionsKeyword_8_0; } + public Keyword getActionConnectionsKeyword_9_0() { return cActionConnectionsKeyword_9_0; } //'{' - public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; } + public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; } //(ActionConnections+=ActionConnection ( "," ActionConnections+=ActionConnection)*)? - public Group getGroup_8_2() { return cGroup_8_2; } + public Group getGroup_9_2() { return cGroup_9_2; } //ActionConnections+=ActionConnection - public Assignment getActionConnectionsAssignment_8_2_0() { return cActionConnectionsAssignment_8_2_0; } + public Assignment getActionConnectionsAssignment_9_2_0() { return cActionConnectionsAssignment_9_2_0; } //ActionConnection - public RuleCall getActionConnectionsActionConnectionParserRuleCall_8_2_0_0() { return cActionConnectionsActionConnectionParserRuleCall_8_2_0_0; } + public RuleCall getActionConnectionsActionConnectionParserRuleCall_9_2_0_0() { return cActionConnectionsActionConnectionParserRuleCall_9_2_0_0; } //( "," ActionConnections+=ActionConnection)* - public Group getGroup_8_2_1() { return cGroup_8_2_1; } + public Group getGroup_9_2_1() { return cGroup_9_2_1; } //"," - public Keyword getCommaKeyword_8_2_1_0() { return cCommaKeyword_8_2_1_0; } + public Keyword getCommaKeyword_9_2_1_0() { return cCommaKeyword_9_2_1_0; } //ActionConnections+=ActionConnection - public Assignment getActionConnectionsAssignment_8_2_1_1() { return cActionConnectionsAssignment_8_2_1_1; } + public Assignment getActionConnectionsAssignment_9_2_1_1() { return cActionConnectionsAssignment_9_2_1_1; } //ActionConnection - public RuleCall getActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0() { return cActionConnectionsActionConnectionParserRuleCall_8_2_1_1_0; } + public RuleCall getActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0() { return cActionConnectionsActionConnectionParserRuleCall_9_2_1_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_8_3() { return cRightCurlyBracketKeyword_8_3; } + public Keyword getRightCurlyBracketKeyword_9_3() { return cRightCurlyBracketKeyword_9_3; } //('Parameters' '{' (Parameter+=Parameter ( "," Parameter+=Parameter)*)? '}' )? - public Group getGroup_9() { return cGroup_9; } + public Group getGroup_10() { return cGroup_10; } //'Parameters' - public Keyword getParametersKeyword_9_0() { return cParametersKeyword_9_0; } + public Keyword getParametersKeyword_10_0() { return cParametersKeyword_10_0; } //'{' - public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; } + public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; } //(Parameter+=Parameter ( "," Parameter+=Parameter)*)? - public Group getGroup_9_2() { return cGroup_9_2; } + public Group getGroup_10_2() { return cGroup_10_2; } //Parameter+=Parameter - public Assignment getParameterAssignment_9_2_0() { return cParameterAssignment_9_2_0; } + public Assignment getParameterAssignment_10_2_0() { return cParameterAssignment_10_2_0; } //Parameter - public RuleCall getParameterParameterParserRuleCall_9_2_0_0() { return cParameterParameterParserRuleCall_9_2_0_0; } + public RuleCall getParameterParameterParserRuleCall_10_2_0_0() { return cParameterParameterParserRuleCall_10_2_0_0; } //( "," Parameter+=Parameter)* - public Group getGroup_9_2_1() { return cGroup_9_2_1; } + public Group getGroup_10_2_1() { return cGroup_10_2_1; } //"," - public Keyword getCommaKeyword_9_2_1_0() { return cCommaKeyword_9_2_1_0; } + public Keyword getCommaKeyword_10_2_1_0() { return cCommaKeyword_10_2_1_0; } //Parameter+=Parameter - public Assignment getParameterAssignment_9_2_1_1() { return cParameterAssignment_9_2_1_1; } + public Assignment getParameterAssignment_10_2_1_1() { return cParameterAssignment_10_2_1_1; } //Parameter - public RuleCall getParameterParameterParserRuleCall_9_2_1_1_0() { return cParameterParameterParserRuleCall_9_2_1_1_0; } + public RuleCall getParameterParameterParserRuleCall_10_2_1_1_0() { return cParameterParameterParserRuleCall_10_2_1_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_9_3() { return cRightCurlyBracketKeyword_9_3; } + public Keyword getRightCurlyBracketKeyword_10_3() { return cRightCurlyBracketKeyword_10_3; } //'}' - public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; } + public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; } } public class TopicConnectionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.rossystem.RosSystem.TopicConnection"); @@ -623,6 +669,200 @@ public class EStringElements extends AbstractParserRuleElementFinder { //ID public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } } + public class ComponentStackElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.rossystem.RosSystem.ComponentStack"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cComponentStackKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cNameKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cNameEStringParserRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cRosComponentsKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); + private final Group cGroup_4_2 = (Group)cGroup_4.eContents().get(2); + private final Assignment cRosComponentAssignment_4_2_0 = (Assignment)cGroup_4_2.eContents().get(0); + private final RuleCall cRosComponentComponentInterfaceParserRuleCall_4_2_0_0 = (RuleCall)cRosComponentAssignment_4_2_0.eContents().get(0); + private final Group cGroup_4_2_1 = (Group)cGroup_4_2.eContents().get(1); + private final Keyword cCommaKeyword_4_2_1_0 = (Keyword)cGroup_4_2_1.eContents().get(0); + private final Assignment cRosComponentAssignment_4_2_1_1 = (Assignment)cGroup_4_2_1.eContents().get(1); + private final RuleCall cRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0 = (RuleCall)cRosComponentAssignment_4_2_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_4_3 = (Keyword)cGroup_4.eContents().get(3); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cQualityAttributesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2); + private final Assignment cQualityAttributeAssignment_5_2_0 = (Assignment)cGroup_5_2.eContents().get(0); + private final RuleCall cQualityAttributeQualityAttributeParserRuleCall_5_2_0_0 = (RuleCall)cQualityAttributeAssignment_5_2_0.eContents().get(0); + private final Group cGroup_5_2_1 = (Group)cGroup_5_2.eContents().get(1); + private final Keyword cCommaKeyword_5_2_1_0 = (Keyword)cGroup_5_2_1.eContents().get(0); + private final Assignment cQualityAttributeAssignment_5_2_1_1 = (Assignment)cGroup_5_2_1.eContents().get(1); + private final RuleCall cQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0 = (RuleCall)cQualityAttributeAssignment_5_2_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_5_3 = (Keyword)cGroup_5.eContents().get(3); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ComponentStack returns ComponentStack: + // 'ComponentStack' + // '{' + // 'name' Name=EString + // ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + // ('QualityAttributes' '(' (QualityAttribute+=QualityAttribute ( "," QualityAttribute+=QualityAttribute)*)? ')' )? + // '}'; + @Override public ParserRule getRule() { return rule; } + + //'ComponentStack' + //'{' + // 'name' Name=EString + // ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + // ('QualityAttributes' '(' (QualityAttribute+=QualityAttribute ( "," QualityAttribute+=QualityAttribute)*)? ')' )? + //'}' + public Group getGroup() { return cGroup; } + + //'ComponentStack' + public Keyword getComponentStackKeyword_0() { return cComponentStackKeyword_0; } + + //'{' + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //'name' + public Keyword getNameKeyword_2() { return cNameKeyword_2; } + + //Name=EString + public Assignment getNameAssignment_3() { return cNameAssignment_3; } + + //EString + public RuleCall getNameEStringParserRuleCall_3_0() { return cNameEStringParserRuleCall_3_0; } + + //('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + public Group getGroup_4() { return cGroup_4; } + + //'RosComponents' + public Keyword getRosComponentsKeyword_4_0() { return cRosComponentsKeyword_4_0; } + + //'(' + public Keyword getLeftParenthesisKeyword_4_1() { return cLeftParenthesisKeyword_4_1; } + + //(RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? + public Group getGroup_4_2() { return cGroup_4_2; } + + //RosComponent+=ComponentInterface + public Assignment getRosComponentAssignment_4_2_0() { return cRosComponentAssignment_4_2_0; } + + //ComponentInterface + public RuleCall getRosComponentComponentInterfaceParserRuleCall_4_2_0_0() { return cRosComponentComponentInterfaceParserRuleCall_4_2_0_0; } + + //( "," RosComponent+=ComponentInterface)* + public Group getGroup_4_2_1() { return cGroup_4_2_1; } + + //"," + public Keyword getCommaKeyword_4_2_1_0() { return cCommaKeyword_4_2_1_0; } + + //RosComponent+=ComponentInterface + public Assignment getRosComponentAssignment_4_2_1_1() { return cRosComponentAssignment_4_2_1_1; } + + //ComponentInterface + public RuleCall getRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0() { return cRosComponentComponentInterfaceParserRuleCall_4_2_1_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_4_3() { return cRightParenthesisKeyword_4_3; } + + //('QualityAttributes' '(' (QualityAttribute+=QualityAttribute ( "," QualityAttribute+=QualityAttribute)*)? ')' )? + public Group getGroup_5() { return cGroup_5; } + + //'QualityAttributes' + public Keyword getQualityAttributesKeyword_5_0() { return cQualityAttributesKeyword_5_0; } + + //'(' + public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } + + //(QualityAttribute+=QualityAttribute ( "," QualityAttribute+=QualityAttribute)*)? + public Group getGroup_5_2() { return cGroup_5_2; } + + //QualityAttribute+=QualityAttribute + public Assignment getQualityAttributeAssignment_5_2_0() { return cQualityAttributeAssignment_5_2_0; } + + //QualityAttribute + public RuleCall getQualityAttributeQualityAttributeParserRuleCall_5_2_0_0() { return cQualityAttributeQualityAttributeParserRuleCall_5_2_0_0; } + + //( "," QualityAttribute+=QualityAttribute)* + public Group getGroup_5_2_1() { return cGroup_5_2_1; } + + //"," + public Keyword getCommaKeyword_5_2_1_0() { return cCommaKeyword_5_2_1_0; } + + //QualityAttribute+=QualityAttribute + public Assignment getQualityAttributeAssignment_5_2_1_1() { return cQualityAttributeAssignment_5_2_1_1; } + + //QualityAttribute + public RuleCall getQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0() { return cQualityAttributeQualityAttributeParserRuleCall_5_2_1_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_5_3() { return cRightParenthesisKeyword_5_3; } + + //'}' + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + public class QualityAttributeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.rossystem.RosSystem.QualityAttribute"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cQualityAttributeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cTypeKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cTypeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cTypeParameterTypeParserRuleCall_2_1_0 = (RuleCall)cTypeAssignment_2_1.eContents().get(0); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cValueKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final RuleCall cValueParameterValueParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); + + //QualityAttribute returns QualityAttribute: + // 'QualityAttribute' + // Name=EString + // ('type' Type=ParameterType)? + // ('value' Value=ParameterValue)?; + @Override public ParserRule getRule() { return rule; } + + //'QualityAttribute' + // Name=EString + // ('type' Type=ParameterType)? + // ('value' Value=ParameterValue)? + public Group getGroup() { return cGroup; } + + //'QualityAttribute' + public Keyword getQualityAttributeKeyword_0() { return cQualityAttributeKeyword_0; } + + //Name=EString + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //EString + public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } + + //('type' Type=ParameterType)? + public Group getGroup_2() { return cGroup_2; } + + //'type' + public Keyword getTypeKeyword_2_0() { return cTypeKeyword_2_0; } + + //Type=ParameterType + public Assignment getTypeAssignment_2_1() { return cTypeAssignment_2_1; } + + //ParameterType + public RuleCall getTypeParameterTypeParserRuleCall_2_1_0() { return cTypeParameterTypeParserRuleCall_2_1_0; } + + //('value' Value=ParameterValue)? + public Group getGroup_3() { return cGroup_3; } + + //'value' + public Keyword getValueKeyword_3_0() { return cValueKeyword_3_0; } + + //Value=ParameterValue + public Assignment getValueAssignment_3_1() { return cValueAssignment_3_1; } + + //ParameterValue + public RuleCall getValueParameterValueParserRuleCall_3_1_0() { return cValueParameterValueParserRuleCall_3_1_0; } + } public class ComponentInterfaceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.rossystem.RosSystem.ComponentInterface"); private final Group cGroup = (Group)rule.eContents().get(1); @@ -2856,6 +3096,8 @@ public class GraphNameElements extends AbstractParserRuleElementFinder { private final ServiceConnectionElements pServiceConnection; private final ActionConnectionElements pActionConnection; private final EStringElements pEString; + private final ComponentStackElements pComponentStack; + private final QualityAttributeElements pQualityAttribute; private final ComponentInterfaceElements pComponentInterface; private final RosPublisherElements pRosPublisher; private final RosSubscriberElements pRosSubscriber; @@ -2924,6 +3166,8 @@ public RosSystemGrammarAccess(GrammarProvider grammarProvider, this.pServiceConnection = new ServiceConnectionElements(); this.pActionConnection = new ActionConnectionElements(); this.pEString = new EStringElements(); + this.pComponentStack = new ComponentStackElements(); + this.pQualityAttribute = new QualityAttributeElements(); this.pComponentInterface = new ComponentInterfaceElements(); this.pRosPublisher = new RosPublisherElements(); this.pRosSubscriber = new RosSubscriberElements(); @@ -3012,6 +3256,7 @@ public TerminalsGrammarAccess getTerminalsGrammarAccess() { // '{' // 'Name' Name=EString // ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + // ('RosComponentStacks' '(' (ComponentStack+=ComponentStack ( "," ComponentStack+=ComponentStack)*)? ')' )? // ('TopicConnections' '{' (TopicConnections+=TopicConnection ( "," TopicConnections+=TopicConnection)*)? '}' )? // ('ServiceConnections' '{' (ServiceConnections+=ServiceConnection ( "," ServiceConnections+=ServiceConnection)*)? '}' )? // ('ActionConnections' '{' (ActionConnections+=ActionConnection ( "," ActionConnections+=ActionConnection)*)? '}' )? @@ -3080,6 +3325,34 @@ public ParserRule getEStringRule() { return getEStringAccess().getRule(); } + //ComponentStack returns ComponentStack: + // 'ComponentStack' + // '{' + // 'name' Name=EString + // ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + // ('QualityAttributes' '(' (QualityAttribute+=QualityAttribute ( "," QualityAttribute+=QualityAttribute)*)? ')' )? + // '}'; + public ComponentStackElements getComponentStackAccess() { + return pComponentStack; + } + + public ParserRule getComponentStackRule() { + return getComponentStackAccess().getRule(); + } + + //QualityAttribute returns QualityAttribute: + // 'QualityAttribute' + // Name=EString + // ('type' Type=ParameterType)? + // ('value' Value=ParameterValue)?; + public QualityAttributeElements getQualityAttributeAccess() { + return pQualityAttribute; + } + + public ParserRule getQualityAttributeRule() { + return getQualityAttributeAccess().getRule(); + } + ////%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% //ComponentInterface returns componentInterface::ComponentInterface: // 'ComponentInterface' diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystem.xtext b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystem.xtext index f0cb5021d..dfa40e688 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystem.xtext +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystem.xtext @@ -14,6 +14,7 @@ RosSystem returns RosSystem: '{' 'Name' Name=EString ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + ('RosComponentStacks' '(' (ComponentStack+=ComponentStack ( "," ComponentStack+=ComponentStack)*)? ')' )? ('TopicConnections' '{' (TopicConnections+=TopicConnection ( "," TopicConnections+=TopicConnection)*)? '}' )? ('ServiceConnections' '{' (ServiceConnections+=ServiceConnection ( "," ServiceConnections+=ServiceConnection)*)? '}' )? ('ActionConnections' '{' (ActionConnections+=ActionConnection ( "," ActionConnections+=ActionConnection)*)? '}' )? @@ -50,7 +51,21 @@ ActionConnection returns ActionConnection: EString returns ecore::EString: STRING | ID; - +ComponentStack returns ComponentStack: + 'ComponentStack' + '{' + 'name' Name=EString + ('RosComponents' '(' (RosComponent+=ComponentInterface ( "," RosComponent+=ComponentInterface)*)? ')' )? + ('QualityAttributes' '(' (QualityAttribute+=QualityAttribute ( "," QualityAttribute+=QualityAttribute)*)? ')' )? + + '}'; + +QualityAttribute returns QualityAttribute: + 'QualityAttribute' + Name=EString + ('type' Type=ParameterType)? + ('value' Value=ParameterValue)?; + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ComponentInterface returns componentInterface::ComponentInterface: diff --git a/plugins/de.fraunhofer.ipa.rossystem/model/rossystem.ecore b/plugins/de.fraunhofer.ipa.rossystem/model/rossystem.ecore index 636059cb4..1814c6d73 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/model/rossystem.ecore +++ b/plugins/de.fraunhofer.ipa.rossystem/model/rossystem.ecore @@ -9,12 +9,29 @@ + + - + + + + + + + + + - + + + + + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/ComponentStack.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/ComponentStack.java new file mode 100644 index 000000000..b5ef682d2 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/ComponentStack.java @@ -0,0 +1,76 @@ +/** + */ +package rossystem; + +import componentInterface.ComponentInterface; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Component Stack'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link rossystem.ComponentStack#getName Name}
  • + *
  • {@link rossystem.ComponentStack#getRosComponent Ros Component}
  • + *
  • {@link rossystem.ComponentStack#getQualityAttribute Quality Attribute}
  • + *
+ * + * @see rossystem.RossystemPackage#getComponentStack() + * @model + * @generated + */ +public interface ComponentStack extends EObject { + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see rossystem.RossystemPackage#getComponentStack_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link rossystem.ComponentStack#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Ros Component' containment reference list. + * The list contents are of type {@link componentInterface.ComponentInterface}. + * + * + * @return the value of the 'Ros Component' containment reference list. + * @see rossystem.RossystemPackage#getComponentStack_RosComponent() + * @model containment="true" derived="true" + * @generated + */ + EList getRosComponent(); + + /** + * Returns the value of the 'Quality Attribute' containment reference list. + * The list contents are of type {@link rossystem.QualityAttribute}. + * + * + * @return the value of the 'Quality Attribute' containment reference list. + * @see rossystem.RossystemPackage#getComponentStack_QualityAttribute() + * @model containment="true" derived="true" + * @generated + */ + EList getQualityAttribute(); + +} // ComponentStack diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/QualityAttribute.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/QualityAttribute.java new file mode 100644 index 000000000..99512abff --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/QualityAttribute.java @@ -0,0 +1,95 @@ +/** + */ +package rossystem; + +import org.eclipse.emf.ecore.EObject; + +import ros.ParameterType; +import ros.ParameterValue; + +/** + * + * A representation of the model object 'Quality Attribute'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link rossystem.QualityAttribute#getName Name}
  • + *
  • {@link rossystem.QualityAttribute#getType Type}
  • + *
  • {@link rossystem.QualityAttribute#getValue Value}
  • + *
+ * + * @see rossystem.RossystemPackage#getQualityAttribute() + * @model + * @generated + */ +public interface QualityAttribute extends EObject { + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see rossystem.RossystemPackage#getQualityAttribute_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link rossystem.QualityAttribute#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Type' containment reference. + * + * + * @return the value of the 'Type' containment reference. + * @see #setType(ParameterType) + * @see rossystem.RossystemPackage#getQualityAttribute_Type() + * @model containment="true" + * @generated + */ + ParameterType getType(); + + /** + * Sets the value of the '{@link rossystem.QualityAttribute#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(ParameterType value); + + /** + * Returns the value of the 'Value' containment reference. + * + * + * @return the value of the 'Value' containment reference. + * @see #setValue(ParameterValue) + * @see rossystem.RossystemPackage#getQualityAttribute_Value() + * @model containment="true" + * @generated + */ + ParameterValue getValue(); + + /** + * Sets the value of the '{@link rossystem.QualityAttribute#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(ParameterValue value); + +} // QualityAttribute diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RosSystem.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RosSystem.java index 7a720d068..2c4f55405 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RosSystem.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RosSystem.java @@ -4,7 +4,6 @@ import componentInterface.ComponentInterface; import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import ros.Parameter; @@ -21,8 +20,9 @@ *
  • {@link rossystem.RosSystem#getServiceConnections Service Connections}
  • *
  • {@link rossystem.RosSystem#getActionConnections Action Connections}
  • *
  • {@link rossystem.RosSystem#getName Name}
  • - *
  • {@link rossystem.RosSystem#getRosComponent Ros Component}
  • + *
  • {@link rossystem.RosSystem#getComponentStack Component Stack}
  • *
  • {@link rossystem.RosSystem#getParameter Parameter}
  • + *
  • {@link rossystem.RosSystem#getRosComponent Ros Component}
  • * * * @see rossystem.RossystemPackage#getRosSystem() @@ -88,6 +88,18 @@ public interface RosSystem extends EObject { */ void setName(String value); + /** + * Returns the value of the 'Component Stack' containment reference list. + * The list contents are of type {@link rossystem.ComponentStack}. + * + * + * @return the value of the 'Component Stack' containment reference list. + * @see rossystem.RossystemPackage#getRosSystem_ComponentStack() + * @model containment="true" derived="true" + * @generated + */ + EList getComponentStack(); + /** * Returns the value of the 'Ros Component' containment reference list. * The list contents are of type {@link componentInterface.ComponentInterface}. diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemFactory.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemFactory.java index ad0a1e280..da9e74893 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemFactory.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemFactory.java @@ -30,6 +30,24 @@ public interface RossystemFactory extends EFactory { */ RosSystem createRosSystem(); + /** + * Returns a new object of class 'Component Stack'. + * + * + * @return a new object of class 'Component Stack'. + * @generated + */ + ComponentStack createComponentStack(); + + /** + * Returns a new object of class 'Quality Attribute'. + * + * + * @return a new object of class 'Quality Attribute'. + * @generated + */ + QualityAttribute createQualityAttribute(); + /** * Returns a new object of class 'Topic Connection'. * diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemPackage.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemPackage.java index 5f8470a11..07c53acc3 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemPackage.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/RossystemPackage.java @@ -103,13 +103,13 @@ public interface RossystemPackage extends EPackage { int ROS_SYSTEM__NAME = 3; /** - * The feature id for the 'Ros Component' containment reference list. + * The feature id for the 'Component Stack' containment reference list. * * * @generated * @ordered */ - int ROS_SYSTEM__ROS_COMPONENT = 4; + int ROS_SYSTEM__COMPONENT_STACK = 4; /** * The feature id for the 'Parameter' containment reference list. @@ -120,6 +120,15 @@ public interface RossystemPackage extends EPackage { */ int ROS_SYSTEM__PARAMETER = 5; + /** + * The feature id for the 'Ros Component' containment reference list. + * + * + * @generated + * @ordered + */ + int ROS_SYSTEM__ROS_COMPONENT = 6; + /** * The number of structural features of the 'Ros System' class. * @@ -127,7 +136,7 @@ public interface RossystemPackage extends EPackage { * @generated * @ordered */ - int ROS_SYSTEM_FEATURE_COUNT = 6; + int ROS_SYSTEM_FEATURE_COUNT = 7; /** * The number of operations of the 'Ros System' class. @@ -138,6 +147,116 @@ public interface RossystemPackage extends EPackage { */ int ROS_SYSTEM_OPERATION_COUNT = 0; + /** + * The meta object id for the '{@link rossystem.impl.ComponentStackImpl Component Stack}' class. + * + * + * @see rossystem.impl.ComponentStackImpl + * @see rossystem.impl.RossystemPackageImpl#getComponentStack() + * @generated + */ + int COMPONENT_STACK = 1; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int COMPONENT_STACK__NAME = 0; + + /** + * The feature id for the 'Ros Component' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_STACK__ROS_COMPONENT = 1; + + /** + * The feature id for the 'Quality Attribute' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_STACK__QUALITY_ATTRIBUTE = 2; + + /** + * The number of structural features of the 'Component Stack' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_STACK_FEATURE_COUNT = 3; + + /** + * The number of operations of the 'Component Stack' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_STACK_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link rossystem.impl.QualityAttributeImpl Quality Attribute}' class. + * + * + * @see rossystem.impl.QualityAttributeImpl + * @see rossystem.impl.RossystemPackageImpl#getQualityAttribute() + * @generated + */ + int QUALITY_ATTRIBUTE = 2; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int QUALITY_ATTRIBUTE__NAME = 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int QUALITY_ATTRIBUTE__TYPE = 1; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int QUALITY_ATTRIBUTE__VALUE = 2; + + /** + * The number of structural features of the 'Quality Attribute' class. + * + * + * @generated + * @ordered + */ + int QUALITY_ATTRIBUTE_FEATURE_COUNT = 3; + + /** + * The number of operations of the 'Quality Attribute' class. + * + * + * @generated + * @ordered + */ + int QUALITY_ATTRIBUTE_OPERATION_COUNT = 0; + /** * The meta object id for the '{@link rossystem.impl.TopicConnectionImpl Topic Connection}' class. * @@ -146,7 +265,7 @@ public interface RossystemPackage extends EPackage { * @see rossystem.impl.RossystemPackageImpl#getTopicConnection() * @generated */ - int TOPIC_CONNECTION = 1; + int TOPIC_CONNECTION = 3; /** * The feature id for the 'From' reference list. @@ -201,7 +320,7 @@ public interface RossystemPackage extends EPackage { * @see rossystem.impl.RossystemPackageImpl#getServiceConnection() * @generated */ - int SERVICE_CONNECTION = 2; + int SERVICE_CONNECTION = 4; /** * The feature id for the 'From' reference list. @@ -257,7 +376,7 @@ public interface RossystemPackage extends EPackage { * @see rossystem.impl.RossystemPackageImpl#getActionConnection() * @generated */ - int ACTION_CONNECTION = 3; + int ACTION_CONNECTION = 5; /** * The feature id for the 'From' reference. @@ -348,6 +467,17 @@ public interface RossystemPackage extends EPackage { */ EAttribute getRosSystem_Name(); + /** + * Returns the meta object for the containment reference list '{@link rossystem.RosSystem#getComponentStack Component Stack}'. + * + * + * @return the meta object for the containment reference list 'Component Stack'. + * @see rossystem.RosSystem#getComponentStack() + * @see #getRosSystem() + * @generated + */ + EReference getRosSystem_ComponentStack(); + /** * Returns the meta object for the containment reference list '{@link rossystem.RosSystem#getRosComponent Ros Component}'. * @@ -359,6 +489,92 @@ public interface RossystemPackage extends EPackage { */ EReference getRosSystem_RosComponent(); + /** + * Returns the meta object for class '{@link rossystem.ComponentStack Component Stack}'. + * + * + * @return the meta object for class 'Component Stack'. + * @see rossystem.ComponentStack + * @generated + */ + EClass getComponentStack(); + + /** + * Returns the meta object for the attribute '{@link rossystem.ComponentStack#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see rossystem.ComponentStack#getName() + * @see #getComponentStack() + * @generated + */ + EAttribute getComponentStack_Name(); + + /** + * Returns the meta object for the containment reference list '{@link rossystem.ComponentStack#getRosComponent Ros Component}'. + * + * + * @return the meta object for the containment reference list 'Ros Component'. + * @see rossystem.ComponentStack#getRosComponent() + * @see #getComponentStack() + * @generated + */ + EReference getComponentStack_RosComponent(); + + /** + * Returns the meta object for the containment reference list '{@link rossystem.ComponentStack#getQualityAttribute Quality Attribute}'. + * + * + * @return the meta object for the containment reference list 'Quality Attribute'. + * @see rossystem.ComponentStack#getQualityAttribute() + * @see #getComponentStack() + * @generated + */ + EReference getComponentStack_QualityAttribute(); + + /** + * Returns the meta object for class '{@link rossystem.QualityAttribute Quality Attribute}'. + * + * + * @return the meta object for class 'Quality Attribute'. + * @see rossystem.QualityAttribute + * @generated + */ + EClass getQualityAttribute(); + + /** + * Returns the meta object for the attribute '{@link rossystem.QualityAttribute#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see rossystem.QualityAttribute#getName() + * @see #getQualityAttribute() + * @generated + */ + EAttribute getQualityAttribute_Name(); + + /** + * Returns the meta object for the containment reference '{@link rossystem.QualityAttribute#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see rossystem.QualityAttribute#getType() + * @see #getQualityAttribute() + * @generated + */ + EReference getQualityAttribute_Type(); + + /** + * Returns the meta object for the containment reference '{@link rossystem.QualityAttribute#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see rossystem.QualityAttribute#getValue() + * @see #getQualityAttribute() + * @generated + */ + EReference getQualityAttribute_Value(); + /** * Returns the meta object for the containment reference list '{@link rossystem.RosSystem#getParameter Parameter}'. * @@ -567,6 +783,14 @@ interface Literals { */ EAttribute ROS_SYSTEM__NAME = eINSTANCE.getRosSystem_Name(); + /** + * The meta object literal for the 'Component Stack' containment reference list feature. + * + * + * @generated + */ + EReference ROS_SYSTEM__COMPONENT_STACK = eINSTANCE.getRosSystem_ComponentStack(); + /** * The meta object literal for the 'Ros Component' containment reference list feature. * @@ -575,6 +799,74 @@ interface Literals { */ EReference ROS_SYSTEM__ROS_COMPONENT = eINSTANCE.getRosSystem_RosComponent(); + /** + * The meta object literal for the '{@link rossystem.impl.ComponentStackImpl Component Stack}' class. + * + * + * @see rossystem.impl.ComponentStackImpl + * @see rossystem.impl.RossystemPackageImpl#getComponentStack() + * @generated + */ + EClass COMPONENT_STACK = eINSTANCE.getComponentStack(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute COMPONENT_STACK__NAME = eINSTANCE.getComponentStack_Name(); + + /** + * The meta object literal for the 'Ros Component' containment reference list feature. + * + * + * @generated + */ + EReference COMPONENT_STACK__ROS_COMPONENT = eINSTANCE.getComponentStack_RosComponent(); + + /** + * The meta object literal for the 'Quality Attribute' containment reference list feature. + * + * + * @generated + */ + EReference COMPONENT_STACK__QUALITY_ATTRIBUTE = eINSTANCE.getComponentStack_QualityAttribute(); + + /** + * The meta object literal for the '{@link rossystem.impl.QualityAttributeImpl Quality Attribute}' class. + * + * + * @see rossystem.impl.QualityAttributeImpl + * @see rossystem.impl.RossystemPackageImpl#getQualityAttribute() + * @generated + */ + EClass QUALITY_ATTRIBUTE = eINSTANCE.getQualityAttribute(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute QUALITY_ATTRIBUTE__NAME = eINSTANCE.getQualityAttribute_Name(); + + /** + * The meta object literal for the 'Type' containment reference feature. + * + * + * @generated + */ + EReference QUALITY_ATTRIBUTE__TYPE = eINSTANCE.getQualityAttribute_Type(); + + /** + * The meta object literal for the 'Value' containment reference feature. + * + * + * @generated + */ + EReference QUALITY_ATTRIBUTE__VALUE = eINSTANCE.getQualityAttribute_Value(); + /** * The meta object literal for the 'Parameter' containment reference list feature. * diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ComponentStackImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ComponentStackImpl.java new file mode 100644 index 000000000..099a3a5d2 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ComponentStackImpl.java @@ -0,0 +1,264 @@ +/** + */ +package rossystem.impl; + +import componentInterface.ComponentInterface; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import rossystem.ComponentStack; +import rossystem.QualityAttribute; +import rossystem.RossystemPackage; + +/** + * + * An implementation of the model object 'Component Stack'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link rossystem.impl.ComponentStackImpl#getName Name}
    • + *
    • {@link rossystem.impl.ComponentStackImpl#getRosComponent Ros Component}
    • + *
    • {@link rossystem.impl.ComponentStackImpl#getQualityAttribute Quality Attribute}
    • + *
    + * + * @generated + */ +public class ComponentStackImpl extends MinimalEObjectImpl.Container implements ComponentStack { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getRosComponent() Ros Component}' containment reference list. + * + * + * @see #getRosComponent() + * @generated + * @ordered + */ + protected EList rosComponent; + + /** + * The cached value of the '{@link #getQualityAttribute() Quality Attribute}' containment reference list. + * + * + * @see #getQualityAttribute() + * @generated + * @ordered + */ + protected EList qualityAttribute; + + /** + * + * + * @generated + */ + protected ComponentStackImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return RossystemPackage.Literals.COMPONENT_STACK; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RossystemPackage.COMPONENT_STACK__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getRosComponent() { + if (rosComponent == null) { + rosComponent = new EObjectContainmentEList(ComponentInterface.class, this, RossystemPackage.COMPONENT_STACK__ROS_COMPONENT); + } + return rosComponent; + } + + /** + * + * + * @generated + */ + @Override + public EList getQualityAttribute() { + if (qualityAttribute == null) { + qualityAttribute = new EObjectContainmentEList(QualityAttribute.class, this, RossystemPackage.COMPONENT_STACK__QUALITY_ATTRIBUTE); + } + return qualityAttribute; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RossystemPackage.COMPONENT_STACK__ROS_COMPONENT: + return ((InternalEList)getRosComponent()).basicRemove(otherEnd, msgs); + case RossystemPackage.COMPONENT_STACK__QUALITY_ATTRIBUTE: + return ((InternalEList)getQualityAttribute()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RossystemPackage.COMPONENT_STACK__NAME: + return getName(); + case RossystemPackage.COMPONENT_STACK__ROS_COMPONENT: + return getRosComponent(); + case RossystemPackage.COMPONENT_STACK__QUALITY_ATTRIBUTE: + return getQualityAttribute(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RossystemPackage.COMPONENT_STACK__NAME: + setName((String)newValue); + return; + case RossystemPackage.COMPONENT_STACK__ROS_COMPONENT: + getRosComponent().clear(); + getRosComponent().addAll((Collection)newValue); + return; + case RossystemPackage.COMPONENT_STACK__QUALITY_ATTRIBUTE: + getQualityAttribute().clear(); + getQualityAttribute().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RossystemPackage.COMPONENT_STACK__NAME: + setName(NAME_EDEFAULT); + return; + case RossystemPackage.COMPONENT_STACK__ROS_COMPONENT: + getRosComponent().clear(); + return; + case RossystemPackage.COMPONENT_STACK__QUALITY_ATTRIBUTE: + getQualityAttribute().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RossystemPackage.COMPONENT_STACK__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case RossystemPackage.COMPONENT_STACK__ROS_COMPONENT: + return rosComponent != null && !rosComponent.isEmpty(); + case RossystemPackage.COMPONENT_STACK__QUALITY_ATTRIBUTE: + return qualityAttribute != null && !qualityAttribute.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (Name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ComponentStackImpl diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/QualityAttributeImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/QualityAttributeImpl.java new file mode 100644 index 000000000..4f53e1f20 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/QualityAttributeImpl.java @@ -0,0 +1,318 @@ +/** + */ +package rossystem.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import ros.ParameterType; +import ros.ParameterValue; + +import rossystem.QualityAttribute; +import rossystem.RossystemPackage; + +/** + * + * An implementation of the model object 'Quality Attribute'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link rossystem.impl.QualityAttributeImpl#getName Name}
    • + *
    • {@link rossystem.impl.QualityAttributeImpl#getType Type}
    • + *
    • {@link rossystem.impl.QualityAttributeImpl#getValue Value}
    • + *
    + * + * @generated + */ +public class QualityAttributeImpl extends MinimalEObjectImpl.Container implements QualityAttribute { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected ParameterType type; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected ParameterValue value; + + /** + * + * + * @generated + */ + protected QualityAttributeImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return RossystemPackage.Literals.QUALITY_ATTRIBUTE; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RossystemPackage.QUALITY_ATTRIBUTE__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public ParameterType getType() { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(ParameterType newType, NotificationChain msgs) { + ParameterType oldType = type; + type = newType; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RossystemPackage.QUALITY_ATTRIBUTE__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setType(ParameterType newType) { + if (newType != type) { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RossystemPackage.QUALITY_ATTRIBUTE__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RossystemPackage.QUALITY_ATTRIBUTE__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RossystemPackage.QUALITY_ATTRIBUTE__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public ParameterValue getValue() { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(ParameterValue newValue, NotificationChain msgs) { + ParameterValue oldValue = value; + value = newValue; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RossystemPackage.QUALITY_ATTRIBUTE__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setValue(ParameterValue newValue) { + if (newValue != value) { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RossystemPackage.QUALITY_ATTRIBUTE__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RossystemPackage.QUALITY_ATTRIBUTE__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RossystemPackage.QUALITY_ATTRIBUTE__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RossystemPackage.QUALITY_ATTRIBUTE__TYPE: + return basicSetType(null, msgs); + case RossystemPackage.QUALITY_ATTRIBUTE__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RossystemPackage.QUALITY_ATTRIBUTE__NAME: + return getName(); + case RossystemPackage.QUALITY_ATTRIBUTE__TYPE: + return getType(); + case RossystemPackage.QUALITY_ATTRIBUTE__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RossystemPackage.QUALITY_ATTRIBUTE__NAME: + setName((String)newValue); + return; + case RossystemPackage.QUALITY_ATTRIBUTE__TYPE: + setType((ParameterType)newValue); + return; + case RossystemPackage.QUALITY_ATTRIBUTE__VALUE: + setValue((ParameterValue)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RossystemPackage.QUALITY_ATTRIBUTE__NAME: + setName(NAME_EDEFAULT); + return; + case RossystemPackage.QUALITY_ATTRIBUTE__TYPE: + setType((ParameterType)null); + return; + case RossystemPackage.QUALITY_ATTRIBUTE__VALUE: + setValue((ParameterValue)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RossystemPackage.QUALITY_ATTRIBUTE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case RossystemPackage.QUALITY_ATTRIBUTE__TYPE: + return type != null; + case RossystemPackage.QUALITY_ATTRIBUTE__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (Name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //QualityAttributeImpl diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RosSystemImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RosSystemImpl.java index 95fe08a50..26015c6d9 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RosSystemImpl.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RosSystemImpl.java @@ -21,6 +21,7 @@ import ros.Parameter; import rossystem.ActionConnection; +import rossystem.ComponentStack; import rossystem.RosSystem; import rossystem.RossystemPackage; import rossystem.ServiceConnection; @@ -38,8 +39,9 @@ *
  • {@link rossystem.impl.RosSystemImpl#getServiceConnections Service Connections}
  • *
  • {@link rossystem.impl.RosSystemImpl#getActionConnections Action Connections}
  • *
  • {@link rossystem.impl.RosSystemImpl#getName Name}
  • - *
  • {@link rossystem.impl.RosSystemImpl#getRosComponent Ros Component}
  • + *
  • {@link rossystem.impl.RosSystemImpl#getComponentStack Component Stack}
  • *
  • {@link rossystem.impl.RosSystemImpl#getParameter Parameter}
  • + *
  • {@link rossystem.impl.RosSystemImpl#getRosComponent Ros Component}
  • * * * @generated @@ -96,14 +98,14 @@ public class RosSystemImpl extends MinimalEObjectImpl.Container implements RosSy protected String name = NAME_EDEFAULT; /** - * The cached value of the '{@link #getRosComponent() Ros Component}' containment reference list. + * The cached value of the '{@link #getComponentStack() Component Stack}' containment reference list. * * - * @see #getRosComponent() + * @see #getComponentStack() * @generated * @ordered */ - protected EList rosComponent; + protected EList componentStack; /** * The cached value of the '{@link #getParameter() Parameter}' containment reference list. @@ -115,6 +117,16 @@ public class RosSystemImpl extends MinimalEObjectImpl.Container implements RosSy */ protected EList parameter; + /** + * The cached value of the '{@link #getRosComponent() Ros Component}' containment reference list. + * + * + * @see #getRosComponent() + * @generated + * @ordered + */ + protected EList rosComponent; + /** * * @@ -183,6 +195,19 @@ public void setName(String newName) { eNotify(new ENotificationImpl(this, Notification.SET, RossystemPackage.ROS_SYSTEM__NAME, oldName, name)); } + /** + * + * + * @generated + */ + @Override + public EList getComponentStack() { + if (componentStack == null) { + componentStack = new EObjectContainmentEList(ComponentStack.class, this, RossystemPackage.ROS_SYSTEM__COMPONENT_STACK); + } + return componentStack; + } + /** * * @@ -236,10 +261,12 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, return ((InternalEList)getServiceConnections()).basicRemove(otherEnd, msgs); case RossystemPackage.ROS_SYSTEM__ACTION_CONNECTIONS: return ((InternalEList)getActionConnections()).basicRemove(otherEnd, msgs); - case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: - return ((InternalEList)getRosComponent()).basicRemove(otherEnd, msgs); + case RossystemPackage.ROS_SYSTEM__COMPONENT_STACK: + return ((InternalEList)getComponentStack()).basicRemove(otherEnd, msgs); case RossystemPackage.ROS_SYSTEM__PARAMETER: return ((InternalEList)getParameter()).basicRemove(otherEnd, msgs); + case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: + return ((InternalEList)getRosComponent()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } @@ -260,10 +287,12 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { return getActionConnections(); case RossystemPackage.ROS_SYSTEM__NAME: return getName(); - case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: - return getRosComponent(); + case RossystemPackage.ROS_SYSTEM__COMPONENT_STACK: + return getComponentStack(); case RossystemPackage.ROS_SYSTEM__PARAMETER: return getParameter(); + case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: + return getRosComponent(); } return super.eGet(featureID, resolve, coreType); } @@ -292,14 +321,18 @@ public void eSet(int featureID, Object newValue) { case RossystemPackage.ROS_SYSTEM__NAME: setName((String)newValue); return; - case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: - getRosComponent().clear(); - getRosComponent().addAll((Collection)newValue); + case RossystemPackage.ROS_SYSTEM__COMPONENT_STACK: + getComponentStack().clear(); + getComponentStack().addAll((Collection)newValue); return; case RossystemPackage.ROS_SYSTEM__PARAMETER: getParameter().clear(); getParameter().addAll((Collection)newValue); return; + case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: + getRosComponent().clear(); + getRosComponent().addAll((Collection)newValue); + return; } super.eSet(featureID, newValue); } @@ -324,12 +357,15 @@ public void eUnset(int featureID) { case RossystemPackage.ROS_SYSTEM__NAME: setName(NAME_EDEFAULT); return; - case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: - getRosComponent().clear(); + case RossystemPackage.ROS_SYSTEM__COMPONENT_STACK: + getComponentStack().clear(); return; case RossystemPackage.ROS_SYSTEM__PARAMETER: getParameter().clear(); return; + case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: + getRosComponent().clear(); + return; } super.eUnset(featureID); } @@ -350,10 +386,12 @@ public boolean eIsSet(int featureID) { return actionConnections != null && !actionConnections.isEmpty(); case RossystemPackage.ROS_SYSTEM__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: - return rosComponent != null && !rosComponent.isEmpty(); + case RossystemPackage.ROS_SYSTEM__COMPONENT_STACK: + return componentStack != null && !componentStack.isEmpty(); case RossystemPackage.ROS_SYSTEM__PARAMETER: return parameter != null && !parameter.isEmpty(); + case RossystemPackage.ROS_SYSTEM__ROS_COMPONENT: + return rosComponent != null && !rosComponent.isEmpty(); } return super.eIsSet(featureID); } diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java index 94bacd611..e60ca5d91 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java @@ -57,6 +57,8 @@ public RossystemFactoryImpl() { public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case RossystemPackage.ROS_SYSTEM: return createRosSystem(); + case RossystemPackage.COMPONENT_STACK: return createComponentStack(); + case RossystemPackage.QUALITY_ATTRIBUTE: return createQualityAttribute(); case RossystemPackage.TOPIC_CONNECTION: return createTopicConnection(); case RossystemPackage.SERVICE_CONNECTION: return createServiceConnection(); case RossystemPackage.ACTION_CONNECTION: return createActionConnection(); @@ -75,6 +77,26 @@ public RosSystem createRosSystem() { return rosSystem; } + /** + * + * + * @generated + */ + public ComponentStack createComponentStack() { + ComponentStackImpl componentStack = new ComponentStackImpl(); + return componentStack; + } + + /** + * + * + * @generated + */ + public QualityAttribute createQualityAttribute() { + QualityAttributeImpl qualityAttribute = new QualityAttributeImpl(); + return qualityAttribute; + } + /** * * diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemPackageImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemPackageImpl.java index d6e878591..ad39a1163 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemPackageImpl.java @@ -14,6 +14,8 @@ import ros.RosPackage; import rossystem.ActionConnection; +import rossystem.ComponentStack; +import rossystem.QualityAttribute; import rossystem.RosSystem; import rossystem.RossystemFactory; import rossystem.RossystemPackage; @@ -34,6 +36,20 @@ public class RossystemPackageImpl extends EPackageImpl implements RossystemPacka */ private EClass rosSystemEClass = null; + /** + * + * + * @generated + */ + private EClass componentStackEClass = null; + + /** + * + * + * @generated + */ + private EClass qualityAttributeEClass = null; + /** * * @@ -167,10 +183,100 @@ public EAttribute getRosSystem_Name() { * @generated */ @Override - public EReference getRosSystem_RosComponent() { + public EReference getRosSystem_ComponentStack() { return (EReference)rosSystemEClass.getEStructuralFeatures().get(4); } + /** + * + * + * @generated + */ + @Override + public EReference getRosSystem_RosComponent() { + return (EReference)rosSystemEClass.getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + @Override + public EClass getComponentStack() { + return componentStackEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getComponentStack_Name() { + return (EAttribute)componentStackEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getComponentStack_RosComponent() { + return (EReference)componentStackEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getComponentStack_QualityAttribute() { + return (EReference)componentStackEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getQualityAttribute() { + return qualityAttributeEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getQualityAttribute_Name() { + return (EAttribute)qualityAttributeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getQualityAttribute_Type() { + return (EReference)qualityAttributeEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getQualityAttribute_Value() { + return (EReference)qualityAttributeEClass.getEStructuralFeatures().get(2); + } + /** * * @@ -345,8 +451,19 @@ public void createPackageContents() { createEReference(rosSystemEClass, ROS_SYSTEM__SERVICE_CONNECTIONS); createEReference(rosSystemEClass, ROS_SYSTEM__ACTION_CONNECTIONS); createEAttribute(rosSystemEClass, ROS_SYSTEM__NAME); - createEReference(rosSystemEClass, ROS_SYSTEM__ROS_COMPONENT); + createEReference(rosSystemEClass, ROS_SYSTEM__COMPONENT_STACK); createEReference(rosSystemEClass, ROS_SYSTEM__PARAMETER); + createEReference(rosSystemEClass, ROS_SYSTEM__ROS_COMPONENT); + + componentStackEClass = createEClass(COMPONENT_STACK); + createEAttribute(componentStackEClass, COMPONENT_STACK__NAME); + createEReference(componentStackEClass, COMPONENT_STACK__ROS_COMPONENT); + createEReference(componentStackEClass, COMPONENT_STACK__QUALITY_ATTRIBUTE); + + qualityAttributeEClass = createEClass(QUALITY_ATTRIBUTE); + createEAttribute(qualityAttributeEClass, QUALITY_ATTRIBUTE__NAME); + createEReference(qualityAttributeEClass, QUALITY_ATTRIBUTE__TYPE); + createEReference(qualityAttributeEClass, QUALITY_ATTRIBUTE__VALUE); topicConnectionEClass = createEClass(TOPIC_CONNECTION); createEReference(topicConnectionEClass, TOPIC_CONNECTION__FROM); @@ -388,8 +505,8 @@ public void initializePackageContents() { setNsURI(eNS_URI); // Obtain other dependent packages - ComponentInterfacePackage theComponentInterfacePackage = (ComponentInterfacePackage)EPackage.Registry.INSTANCE.getEPackage(ComponentInterfacePackage.eNS_URI); RosPackage theRosPackage = (RosPackage)EPackage.Registry.INSTANCE.getEPackage(RosPackage.eNS_URI); + ComponentInterfacePackage theComponentInterfacePackage = (ComponentInterfacePackage)EPackage.Registry.INSTANCE.getEPackage(ComponentInterfacePackage.eNS_URI); // Create type parameters @@ -403,8 +520,19 @@ public void initializePackageContents() { initEReference(getRosSystem_ServiceConnections(), this.getServiceConnection(), null, "ServiceConnections", null, 0, -1, RosSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getRosSystem_ActionConnections(), this.getActionConnection(), null, "ActionConnections", null, 0, -1, RosSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getRosSystem_Name(), ecorePackage.getEString(), "Name", null, 0, 1, RosSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getRosSystem_RosComponent(), theComponentInterfacePackage.getComponentInterface(), null, "RosComponent", null, 0, -1, RosSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getRosSystem_ComponentStack(), this.getComponentStack(), null, "ComponentStack", null, 0, -1, RosSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getRosSystem_Parameter(), theRosPackage.getParameter(), null, "Parameter", null, 0, -1, RosSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getRosSystem_RosComponent(), theComponentInterfacePackage.getComponentInterface(), null, "RosComponent", null, 0, -1, RosSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + + initEClass(componentStackEClass, ComponentStack.class, "ComponentStack", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getComponentStack_Name(), ecorePackage.getEString(), "Name", null, 1, 1, ComponentStack.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getComponentStack_RosComponent(), theComponentInterfacePackage.getComponentInterface(), null, "RosComponent", null, 0, -1, ComponentStack.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getComponentStack_QualityAttribute(), this.getQualityAttribute(), null, "QualityAttribute", null, 0, -1, ComponentStack.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + + initEClass(qualityAttributeEClass, QualityAttribute.class, "QualityAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getQualityAttribute_Name(), ecorePackage.getEString(), "Name", null, 1, 1, QualityAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getQualityAttribute_Type(), theRosPackage.getParameterType(), null, "Type", null, 0, 1, QualityAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getQualityAttribute_Value(), theRosPackage.getParameterValue(), null, "Value", null, 0, 1, QualityAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(topicConnectionEClass, TopicConnection.class, "TopicConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTopicConnection_From(), theComponentInterfacePackage.getRosPublisher(), null, "From", null, 1, -1, TopicConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemAdapterFactory.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemAdapterFactory.java index 0eaf9c647..e6d2865cb 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemAdapterFactory.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemAdapterFactory.java @@ -72,6 +72,14 @@ public Adapter caseRosSystem(RosSystem object) { return createRosSystemAdapter(); } @Override + public Adapter caseComponentStack(ComponentStack object) { + return createComponentStackAdapter(); + } + @Override + public Adapter caseQualityAttribute(QualityAttribute object) { + return createQualityAttributeAdapter(); + } + @Override public Adapter caseTopicConnection(TopicConnection object) { return createTopicConnectionAdapter(); } @@ -117,6 +125,34 @@ public Adapter createRosSystemAdapter() { return null; } + /** + * Creates a new adapter for an object of class '{@link rossystem.ComponentStack Component Stack}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see rossystem.ComponentStack + * @generated + */ + public Adapter createComponentStackAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link rossystem.QualityAttribute Quality Attribute}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see rossystem.QualityAttribute + * @generated + */ + public Adapter createQualityAttributeAdapter() { + return null; + } + /** * Creates a new adapter for an object of class '{@link rossystem.TopicConnection Topic Connection}'. * diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemSwitch.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemSwitch.java index 4049400eb..85cfe8cb2 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemSwitch.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/util/RossystemSwitch.java @@ -72,6 +72,18 @@ protected T doSwitch(int classifierID, EObject theEObject) { if (result == null) result = defaultCase(theEObject); return result; } + case RossystemPackage.COMPONENT_STACK: { + ComponentStack componentStack = (ComponentStack)theEObject; + T result = caseComponentStack(componentStack); + if (result == null) result = defaultCase(theEObject); + return result; + } + case RossystemPackage.QUALITY_ATTRIBUTE: { + QualityAttribute qualityAttribute = (QualityAttribute)theEObject; + T result = caseQualityAttribute(qualityAttribute); + if (result == null) result = defaultCase(theEObject); + return result; + } case RossystemPackage.TOPIC_CONNECTION: { TopicConnection topicConnection = (TopicConnection)theEObject; T result = caseTopicConnection(topicConnection); @@ -109,6 +121,36 @@ public T caseRosSystem(RosSystem object) { return null; } + /** + * Returns the result of interpreting the object as an instance of 'Component Stack'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Component Stack'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComponentStack(ComponentStack object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Quality Attribute'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Quality Attribute'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseQualityAttribute(QualityAttribute object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of 'Topic Connection'. * From e4f53e60821845a315e034eed60100dfcf1ec610 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Wed, 28 Jul 2021 18:18:04 +0200 Subject: [PATCH 03/48] Implement generator templates (Xtend) for RosSystem models to support the new attribute ComponentStacks; the generation pipeline is consequently adapted --- .../generator/CMakeListsCompiler.xtend | 5 +- .../generator/DockerComposeCompiler.xtend | 39 +++++++++++++ .../generator/DockerContainerCompiler.xtend | 7 ++- .../generator/GeneratorHelpers.xtend | 21 ++++++- .../generator/LaunchFileCompiler_ROS1.xtend | 54 +++++++----------- .../generator/PackageXmlCompiler.xtend | 14 +++-- .../generator/RosSystemGenerator.xtend | 56 ++++++++----------- 7 files changed, 117 insertions(+), 79 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerComposeCompiler.xtend diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend index 578fa0ce7..af84b2c39 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend @@ -2,15 +2,16 @@ package de.fraunhofer.ipa.rossystem.generator import com.google.inject.Inject import rossystem.RosSystem +import rossystem.ComponentStack class CMakeListsCompiler { @Inject extension GeneratorHelpers - def compile_CMakeLists_ROS1(RosSystem system) '''«init_pkg()» + def compile_CMakeLists_ROS1(RosSystem system, ComponentStack stack) '''«init_pkg()» cmake_minimum_required(VERSION 2.8.3) -project(«system.name.toLowerCase») +project(«IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF») find_package(catkin REQUIRED) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerComposeCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerComposeCompiler.xtend new file mode 100644 index 000000000..2f717395a --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerComposeCompiler.xtend @@ -0,0 +1,39 @@ +package de.fraunhofer.ipa.rossystem.generator + +import com.google.inject.Inject +import rossystem.RosSystem +import rossystem.ComponentStack + +class DockerComposeCompiler { + + @Inject extension GeneratorHelpers + + def compile_toDockerCompose(RosSystem system) '''«init_pkg()» +version: "3.3" +networks: + ros: + driver: bridge + +services: + ros-master: + image: ros:melodic-ros-core + command: stdbuf -o L roscore + networks: + - ros + +«FOR stack:system.componentStack» +«" "»«system.name.toLowerCase»_«stack.name.toLowerCase»: + image: "«system.name.toLowerCase»_«stack.name.toLowerCase»:latest" + depends_on: + - ros-master + environment: + - "ROS_MASTER_URI=http://ros-master:11311" + - "ROS_HOSTNAME=«stack.name.toLowerCase»" + networks: + - ros + command: stdbuf -o L roslaunch «system.name.toLowerCase»_«stack.name.toLowerCase» «stack.name.toLowerCase».launch --wait + +«ENDFOR» + +''' +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend index 2f61d8e91..2b495cbad 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend @@ -2,12 +2,13 @@ package de.fraunhofer.ipa.rossystem.generator import com.google.inject.Inject import rossystem.RosSystem +import rossystem.ComponentStack class DockerContainerCompiler { @Inject extension GeneratorHelpers - def compile_toDockerContainer(RosSystem system) '''«init_pkg()» + def compile_toDockerContainer(RosSystem system, ComponentStack stack) '''«init_pkg()» # syntax=docker/dockerfile:experimental ARG SUFFIX= ARG PREFIX= @@ -15,7 +16,7 @@ FROM ros:melodic-ros-core as base FROM ${PREFIX}builder${SUFFIX} as builder FROM base as build -COPY . /root/ws/src/«system.name.toLowerCase»/ +COPY . /root/ws/src/«IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF»/ RUN --mount=type=bind,from=builder,target=/builder \ apt-get update -qq && \ /builder/workspace.bash build_workspace /root/ws && \ @@ -47,7 +48,7 @@ RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/roo COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO FROM deploy as launch -CMD ["roslaunch", "«system.name»", "«system.name».launch"] +«IF stack===null»CMD ["roslaunch", "«system.name»", "«system.name».launch"]«ELSE»CMD ["roslaunch", "«system.name.toLowerCase»_«stack.name.toLowerCase»", "«stack.name.toLowerCase».launch"]«ENDIF» ''' } \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend index bb2c5a25f..7825d463a 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend @@ -13,6 +13,7 @@ import rossystem.RosSystem import java.util.List import ros.Node import ros.impl.PackageImpl +import rossystem.ComponentStack class GeneratorHelpers { @@ -21,14 +22,30 @@ class GeneratorHelpers { PackageImpl package_impl List PkgsList String Pkg + List ComponentsList def void init_pkg(){ PackageSet=false } + + def getPkgsDependencies (RosSystem rossystem, ComponentStack stack){ + if (stack===null){ + return getPkgsDependencies(rossystem) + } else { + return getPkgsDependencies(stack) + } + } - def getPkgsDependencies(RosSystem rossystem){ + def getPkgsDependencies(Object subsystem){ PkgsList = new ArrayList() - for (component:rossystem.rosComponent){ + ComponentsList = new ArrayList(); + + if (subsystem.class.toString.contains("RosSystemImpl")){ + ComponentsList = (subsystem as RosSystem).rosComponent + } else if (subsystem.class.toString.contains("ComponentStackImpl")) { + ComponentsList = (subsystem as ComponentStack).rosComponent + } + for (component:ComponentsList){ init_pkg() Pkg = component.compile_pkg.toString() if (!PkgsList.contains(Pkg)){ diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend index 5befdf054..54a05dfdd 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend @@ -18,6 +18,7 @@ import componentInterface.RosServiceClient import componentInterface.RosActionClient import rossystem.ActionConnection import componentInterface.RosActionServer +import rossystem.ComponentStack class LaunchFileCompiler_ROS1 { @Inject extension GeneratorHelpers @@ -29,13 +30,16 @@ class LaunchFileCompiler_ROS1 { String tab_tmp="" List sizes_list = new ArrayList(); List param_list = new ArrayList(); + List components = new ArrayList(); + int i=0; int k=0; - def compile_toROS1launch(RosSystem system) '''«init_comp()» + def compile_toROS1launch(RosSystem system, ComponentStack stack) '''«init_comp()» +«IF stack===null» «FOR ROSParameter:system.parameter» «IF ROSParameter.type.toString.contains("ParameterStructType")» @@ -56,41 +60,11 @@ class LaunchFileCompiler_ROS1 { «ELSE» «ENDIF» - «ENDFOR» -««« «FOR component:system.rosComponent» - ««« «FOR rosPublisher:component.rospublisher» - ««« «IF component.hasNS»«IF !rosPublisher.name.equals(compile_topic_name(rosPublisher.publisher,component.get_ns()))» - ««« - ««« «ENDIF»«ENDIF» - ««« «ENDFOR» - ««« «FOR rosSubscriber:component.rossubscriber» - ««« «IF component.hasNS»«IF !rosSubscriber.name.equals(compile_topic_name(rosSubscriber.subscriber,component.get_ns()))» - ««« - ««« «ENDIF»«ENDIF» - ««« «ENDFOR» - ««« «FOR rosServiceServer:component.rosserviceserver» - ««« «IF component.hasNS»«IF !rosServiceServer.name.equals(compile_service_name(rosServiceServer.srvserver,component.get_ns()))» - ««« - ««« «ENDIF»«ENDIF» - ««« «ENDFOR» - ««« «FOR rosServiceClient:component.rosserviceclient» - ««« «IF component.hasNS»«IF !rosServiceClient.name.equals(compile_service_name(rosServiceClient.srvclient,component.get_ns()))» - ««« - ««« «ENDIF»«ENDIF» - ««« «ENDFOR» - ««« «FOR rosActionServer:component.rosactionserver» - ««« «IF component.hasNS»«IF !rosActionServer.name.equals(compile_action_name(rosActionServer.actserver,component.get_ns()))» - ««« - ««« «ENDIF»«ENDIF» - ««« «ENDFOR» - ««« «FOR rosActionClient:component.rosactionclient» - ««« «IF component.hasNS»«IF !rosActionClient.name.equals(compile_action_name(rosActionClient.actclient,component.get_ns()))» - ««« - ««« «ENDIF»«ENDIF» - ««« «ENDFOR» - ««« «ENDFOR» + «ENDFOR»«ELSE»«FOR qa:stack.qualityAttribute» + +«ENDFOR»«ENDIF» - «FOR component:system.rosComponent» + «FOR component:compile_list_of_components(system,stack)» «init_comp()»«init_pkg» «FOR rosPublisher:component.rospublisher» «remapping_function_pub(rosPublisher, component.hasNS, inTopicFromConnection(rosPublisher, system.topicConnections),component.check_ns)» @@ -128,6 +102,16 @@ class LaunchFileCompiler_ROS1 { ''' + def List compile_list_of_components(RosSystem system, ComponentStack stack) { + components=null; + if (stack === null){ + components = system.rosComponent; + } else { + components = stack.rosComponent; + } + return components; + } + // TOPICS REMAP def String remapping_function_pub(RosPublisher rosPublisher, boolean HasNS, String inConnection, String NS) { if(inConnection!==null){ diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend index e61389743..64268afc4 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend @@ -2,17 +2,21 @@ package de.fraunhofer.ipa.rossystem.generator import rossystem.RosSystem import com.google.inject.Inject +import rossystem.ComponentStack +import java.util.List +import java.util.ArrayList class PackageXmlCompiler{ @Inject extension GeneratorHelpers + List depends_list - def compile_package_xml_format2(RosSystem system) '''«init_pkg()» + def compile_package_xml_format2(RosSystem system,ComponentStack stack) '''«init_pkg()» - «system.name.toLowerCase» + «IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF» 0.0.1 - This package provides launch file for operating «system.name» + This package provides launch file for operating «IF stack===null»«system.name»«ELSE»«system.name.toLowerCase»_«stack.name»«ENDIF» Apache 2.0 @@ -22,15 +26,15 @@ class PackageXmlCompiler{ Jane Doe Jane Doe - catkin - «FOR pkg:system.getPkgsDependencies» + «FOR pkg:getPkgsDependencies(system, stack)» «pkg» «ENDFOR» ''' + def compile_package_xml_format3(RosSystem system) '''«init_pkg()» Date: Wed, 25 Aug 2021 11:26:50 +0200 Subject: [PATCH 04/48] Implement and adapt RosSystem tests for the new attribute ComponentStacks --- .../resources/test_stacks.rossystem | 43 ++++++++++ .../resources/test_stacks/docker-compose.yml | 35 ++++++++ .../test_stacks_stack1/CMakeLists.txt | 12 +++ .../test_stacks/test_stacks_stack1/Dockerfile | 40 ++++++++++ .../test_stacks_stack1/launch/stack1.launch | 9 +++ .../test_stacks_stack1/package.xml | 18 +++++ .../test_stacks_stack2/CMakeLists.txt | 12 +++ .../test_stacks/test_stacks_stack2/Dockerfile | 40 ++++++++++ .../test_stacks_stack2/launch/stack2.launch | 7 ++ .../test_stacks_stack2/package.xml | 18 +++++ .../test_system/launch/test_system.launch | 12 +-- .../resources/test_system/package.xml | 1 - .../tests/RosSystemGeneratorTest.xtend | 80 ++++++++++++++----- .../tests/RosSystemParsingTest.xtend | 26 +++++- .../tests/RosSystemValidationTest.xtend | 4 +- 15 files changed, 328 insertions(+), 29 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks.rossystem create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/CMakeLists.txt create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/launch/stack1.launch create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/package.xml create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/CMakeLists.txt create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/launch/stack2.launch create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/package.xml diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks.rossystem b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks.rossystem new file mode 100644 index 000000000..4dd350c61 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks.rossystem @@ -0,0 +1,43 @@ +RosSystem { Name 'test_stacks' + RosComponentStacks ( + ComponentStack { + name stack1 + RosComponents ( + ComponentInterface { name test_node + FromRosNode "test_pkg.test_node.test_node" + RosPublishers{ RosPublisher "scan" { RefPublisher "test_pkg.test_node.test_node.scan"} } + RosSubscribers{ RosSubscriber "power_state" { RefSubscriber "test_pkg.test_node.test_node.power_state"} } + RosSrvServers{ RosServiceServer "setBool" { RefServer "test_pkg.test_node.test_node.setBool"} } + RosSrvClients{ RosServiceClient "init" { RefClient "test_pkg.test_node.test_node.init"} } + RosParameters{ RosParameter "string_test" { RefParameter "test_pkg.test_node.test_node.string_test"}, + RosParameter "bool_tets" { RefParameter "test_pkg.test_node.test_node.bool_tets"}, + RosParameter "array_tets" { RefParameter "test_pkg.test_node.test_node.array_tets"}, + RosParameter "base64_test" { RefParameter "test_pkg.test_node.test_node.base64_test"}, + RosParameter "double_test" { RefParameter "test_pkg.test_node.test_node.double_test"}, + RosParameter "int_test" { RefParameter "test_pkg.test_node.test_node.int_test"}, + RosParameter "list_test" { RefParameter "test_pkg.test_node.test_node.list_test"}}}, + ComponentInterface { name test_node2 NameSpace test2 + FromRosNode "test_pkg.test_node.test_node" + RosPublishers { RosPublisher "scan" { RefPublisher "test_pkg.test_node.test_node.scan" } } + RosSubscribers { RosSubscriber "power_state" { RefSubscriber "test_pkg.test_node.test_node.power_state" } } + RosSrvServers { RosServiceServer "setBool" { RefServer "test_pkg.test_node.test_node.setBool" } } + RosSrvClients { RosServiceClient "init" { RefClient "test_pkg.test_node.test_node.init" } } + RosParameters { RosParameter "string_test" { RefParameter "test_pkg.test_node.test_node.string_test" } , + RosParameter "bool_tets" { RefParameter "test_pkg.test_node.test_node.bool_tets" } , + RosParameter "array_tets" { RefParameter "test_pkg.test_node.test_node.array_tets" } , + RosParameter "base64_test" { RefParameter "test_pkg.test_node.test_node.base64_test" } , + RosParameter "double_test" { RefParameter "test_pkg.test_node.test_node.double_test" } , + RosParameter "int_test" { RefParameter "test_pkg.test_node.test_node.int_test" } , + RosParameter "list_test" { RefParameter "test_pkg.test_node.test_node.list_test" }}})}, + ComponentStack { + name stack2 + RosComponents ( + ComponentInterface { name test_nodea + RosPublishers { RosPublisher power_state { RefPublisher "test_pkg.test_node.test_node.power_state" } } + RosSubscribers { RosSubscriber scan { RefSubscriber "test_pkg.test_node.test_node.scan" } } + RosSrvServers { RosServiceServer init { RefServer "test_pkg.test_node.test_node.init" } } + RosSrvClients { RosServiceClient SetBool { RefClient "test_pkg.test_node.test_node.SetBool" }}} + ) + } + ) +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml new file mode 100644 index 000000000..0d9170954 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml @@ -0,0 +1,35 @@ +version: "3.3" +networks: + ros: + driver: bridge + +services: + ros-master: + image: ros:melodic-ros-core + command: stdbuf -o L roscore + networks: + - ros + + test_stacks_stack1: + image: "test_stacks_stack1:latest" + depends_on: + - ros-master + environment: + - "ROS_MASTER_URI=http://ros-master:11311" + - "ROS_HOSTNAME=stack1" + networks: + - ros + command: stdbuf -o L roslaunch test_stacks_stack1 stack1.launch --wait + + test_stacks_stack2: + image: "test_stacks_stack2:latest" + depends_on: + - ros-master + environment: + - "ROS_MASTER_URI=http://ros-master:11311" + - "ROS_HOSTNAME=stack2" + networks: + - ros + command: stdbuf -o L roslaunch test_stacks_stack2 stack2.launch --wait + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/CMakeLists.txt b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/CMakeLists.txt new file mode 100644 index 000000000..493de8ca0 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 2.8.3) +project(test_stacks_stack1) + +find_package(catkin REQUIRED) + +catkin_package() + + +### INSTALL ### +install(DIRECTORY launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +) \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile new file mode 100644 index 000000000..5a9b7f3b8 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile @@ -0,0 +1,40 @@ +# syntax=docker/dockerfile:experimental +ARG SUFFIX= +ARG PREFIX= +FROM ros:melodic-ros-core as base +FROM ${PREFIX}builder${SUFFIX} as builder + +FROM base as build +COPY . /root/ws/src/test_stacks_stack1/ +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash build_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as test +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash test_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as install +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM install as full +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM base as deploy +RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* +COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO + +FROM deploy as launch +CMD ["roslaunch", "test_stacks_stack1", "stack1.launch"] diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/launch/stack1.launch b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/launch/stack1.launch new file mode 100644 index 000000000..fd24f7daf --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/launch/stack1.launch @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/package.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/package.xml new file mode 100644 index 000000000..2814b204a --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/package.xml @@ -0,0 +1,18 @@ + + test_stacks_stack1 + 0.0.1 + This package provides launch file for operating test_stacks_stack1 + + Apache 2.0 + + http://wiki.ros.org/ + + + Jane Doe + Jane Doe + + catkin + test_pkg + + + \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/CMakeLists.txt b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/CMakeLists.txt new file mode 100644 index 000000000..a3a73d166 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 2.8.3) +project(test_stacks_stack2) + +find_package(catkin REQUIRED) + +catkin_package() + + +### INSTALL ### +install(DIRECTORY launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +) \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile new file mode 100644 index 000000000..6892540ed --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile @@ -0,0 +1,40 @@ +# syntax=docker/dockerfile:experimental +ARG SUFFIX= +ARG PREFIX= +FROM ros:melodic-ros-core as base +FROM ${PREFIX}builder${SUFFIX} as builder + +FROM base as build +COPY . /root/ws/src/test_stacks_stack2/ +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash build_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as test +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash test_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as install +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM install as full +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM base as deploy +RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* +COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO + +FROM deploy as launch +CMD ["roslaunch", "test_stacks_stack2", "stack2.launch"] diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/launch/stack2.launch b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/launch/stack2.launch new file mode 100644 index 000000000..324e36bb9 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/launch/stack2.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/package.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/package.xml new file mode 100644 index 000000000..539c9688c --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/package.xml @@ -0,0 +1,18 @@ + + test_stacks_stack2 + 0.0.1 + This package provides launch file for operating test_stacks_stack2 + + Apache 2.0 + + http://wiki.ros.org/ + + + Jane Doe + Jane Doe + + catkin + test_pkg + + + \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/launch/test_system.launch b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/launch/test_system.launch index 03e62025f..243c77819 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/launch/test_system.launch +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/launch/test_system.launch @@ -1,13 +1,13 @@ - - [1,2,a] - [1,3] - + +[1,2,a] +[1,3] + first_element: 8 third_element: dsd - - + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/package.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/package.xml index 51b2bddac..6adbbed74 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/package.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/package.xml @@ -11,7 +11,6 @@ Jane Doe Jane Doe - catkin test_pkg diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend index 9fbe509b3..7cc4459da 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend @@ -25,13 +25,13 @@ class RosSystemGeneratorTest { @Inject ParseHelper parseHelper - + @Inject Provider resourceSetProvider - @Inject + @Inject RosSystemGenerator generator - + String RESOURCES_BASE_DIR = 'resources' @Test @@ -43,16 +43,16 @@ class RosSystemGeneratorTest { ros_model.load(new StringInputStream( ''' PackageSet { CatkinPackage test_pkg { - Artifact test_node { Node { name test_node + Artifact test_node { Node { name test_node ServiceServers { ServiceServer {name setBool service "std_srvs.SetBool"}} - Publishers { + Publishers { Publisher { name scan message "sensor_msgs.LaserScan" }} Subscribers { Subscriber { name power_state message "sensor_msgs.BatteryState"}} ServiceClients { ServiceClient { name init service "std_srvs.Trigger"}} - Parameters { + Parameters { Parameter { name string_test type String default test}, Parameter { name bool_tets type Boolean }, Parameter { name array_tets type Array {type String}}, @@ -60,25 +60,25 @@ class RosSystemGeneratorTest { Parameter { name double_test type Double}, Parameter {name int_test type Integer}, Parameter {name list_test type List {Integer,Integer,String}}, - Parameter {name struc_test type Struct + Parameter {name struc_test type Struct {first_element Integer , second_element List { Integer, String}, third_element String , last_element Struct { hola Integer, what String}} } }}}}, - CatkinPackage test_pkg { - Artifact test_node { Node { name test_node + CatkinPackage test_pkg { + Artifact test_node { Node { name test_node ServiceServers { ServiceServer {name init service "std_srvs.Trigger"}} - Publishers { + Publishers { Publisher { name power_state message "sensor_msgs.BatteryState"}} Subscribers { Subscriber { name scan message "sensor_msgs.LaserScan" }} ServiceClients { ServiceClient { name SetBool service "std_srvs.SetBool"}} }}}, - CatkinPackage sensor_msgs{ Specs { + CatkinPackage sensor_msgs{ Specs { TopicSpec LaserScan{ message { Header header float32 angle_min float32 angle_max float32 angle_increment float32 time_increment float32 scan_time float32 range_min float32 range_max float32[] ranges float32[] intensities }}, TopicSpec BatteryState{ message { uint8 POWER_SUPPLY_STATUS_UNKNOWN=0 uint8 POWER_SUPPLY_STATUS_CHARGING=1 uint8 POWER_SUPPLY_STATUS_DISCHARGING=2 uint8 POWER_SUPPLY_STATUS_NOT_CHARGING=3 uint8 POWER_SUPPLY_STATUS_FULL=4 uint8 POWER_SUPPLY_HEALTH_UNKNOWN=0 uint8 POWER_SUPPLY_HEALTH_GOOD=1 uint8 POWER_SUPPLY_HEALTH_OVERHEAT=2 uint8 POWER_SUPPLY_HEALTH_DEAD=3 uint8 POWER_SUPPLY_HEALTH_OVERVOLTAGE=4 uint8 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE=5 uint8 POWER_SUPPLY_HEALTH_COLD=6 uint8 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE=7 uint8 POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE=8 uint8 POWER_SUPPLY_TECHNOLOGY_UNKNOWN=0 uint8 POWER_SUPPLY_TECHNOLOGY_NIMH=1 uint8 POWER_SUPPLY_TECHNOLOGY_LION=2 uint8 POWER_SUPPLY_TECHNOLOGY_LIPO=3 uint8 POWER_SUPPLY_TECHNOLOGY_LIFE=4 uint8 POWER_SUPPLY_TECHNOLOGY_NICD=5 uint8 POWER_SUPPLY_TECHNOLOGY_LIMN=6 Header header float32 voltage float32 current float32 charge float32 capacity float32 design_capacity float32 percentage uint8 power_supply_status uint8 power_supply_health uint8 power_supply_technology bool present float32[] cell_voltage string location string serial_number }}}}, CatkinPackage std_srvs{ Specs { @@ -87,33 +87,75 @@ class RosSystemGeneratorTest { } '''), emptyMap) val fileContent = new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'test.rossystem'))) - + val model = parseHelper.parse(fileContent, resourceSet) val fsa = new InMemoryFileSystemAccess - + generator.doGenerate(model.eResource, fsa, new GeneratorContext) - - // Assert that all necessary files exist + + // Assert that all necessary files exist Assert.assertTrue(fsa.textFiles.containsKey(CustomOutputProvider::DEFAULT_OUTPUT + "test_system/launch/test_system.launch")) Assert.assertTrue(fsa.textFiles.containsKey(CustomOutputProvider::DEFAULT_OUTPUT + "test_system/package.xml")) Assert.assertTrue(fsa.textFiles.containsKey(CustomOutputProvider::DEFAULT_OUTPUT + "test_system/CMakeLists.txt")) Assert.assertTrue(fsa.textFiles.containsKey(CustomOutputProvider::CM_CONFIGURATION + "test_system.componentinterface")) - + // Test the generated launch file Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/launch/', 'test_system.launch'))).trim, fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/launch/test_system.launch').toString.trim) - + // Test the generated package.xml file Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', 'package.xml'))).trim, fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/package.xml').toString.trim) - + // Test the generated CMakeLists.txt file Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', 'CMakeLists.txt'))).trim, fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/CMakeLists.txt').toString.trim) - // Test the generated component interface + // Test the generated component interface Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system.componentinterface'))).trim, fsa.textFiles.get(CustomOutputProvider::CM_CONFIGURATION + "test_system.componentinterface").toString.trim) + + //STACKS + val system_name = new String('test_stacks') + val stcak_names = newArrayList('stack1', 'stack2') + val gen_system_prefix = new String(String.format("%s%s", CustomOutputProvider::DEFAULT_OUTPUT,system_name)) + val system_prefix = new String(String.format("%s/%s",RESOURCES_BASE_DIR, system_name)) + + val fileContent_stack = new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, String.format("%s.rossystem",system_name )))) + val model_stack = parseHelper.parse(fileContent_stack, resourceSet) + + generator.doGenerate(model_stack.eResource, fsa, new GeneratorContext) + + for (String name : stcak_names) { + val gen_stack_prefix = new String(String.format("%s/%s_%s", gen_system_prefix, system_name, name)) + val stack_prefix = new String(String.format("%s/%s_%s", system_prefix, system_name, name)) + + // Assert that all necessary files exist + Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/launch/%s.launch", gen_stack_prefix, name))) + Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/package.xml", gen_stack_prefix))) + Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/CMakeLists.txt", gen_stack_prefix))) + Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/Dockerfile", gen_stack_prefix))) + + // Test the generated launch file + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(String.format("%s/launch/%s.launch", stack_prefix, name)))).trim, + fsa.textFiles.get(String.format("%s/launch/%s.launch", gen_stack_prefix, name)).toString.trim) + + // Test the generated package.xml file + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, 'package.xml'))).trim, + fsa.textFiles.get(String.format("%s/package.xml", gen_stack_prefix)).toString.trim) + + // Test the generated CMakeLists.txt file + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, 'CMakeLists.txt'))).trim, + fsa.textFiles.get(String.format("%s/CMakeLists.txt", gen_stack_prefix)).toString.trim) + + // Test the generated component interface + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, 'Dockerfile'))).trim, + fsa.textFiles.get(String.format("%s/Dockerfile", gen_stack_prefix)).toString.trim) + + } + Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/docker-compose.yml", gen_system_prefix))) + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(system_prefix, 'docker-compose.yml'))).trim, + fsa.textFiles.get(String.format("%s/docker-compose.yml", gen_system_prefix)).toString.trim) } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemParsingTest.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemParsingTest.xtend index 1f1f3e83b..446d96483 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemParsingTest.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemParsingTest.xtend @@ -31,6 +31,16 @@ class RosSystemParsingTest { val errors = model.eResource.errors Assert.assertTrue('''Unexpected errors: «errors.join(", ")»''', errors.isEmpty) } + + @Test + def void loadModel_stack() { + val fileContent = new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'test_stacks.rossystem'))) + val model = parseHelper.parse(fileContent) + + Assert.assertNotNull(model) + val errors = model.eResource.errors + Assert.assertTrue('''Unexpected errors: «errors.join(", ")»''', errors.isEmpty) + } @Test @@ -51,6 +61,20 @@ class RosSystemParsingTest { val ToTopic = model.topicConnections.get(0).to.get(0).name val Subscriber = model.rosComponent.get(2).rossubscriber.get(0).name Assert.assertEquals(ToTopic, Subscriber) - + } + + @Test + def void parseDomainmodel_stacks() { + val fileContent = new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'test_stacks.rossystem'))) + val model = parseHelper.parse(fileContent) + + val ComponentStackName = model.componentStack.get(0).name + Assert.assertEquals("stack1", ComponentStackName) + + val ComponentStackName2 = model.componentStack.get(1).name + Assert.assertEquals("stack2", ComponentStackName2) + + val ComponentName = model.componentStack.get(0).rosComponent.get(0).name + Assert.assertEquals("test_node", ComponentName) } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemValidationTest.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemValidationTest.xtend index 47bdf1ec6..91b7c90fe 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemValidationTest.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemValidationTest.xtend @@ -68,8 +68,7 @@ class RosSystemValidationTest { third_element String , last_element Struct { hola Integer, what String}} } - }}}}, - CatkinPackage test_pkg { + }}}, Artifact test_node { Node { name test_node ServiceServers { ServiceServer {name init service "std_srvs.Trigger"}} @@ -87,6 +86,7 @@ class RosSystemValidationTest { ServiceSpec SetBool{ request { bool data } response { bool success string message } }, ServiceSpec Trigger{ request { } response { bool success string message }}}} } + '''), emptyMap) val fileContent = new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'test.rossystem'))) val model = parseHelper.parse(fileContent, resourceSet) From 4c528f9aa0640b014a599522379f26a39bf2e4d2 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Tue, 31 Aug 2021 15:02:06 +0200 Subject: [PATCH 05/48] add documentation for the introspector --- README.md | 3 ++- docu/Introspection.md | 25 +++++++++++++++++++++++++ docu/NewRosModel.md | 4 ++-- docu/introspection.rosinstall | 8 ++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 docu/Introspection.md create mode 100644 docu/introspection.rosinstall diff --git a/README.md b/README.md index cf40bd4ad..4ce0ddce9 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,9 @@ Publications: - Create a model from your code: - (Prerequisite) [Add communication objects](docu/NewCommunicationObjects.md) - - [Create new ROS components](docu/NewProject.md) - [Create a ROS model from your source code(static code analyzer)](docu/NewRosModel.md) + - [Create a ROS model from a deployed robot using our introspection at runtime tool](docu/Introspection.md) + - [Create new ROS components](docu/NewProject.md) - [Generation of code from models](docu/CodeGeneration.md) - [Parameters definition](docu/Parameters.md) diff --git a/docu/Introspection.md b/docu/Introspection.md new file mode 100644 index 000000000..c17c90844 --- /dev/null +++ b/docu/Introspection.md @@ -0,0 +1,25 @@ +## Create a ROS model from a deployed robot using our introspection at runtime tool + +Please be sure that the tool is installed and your workspace setup, see the [installation guide](../README.md) for further details. + +The tools documented here were conceived as a simple way to obtain models of systems already developed during their execution. This series of scripts uses the popular ROS rosgraph library to obtain a list of the interfaces present in the system at runtime. + +You can install the tools directly on your workspace using the following command: + +``` +mkdir -p my_catkin_ws/src +cd my_catkin_ws/src +catkin_init_workspace +rosinstall . https://raw.githubusercontent.com/ipa320/ros-model/master/docu/introspection.rosinstall +cd my_catkin_ws +catkin_make (or catkin build) +``` + +To start the monitoring software the snapshot node has to be started on the same machine where the software to be analysed is running: + +``` +source my_catkin_ws/devel/setup.bash +rosrun rosgraph_monitor rossystem_snapshot +``` + +This script will generate automatically a new file (.rossystem) under the folder: 'rosgraph_monitor/results'. diff --git a/docu/NewRosModel.md b/docu/NewRosModel.md index 1c93fa15c..8e09322af 100644 --- a/docu/NewRosModel.md +++ b/docu/NewRosModel.md @@ -15,9 +15,9 @@ Under the link [Model extractor](http://ros-model.seronet-project.de/) a web ser ### Docker container -Clone the repository [ros-model-cloud](https://github.com/ipa320/ros-model-cloud) and follow its [documentation instructions](https://github.com/ipa320/ros-model-cloud/tree/master/extractor-interface) +Clone the repository [ros-model-extractors](https://github.com/ipa320/ros-model-extractors) and follow its [documentation instructions](https://github.com/ipa320/ros-model-extractors#ros-model-extractors). -Save the result content of the extraction as a ".ros" file in your tooling workspace. +Save the result content of the extraction as a ".ros" file in your tooling workspace. You can also contribute by sending us your generated files to be added to our database of models [RosCommonModels](https://github.com/ipa320/RosCommonModels). To check the created model open the file representation.aird with the Aird editor and in the menu representations choose the "component" option and press "New.." then choose the Artifact entity of your "*.ros" model and press finish. diff --git a/docu/introspection.rosinstall b/docu/introspection.rosinstall new file mode 100644 index 000000000..6a559db02 --- /dev/null +++ b/docu/introspection.rosinstall @@ -0,0 +1,8 @@ +- git: + local-name: ros_model_parser + uri: https://github.com/ipa-nhg/ros_model_parser.git + version: fix-value +- git: + local-name: rosgraph_monitor + uri: https://github.com/ipa-nhg/rosgraph_monitor.git + version: rossystem_snapshot From 48218a40bb6fa643d9dd6384ca5cc3b35b1d6d46 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Wed, 7 Jul 2021 18:14:09 +0200 Subject: [PATCH 06/48] add first version for the .rosinstall generator for ROS1 --- ...ePackage_dependency_ExternalDependency.gif | Bin 0 -> 223 bytes ...tePackage_dependency_PackageDependency.gif | Bin 0 -> 223 bytes .../plugin.properties | 2 + .../provider/CatkinPackageItemProvider.java | 53 - .../src/ros/provider/PackageItemProvider.java | 36 + .../ide/contentassist/antlr/RosParser.java | 35 +- .../antlr/internal/InternalRos.g | 674 +- .../antlr/internal/InternalRos.tokens | 50 +- .../antlr/internal/InternalRosLexer.java | 1421 +-- .../antlr/internal/InternalRosParser.java | 10557 ++++++++-------- .../AbstractRosProposalProvider.java | 12 +- .../de/fraunhofer/ipa/ros/Ros.xtextbin | Bin 15765 -> 15850 bytes .../ros/parser/antlr/internal/InternalRos.g | 238 +- .../parser/antlr/internal/InternalRos.tokens | 72 +- .../antlr/internal/InternalRosLexer.java | 1513 +-- .../antlr/internal/InternalRosParser.java | 4042 +++--- .../ros/serializer/RosSemanticSequencer.java | 12 +- .../ipa/ros/services/RosGrammarAccess.java | 277 +- .../src/de/fraunhofer/ipa/ros/Ros.xtext | 7 +- plugins/de.fraunhofer.ipa.ros/model/ros.ecore | 8 +- .../de.fraunhofer.ipa.ros/model/ros.genmodel | 6 +- .../src/ros/CatkinPackage.java | 23 - .../src/ros/Package.java | 36 + .../src/ros/RosPackage.java | 90 +- .../src/ros/impl/CatkinPackageImpl.java | 115 - .../src/ros/impl/PackageImpl.java | 94 + .../src/ros/impl/RosPackageImpl.java | 36 +- .../resources/test.ros | 30 +- .../resources/test.rossystem | 2 +- .../test_stacks_stack1/.rosinstall | 1 + .../test_stacks_stack2/.rosinstall | 0 .../resources/test_system/.rosinstall | 1 + .../resources/test_system/Dockerfile | 40 + .../tests/RosSystemInjectorProvider.java | 9 +- .../tests/RosSystemGeneratorTest.xtend | 17 +- .../ComponentInterfaceCompiler.xtend | 14 +- .../generator/GeneratorHelpers.xtend | 44 +- .../generator/RosInstallCompiler.xtend | 64 + .../generator/RosSystemGenerator.xtend | 7 +- 39 files changed, 10298 insertions(+), 9340 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackage_dependency_ExternalDependency.gif create mode 100644 plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackage_dependency_PackageDependency.gif create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/.rosinstall create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/.rosinstall create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/.rosinstall create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosInstallCompiler.xtend diff --git a/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackage_dependency_ExternalDependency.gif b/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackage_dependency_ExternalDependency.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fe680b4db8abcd1b1258e91ccf7742c7713c13e GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6Tx+^^Ecn+YZ#L@u~AUhdYV-ytnQX=it7-pV5JmtdHN&U@zlS({|Kb!Pi%buhurrs}= zoar2>F?;z5c9A}8}5D03R{UYJRqLb}R3lrSrZ?x3h&eb~oGCiLm Pr=}^ju_;?sk--`OWPfB< literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackage_dependency_PackageDependency.gif b/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackage_dependency_PackageDependency.gif new file mode 100644 index 0000000000000000000000000000000000000000..e93d4eec79074d7c243c2d7b470783bec497aaae GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6G_AQ7+;hybc#TeE+yDRZ^W*LR-?wjQ zX!!m6>zg-6@86$)=~Csc>1sf getPropertyDescriptors(Object object) { return itemPropertyDescriptors; } - /** - * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an - * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or - * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. - * - * - * @generated - */ - @Override - public Collection getChildrenFeatures(Object object) { - if (childrenFeatures == null) { - super.getChildrenFeatures(object); - childrenFeatures.add(RosPackage.Literals.CATKIN_PACKAGE__DEPENDENCY); - } - return childrenFeatures; - } - - /** - * - * - * @generated - */ - @Override - protected EStructuralFeature getChildFeature(Object object, Object child) { - // Check the type of the specified child object and return the proper feature to use for - // adding (see {@link AddCommand}) it as a child. - - return super.getChildFeature(object, child); - } - /** * This returns CatkinPackage.gif. * @@ -116,12 +79,6 @@ public String getText(Object object) { @Override public void notifyChanged(Notification notification) { updateChildren(notification); - - switch (notification.getFeatureID(CatkinPackage.class)) { - case RosPackage.CATKIN_PACKAGE__DEPENDENCY: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); - return; - } super.notifyChanged(notification); } @@ -135,16 +92,6 @@ public void notifyChanged(Notification notification) { @Override protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { super.collectNewChildDescriptors(newChildDescriptors, object); - - newChildDescriptors.add - (createChildParameter - (RosPackage.Literals.CATKIN_PACKAGE__DEPENDENCY, - RosFactory.eINSTANCE.createPackageDependency())); - - newChildDescriptors.add - (createChildParameter - (RosPackage.Literals.CATKIN_PACKAGE__DEPENDENCY, - RosFactory.eINSTANCE.createExternalDependency())); } } diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageItemProvider.java b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageItemProvider.java index 743c51990..ce386f893 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageItemProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageItemProvider.java @@ -63,6 +63,7 @@ public List getPropertyDescriptors(Object object) { super.getPropertyDescriptors(object); addNamePropertyDescriptor(object); + addFromGitRepoPropertyDescriptor(object); } return itemPropertyDescriptors; } @@ -89,6 +90,28 @@ protected void addNamePropertyDescriptor(Object object) { null)); } + /** + * This adds a property descriptor for the From Git Repo feature. + * + * + * @generated + */ + protected void addFromGitRepoPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Package_fromGitRepo_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Package_fromGitRepo_feature", "_UI_Package_type"), + RosPackage.Literals.PACKAGE__FROM_GIT_REPO, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + /** * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or @@ -103,6 +126,7 @@ public Collection getChildrenFeatures(Object objec super.getChildrenFeatures(object); childrenFeatures.add(RosPackage.Literals.PACKAGE__SPEC); childrenFeatures.add(RosPackage.Literals.PACKAGE__ARTIFACT); + childrenFeatures.add(RosPackage.Literals.PACKAGE__DEPENDENCY); } return childrenFeatures; } @@ -159,10 +183,12 @@ public void notifyChanged(Notification notification) { switch (notification.getFeatureID(ros.Package.class)) { case RosPackage.PACKAGE__NAME: + case RosPackage.PACKAGE__FROM_GIT_REPO: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; case RosPackage.PACKAGE__SPEC: case RosPackage.PACKAGE__ARTIFACT: + case RosPackage.PACKAGE__DEPENDENCY: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); return; } @@ -199,6 +225,16 @@ protected void collectNewChildDescriptors(Collection newChildDescriptors (createChildParameter (RosPackage.Literals.PACKAGE__ARTIFACT, RosFactory.eINSTANCE.createArtifact())); + + newChildDescriptors.add + (createChildParameter + (RosPackage.Literals.PACKAGE__DEPENDENCY, + RosFactory.eINSTANCE.createPackageDependency())); + + newChildDescriptors.add + (createChildParameter + (RosPackage.Literals.PACKAGE__DEPENDENCY, + RosFactory.eINSTANCE.createExternalDependency())); } /** diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java index c4be63dc6..3f2aeb9ee 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java @@ -49,17 +49,19 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getPackageSetAccess().getGroup_3_1(), "rule__PackageSet__Group_3_1__0"); builder.put(grammarAccess.getPackage_ImplAccess().getGroup(), "rule__Package_Impl__Group__0"); builder.put(grammarAccess.getPackage_ImplAccess().getGroup_4(), "rule__Package_Impl__Group_4__0"); - builder.put(grammarAccess.getPackage_ImplAccess().getGroup_4_3(), "rule__Package_Impl__Group_4_3__0"); builder.put(grammarAccess.getPackage_ImplAccess().getGroup_5(), "rule__Package_Impl__Group_5__0"); - builder.put(grammarAccess.getPackage_ImplAccess().getGroup_5_1(), "rule__Package_Impl__Group_5_1__0"); + builder.put(grammarAccess.getPackage_ImplAccess().getGroup_5_3(), "rule__Package_Impl__Group_5_3__0"); + builder.put(grammarAccess.getPackage_ImplAccess().getGroup_6(), "rule__Package_Impl__Group_6__0"); + builder.put(grammarAccess.getPackage_ImplAccess().getGroup_6_1(), "rule__Package_Impl__Group_6_1__0"); builder.put(grammarAccess.getArtifactAccess().getGroup(), "rule__Artifact__Group__0"); builder.put(grammarAccess.getCatkinPackageAccess().getGroup(), "rule__CatkinPackage__Group__0"); builder.put(grammarAccess.getCatkinPackageAccess().getGroup_4(), "rule__CatkinPackage__Group_4__0"); - builder.put(grammarAccess.getCatkinPackageAccess().getGroup_4_3(), "rule__CatkinPackage__Group_4_3__0"); builder.put(grammarAccess.getCatkinPackageAccess().getGroup_5(), "rule__CatkinPackage__Group_5__0"); - builder.put(grammarAccess.getCatkinPackageAccess().getGroup_5_1(), "rule__CatkinPackage__Group_5_1__0"); + builder.put(grammarAccess.getCatkinPackageAccess().getGroup_5_3(), "rule__CatkinPackage__Group_5_3__0"); builder.put(grammarAccess.getCatkinPackageAccess().getGroup_6(), "rule__CatkinPackage__Group_6__0"); builder.put(grammarAccess.getCatkinPackageAccess().getGroup_6_3(), "rule__CatkinPackage__Group_6_3__0"); + builder.put(grammarAccess.getCatkinPackageAccess().getGroup_7(), "rule__CatkinPackage__Group_7__0"); + builder.put(grammarAccess.getCatkinPackageAccess().getGroup_7_1(), "rule__CatkinPackage__Group_7_1__0"); builder.put(grammarAccess.getServiceSpecAccess().getGroup(), "rule__ServiceSpec__Group__0"); builder.put(grammarAccess.getServiceSpecAccess().getGroup_4(), "rule__ServiceSpec__Group_4__0"); builder.put(grammarAccess.getServiceSpecAccess().getGroup_5(), "rule__ServiceSpec__Group_5__0"); @@ -98,7 +100,6 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getActionServerAccess().getGroup_6(), "rule__ActionServer__Group_6__0"); builder.put(grammarAccess.getActionClientAccess().getGroup(), "rule__ActionClient__Group__0"); builder.put(grammarAccess.getActionClientAccess().getGroup_6(), "rule__ActionClient__Group_6__0"); - builder.put(grammarAccess.getPackageDependencyAccess().getGroup(), "rule__PackageDependency__Group__0"); builder.put(grammarAccess.getExternalDependencyAccess().getGroup(), "rule__ExternalDependency__Group__0"); builder.put(grammarAccess.getGlobalNamespaceAccess().getGroup(), "rule__GlobalNamespace__Group__0"); builder.put(grammarAccess.getGlobalNamespaceAccess().getGroup_3(), "rule__GlobalNamespace__Group_3__0"); @@ -174,19 +175,21 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getPackageSetAccess().getPackageAssignment_3_0(), "rule__PackageSet__PackageAssignment_3_0"); builder.put(grammarAccess.getPackageSetAccess().getPackageAssignment_3_1_1(), "rule__PackageSet__PackageAssignment_3_1_1"); builder.put(grammarAccess.getPackage_ImplAccess().getNameAssignment_2(), "rule__Package_Impl__NameAssignment_2"); - builder.put(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2(), "rule__Package_Impl__SpecAssignment_4_2"); - builder.put(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1(), "rule__Package_Impl__SpecAssignment_4_3_1"); - builder.put(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0(), "rule__Package_Impl__ArtifactAssignment_5_0"); - builder.put(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1(), "rule__Package_Impl__ArtifactAssignment_5_1_1"); + builder.put(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1(), "rule__Package_Impl__FromGitRepoAssignment_4_1"); + builder.put(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2(), "rule__Package_Impl__SpecAssignment_5_2"); + builder.put(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1(), "rule__Package_Impl__SpecAssignment_5_3_1"); + builder.put(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0(), "rule__Package_Impl__ArtifactAssignment_6_0"); + builder.put(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1(), "rule__Package_Impl__ArtifactAssignment_6_1_1"); builder.put(grammarAccess.getArtifactAccess().getNameAssignment_2(), "rule__Artifact__NameAssignment_2"); builder.put(grammarAccess.getArtifactAccess().getNodeAssignment_4(), "rule__Artifact__NodeAssignment_4"); builder.put(grammarAccess.getCatkinPackageAccess().getNameAssignment_2(), "rule__CatkinPackage__NameAssignment_2"); - builder.put(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2(), "rule__CatkinPackage__SpecAssignment_4_2"); - builder.put(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1(), "rule__CatkinPackage__SpecAssignment_4_3_1"); - builder.put(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0(), "rule__CatkinPackage__ArtifactAssignment_5_0"); - builder.put(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1(), "rule__CatkinPackage__ArtifactAssignment_5_1_1"); - builder.put(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2(), "rule__CatkinPackage__DependencyAssignment_6_2"); - builder.put(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1(), "rule__CatkinPackage__DependencyAssignment_6_3_1"); + builder.put(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1(), "rule__CatkinPackage__FromGitRepoAssignment_4_1"); + builder.put(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2(), "rule__CatkinPackage__DependencyAssignment_5_2"); + builder.put(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1(), "rule__CatkinPackage__DependencyAssignment_5_3_1"); + builder.put(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2(), "rule__CatkinPackage__SpecAssignment_6_2"); + builder.put(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1(), "rule__CatkinPackage__SpecAssignment_6_3_1"); + builder.put(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0(), "rule__CatkinPackage__ArtifactAssignment_7_0"); + builder.put(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1(), "rule__CatkinPackage__ArtifactAssignment_7_1_1"); builder.put(grammarAccess.getServiceSpecAccess().getNameAssignment_2(), "rule__ServiceSpec__NameAssignment_2"); builder.put(grammarAccess.getServiceSpecAccess().getRequestAssignment_4_1(), "rule__ServiceSpec__RequestAssignment_4_1"); builder.put(grammarAccess.getServiceSpecAccess().getResponseAssignment_5_1(), "rule__ServiceSpec__ResponseAssignment_5_1"); @@ -231,7 +234,7 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getActionClientAccess().getNameAssignment_3(), "rule__ActionClient__NameAssignment_3"); builder.put(grammarAccess.getActionClientAccess().getActionAssignment_5(), "rule__ActionClient__ActionAssignment_5"); builder.put(grammarAccess.getActionClientAccess().getNamespaceAssignment_6_1(), "rule__ActionClient__NamespaceAssignment_6_1"); - builder.put(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1(), "rule__PackageDependency__PackageAssignment_1"); + builder.put(grammarAccess.getPackageDependencyAccess().getPackageAssignment(), "rule__PackageDependency__PackageAssignment"); builder.put(grammarAccess.getExternalDependencyAccess().getNameAssignment_2(), "rule__ExternalDependency__NameAssignment_2"); builder.put(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_2(), "rule__GlobalNamespace__PartsAssignment_3_2"); builder.put(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_3_1(), "rule__GlobalNamespace__PartsAssignment_3_3_1"); diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g index 9824b09d7..5b0f367d7 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g @@ -615,9 +615,9 @@ rulePackageDependency } : ( - { before(grammarAccess.getPackageDependencyAccess().getGroup()); } - (rule__PackageDependency__Group__0) - { after(grammarAccess.getPackageDependencyAccess().getGroup()); } + { before(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); } + (rule__PackageDependency__PackageAssignment) + { after(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); } ) ; finally { @@ -3236,6 +3236,7 @@ rule__Package_Impl__Group__6 } : rule__Package_Impl__Group__6__Impl + rule__Package_Impl__Group__7 ; finally { restoreStackSize(stackSize); @@ -3247,9 +3248,35 @@ rule__Package_Impl__Group__6__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_6()); } + (rule__Package_Impl__Group_6__0)? + { after(grammarAccess.getPackage_ImplAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__Package_Impl__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); } '}' - { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); } + { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); } ) ; finally { @@ -3275,9 +3302,9 @@ rule__Package_Impl__Group_4__0__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); } - 'Specs' - { after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); } + { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); } + 'FromGitRepo' + { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); } ) ; finally { @@ -3290,7 +3317,6 @@ rule__Package_Impl__Group_4__1 } : rule__Package_Impl__Group_4__1__Impl - rule__Package_Impl__Group_4__2 ; finally { restoreStackSize(stackSize); @@ -3302,89 +3328,144 @@ rule__Package_Impl__Group_4__1__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); } + { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); } + (rule__Package_Impl__FromGitRepoAssignment_4_1) + { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Package_Impl__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Package_Impl__Group_5__0__Impl + rule__Package_Impl__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); } + 'Specs' + { after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Package_Impl__Group_5__1__Impl + rule__Package_Impl__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); } '{' - { after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); } + { after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__2 +rule__Package_Impl__Group_5__2 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4__2__Impl - rule__Package_Impl__Group_4__3 + rule__Package_Impl__Group_5__2__Impl + rule__Package_Impl__Group_5__3 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__2__Impl +rule__Package_Impl__Group_5__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); } - (rule__Package_Impl__SpecAssignment_4_2) - { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); } + (rule__Package_Impl__SpecAssignment_5_2) + { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__3 +rule__Package_Impl__Group_5__3 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4__3__Impl - rule__Package_Impl__Group_4__4 + rule__Package_Impl__Group_5__3__Impl + rule__Package_Impl__Group_5__4 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__3__Impl +rule__Package_Impl__Group_5__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); } - (rule__Package_Impl__Group_4_3__0)* - { after(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); } + (rule__Package_Impl__Group_5_3__0)* + { after(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__4 +rule__Package_Impl__Group_5__4 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4__4__Impl + rule__Package_Impl__Group_5__4__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__4__Impl +rule__Package_Impl__Group_5__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); } + { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } '}' - { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); } + { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } ) ; finally { @@ -3392,53 +3473,53 @@ finally { } -rule__Package_Impl__Group_4_3__0 +rule__Package_Impl__Group_5_3__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4_3__0__Impl - rule__Package_Impl__Group_4_3__1 + rule__Package_Impl__Group_5_3__0__Impl + rule__Package_Impl__Group_5_3__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4_3__0__Impl +rule__Package_Impl__Group_5_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); } + { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); } ',' - { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); } + { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4_3__1 +rule__Package_Impl__Group_5_3__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4_3__1__Impl + rule__Package_Impl__Group_5_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4_3__1__Impl +rule__Package_Impl__Group_5_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); } - (rule__Package_Impl__SpecAssignment_4_3_1) - { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); } + (rule__Package_Impl__SpecAssignment_5_3_1) + { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); } ) ; finally { @@ -3446,53 +3527,53 @@ finally { } -rule__Package_Impl__Group_5__0 +rule__Package_Impl__Group_6__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5__0__Impl - rule__Package_Impl__Group_5__1 + rule__Package_Impl__Group_6__0__Impl + rule__Package_Impl__Group_6__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__0__Impl +rule__Package_Impl__Group_6__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); } - (rule__Package_Impl__ArtifactAssignment_5_0) - { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); } + (rule__Package_Impl__ArtifactAssignment_6_0) + { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__1 +rule__Package_Impl__Group_6__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5__1__Impl + rule__Package_Impl__Group_6__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__1__Impl +rule__Package_Impl__Group_6__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); } - (rule__Package_Impl__Group_5_1__0)* - { after(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); } + (rule__Package_Impl__Group_6_1__0)* + { after(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); } ) ; finally { @@ -3500,53 +3581,53 @@ finally { } -rule__Package_Impl__Group_5_1__0 +rule__Package_Impl__Group_6_1__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5_1__0__Impl - rule__Package_Impl__Group_5_1__1 + rule__Package_Impl__Group_6_1__0__Impl + rule__Package_Impl__Group_6_1__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_1__0__Impl +rule__Package_Impl__Group_6_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); } ',' - { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_1__1 +rule__Package_Impl__Group_6_1__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5_1__1__Impl + rule__Package_Impl__Group_6_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_1__1__Impl +rule__Package_Impl__Group_6_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); } - (rule__Package_Impl__ArtifactAssignment_5_1_1) - { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); } + (rule__Package_Impl__ArtifactAssignment_6_1_1) + { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); } ) ; finally { @@ -3911,6 +3992,7 @@ rule__CatkinPackage__Group__7 } : rule__CatkinPackage__Group__7__Impl + rule__CatkinPackage__Group__8 ; finally { restoreStackSize(stackSize); @@ -3922,252 +4004,224 @@ rule__CatkinPackage__Group__7__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); } - '}' - { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); } + { before(grammarAccess.getCatkinPackageAccess().getGroup_7()); } + (rule__CatkinPackage__Group_7__0)? + { after(grammarAccess.getCatkinPackageAccess().getGroup_7()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CatkinPackage__Group_4__0 +rule__CatkinPackage__Group__8 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__0__Impl - rule__CatkinPackage__Group_4__1 + rule__CatkinPackage__Group__8__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__0__Impl +rule__CatkinPackage__Group__8__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); } - 'Specs' - { after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); } + { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); } + '}' + { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__CatkinPackage__Group_4__1__Impl - rule__CatkinPackage__Group_4__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__Group_4__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); } - '{' - { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); } -) -; -finally { - restoreStackSize(stackSize); -} -rule__CatkinPackage__Group_4__2 +rule__CatkinPackage__Group_4__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__2__Impl - rule__CatkinPackage__Group_4__3 + rule__CatkinPackage__Group_4__0__Impl + rule__CatkinPackage__Group_4__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__2__Impl +rule__CatkinPackage__Group_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); } - (rule__CatkinPackage__SpecAssignment_4_2) - { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); } + { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); } + 'FromGitRepo' + { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__3 +rule__CatkinPackage__Group_4__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__3__Impl - rule__CatkinPackage__Group_4__4 + rule__CatkinPackage__Group_4__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__3__Impl +rule__CatkinPackage__Group_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); } - (rule__CatkinPackage__Group_4_3__0)* - { after(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); } + { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); } + (rule__CatkinPackage__FromGitRepoAssignment_4_1) + { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__4 + +rule__CatkinPackage__Group_5__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__4__Impl + rule__CatkinPackage__Group_5__0__Impl + rule__CatkinPackage__Group_5__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__4__Impl +rule__CatkinPackage__Group_5__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); } - '}' - { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); } + { before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); } + 'Dependencies' + { after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CatkinPackage__Group_4_3__0 +rule__CatkinPackage__Group_5__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4_3__0__Impl - rule__CatkinPackage__Group_4_3__1 + rule__CatkinPackage__Group_5__1__Impl + rule__CatkinPackage__Group_5__2 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4_3__0__Impl +rule__CatkinPackage__Group_5__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); } - ',' - { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); } + { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); } + '{' + { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4_3__1 +rule__CatkinPackage__Group_5__2 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4_3__1__Impl + rule__CatkinPackage__Group_5__2__Impl + rule__CatkinPackage__Group_5__3 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4_3__1__Impl +rule__CatkinPackage__Group_5__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); } - (rule__CatkinPackage__SpecAssignment_4_3_1) - { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); } + (rule__CatkinPackage__DependencyAssignment_5_2) + { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CatkinPackage__Group_5__0 +rule__CatkinPackage__Group_5__3 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__0__Impl - rule__CatkinPackage__Group_5__1 + rule__CatkinPackage__Group_5__3__Impl + rule__CatkinPackage__Group_5__4 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__0__Impl +rule__CatkinPackage__Group_5__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); } - (rule__CatkinPackage__ArtifactAssignment_5_0) - { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); } + { before(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); } + (rule__CatkinPackage__Group_5_3__0)* + { after(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__1 +rule__CatkinPackage__Group_5__4 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__1__Impl + rule__CatkinPackage__Group_5__4__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__1__Impl +rule__CatkinPackage__Group_5__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); } - (rule__CatkinPackage__Group_5_1__0)* - { after(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); } + { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } + '}' + { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } ) ; finally { @@ -4175,53 +4229,53 @@ finally { } -rule__CatkinPackage__Group_5_1__0 +rule__CatkinPackage__Group_5_3__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5_1__0__Impl - rule__CatkinPackage__Group_5_1__1 + rule__CatkinPackage__Group_5_3__0__Impl + rule__CatkinPackage__Group_5_3__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_1__0__Impl +rule__CatkinPackage__Group_5_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); } ',' - { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); } + { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_1__1 +rule__CatkinPackage__Group_5_3__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5_1__1__Impl + rule__CatkinPackage__Group_5_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_1__1__Impl +rule__CatkinPackage__Group_5_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); } - (rule__CatkinPackage__ArtifactAssignment_5_1_1) - { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); } + (rule__CatkinPackage__DependencyAssignment_5_3_1) + { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); } ) ; finally { @@ -4247,9 +4301,9 @@ rule__CatkinPackage__Group_6__0__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); } - 'Dependencies' - { after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); } + 'Specs' + { after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); } ) ; finally { @@ -4301,9 +4355,9 @@ rule__CatkinPackage__Group_6__2__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); } - (rule__CatkinPackage__DependencyAssignment_6_2) - { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); } + (rule__CatkinPackage__SpecAssignment_6_2) + { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); } ) ; finally { @@ -4408,9 +4462,117 @@ rule__CatkinPackage__Group_6_3__1__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); } - (rule__CatkinPackage__DependencyAssignment_6_3_1) - { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); } + (rule__CatkinPackage__SpecAssignment_6_3_1) + { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_7__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7__0__Impl + rule__CatkinPackage__Group_7__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); } + (rule__CatkinPackage__ArtifactAssignment_7_0) + { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); } + (rule__CatkinPackage__Group_7_1__0)* + { after(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_7_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7_1__0__Impl + rule__CatkinPackage__Group_7_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); } + ',' + { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); } + (rule__CatkinPackage__ArtifactAssignment_7_1_1) + { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); } ) ; finally { @@ -8738,60 +8900,6 @@ finally { } -rule__PackageDependency__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__PackageDependency__Group__0__Impl - rule__PackageDependency__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__PackageDependency__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); } - 'PackageDependency' - { after(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); } -) -; -finally { - restoreStackSize(stackSize); -} - -rule__PackageDependency__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__PackageDependency__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__PackageDependency__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); } - (rule__PackageDependency__PackageAssignment_1) - { after(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); } -) -; -finally { - restoreStackSize(stackSize); -} - - rule__ExternalDependency__Group__0 @init { int stackSize = keepStackSize(); @@ -14021,60 +14129,75 @@ finally { restoreStackSize(stackSize); } -rule__Package_Impl__SpecAssignment_4_2 +rule__Package_Impl__FromGitRepoAssignment_4_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ruleEString + { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__SpecAssignment_5_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); } ruleSpecBase - { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__SpecAssignment_4_3_1 +rule__Package_Impl__SpecAssignment_5_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); } ruleSpecBase - { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__ArtifactAssignment_5_0 +rule__Package_Impl__ArtifactAssignment_6_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); } ruleArtifact - { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__ArtifactAssignment_5_1_1 +rule__Package_Impl__ArtifactAssignment_6_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); } ruleArtifact - { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); } ) ; finally { @@ -14126,90 +14249,105 @@ finally { restoreStackSize(stackSize); } -rule__CatkinPackage__SpecAssignment_4_2 +rule__CatkinPackage__FromGitRepoAssignment_4_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } - ruleSpecBase - { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ruleEString + { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__SpecAssignment_4_3_1 +rule__CatkinPackage__DependencyAssignment_5_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } - ruleSpecBase - { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } + ruleDependency + { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__ArtifactAssignment_5_0 +rule__CatkinPackage__DependencyAssignment_5_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); } - ruleArtifact - { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } + ruleDependency + { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__ArtifactAssignment_5_1_1 +rule__CatkinPackage__SpecAssignment_6_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } - ruleArtifact - { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } + ruleSpecBase + { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__DependencyAssignment_6_2 +rule__CatkinPackage__SpecAssignment_6_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); } - ruleDependency - { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } + ruleSpecBase + { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__DependencyAssignment_6_3_1 +rule__CatkinPackage__ArtifactAssignment_7_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); } - ruleDependency - { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } + ruleArtifact + { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__ArtifactAssignment_7_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } + ruleArtifact + { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } ) ; finally { @@ -14900,19 +15038,19 @@ finally { restoreStackSize(stackSize); } -rule__PackageDependency__PackageAssignment_1 +rule__PackageDependency__PackageAssignment @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); } + { before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); } ( - { before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); } + { before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); } ruleEString - { after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); } + { after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); } ) - { after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); } + { after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); } ) ; finally { diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens index 78e1740bb..9965bfe61 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens @@ -1,45 +1,45 @@ ','=43 -'ActionClient'=68 -'ActionClients'=60 -'ActionServer'=67 -'ActionServers'=59 -'ActionSpec'=53 +'ActionClient'=69 +'ActionClients'=61 +'ActionServer'=68 +'ActionServers'=60 +'ActionSpec'=54 'Array'=83 -'Artifact'=46 +'Artifact'=47 'Base64'=82 'Boolean'=81 -'CatkinPackage'=47 -'Dependencies'=48 +'CatkinPackage'=48 +'Dependencies'=49 'Double'=80 'ExternalDependency'=70 +'FromGitRepo'=45 'GlobalNamespace'=71 'GraphName'=25 'Header'=27 'Integer'=78 'List'=76 -'Node'=54 +'Node'=55 'Package'=44 -'PackageDependency'=69 'PackageSet'=40 'Parameter'=75 'ParameterAny'=84 'ParameterStructMember'=85 -'Parameters'=61 +'Parameters'=62 'PrivateNamespace'=74 -'Publisher'=64 -'Publishers'=56 +'Publisher'=65 +'Publishers'=57 'RelativeNamespace'=73 -'ServiceClient'=66 -'ServiceClients'=58 -'ServiceServer'=62 -'ServiceServers'=55 -'ServiceSpec'=49 -'Specs'=45 +'ServiceClient'=67 +'ServiceClients'=59 +'ServiceServer'=63 +'ServiceServers'=56 +'ServiceSpec'=50 +'Specs'=46 'String'=28 'Struct'=77 -'Subscriber'=65 -'Subscribers'=57 -'TopicSpec'=52 +'Subscriber'=66 +'Subscribers'=58 +'TopicSpec'=53 '[]'=112 'action'=37 'bool'=86 @@ -64,11 +64,11 @@ 'int8[]'=100 'message'=30 'name'=33 -'namespace'=63 +'namespace'=64 'node'=26 'parts'=72 -'request'=50 -'response'=51 +'request'=51 +'response'=52 'result'=31 'service'=35 'string'=97 diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java index 6c4f7b670..7e2d91a9c 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java @@ -558,10 +558,10 @@ public final void mT__45() throws RecognitionException { try { int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:31:7: ( 'Specs' ) - // InternalRos.g:31:9: 'Specs' + // InternalRos.g:31:7: ( 'FromGitRepo' ) + // InternalRos.g:31:9: 'FromGitRepo' { - match("Specs"); + match("FromGitRepo"); } @@ -579,10 +579,10 @@ public final void mT__46() throws RecognitionException { try { int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:32:7: ( 'Artifact' ) - // InternalRos.g:32:9: 'Artifact' + // InternalRos.g:32:7: ( 'Specs' ) + // InternalRos.g:32:9: 'Specs' { - match("Artifact"); + match("Specs"); } @@ -600,10 +600,10 @@ public final void mT__47() throws RecognitionException { try { int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:33:7: ( 'CatkinPackage' ) - // InternalRos.g:33:9: 'CatkinPackage' + // InternalRos.g:33:7: ( 'Artifact' ) + // InternalRos.g:33:9: 'Artifact' { - match("CatkinPackage"); + match("Artifact"); } @@ -621,10 +621,10 @@ public final void mT__48() throws RecognitionException { try { int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:34:7: ( 'Dependencies' ) - // InternalRos.g:34:9: 'Dependencies' + // InternalRos.g:34:7: ( 'CatkinPackage' ) + // InternalRos.g:34:9: 'CatkinPackage' { - match("Dependencies"); + match("CatkinPackage"); } @@ -642,10 +642,10 @@ public final void mT__49() throws RecognitionException { try { int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:35:7: ( 'ServiceSpec' ) - // InternalRos.g:35:9: 'ServiceSpec' + // InternalRos.g:35:7: ( 'Dependencies' ) + // InternalRos.g:35:9: 'Dependencies' { - match("ServiceSpec"); + match("Dependencies"); } @@ -663,10 +663,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:36:7: ( 'request' ) - // InternalRos.g:36:9: 'request' + // InternalRos.g:36:7: ( 'ServiceSpec' ) + // InternalRos.g:36:9: 'ServiceSpec' { - match("request"); + match("ServiceSpec"); } @@ -684,10 +684,10 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:37:7: ( 'response' ) - // InternalRos.g:37:9: 'response' + // InternalRos.g:37:7: ( 'request' ) + // InternalRos.g:37:9: 'request' { - match("response"); + match("request"); } @@ -705,10 +705,10 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:38:7: ( 'TopicSpec' ) - // InternalRos.g:38:9: 'TopicSpec' + // InternalRos.g:38:7: ( 'response' ) + // InternalRos.g:38:9: 'response' { - match("TopicSpec"); + match("response"); } @@ -726,10 +726,10 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:39:7: ( 'ActionSpec' ) - // InternalRos.g:39:9: 'ActionSpec' + // InternalRos.g:39:7: ( 'TopicSpec' ) + // InternalRos.g:39:9: 'TopicSpec' { - match("ActionSpec"); + match("TopicSpec"); } @@ -747,10 +747,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:40:7: ( 'Node' ) - // InternalRos.g:40:9: 'Node' + // InternalRos.g:40:7: ( 'ActionSpec' ) + // InternalRos.g:40:9: 'ActionSpec' { - match("Node"); + match("ActionSpec"); } @@ -768,10 +768,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:41:7: ( 'ServiceServers' ) - // InternalRos.g:41:9: 'ServiceServers' + // InternalRos.g:41:7: ( 'Node' ) + // InternalRos.g:41:9: 'Node' { - match("ServiceServers"); + match("Node"); } @@ -789,10 +789,10 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:42:7: ( 'Publishers' ) - // InternalRos.g:42:9: 'Publishers' + // InternalRos.g:42:7: ( 'ServiceServers' ) + // InternalRos.g:42:9: 'ServiceServers' { - match("Publishers"); + match("ServiceServers"); } @@ -810,10 +810,10 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:43:7: ( 'Subscribers' ) - // InternalRos.g:43:9: 'Subscribers' + // InternalRos.g:43:7: ( 'Publishers' ) + // InternalRos.g:43:9: 'Publishers' { - match("Subscribers"); + match("Publishers"); } @@ -831,10 +831,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:44:7: ( 'ServiceClients' ) - // InternalRos.g:44:9: 'ServiceClients' + // InternalRos.g:44:7: ( 'Subscribers' ) + // InternalRos.g:44:9: 'Subscribers' { - match("ServiceClients"); + match("Subscribers"); } @@ -852,10 +852,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:45:7: ( 'ActionServers' ) - // InternalRos.g:45:9: 'ActionServers' + // InternalRos.g:45:7: ( 'ServiceClients' ) + // InternalRos.g:45:9: 'ServiceClients' { - match("ActionServers"); + match("ServiceClients"); } @@ -873,10 +873,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:46:7: ( 'ActionClients' ) - // InternalRos.g:46:9: 'ActionClients' + // InternalRos.g:46:7: ( 'ActionServers' ) + // InternalRos.g:46:9: 'ActionServers' { - match("ActionClients"); + match("ActionServers"); } @@ -894,10 +894,10 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:47:7: ( 'Parameters' ) - // InternalRos.g:47:9: 'Parameters' + // InternalRos.g:47:7: ( 'ActionClients' ) + // InternalRos.g:47:9: 'ActionClients' { - match("Parameters"); + match("ActionClients"); } @@ -915,10 +915,10 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:48:7: ( 'ServiceServer' ) - // InternalRos.g:48:9: 'ServiceServer' + // InternalRos.g:48:7: ( 'Parameters' ) + // InternalRos.g:48:9: 'Parameters' { - match("ServiceServer"); + match("Parameters"); } @@ -936,10 +936,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:49:7: ( 'namespace' ) - // InternalRos.g:49:9: 'namespace' + // InternalRos.g:49:7: ( 'ServiceServer' ) + // InternalRos.g:49:9: 'ServiceServer' { - match("namespace"); + match("ServiceServer"); } @@ -957,10 +957,10 @@ public final void mT__64() throws RecognitionException { try { int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:50:7: ( 'Publisher' ) - // InternalRos.g:50:9: 'Publisher' + // InternalRos.g:50:7: ( 'namespace' ) + // InternalRos.g:50:9: 'namespace' { - match("Publisher"); + match("namespace"); } @@ -978,10 +978,10 @@ public final void mT__65() throws RecognitionException { try { int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:51:7: ( 'Subscriber' ) - // InternalRos.g:51:9: 'Subscriber' + // InternalRos.g:51:7: ( 'Publisher' ) + // InternalRos.g:51:9: 'Publisher' { - match("Subscriber"); + match("Publisher"); } @@ -999,10 +999,10 @@ public final void mT__66() throws RecognitionException { try { int _type = T__66; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:52:7: ( 'ServiceClient' ) - // InternalRos.g:52:9: 'ServiceClient' + // InternalRos.g:52:7: ( 'Subscriber' ) + // InternalRos.g:52:9: 'Subscriber' { - match("ServiceClient"); + match("Subscriber"); } @@ -1020,10 +1020,10 @@ public final void mT__67() throws RecognitionException { try { int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:53:7: ( 'ActionServer' ) - // InternalRos.g:53:9: 'ActionServer' + // InternalRos.g:53:7: ( 'ServiceClient' ) + // InternalRos.g:53:9: 'ServiceClient' { - match("ActionServer"); + match("ServiceClient"); } @@ -1041,10 +1041,10 @@ public final void mT__68() throws RecognitionException { try { int _type = T__68; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:54:7: ( 'ActionClient' ) - // InternalRos.g:54:9: 'ActionClient' + // InternalRos.g:54:7: ( 'ActionServer' ) + // InternalRos.g:54:9: 'ActionServer' { - match("ActionClient"); + match("ActionServer"); } @@ -1062,10 +1062,10 @@ public final void mT__69() throws RecognitionException { try { int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:55:7: ( 'PackageDependency' ) - // InternalRos.g:55:9: 'PackageDependency' + // InternalRos.g:55:7: ( 'ActionClient' ) + // InternalRos.g:55:9: 'ActionClient' { - match("PackageDependency"); + match("ActionClient"); } @@ -1986,10 +1986,10 @@ public final void mRULE_ROS_CONVENTION_A() throws RecognitionException { try { int _type = RULE_ROS_CONVENTION_A; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15530:23: ( ( '/' RULE_ID | RULE_ID '/' )* ) - // InternalRos.g:15530:25: ( '/' RULE_ID | RULE_ID '/' )* + // InternalRos.g:15668:23: ( ( '/' RULE_ID | RULE_ID '/' )* ) + // InternalRos.g:15668:25: ( '/' RULE_ID | RULE_ID '/' )* { - // InternalRos.g:15530:25: ( '/' RULE_ID | RULE_ID '/' )* + // InternalRos.g:15668:25: ( '/' RULE_ID | RULE_ID '/' )* loop1: do { int alt1=3; @@ -2005,7 +2005,7 @@ else if ( ((LA1_0>='A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & switch (alt1) { case 1 : - // InternalRos.g:15530:26: '/' RULE_ID + // InternalRos.g:15668:26: '/' RULE_ID { match('/'); mRULE_ID(); @@ -2013,7 +2013,7 @@ else if ( ((LA1_0>='A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & } break; case 2 : - // InternalRos.g:15530:38: RULE_ID '/' + // InternalRos.g:15668:38: RULE_ID '/' { mRULE_ID(); match('/'); @@ -2042,10 +2042,10 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { try { int _type = RULE_ROS_CONVENTION_PARAM; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15532:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) - // InternalRos.g:15532:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:15670:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) + // InternalRos.g:15670:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* { - // InternalRos.g:15532:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:15670:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* loop2: do { int alt2=4; @@ -2071,7 +2071,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { switch (alt2) { case 1 : - // InternalRos.g:15532:30: '/' RULE_STRING + // InternalRos.g:15670:30: '/' RULE_STRING { match('/'); mRULE_STRING(); @@ -2079,7 +2079,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 2 : - // InternalRos.g:15532:46: RULE_STRING '/' + // InternalRos.g:15670:46: RULE_STRING '/' { mRULE_STRING(); match('/'); @@ -2087,7 +2087,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 3 : - // InternalRos.g:15532:62: '~' RULE_STRING + // InternalRos.g:15670:62: '~' RULE_STRING { match('~'); mRULE_STRING(); @@ -2114,8 +2114,8 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { // $ANTLR start "RULE_DIGIT" public final void mRULE_DIGIT() throws RecognitionException { try { - // InternalRos.g:15534:21: ( '0' .. '9' ) - // InternalRos.g:15534:23: '0' .. '9' + // InternalRos.g:15672:21: ( '0' .. '9' ) + // InternalRos.g:15672:23: '0' .. '9' { matchRange('0','9'); @@ -2132,10 +2132,10 @@ public final void mRULE_BINARY() throws RecognitionException { try { int _type = RULE_BINARY; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15536:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) - // InternalRos.g:15536:15: ( '0b' | '0B' ) ( '0' | '1' )+ + // InternalRos.g:15674:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) + // InternalRos.g:15674:15: ( '0b' | '0B' ) ( '0' | '1' )+ { - // InternalRos.g:15536:15: ( '0b' | '0B' ) + // InternalRos.g:15674:15: ( '0b' | '0B' ) int alt3=2; int LA3_0 = input.LA(1); @@ -2163,7 +2163,7 @@ else if ( (LA3_1=='B') ) { } switch (alt3) { case 1 : - // InternalRos.g:15536:16: '0b' + // InternalRos.g:15674:16: '0b' { match("0b"); @@ -2171,7 +2171,7 @@ else if ( (LA3_1=='B') ) { } break; case 2 : - // InternalRos.g:15536:21: '0B' + // InternalRos.g:15674:21: '0B' { match("0B"); @@ -2181,7 +2181,7 @@ else if ( (LA3_1=='B') ) { } - // InternalRos.g:15536:27: ( '0' | '1' )+ + // InternalRos.g:15674:27: ( '0' | '1' )+ int cnt4=0; loop4: do { @@ -2235,10 +2235,10 @@ public final void mRULE_BOOLEAN() throws RecognitionException { try { int _type = RULE_BOOLEAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15538:14: ( ( 'true' | 'false' ) ) - // InternalRos.g:15538:16: ( 'true' | 'false' ) + // InternalRos.g:15676:14: ( ( 'true' | 'false' ) ) + // InternalRos.g:15676:16: ( 'true' | 'false' ) { - // InternalRos.g:15538:16: ( 'true' | 'false' ) + // InternalRos.g:15676:16: ( 'true' | 'false' ) int alt5=2; int LA5_0 = input.LA(1); @@ -2256,7 +2256,7 @@ else if ( (LA5_0=='f') ) { } switch (alt5) { case 1 : - // InternalRos.g:15538:17: 'true' + // InternalRos.g:15676:17: 'true' { match("true"); @@ -2264,7 +2264,7 @@ else if ( (LA5_0=='f') ) { } break; case 2 : - // InternalRos.g:15538:24: 'false' + // InternalRos.g:15676:24: 'false' { match("false"); @@ -2290,19 +2290,19 @@ public final void mRULE_DOUBLE() throws RecognitionException { try { int _type = RULE_DOUBLE; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15540:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) - // InternalRos.g:15540:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:15678:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) + // InternalRos.g:15678:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) { mRULE_DECINT(); - // InternalRos.g:15540:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:15678:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) int alt10=2; alt10 = dfa10.predict(input); switch (alt10) { case 1 : - // InternalRos.g:15540:28: '.' ( RULE_DIGIT )* + // InternalRos.g:15678:28: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:15540:32: ( RULE_DIGIT )* + // InternalRos.g:15678:32: ( RULE_DIGIT )* loop6: do { int alt6=2; @@ -2315,7 +2315,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt6) { case 1 : - // InternalRos.g:15540:32: RULE_DIGIT + // InternalRos.g:15678:32: RULE_DIGIT { mRULE_DIGIT(); @@ -2331,9 +2331,9 @@ public final void mRULE_DOUBLE() throws RecognitionException { } break; case 2 : - // InternalRos.g:15540:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT + // InternalRos.g:15678:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT { - // InternalRos.g:15540:44: ( '.' ( RULE_DIGIT )* )? + // InternalRos.g:15678:44: ( '.' ( RULE_DIGIT )* )? int alt8=2; int LA8_0 = input.LA(1); @@ -2342,10 +2342,10 @@ public final void mRULE_DOUBLE() throws RecognitionException { } switch (alt8) { case 1 : - // InternalRos.g:15540:45: '.' ( RULE_DIGIT )* + // InternalRos.g:15678:45: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:15540:49: ( RULE_DIGIT )* + // InternalRos.g:15678:49: ( RULE_DIGIT )* loop7: do { int alt7=2; @@ -2358,7 +2358,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt7) { case 1 : - // InternalRos.g:15540:49: RULE_DIGIT + // InternalRos.g:15678:49: RULE_DIGIT { mRULE_DIGIT(); @@ -2385,7 +2385,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:15540:73: ( '-' | '+' )? + // InternalRos.g:15678:73: ( '-' | '+' )? int alt9=2; int LA9_0 = input.LA(1); @@ -2444,10 +2444,10 @@ public final void mRULE_DECINT() throws RecognitionException { try { int _type = RULE_DECINT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15542:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) - // InternalRos.g:15542:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:15680:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) + // InternalRos.g:15680:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) { - // InternalRos.g:15542:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:15680:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) int alt13=3; switch ( input.LA(1) ) { case '0': @@ -2482,17 +2482,17 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt13) { case 1 : - // InternalRos.g:15542:16: '0' + // InternalRos.g:15680:16: '0' { match('0'); } break; case 2 : - // InternalRos.g:15542:20: '1' .. '9' ( RULE_DIGIT )* + // InternalRos.g:15680:20: '1' .. '9' ( RULE_DIGIT )* { matchRange('1','9'); - // InternalRos.g:15542:29: ( RULE_DIGIT )* + // InternalRos.g:15680:29: ( RULE_DIGIT )* loop11: do { int alt11=2; @@ -2505,7 +2505,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt11) { case 1 : - // InternalRos.g:15542:29: RULE_DIGIT + // InternalRos.g:15680:29: RULE_DIGIT { mRULE_DIGIT(); @@ -2521,11 +2521,11 @@ public final void mRULE_DECINT() throws RecognitionException { } break; case 3 : - // InternalRos.g:15542:41: '-' '0' .. '9' ( RULE_DIGIT )* + // InternalRos.g:15680:41: '-' '0' .. '9' ( RULE_DIGIT )* { match('-'); matchRange('0','9'); - // InternalRos.g:15542:54: ( RULE_DIGIT )* + // InternalRos.g:15680:54: ( RULE_DIGIT )* loop12: do { int alt12=2; @@ -2538,7 +2538,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt12) { case 1 : - // InternalRos.g:15542:54: RULE_DIGIT + // InternalRos.g:15680:54: RULE_DIGIT { mRULE_DIGIT(); @@ -2570,10 +2570,10 @@ public final void mRULE_DECINT() throws RecognitionException { // $ANTLR start "RULE_DAY" public final void mRULE_DAY() throws RecognitionException { try { - // InternalRos.g:15544:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) - // InternalRos.g:15544:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:15682:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) + // InternalRos.g:15682:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) { - // InternalRos.g:15544:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:15682:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) int alt14=2; int LA14_0 = input.LA(1); @@ -2597,14 +2597,14 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { } switch (alt14) { case 1 : - // InternalRos.g:15544:22: '1' .. '9' + // InternalRos.g:15682:22: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:15544:31: '1' .. '3' '0' .. '9' + // InternalRos.g:15682:31: '1' .. '3' '0' .. '9' { matchRange('1','3'); matchRange('0','9'); @@ -2626,10 +2626,10 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { // $ANTLR start "RULE_MONTH" public final void mRULE_MONTH() throws RecognitionException { try { - // InternalRos.g:15546:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) - // InternalRos.g:15546:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:15684:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) + // InternalRos.g:15684:23: ( '1' .. '9' | '1' '0' .. '2' ) { - // InternalRos.g:15546:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:15684:23: ( '1' .. '9' | '1' '0' .. '2' ) int alt15=2; int LA15_0 = input.LA(1); @@ -2653,14 +2653,14 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { } switch (alt15) { case 1 : - // InternalRos.g:15546:24: '1' .. '9' + // InternalRos.g:15684:24: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:15546:33: '1' '0' .. '2' + // InternalRos.g:15684:33: '1' '0' .. '2' { match('1'); matchRange('0','2'); @@ -2682,8 +2682,8 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { // $ANTLR start "RULE_YEAR" public final void mRULE_YEAR() throws RecognitionException { try { - // InternalRos.g:15548:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) - // InternalRos.g:15548:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' + // InternalRos.g:15686:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) + // InternalRos.g:15686:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' { matchRange('0','2'); matchRange('0','9'); @@ -2701,10 +2701,10 @@ public final void mRULE_YEAR() throws RecognitionException { // $ANTLR start "RULE_HOUR" public final void mRULE_HOUR() throws RecognitionException { try { - // InternalRos.g:15550:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) - // InternalRos.g:15550:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:15688:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) + // InternalRos.g:15688:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) { - // InternalRos.g:15550:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:15688:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) int alt16=2; int LA16_0 = input.LA(1); @@ -2722,7 +2722,7 @@ else if ( (LA16_0=='2') ) { } switch (alt16) { case 1 : - // InternalRos.g:15550:23: '0' .. '1' '0' .. '9' + // InternalRos.g:15688:23: '0' .. '1' '0' .. '9' { matchRange('0','1'); matchRange('0','9'); @@ -2730,7 +2730,7 @@ else if ( (LA16_0=='2') ) { } break; case 2 : - // InternalRos.g:15550:41: '2' '0' .. '3' + // InternalRos.g:15688:41: '2' '0' .. '3' { match('2'); matchRange('0','3'); @@ -2752,8 +2752,8 @@ else if ( (LA16_0=='2') ) { // $ANTLR start "RULE_MIN_SEC" public final void mRULE_MIN_SEC() throws RecognitionException { try { - // InternalRos.g:15552:23: ( '0' .. '5' '0' .. '9' ) - // InternalRos.g:15552:25: '0' .. '5' '0' .. '9' + // InternalRos.g:15690:23: ( '0' .. '5' '0' .. '9' ) + // InternalRos.g:15690:25: '0' .. '5' '0' .. '9' { matchRange('0','5'); matchRange('0','9'); @@ -2771,8 +2771,8 @@ public final void mRULE_DATE_TIME() throws RecognitionException { try { int _type = RULE_DATE_TIME; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15554:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) - // InternalRos.g:15554:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC + // InternalRos.g:15692:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) + // InternalRos.g:15692:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC { mRULE_YEAR(); match('-'); @@ -2801,10 +2801,10 @@ public final void mRULE_MESSAGE_ASIGMENT() throws RecognitionException { try { int _type = RULE_MESSAGE_ASIGMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15556:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) - // InternalRos.g:15556:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:15694:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) + // InternalRos.g:15694:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) { - // InternalRos.g:15556:25: ( RULE_ID | RULE_STRING ) + // InternalRos.g:15694:25: ( RULE_ID | RULE_STRING ) int alt17=2; int LA17_0 = input.LA(1); @@ -2822,14 +2822,14 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } switch (alt17) { case 1 : - // InternalRos.g:15556:26: RULE_ID + // InternalRos.g:15694:26: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:15556:34: RULE_STRING + // InternalRos.g:15694:34: RULE_STRING { mRULE_STRING(); @@ -2839,7 +2839,7 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } match('='); - // InternalRos.g:15556:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:15694:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) int alt18=4; switch ( input.LA(1) ) { case 'A': @@ -2934,28 +2934,28 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { switch (alt18) { case 1 : - // InternalRos.g:15556:52: RULE_ID + // InternalRos.g:15694:52: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:15556:60: RULE_STRING + // InternalRos.g:15694:60: RULE_STRING { mRULE_STRING(); } break; case 3 : - // InternalRos.g:15556:72: RULE_INT + // InternalRos.g:15694:72: RULE_INT { mRULE_INT(); } break; case 4 : - // InternalRos.g:15556:81: '-' RULE_INT + // InternalRos.g:15694:81: '-' RULE_INT { match('-'); mRULE_INT(); @@ -2981,10 +2981,10 @@ public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15558:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalRos.g:15558:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:15696:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalRos.g:15696:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalRos.g:15558:11: ( '^' )? + // InternalRos.g:15696:11: ( '^' )? int alt19=2; int LA19_0 = input.LA(1); @@ -2993,7 +2993,7 @@ public final void mRULE_ID() throws RecognitionException { } switch (alt19) { case 1 : - // InternalRos.g:15558:11: '^' + // InternalRos.g:15696:11: '^' { match('^'); @@ -3011,7 +3011,7 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:15558:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:15696:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop20: do { int alt20=2; @@ -3058,10 +3058,10 @@ public final void mRULE_ID() throws RecognitionException { // $ANTLR start "RULE_INT" public final void mRULE_INT() throws RecognitionException { try { - // InternalRos.g:15560:19: ( ( '0' .. '9' )+ ) - // InternalRos.g:15560:21: ( '0' .. '9' )+ + // InternalRos.g:15698:19: ( ( '0' .. '9' )+ ) + // InternalRos.g:15698:21: ( '0' .. '9' )+ { - // InternalRos.g:15560:21: ( '0' .. '9' )+ + // InternalRos.g:15698:21: ( '0' .. '9' )+ int cnt21=0; loop21: do { @@ -3075,7 +3075,7 @@ public final void mRULE_INT() throws RecognitionException { switch (alt21) { case 1 : - // InternalRos.g:15560:22: '0' .. '9' + // InternalRos.g:15698:22: '0' .. '9' { matchRange('0','9'); @@ -3105,10 +3105,10 @@ public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15562:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalRos.g:15562:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:15700:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalRos.g:15700:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) { - // InternalRos.g:15562:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:15700:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) int alt24=2; int LA24_0 = input.LA(1); @@ -3126,10 +3126,10 @@ else if ( (LA24_0=='\'') ) { } switch (alt24) { case 1 : - // InternalRos.g:15562:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalRos.g:15700:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalRos.g:15562:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalRos.g:15700:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop22: do { int alt22=3; @@ -3145,7 +3145,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 switch (alt22) { case 1 : - // InternalRos.g:15562:21: '\\\\' . + // InternalRos.g:15700:21: '\\\\' . { match('\\'); matchAny(); @@ -3153,7 +3153,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:15562:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalRos.g:15700:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3178,10 +3178,10 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:15562:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalRos.g:15700:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalRos.g:15562:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalRos.g:15700:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop23: do { int alt23=3; @@ -3197,7 +3197,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 switch (alt23) { case 1 : - // InternalRos.g:15562:54: '\\\\' . + // InternalRos.g:15700:54: '\\\\' . { match('\\'); matchAny(); @@ -3205,7 +3205,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:15562:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalRos.g:15700:61: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3248,12 +3248,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15564:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalRos.g:15564:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalRos.g:15702:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalRos.g:15702:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalRos.g:15564:24: ( options {greedy=false; } : . )* + // InternalRos.g:15702:24: ( options {greedy=false; } : . )* loop25: do { int alt25=2; @@ -3278,7 +3278,7 @@ else if ( ((LA25_0>='\u0000' && LA25_0<=')')||(LA25_0>='+' && LA25_0<='\uFFFF')) switch (alt25) { case 1 : - // InternalRos.g:15564:52: . + // InternalRos.g:15702:52: . { matchAny(); @@ -3308,12 +3308,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15566:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalRos.g:15566:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalRos.g:15704:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalRos.g:15704:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalRos.g:15566:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalRos.g:15704:24: (~ ( ( '\\n' | '\\r' ) ) )* loop26: do { int alt26=2; @@ -3326,7 +3326,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { switch (alt26) { case 1 : - // InternalRos.g:15566:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalRos.g:15704:24: ~ ( ( '\\n' | '\\r' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3346,7 +3346,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalRos.g:15566:40: ( ( '\\r' )? '\\n' )? + // InternalRos.g:15704:40: ( ( '\\r' )? '\\n' )? int alt28=2; int LA28_0 = input.LA(1); @@ -3355,9 +3355,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt28) { case 1 : - // InternalRos.g:15566:41: ( '\\r' )? '\\n' + // InternalRos.g:15704:41: ( '\\r' )? '\\n' { - // InternalRos.g:15566:41: ( '\\r' )? + // InternalRos.g:15704:41: ( '\\r' )? int alt27=2; int LA27_0 = input.LA(1); @@ -3366,7 +3366,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt27) { case 1 : - // InternalRos.g:15566:41: '\\r' + // InternalRos.g:15704:41: '\\r' { match('\r'); @@ -3398,10 +3398,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15568:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalRos.g:15568:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:15706:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalRos.g:15706:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalRos.g:15568:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:15706:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt29=0; loop29: do { @@ -3455,8 +3455,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15570:16: ( . ) - // InternalRos.g:15570:18: . + // InternalRos.g:15708:16: ( . ) + // InternalRos.g:15708:18: . { matchAny(); @@ -4247,344 +4247,350 @@ public DFA10(BaseRecognizer recognizer) { this.transition = DFA10_transition; } public String getDescription() { - return "15540:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; + return "15678:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; } } static final String DFA30_eotS = - "\1\44\16\61\3\uffff\16\61\3\55\1\61\1\uffff\3\55\2\156\1\55\1\156\2\uffff\3\61\2\uffff\31\61\3\uffff\22\61\4\uffff\1\61\2\uffff\1\u00a5\2\uffff\1\u00a5\4\uffff\3\156\1\uffff\60\61\3\uffff\2\156\2\61\1\u00e1\1\u00e3\6\61\1\u00ea\12\61\1\u00f5\1\u00f6\1\u00f7\16\61\1\u0106\3\61\1\u010a\3\61\1\u010f\1\u0111\1\u0113\4\61\1\156\2\61\1\uffff\1\61\1\uffff\3\61\1\u0121\2\61\1\uffff\6\61\1\u00f7\1\u012b\2\61\3\uffff\10\61\1\u0136\5\61\1\uffff\1\61\1\u013d\1\61\1\uffff\3\61\6\uffff\1\u0143\1\u0145\1\u0147\1\u0149\6\61\1\u0150\1\u0151\1\u0152\1\uffff\3\61\1\u0156\5\61\1\uffff\1\61\1\u015e\1\u015f\7\61\1\uffff\3\61\1\u016b\2\61\1\uffff\3\61\1\u0171\10\uffff\1\u0173\1\u0175\1\u0177\3\61\3\uffff\2\61\1\u017e\1\uffff\1\61\1\u0180\1\61\1\u0183\1\u0185\1\u0186\3\uffff\1\61\1\u0188\1\u018b\10\61\1\uffff\3\61\1\u0198\1\u0199\7\uffff\6\61\1\uffff\1\u01a1\1\uffff\1\u01a2\5\uffff\1\u01a3\1\uffff\2\61\1\uffff\3\61\1\u01a9\10\61\2\uffff\1\u01b2\1\61\1\u01b4\4\61\3\uffff\2\61\1\u01be\1\u01c0\1\61\1\uffff\5\61\1\u01c7\2\61\1\uffff\1\61\1\uffff\3\61\1\u01cf\1\u01d0\1\61\1\u01d2\2\61\1\uffff\1\u01d5\1\uffff\1\61\1\u01d7\4\61\1\uffff\3\61\1\u01df\2\61\1\u01e2\2\uffff\1\61\1\uffff\2\61\1\uffff\1\61\1\uffff\7\61\1\uffff\2\61\1\uffff\1\61\1\u01f1\2\61\1\u01f5\1\u01f7\1\61\1\u01f9\3\61\1\u01fe\1\u0200\1\61\1\uffff\2\61\1\u0204\1\uffff\1\u0205\1\uffff\1\u0206\1\uffff\3\61\1\u020a\1\uffff\1\u020b\1\uffff\3\61\3\uffff\2\61\1\u0211\2\uffff\5\61\1\uffff\2\61\1\u0219\2\61\1\u021c\1\61\1\uffff\1\61\1\u021f\1\uffff\1\61\1\u0221\1\uffff\1\61\1\uffff\1\61\1\u0224\1\uffff"; + "\1\45\16\61\3\uffff\17\61\3\56\1\61\1\uffff\3\56\2\160\1\56\1\160\2\uffff\2\61\1\uffff\1\61\1\uffff\31\61\3\uffff\23\61\4\uffff\1\61\2\uffff\1\u00a8\2\uffff\1\u00a8\4\uffff\3\160\1\uffff\61\61\3\uffff\2\160\2\61\1\u00e5\1\u00e7\6\61\1\u00ee\12\61\1\u00f9\1\u00fa\1\u00fb\17\61\1\u010b\3\61\1\u010f\3\61\1\u0114\1\u0116\1\u0118\4\61\1\160\2\61\1\uffff\1\61\1\uffff\3\61\1\u0126\2\61\1\uffff\6\61\1\u00fb\1\u0130\2\61\3\uffff\11\61\1\u013c\5\61\1\uffff\1\61\1\u0143\1\61\1\uffff\3\61\6\uffff\1\u0149\1\u014b\1\u014d\1\u014f\6\61\1\u0156\1\u0157\1\u0158\1\uffff\3\61\1\u015c\5\61\1\uffff\1\61\1\u0164\1\u0165\10\61\1\uffff\3\61\1\u0172\2\61\1\uffff\3\61\1\u0178\10\uffff\1\u017a\1\u017c\1\u017e\3\61\3\uffff\2\61\1\u0185\1\uffff\1\61\1\u0187\1\61\1\u018a\1\u018c\1\u018d\3\uffff\1\61\1\u018f\1\u0191\11\61\1\uffff\3\61\1\u019f\1\u01a0\7\uffff\6\61\1\uffff\1\u01a8\1\uffff\1\u01a9\5\uffff\1\u01aa\1\uffff\1\61\1\uffff\4\61\1\u01b0\10\61\2\uffff\1\u01b9\1\61\1\u01bb\4\61\3\uffff\1\61\1\u01c4\1\u01c6\2\61\1\uffff\5\61\1\u01ce\2\61\1\uffff\1\61\1\uffff\3\61\1\u01d6\1\u01d7\1\u01d8\2\61\1\uffff\1\u01db\1\uffff\2\61\1\u01de\4\61\1\uffff\3\61\1\u01e6\2\61\1\u01e9\3\uffff\2\61\1\uffff\1\61\1\u01ed\1\uffff\7\61\1\uffff\2\61\1\uffff\1\u01f7\2\61\1\uffff\1\u01fb\1\u01fd\1\61\1\u01ff\3\61\1\u0204\1\u0206\1\uffff\2\61\1\u0209\1\uffff\1\u020a\1\uffff\1\u020b\1\uffff\3\61\1\u020f\1\uffff\1\u0210\1\uffff\2\61\3\uffff\2\61\1\u0215\2\uffff\4\61\1\uffff\1\61\1\u021b\3\61\1\uffff\1\61\1\u0220\1\61\1\u0222\1\uffff\1\61\1\uffff\1\61\1\u0225\1\uffff"; static final String DFA30_eofS = - "\u0225\uffff"; + "\u0226\uffff"; static final String DFA30_minS = - "\1\0\16\57\3\uffff\16\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\3\57\2\uffff\31\57\3\uffff\22\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\60\57\1\0\1\uffff\1\0\2\56\65\57\1\55\2\57\1\uffff\1\57\1\uffff\6\57\1\uffff\12\57\3\uffff\16\57\1\uffff\3\57\1\uffff\3\57\6\uffff\15\57\1\uffff\11\57\1\uffff\12\57\1\uffff\6\57\1\uffff\4\57\10\uffff\6\57\3\uffff\3\57\1\uffff\6\57\3\uffff\13\57\1\uffff\5\57\7\uffff\6\57\1\uffff\1\57\1\uffff\1\57\5\uffff\1\57\1\uffff\2\57\1\uffff\14\57\2\uffff\7\57\3\uffff\5\57\1\uffff\10\57\1\uffff\1\57\1\uffff\11\57\1\uffff\1\57\1\uffff\6\57\1\uffff\7\57\2\uffff\1\57\1\uffff\2\57\1\uffff\1\57\1\uffff\7\57\1\uffff\2\57\1\uffff\16\57\1\uffff\3\57\1\uffff\1\57\1\uffff\1\57\1\uffff\4\57\1\uffff\1\57\1\uffff\3\57\3\uffff\3\57\2\uffff\5\57\1\uffff\7\57\1\uffff\2\57\1\uffff\2\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; + "\1\0\16\57\3\uffff\17\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\2\57\1\uffff\1\57\1\uffff\31\57\3\uffff\23\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\61\57\1\0\1\uffff\1\0\2\56\66\57\1\55\2\57\1\uffff\1\57\1\uffff\6\57\1\uffff\12\57\3\uffff\17\57\1\uffff\3\57\1\uffff\3\57\6\uffff\15\57\1\uffff\11\57\1\uffff\13\57\1\uffff\6\57\1\uffff\4\57\10\uffff\6\57\3\uffff\3\57\1\uffff\6\57\3\uffff\14\57\1\uffff\5\57\7\uffff\6\57\1\uffff\1\57\1\uffff\1\57\5\uffff\1\57\1\uffff\1\57\1\uffff\15\57\2\uffff\7\57\3\uffff\5\57\1\uffff\10\57\1\uffff\1\57\1\uffff\10\57\1\uffff\1\57\1\uffff\7\57\1\uffff\7\57\3\uffff\2\57\1\uffff\2\57\1\uffff\7\57\1\uffff\2\57\1\uffff\3\57\1\uffff\11\57\1\uffff\3\57\1\uffff\1\57\1\uffff\1\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\3\uffff\3\57\2\uffff\4\57\1\uffff\5\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; static final String DFA30_maxS = - "\1\uffff\16\172\3\uffff\16\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\3\172\2\uffff\31\172\3\uffff\22\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\60\172\1\uffff\1\uffff\1\uffff\2\145\65\172\1\145\2\172\1\uffff\1\172\1\uffff\6\172\1\uffff\12\172\3\uffff\16\172\1\uffff\3\172\1\uffff\3\172\6\uffff\15\172\1\uffff\11\172\1\uffff\12\172\1\uffff\6\172\1\uffff\4\172\10\uffff\6\172\3\uffff\3\172\1\uffff\6\172\3\uffff\13\172\1\uffff\5\172\7\uffff\6\172\1\uffff\1\172\1\uffff\1\172\5\uffff\1\172\1\uffff\2\172\1\uffff\14\172\2\uffff\7\172\3\uffff\5\172\1\uffff\10\172\1\uffff\1\172\1\uffff\11\172\1\uffff\1\172\1\uffff\6\172\1\uffff\7\172\2\uffff\1\172\1\uffff\2\172\1\uffff\1\172\1\uffff\7\172\1\uffff\2\172\1\uffff\16\172\1\uffff\3\172\1\uffff\1\172\1\uffff\1\172\1\uffff\4\172\1\uffff\1\172\1\uffff\3\172\3\uffff\3\172\2\uffff\5\172\1\uffff\7\172\1\uffff\2\172\1\uffff\2\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; + "\1\uffff\16\172\3\uffff\17\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\2\172\1\uffff\1\172\1\uffff\31\172\3\uffff\23\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\61\172\1\uffff\1\uffff\1\uffff\2\145\66\172\1\145\2\172\1\uffff\1\172\1\uffff\6\172\1\uffff\12\172\3\uffff\17\172\1\uffff\3\172\1\uffff\3\172\6\uffff\15\172\1\uffff\11\172\1\uffff\13\172\1\uffff\6\172\1\uffff\4\172\10\uffff\6\172\3\uffff\3\172\1\uffff\6\172\3\uffff\14\172\1\uffff\5\172\7\uffff\6\172\1\uffff\1\172\1\uffff\1\172\5\uffff\1\172\1\uffff\1\172\1\uffff\15\172\2\uffff\7\172\3\uffff\5\172\1\uffff\10\172\1\uffff\1\172\1\uffff\10\172\1\uffff\1\172\1\uffff\7\172\1\uffff\7\172\3\uffff\2\172\1\uffff\2\172\1\uffff\7\172\1\uffff\2\172\1\uffff\3\172\1\uffff\11\172\1\uffff\3\172\1\uffff\1\172\1\uffff\1\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\3\uffff\3\172\2\uffff\4\172\1\uffff\5\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; static final String DFA30_acceptS = - "\17\uffff\1\21\1\22\1\23\22\uffff\1\131\7\uffff\1\145\1\146\3\uffff\1\141\1\140\31\uffff\1\21\1\22\1\23\22\uffff\1\130\1\143\1\144\1\132\7\uffff\1\133\1\137\1\136\1\135\3\uffff\1\145\61\uffff\1\142\73\uffff\1\2\1\uffff\1\11\6\uffff\1\5\12\uffff\1\14\1\17\1\134\16\uffff\1\36\3\uffff\1\64\3\uffff\1\113\1\76\1\127\1\112\1\114\1\77\15\uffff\1\25\11\uffff\1\12\12\uffff\1\73\6\uffff\1\60\4\uffff\1\116\1\101\1\120\1\103\1\122\1\105\1\115\1\100\6\uffff\1\3\1\4\1\65\3\uffff\1\7\6\uffff\1\126\1\111\1\15\13\uffff\1\70\5\uffff\1\72\1\117\1\102\1\121\1\104\1\123\1\106\6\uffff\1\6\1\uffff\1\32\1\uffff\1\124\1\107\1\125\1\110\1\13\1\uffff\1\67\2\uffff\1\24\14\uffff\1\66\1\71\7\uffff\1\33\1\10\1\16\5\uffff\1\26\10\uffff\1\1\1\uffff\1\47\11\uffff\1\63\1\uffff\1\50\6\uffff\1\34\7\uffff\1\51\1\20\1\uffff\1\45\2\uffff\1\40\1\uffff\1\35\7\uffff\1\31\2\uffff\1\41\16\uffff\1\74\3\uffff\1\53\1\uffff\1\54\1\uffff\1\30\4\uffff\1\46\1\uffff\1\52\3\uffff\1\43\1\44\1\27\3\uffff\1\37\1\42\5\uffff\1\57\7\uffff\1\62\2\uffff\1\55\2\uffff\1\61\1\uffff\1\56\2\uffff\1\75"; + "\17\uffff\1\21\1\22\1\23\23\uffff\1\131\7\uffff\1\145\1\146\2\uffff\1\141\1\uffff\1\140\31\uffff\1\21\1\22\1\23\23\uffff\1\130\1\143\1\144\1\132\7\uffff\1\133\1\137\1\136\1\135\3\uffff\1\145\62\uffff\1\142\74\uffff\1\2\1\uffff\1\11\6\uffff\1\5\12\uffff\1\14\1\17\1\134\17\uffff\1\37\3\uffff\1\64\3\uffff\1\113\1\76\1\127\1\112\1\114\1\77\15\uffff\1\26\11\uffff\1\12\13\uffff\1\73\6\uffff\1\60\4\uffff\1\116\1\101\1\120\1\103\1\122\1\105\1\115\1\100\6\uffff\1\3\1\4\1\65\3\uffff\1\7\6\uffff\1\126\1\111\1\15\14\uffff\1\70\5\uffff\1\72\1\117\1\102\1\121\1\104\1\123\1\106\6\uffff\1\6\1\uffff\1\33\1\uffff\1\124\1\107\1\125\1\110\1\13\1\uffff\1\67\1\uffff\1\24\15\uffff\1\66\1\71\7\uffff\1\34\1\10\1\16\5\uffff\1\27\10\uffff\1\1\1\uffff\1\50\10\uffff\1\63\1\uffff\1\51\7\uffff\1\35\7\uffff\1\52\1\20\1\46\2\uffff\1\41\2\uffff\1\36\7\uffff\1\32\2\uffff\1\42\3\uffff\1\25\11\uffff\1\74\3\uffff\1\54\1\uffff\1\55\1\uffff\1\31\4\uffff\1\47\1\uffff\1\53\2\uffff\1\44\1\45\1\30\3\uffff\1\40\1\43\4\uffff\1\57\5\uffff\1\62\4\uffff\1\61\1\uffff\1\56\2\uffff\1\75"; static final String DFA30_specialS = - "\1\5\44\uffff\1\4\1\10\77\uffff\1\2\1\7\1\uffff\1\3\1\1\71\uffff\1\6\1\uffff\1\0\u017e\uffff}>"; + "\1\6\45\uffff\1\2\1\5\100\uffff\1\0\1\4\1\uffff\1\1\1\10\72\uffff\1\3\1\uffff\1\7\u017c\uffff}>"; static final String[] DFA30_transitionS = { - "\11\55\2\54\2\55\1\54\22\55\1\54\1\55\1\45\4\55\1\46\4\55\1\21\1\52\1\55\1\41\1\50\2\51\7\53\7\55\1\22\1\34\1\23\1\24\1\27\1\43\1\1\1\3\1\33\2\43\1\32\1\43\1\26\1\43\1\16\1\43\1\31\1\4\1\25\6\43\1\40\2\55\1\42\1\43\1\55\1\14\1\35\1\43\1\15\1\43\1\10\1\5\1\43\1\36\3\43\1\6\1\2\1\43\1\30\1\43\1\7\1\12\1\13\1\37\1\11\4\43\1\17\1\55\1\20\1\47\uff81\55", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\57\5\60\1\56\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\64\15\60\1\63\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\65\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\70\12\60\1\67\3\60\1\66\1\71\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\72\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\73\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\74\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\77\3\60\1\75\6\60\1\76\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\100\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\101\16\60\1\102\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\104\10\60\1\105\6\60\1\103\1\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\106\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\110\17\60\1\107\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\111\20\60\1\113\2\60\1\112\5\60", + "\11\56\2\55\2\56\1\55\22\56\1\55\1\56\1\46\4\56\1\47\4\56\1\21\1\53\1\56\1\42\1\51\2\52\7\54\7\56\1\23\1\35\1\24\1\25\1\30\1\22\1\1\1\3\1\34\2\44\1\33\1\44\1\27\1\44\1\16\1\44\1\32\1\4\1\26\6\44\1\41\2\56\1\43\1\44\1\56\1\14\1\36\1\44\1\15\1\44\1\10\1\5\1\44\1\37\3\44\1\6\1\2\1\44\1\31\1\44\1\7\1\12\1\13\1\40\1\11\4\44\1\17\1\56\1\20\1\50\uff81\56", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\60\5\62\1\57\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\65\15\62\1\64\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\66\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\71\12\62\1\70\3\62\1\67\1\72\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\73\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\74\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\75\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\100\3\62\1\76\6\62\1\77\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\101\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\102\16\62\1\103\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\105\10\62\1\106\6\62\1\104\1\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\107\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\111\17\62\1\110\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\112\20\62\1\114\2\62\1\113\5\62", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\120\16\60\1\117\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\121\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\122\11\60\1\123\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\124\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\125\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\27\60\1\126\2\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\127\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\130\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\131\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\132\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\134\15\60\1\133\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\135\11\60\1\136\1\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\137\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\140\21\60", - "\1\141", - "\1\144\4\uffff\1\144\2\uffff\1\142\4\uffff\1\143\21\uffff\32\44\3\uffff\2\44\1\uffff\32\44", - "\32\145\4\uffff\1\145\1\uffff\32\145", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\120\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\122\16\62\1\121\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\123\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\124\11\62\1\125\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\126\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\127\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\27\62\1\130\2\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\131\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\132\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\133\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\134\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\136\15\62\1\135\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\137\11\62\1\140\1\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\141\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\142\21\62", + "\1\143", + "\1\146\4\uffff\1\146\2\uffff\1\144\4\uffff\1\145\21\uffff\32\45\3\uffff\2\45\1\uffff\32\45", + "\32\147\4\uffff\1\147\1\uffff\32\147", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\42\147\1\150\71\147\1\146\uffa3\147", - "\47\152\1\153\64\152\1\151\uffa3\152", - "\1\144\4\uffff\1\144", - "\1\157\1\uffff\12\155\10\uffff\1\154\2\uffff\1\157\34\uffff\1\154\2\uffff\1\157", - "\1\157\1\uffff\12\160\13\uffff\1\157\37\uffff\1\157", - "\12\161", - "\1\157\1\uffff\12\162\13\uffff\1\157\37\uffff\1\157", + "\42\151\1\152\71\151\1\150\uffa3\151", + "\47\154\1\155\64\154\1\153\uffa3\154", + "\1\146\4\uffff\1\146", + "\1\161\1\uffff\12\157\10\uffff\1\156\2\uffff\1\161\34\uffff\1\156\2\uffff\1\161", + "\1\161\1\uffff\12\162\13\uffff\1\161\37\uffff\1\161", + "\12\163", + "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\164\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\165\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\166\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\167\13\62", "", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\3\60\1\166\26\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\167\15\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\170\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\171\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\172\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\173\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\60\1\174\30\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\175\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\176\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\20\60\1\u0080\1\60\1\177\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0081\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\u0082\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u0083\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u0084\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u0085\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u0086\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u0087\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\u0088\15\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\24\60\1\u0089\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u008a\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u008b\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\5\60\1\u008c\24\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u008d\16\60\1\u008e\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\60\1\u008f\30\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u0090\21\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\170\26\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\171\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\172\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\173\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\174\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\175\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\176\30\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\177\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0080\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\20\62\1\u0082\1\62\1\u0081\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0083\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0084\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0085\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0086\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0087\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0088\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0089\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u008a\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u008b\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u008c\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u008d\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u008e\24\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u008f\16\62\1\u0090\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0091\30\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0092\21\62", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u0092\1\60\1\u0091\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0093\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0094\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u0095\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\24\60\1\u0096\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u0097\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\3\60\1\u0098\26\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0099\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u009a\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u009b\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u009c\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u009d\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\u009e\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u009f\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\u00a0\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u00a1\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u00a2\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u00a3\14\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0093\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0095\1\62\1\u0094\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0096\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0097\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0098\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u0099\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u009a\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u009b\26\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u009c\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u009d\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u009e\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u009f\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a0\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a1\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00a2\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a3\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a4\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a5\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00a6\14\62", "", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\0\u00a4", - "\42\147\1\150\71\147\1\146\uffa3\147", - "\1\144\15\uffff\1\62", - "\0\u00a6", - "\47\152\1\153\64\152\1\151\uffa3\152", - "\1\144\15\uffff\1\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\0\u00a7", + "\42\151\1\152\71\151\1\150\uffa3\151", + "\1\146\15\uffff\1\63", + "\0\u00a9", + "\47\154\1\155\64\154\1\153\uffa3\154", + "\1\146\15\uffff\1\63", "", "", "", "", - "\1\157\1\uffff\12\u00a7\13\uffff\1\157\37\uffff\1\157", - "\1\157\1\uffff\12\u00a8\13\uffff\1\157\37\uffff\1\157", - "\1\157\1\uffff\12\162\13\uffff\1\157\37\uffff\1\157", + "\1\161\1\uffff\12\u00aa\13\uffff\1\161\37\uffff\1\161", + "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", + "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u00a9\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\60\1\u00aa\30\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00ab\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00ac\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\3\60\1\u00ad\26\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00ae\13\60\1\u00af\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u00b0\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\25\60\1\u00b1\4\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u00b2\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u00b3\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u00b4\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u00b6\4\60\1\u00b5\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\24\60\1\u00b7\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\3\60\1\u00b8\26\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00b9\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u00ba\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\24\60\1\u00bb\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\25\60\1\u00bc\4\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00bd\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00be\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00bf\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00c0\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00c1\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00c2\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00c3\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\12\60\1\u00c4\17\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00c5\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u00c6\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\25\60\1\u00c7\4\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00c8\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00c9\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00ca\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\12\60\1\u00cb\17\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00cc\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\60\1\u00cd\30\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00ce\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00cf\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00d0\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u00d1\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00d2\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u00d3\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00d4\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u00d5\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00d6\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u00d7\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00d8\25\60", - "\1\44\1\60\1\u00da\1\60\1\u00db\2\60\1\u00dc\1\60\1\u00d9\1\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u00dd\6\60", - "\42\147\1\150\71\147\1\146\uffa3\147", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00ac\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00ad\30\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00ae\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00af\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00b0\26\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00b1\13\62\1\u00b2\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00b3\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00b4\4\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00b5\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00b6\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00b7\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00b9\4\62\1\u00b8\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00ba\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00bb\26\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00bc\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00bd\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00be\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00bf\4\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00c0\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c1\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c2\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c3\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00c4\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c5\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c6\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00c7\17\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c8\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00c9\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00ca\4\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00cb\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00cc\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00cd\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ce\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00cf\17\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d0\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00d1\30\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00d2\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d3\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d4\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d5\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d6\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d7\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d8\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00d9\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00da\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00db\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00dc\25\62", + "\1\45\1\62\1\u00de\1\62\1\u00df\2\62\1\u00e0\1\62\1\u00dd\1\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00e1\6\62", + "\42\151\1\152\71\151\1\150\uffa3\151", "", - "\47\152\1\153\64\152\1\151\uffa3\152", - "\1\157\1\uffff\12\u00de\13\uffff\1\157\37\uffff\1\157", - "\1\157\1\uffff\12\u00a8\13\uffff\1\157\37\uffff\1\157", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\7\60\1\u00df\22\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00e0\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u00e2\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00e4\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u00e5\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u00e6\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u00e7\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00e8\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u00e9\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00eb\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u00ec\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\u00ed\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00ee\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\60\1\u00ef\30\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u00f0\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00f1\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u00f2\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00f3\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u00f4\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\u00f8\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u00f9\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\24\60\1\u00fa\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00fb\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\u00fc\15\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u00fd\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u00fe\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\5\60\1\u00ff\24\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\30\60\1\u0100\1\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\u0101\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u0102\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0103\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u0104\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u0105\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u0107\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0108\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0109\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\6\60\1\u010b\23\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u010c\25\60", - "\1\44\6\60\1\u010d\3\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u010e\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0110\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0112\3\uffff\1\60\1\uffff\32\60", - "\1\44\6\60\1\u0114\3\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\2\60\1\u0115\7\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\4\60\1\u0116\5\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\1\60\1\u0118\1\60\1\u0119\2\60\1\u011a\1\60\1\u0117\1\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\155\1\157\1\uffff\12\162\13\uffff\1\157\37\uffff\1\157", - "\1\44\12\60\3\uffff\1\62\3\uffff\15\60\1\u011b\14\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u011c\16\60", + "\47\154\1\155\64\154\1\153\uffa3\154", + "\1\161\1\uffff\12\u00e2\13\uffff\1\161\37\uffff\1\161", + "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u00e3\22\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00e4\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00e6\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00e8\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00e9\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ea\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00eb\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ec\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ed\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00ef\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00f0\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00f1\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f2\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00f3\30\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00f4\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f5\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f6\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00f7\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00f8\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00fc\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00fd\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00fe\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00ff\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u0100\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0101\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0102\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\6\62\1\u0103\23\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u0104\24\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u0105\1\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0106\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0107\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0108\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0109\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u010a\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u010c\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u010d\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u010e\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0110\23\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0111\25\62", + "\1\45\6\62\1\u0112\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0113\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0115\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0117\3\uffff\1\62\1\uffff\32\62", + "\1\45\6\62\1\u0119\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\2\62\1\u011a\7\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u011b\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\1\62\1\u011d\1\62\1\u011e\2\62\1\u011f\1\62\1\u011c\1\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\157\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", + "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u0120\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0121\16\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u011d\12\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0122\12\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u011e\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\6\60\1\u011f\23\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0120\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u0122\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u0123\10\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0123\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0124\23\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0125\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0127\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0128\10\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\6\60\1\u0124\23\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0125\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0126\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0127\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u0128\31\60", - "\1\44\3\60\1\u0129\2\60\1\u012a\3\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u012c\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\6\60\1\u012d\23\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0129\23\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u012a\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u012b\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u012c\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u012d\31\62", + "\1\45\3\62\1\u012e\2\62\1\u012f\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0131\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0132\23\62", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u012e\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u012f\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u0130\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\6\60\1\u0131\23\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0132\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0133\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0134\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u0135\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0137\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0138\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\3\60\1\u0139\26\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u013a\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\22\60\1\u013b\7\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0133\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0134\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0135\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0136\23\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0137\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0138\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0139\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u013a\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u013b\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013d\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013e\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u013f\26\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0140\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\22\62\1\u0141\7\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u013c\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u013e\21\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0142\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0144\21\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u013f\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u0140\31\60", - "\1\44\4\60\1\u0141\5\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0145\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0146\31\62", + "\1\45\4\62\1\u0147\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0142\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0144\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0146\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0148\3\uffff\1\60\1\uffff\32\60", - "\1\44\6\60\1\u014a\3\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\2\60\1\u014b\7\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\4\60\1\u014c\5\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u014d\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\15\60\1\u014e\14\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u014f\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0148\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u014a\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u014c\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u014e\3\uffff\1\62\1\uffff\32\62", + "\1\45\6\62\1\u0150\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\2\62\1\u0151\7\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u0152\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0153\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u0154\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0155\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0153\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u0154\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0155\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0157\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0158\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u0159\27\60", - "\1\44\2\60\1\u015a\7\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\4\60\1\u015b\5\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0159\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u015a\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u015b\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u015d\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u015e\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u015f\27\62", + "\1\45\2\62\1\u0160\7\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u0161\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u015c\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u015d\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\16\60\1\u0160\13\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0161\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0162\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u0163\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\7\60\1\u0164\22\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0165\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u0166\27\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0162\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0163\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0166\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0167\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0168\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0169\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u016a\22\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u016b\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u016c\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u016d\27\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\2\60\1\u0168\17\60\1\u0167\7\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\17\60\1\u0169\12\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u016a\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u016c\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u016d\31\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\2\62\1\u016f\17\62\1\u016e\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\17\62\1\u0170\12\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0171\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0173\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0174\31\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\25\60\1\u016e\4\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u016f\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0170\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u0175\4\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0176\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0177\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", @@ -4593,45 +4599,46 @@ public String getDescription() { "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0172\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0174\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0176\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\u0178\15\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u0179\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u017a\27\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0179\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u017b\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u017d\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u017f\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0180\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0181\27\62", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\2\60\1\u017c\17\60\1\u017b\7\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\60\1\u017d\30\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\2\62\1\u0183\17\62\1\u0182\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0184\30\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u017f\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\12\60\1\u0181\17\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0182\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\1\u0184\3\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0186\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u0188\17\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0189\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u018b\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0187\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\3\60\1\u018a\16\60\1\u0189\7\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u018c\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u018d\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\15\60\1\u018e\14\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u018f\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0191\12\60\1\u0190\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u0192\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u0193\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0194\14\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u018e\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\22\62\1\u0190\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0192\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0193\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u0194\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\21\62\1\u0195\10\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0196\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0198\12\62\1\u0197\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0199\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u019a\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u019b\14\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0195\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u0196\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0197\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u019c\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u019d\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u019e\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", @@ -4639,178 +4646,172 @@ public String getDescription() { "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u019a\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\u019b\15\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u019c\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u019e\12\60\1\u019d\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\13\60\1\u019f\16\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01a0\25\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a1\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01a2\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a3\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a5\12\62\1\u01a4\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u01a6\16\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a7\25\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01a4\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01a5\25\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ab\25\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01a6\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01a7\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u01a8\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01aa\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01ab\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u01ac\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u01ad\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u01ae\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u01af\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\3\60\1\u01b0\26\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\15\60\1\u01b1\14\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ac\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ad\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01ae\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01af\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01b1\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01b2\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01b3\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b4\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b5\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b6\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\3\62\1\u01b7\26\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u01b8\14\62\4\uffff\1\62\1\uffff\32\62", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01b3\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01b5\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01b6\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u01b7\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01b8\10\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ba\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01bc\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01bd\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01be\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01bf\10\62", "", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u01b9\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u01ba\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\1\u01bc\21\60\1\u01bd\7\60\4\uffff\1\60\1\uffff\22\60\1\u01bb\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01bf\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\u01c1\15\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01c0\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\1\u01c2\21\62\1\u01c3\7\62\4\uffff\1\62\1\uffff\22\62\1\u01c1\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01c5\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01c7\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01c8\12\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u01c2\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\25\60\1\u01c3\4\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01c4\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\12\60\1\u01c5\17\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\u01c6\21\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01c8\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u01c9\31\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01c9\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01ca\4\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01cb\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u01cc\17\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01cd\21\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01cf\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01d0\31\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01ca\7\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01d1\7\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u01cb\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\25\60\1\u01cc\4\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01cd\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01ce\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01d1\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u01d3\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u01d4\6\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01d2\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01d3\4\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01d4\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01d5\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01d9\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01da\6\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01d6\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01d8\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u01d9\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u01da\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01db\25\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01dc\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u01dd\13\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01df\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01e0\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01e1\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e2\25\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u01dc\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\u01dd\15\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u01de\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01e0\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u01e1\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01e3\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01e4\15\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01e5\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e7\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01e8\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u01e3\14\60", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\30\60\1\u01e4\1\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01e5\10\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u01ea\1\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01eb\10\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01e6\7\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01ec\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01e7\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u01e8\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\6\60\1\u01e9\23\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01ea\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01eb\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01ec\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u01ed\31\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ee\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01ef\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u01f0\23\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01f1\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f2\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f3\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01f4\31\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u01ee\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u01ef\6\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01f5\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01f6\6\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\3\60\1\u01f0\26\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\24\60\1\u01f2\5\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u01f3\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01f4\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01f6\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u01f8\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u01fa\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01fb\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u01fc\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01fd\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u01ff\7\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0201\25\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u01f8\5\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01f9\12\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u0202\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u0203\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01fa\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01fc\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01fe\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0200\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0201\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0202\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0203\7\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0205\7\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0207\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0208\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\3\60\1\u0207\26\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\17\60\1\u0208\12\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0209\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u020c\26\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u020d\12\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u020e\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u020c\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\23\60\1\u020d\6\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u020e\27\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0211\6\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0212\27\62", "", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u020f\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\u0210\31\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", "", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0213\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0214\31\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u0212\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\14\60\1\u0213\15\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0214\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\u0215\14\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u0216\27\60", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\30\60\1\u0217\1\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0218\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\2\60\1\u021a\27\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u021b\25\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\14\60\1\u021d\15\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\14\62\1\u0216\15\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0217\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0218\14\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0219\27\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\30\60\1\u021e\1\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021a\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u021c\27\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021d\25\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u021e\15\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\1\60\1\u0220\30\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u021f\1\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0221\30\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\4\60\1\u0222\25\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0223\25\62", "", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\21\60\1\u0223\10\60", - "\1\44\12\60\3\uffff\1\62\3\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0224\10\62", + "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "" }; @@ -4851,60 +4852,74 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA30_166 = input.LA(1); + int LA30_104 = input.LA(1); s = -1; - if ( (LA30_166=='\'') ) {s = 107;} + if ( ((LA30_104>='\u0000' && LA30_104<='\uFFFF')) ) {s = 167;} - else if ( (LA30_166=='\\') ) {s = 105;} + if ( s>=0 ) return s; + break; + case 1 : + int LA30_107 = input.LA(1); - else if ( ((LA30_166>='\u0000' && LA30_166<='&')||(LA30_166>='(' && LA30_166<='[')||(LA30_166>=']' && LA30_166<='\uFFFF')) ) {s = 106;} + s = -1; + if ( ((LA30_107>='\u0000' && LA30_107<='\uFFFF')) ) {s = 169;} if ( s>=0 ) return s; break; - case 1 : - int LA30_106 = input.LA(1); + case 2 : + int LA30_38 = input.LA(1); s = -1; - if ( (LA30_106=='\'') ) {s = 107;} + if ( (LA30_38=='\\') ) {s = 104;} + + else if ( ((LA30_38>='\u0000' && LA30_38<='!')||(LA30_38>='#' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 105;} - else if ( (LA30_106=='\\') ) {s = 105;} + else if ( (LA30_38=='\"') ) {s = 106;} - else if ( ((LA30_106>='\u0000' && LA30_106<='&')||(LA30_106>='(' && LA30_106<='[')||(LA30_106>=']' && LA30_106<='\uFFFF')) ) {s = 106;} + else s = 46; if ( s>=0 ) return s; break; - case 2 : - int LA30_102 = input.LA(1); + case 3 : + int LA30_167 = input.LA(1); s = -1; - if ( ((LA30_102>='\u0000' && LA30_102<='\uFFFF')) ) {s = 164;} + if ( (LA30_167=='\"') ) {s = 106;} + + else if ( (LA30_167=='\\') ) {s = 104;} + + else if ( ((LA30_167>='\u0000' && LA30_167<='!')||(LA30_167>='#' && LA30_167<='[')||(LA30_167>=']' && LA30_167<='\uFFFF')) ) {s = 105;} if ( s>=0 ) return s; break; - case 3 : + case 4 : int LA30_105 = input.LA(1); s = -1; - if ( ((LA30_105>='\u0000' && LA30_105<='\uFFFF')) ) {s = 166;} + if ( (LA30_105=='\"') ) {s = 106;} + + else if ( (LA30_105=='\\') ) {s = 104;} + + else if ( ((LA30_105>='\u0000' && LA30_105<='!')||(LA30_105>='#' && LA30_105<='[')||(LA30_105>=']' && LA30_105<='\uFFFF')) ) {s = 105;} if ( s>=0 ) return s; break; - case 4 : - int LA30_37 = input.LA(1); + case 5 : + int LA30_39 = input.LA(1); s = -1; - if ( (LA30_37=='\\') ) {s = 102;} + if ( (LA30_39=='\\') ) {s = 107;} - else if ( ((LA30_37>='\u0000' && LA30_37<='!')||(LA30_37>='#' && LA30_37<='[')||(LA30_37>=']' && LA30_37<='\uFFFF')) ) {s = 103;} + else if ( ((LA30_39>='\u0000' && LA30_39<='&')||(LA30_39>='(' && LA30_39<='[')||(LA30_39>=']' && LA30_39<='\uFFFF')) ) {s = 108;} - else if ( (LA30_37=='\"') ) {s = 104;} + else if ( (LA30_39=='\'') ) {s = 109;} - else s = 45; + else s = 46; if ( s>=0 ) return s; break; - case 5 : + case 6 : int LA30_0 = input.LA(1); s = -1; @@ -4942,99 +4957,87 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA30_0==',') ) {s = 17;} - else if ( (LA30_0=='A') ) {s = 18;} + else if ( (LA30_0=='F') ) {s = 18;} - else if ( (LA30_0=='C') ) {s = 19;} + else if ( (LA30_0=='A') ) {s = 19;} - else if ( (LA30_0=='D') ) {s = 20;} + else if ( (LA30_0=='C') ) {s = 20;} - else if ( (LA30_0=='T') ) {s = 21;} + else if ( (LA30_0=='D') ) {s = 21;} - else if ( (LA30_0=='N') ) {s = 22;} + else if ( (LA30_0=='T') ) {s = 22;} - else if ( (LA30_0=='E') ) {s = 23;} + else if ( (LA30_0=='N') ) {s = 23;} - else if ( (LA30_0=='p') ) {s = 24;} + else if ( (LA30_0=='E') ) {s = 24;} - else if ( (LA30_0=='R') ) {s = 25;} + else if ( (LA30_0=='p') ) {s = 25;} - else if ( (LA30_0=='L') ) {s = 26;} + else if ( (LA30_0=='R') ) {s = 26;} - else if ( (LA30_0=='I') ) {s = 27;} + else if ( (LA30_0=='L') ) {s = 27;} - else if ( (LA30_0=='B') ) {s = 28;} + else if ( (LA30_0=='I') ) {s = 28;} - else if ( (LA30_0=='b') ) {s = 29;} + else if ( (LA30_0=='B') ) {s = 29;} - else if ( (LA30_0=='i') ) {s = 30;} + else if ( (LA30_0=='b') ) {s = 30;} - else if ( (LA30_0=='u') ) {s = 31;} + else if ( (LA30_0=='i') ) {s = 31;} - else if ( (LA30_0=='[') ) {s = 32;} + else if ( (LA30_0=='u') ) {s = 32;} - else if ( (LA30_0=='/') ) {s = 33;} + else if ( (LA30_0=='[') ) {s = 33;} - else if ( (LA30_0=='^') ) {s = 34;} + else if ( (LA30_0=='/') ) {s = 34;} - else if ( (LA30_0=='F'||(LA30_0>='J' && LA30_0<='K')||LA30_0=='M'||LA30_0=='O'||LA30_0=='Q'||(LA30_0>='U' && LA30_0<='Z')||LA30_0=='_'||LA30_0=='c'||LA30_0=='e'||LA30_0=='h'||(LA30_0>='j' && LA30_0<='l')||LA30_0=='o'||LA30_0=='q'||(LA30_0>='w' && LA30_0<='z')) ) {s = 35;} + else if ( (LA30_0=='^') ) {s = 35;} - else if ( (LA30_0=='\"') ) {s = 37;} + else if ( ((LA30_0>='J' && LA30_0<='K')||LA30_0=='M'||LA30_0=='O'||LA30_0=='Q'||(LA30_0>='U' && LA30_0<='Z')||LA30_0=='_'||LA30_0=='c'||LA30_0=='e'||LA30_0=='h'||(LA30_0>='j' && LA30_0<='l')||LA30_0=='o'||LA30_0=='q'||(LA30_0>='w' && LA30_0<='z')) ) {s = 36;} - else if ( (LA30_0=='\'') ) {s = 38;} + else if ( (LA30_0=='\"') ) {s = 38;} - else if ( (LA30_0=='~') ) {s = 39;} + else if ( (LA30_0=='\'') ) {s = 39;} - else if ( (LA30_0=='0') ) {s = 40;} + else if ( (LA30_0=='~') ) {s = 40;} - else if ( ((LA30_0>='1' && LA30_0<='2')) ) {s = 41;} + else if ( (LA30_0=='0') ) {s = 41;} - else if ( (LA30_0=='-') ) {s = 42;} + else if ( ((LA30_0>='1' && LA30_0<='2')) ) {s = 42;} - else if ( ((LA30_0>='3' && LA30_0<='9')) ) {s = 43;} + else if ( (LA30_0=='-') ) {s = 43;} - else if ( ((LA30_0>='\t' && LA30_0<='\n')||LA30_0=='\r'||LA30_0==' ') ) {s = 44;} + else if ( ((LA30_0>='3' && LA30_0<='9')) ) {s = 44;} - else if ( ((LA30_0>='\u0000' && LA30_0<='\b')||(LA30_0>='\u000B' && LA30_0<='\f')||(LA30_0>='\u000E' && LA30_0<='\u001F')||LA30_0=='!'||(LA30_0>='#' && LA30_0<='&')||(LA30_0>='(' && LA30_0<='+')||LA30_0=='.'||(LA30_0>=':' && LA30_0<='@')||(LA30_0>='\\' && LA30_0<=']')||LA30_0=='`'||LA30_0=='|'||(LA30_0>='\u007F' && LA30_0<='\uFFFF')) ) {s = 45;} + else if ( ((LA30_0>='\t' && LA30_0<='\n')||LA30_0=='\r'||LA30_0==' ') ) {s = 45;} - else s = 36; + else if ( ((LA30_0>='\u0000' && LA30_0<='\b')||(LA30_0>='\u000B' && LA30_0<='\f')||(LA30_0>='\u000E' && LA30_0<='\u001F')||LA30_0=='!'||(LA30_0>='#' && LA30_0<='&')||(LA30_0>='(' && LA30_0<='+')||LA30_0=='.'||(LA30_0>=':' && LA30_0<='@')||(LA30_0>='\\' && LA30_0<=']')||LA30_0=='`'||LA30_0=='|'||(LA30_0>='\u007F' && LA30_0<='\uFFFF')) ) {s = 46;} - if ( s>=0 ) return s; - break; - case 6 : - int LA30_164 = input.LA(1); - - s = -1; - if ( (LA30_164=='\"') ) {s = 104;} - - else if ( (LA30_164=='\\') ) {s = 102;} - - else if ( ((LA30_164>='\u0000' && LA30_164<='!')||(LA30_164>='#' && LA30_164<='[')||(LA30_164>=']' && LA30_164<='\uFFFF')) ) {s = 103;} + else s = 37; if ( s>=0 ) return s; break; case 7 : - int LA30_103 = input.LA(1); + int LA30_169 = input.LA(1); s = -1; - if ( (LA30_103=='\"') ) {s = 104;} + if ( (LA30_169=='\'') ) {s = 109;} - else if ( (LA30_103=='\\') ) {s = 102;} + else if ( (LA30_169=='\\') ) {s = 107;} - else if ( ((LA30_103>='\u0000' && LA30_103<='!')||(LA30_103>='#' && LA30_103<='[')||(LA30_103>=']' && LA30_103<='\uFFFF')) ) {s = 103;} + else if ( ((LA30_169>='\u0000' && LA30_169<='&')||(LA30_169>='(' && LA30_169<='[')||(LA30_169>=']' && LA30_169<='\uFFFF')) ) {s = 108;} if ( s>=0 ) return s; break; case 8 : - int LA30_38 = input.LA(1); + int LA30_108 = input.LA(1); s = -1; - if ( (LA30_38=='\\') ) {s = 105;} - - else if ( ((LA30_38>='\u0000' && LA30_38<='&')||(LA30_38>='(' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 106;} + if ( (LA30_108=='\'') ) {s = 109;} - else if ( (LA30_38=='\'') ) {s = 107;} + else if ( (LA30_108=='\\') ) {s = 107;} - else s = 45; + else if ( ((LA30_108>='\u0000' && LA30_108<='&')||(LA30_108>='(' && LA30_108<='[')||(LA30_108>=']' && LA30_108<='\uFFFF')) ) {s = 108;} if ( s>=0 ) return s; break; diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java index 0b6c7893c..0f439bb0a 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java @@ -22,7 +22,7 @@ @SuppressWarnings("all") public class InternalRosParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'GraphName'", "'node'", "'Header'", "'String'", "'goal'", "'message'", "'result'", "'feedback'", "'name'", "'value'", "'service'", "'type'", "'action'", "'duration'", "'time'", "'PackageSet'", "'{'", "'}'", "','", "'Package'", "'Specs'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'ActionSpec'", "'Node'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'ActionClient'", "'PackageDependency'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" + "", "", "", "", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'GraphName'", "'node'", "'Header'", "'String'", "'goal'", "'message'", "'result'", "'feedback'", "'name'", "'value'", "'service'", "'type'", "'action'", "'duration'", "'time'", "'PackageSet'", "'{'", "'}'", "','", "'Package'", "'FromGitRepo'", "'Specs'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'ActionSpec'", "'Node'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'ActionClient'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" }; public static final int T__50=50; public static final int RULE_DATE_TIME=8; @@ -1885,31 +1885,31 @@ public final void entryRulePackageDependency() throws RecognitionException { // $ANTLR start "rulePackageDependency" - // InternalRos.g:612:1: rulePackageDependency : ( ( rule__PackageDependency__Group__0 ) ) ; + // InternalRos.g:612:1: rulePackageDependency : ( ( rule__PackageDependency__PackageAssignment ) ) ; public final void rulePackageDependency() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:616:2: ( ( ( rule__PackageDependency__Group__0 ) ) ) - // InternalRos.g:617:2: ( ( rule__PackageDependency__Group__0 ) ) + // InternalRos.g:616:2: ( ( ( rule__PackageDependency__PackageAssignment ) ) ) + // InternalRos.g:617:2: ( ( rule__PackageDependency__PackageAssignment ) ) { - // InternalRos.g:617:2: ( ( rule__PackageDependency__Group__0 ) ) - // InternalRos.g:618:3: ( rule__PackageDependency__Group__0 ) + // InternalRos.g:617:2: ( ( rule__PackageDependency__PackageAssignment ) ) + // InternalRos.g:618:3: ( rule__PackageDependency__PackageAssignment ) { - before(grammarAccess.getPackageDependencyAccess().getGroup()); - // InternalRos.g:619:3: ( rule__PackageDependency__Group__0 ) - // InternalRos.g:619:4: rule__PackageDependency__Group__0 + before(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); + // InternalRos.g:619:3: ( rule__PackageDependency__PackageAssignment ) + // InternalRos.g:619:4: rule__PackageDependency__PackageAssignment { pushFollow(FOLLOW_2); - rule__PackageDependency__Group__0(); + rule__PackageDependency__PackageAssignment(); state._fsp--; } - after(grammarAccess.getPackageDependencyAccess().getGroup()); + after(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); } @@ -6900,7 +6900,7 @@ public final void rule__Package__Alternatives() throws RecognitionException { if ( (LA1_0==44) ) { alt1=1; } - else if ( (LA1_0==47) ) { + else if ( (LA1_0==48) ) { alt1=2; } else { @@ -6975,17 +6975,17 @@ public final void rule__SpecBase__Alternatives() throws RecognitionException { // InternalRos.g:2277:1: ( ( ruleServiceSpec ) | ( ruleTopicSpec ) | ( ruleActionSpec ) ) int alt2=3; switch ( input.LA(1) ) { - case 49: + case 50: { alt2=1; } break; - case 52: + case 53: { alt2=2; } break; - case 53: + case 54: { alt2=3; } @@ -7083,7 +7083,7 @@ public final void rule__Dependency__Alternatives() throws RecognitionException { int alt3=2; int LA3_0 = input.LA(1); - if ( (LA3_0==69) ) { + if ( ((LA3_0>=RULE_STRING && LA3_0<=RULE_ID)) ) { alt3=1; } else if ( (LA3_0==70) ) { @@ -7791,12 +7791,12 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti { int LA9_6 = input.LA(2); - if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA9_6<=RULE_ID)||(LA9_6>=41 && LA9_6<=43)) ) { - alt9=6; - } - else if ( (LA9_6==85) ) { + if ( (LA9_6==85) ) { alt9=7; } + else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA9_6<=RULE_ID)||(LA9_6>=41 && LA9_6<=43)) ) { + alt9=6; + } else { NoViableAltException nvae = new NoViableAltException("", 9, 6, input); @@ -9237,7 +9237,7 @@ public final void rule__PackageSet__Group__3__Impl() throws RecognitionException int alt13=2; int LA13_0 = input.LA(1); - if ( (LA13_0==44||LA13_0==47) ) { + if ( (LA13_0==44||LA13_0==48) ) { alt13=1; } switch (alt13) { @@ -10188,20 +10188,25 @@ public final void rule__Package_Impl__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__6" - // InternalRos.g:3233:1: rule__Package_Impl__Group__6 : rule__Package_Impl__Group__6__Impl ; + // InternalRos.g:3233:1: rule__Package_Impl__Group__6 : rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 ; public final void rule__Package_Impl__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3237:1: ( rule__Package_Impl__Group__6__Impl ) - // InternalRos.g:3238:2: rule__Package_Impl__Group__6__Impl + // InternalRos.g:3237:1: ( rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 ) + // InternalRos.g:3238:2: rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 { - pushFollow(FOLLOW_2); + pushFollow(FOLLOW_11); rule__Package_Impl__Group__6__Impl(); state._fsp--; + pushFollow(FOLLOW_2); + rule__Package_Impl__Group__7(); + + state._fsp--; + } @@ -10221,21 +10226,42 @@ public final void rule__Package_Impl__Group__6() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__6__Impl" - // InternalRos.g:3244:1: rule__Package_Impl__Group__6__Impl : ( '}' ) ; + // InternalRos.g:3245:1: rule__Package_Impl__Group__6__Impl : ( ( rule__Package_Impl__Group_6__0 )? ) ; public final void rule__Package_Impl__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3248:1: ( ( '}' ) ) - // InternalRos.g:3249:1: ( '}' ) + // InternalRos.g:3249:1: ( ( ( rule__Package_Impl__Group_6__0 )? ) ) + // InternalRos.g:3250:1: ( ( rule__Package_Impl__Group_6__0 )? ) { - // InternalRos.g:3249:1: ( '}' ) - // InternalRos.g:3250:2: '}' + // InternalRos.g:3250:1: ( ( rule__Package_Impl__Group_6__0 )? ) + // InternalRos.g:3251:2: ( rule__Package_Impl__Group_6__0 )? { - before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); - match(input,42,FOLLOW_2); - after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); + before(grammarAccess.getPackage_ImplAccess().getGroup_6()); + // InternalRos.g:3252:2: ( rule__Package_Impl__Group_6__0 )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==47) ) { + alt17=1; + } + switch (alt17) { + case 1 : + // InternalRos.g:3252:3: rule__Package_Impl__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__Package_Impl__Group_6__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getPackage_ImplAccess().getGroup_6()); } @@ -10257,17 +10283,87 @@ public final void rule__Package_Impl__Group__6__Impl() throws RecognitionExcepti // $ANTLR end "rule__Package_Impl__Group__6__Impl" + // $ANTLR start "rule__Package_Impl__Group__7" + // InternalRos.g:3260:1: rule__Package_Impl__Group__7 : rule__Package_Impl__Group__7__Impl ; + public final void rule__Package_Impl__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:3264:1: ( rule__Package_Impl__Group__7__Impl ) + // InternalRos.g:3265:2: rule__Package_Impl__Group__7__Impl + { + pushFollow(FOLLOW_2); + rule__Package_Impl__Group__7__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Package_Impl__Group__7" + + + // $ANTLR start "rule__Package_Impl__Group__7__Impl" + // InternalRos.g:3271:1: rule__Package_Impl__Group__7__Impl : ( '}' ) ; + public final void rule__Package_Impl__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:3275:1: ( ( '}' ) ) + // InternalRos.g:3276:1: ( '}' ) + { + // InternalRos.g:3276:1: ( '}' ) + // InternalRos.g:3277:2: '}' + { + before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); + match(input,42,FOLLOW_2); + after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Package_Impl__Group__7__Impl" + + // $ANTLR start "rule__Package_Impl__Group_4__0" - // InternalRos.g:3260:1: rule__Package_Impl__Group_4__0 : rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ; + // InternalRos.g:3287:1: rule__Package_Impl__Group_4__0 : rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ; public final void rule__Package_Impl__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3264:1: ( rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ) - // InternalRos.g:3265:2: rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 + // InternalRos.g:3291:1: ( rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ) + // InternalRos.g:3292:2: rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_10); rule__Package_Impl__Group_4__0__Impl(); state._fsp--; @@ -10296,21 +10392,21 @@ public final void rule__Package_Impl__Group_4__0() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_4__0__Impl" - // InternalRos.g:3272:1: rule__Package_Impl__Group_4__0__Impl : ( 'Specs' ) ; + // InternalRos.g:3299:1: rule__Package_Impl__Group_4__0__Impl : ( 'FromGitRepo' ) ; public final void rule__Package_Impl__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3276:1: ( ( 'Specs' ) ) - // InternalRos.g:3277:1: ( 'Specs' ) + // InternalRos.g:3303:1: ( ( 'FromGitRepo' ) ) + // InternalRos.g:3304:1: ( 'FromGitRepo' ) { - // InternalRos.g:3277:1: ( 'Specs' ) - // InternalRos.g:3278:2: 'Specs' + // InternalRos.g:3304:1: ( 'FromGitRepo' ) + // InternalRos.g:3305:2: 'FromGitRepo' { - before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); + before(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); match(input,45,FOLLOW_2); - after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); + after(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); } @@ -10333,26 +10429,68 @@ public final void rule__Package_Impl__Group_4__0__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_4__1" - // InternalRos.g:3287:1: rule__Package_Impl__Group_4__1 : rule__Package_Impl__Group_4__1__Impl rule__Package_Impl__Group_4__2 ; + // InternalRos.g:3314:1: rule__Package_Impl__Group_4__1 : rule__Package_Impl__Group_4__1__Impl ; public final void rule__Package_Impl__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3291:1: ( rule__Package_Impl__Group_4__1__Impl rule__Package_Impl__Group_4__2 ) - // InternalRos.g:3292:2: rule__Package_Impl__Group_4__1__Impl rule__Package_Impl__Group_4__2 + // InternalRos.g:3318:1: ( rule__Package_Impl__Group_4__1__Impl ) + // InternalRos.g:3319:2: rule__Package_Impl__Group_4__1__Impl { - pushFollow(FOLLOW_12); + pushFollow(FOLLOW_2); rule__Package_Impl__Group_4__1__Impl(); state._fsp--; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Package_Impl__Group_4__1" + + + // $ANTLR start "rule__Package_Impl__Group_4__1__Impl" + // InternalRos.g:3325:1: rule__Package_Impl__Group_4__1__Impl : ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) ; + public final void rule__Package_Impl__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:3329:1: ( ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) ) + // InternalRos.g:3330:1: ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) + { + // InternalRos.g:3330:1: ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) + // InternalRos.g:3331:2: ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) + { + before(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); + // InternalRos.g:3332:2: ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) + // InternalRos.g:3332:3: rule__Package_Impl__FromGitRepoAssignment_4_1 + { pushFollow(FOLLOW_2); - rule__Package_Impl__Group_4__2(); + rule__Package_Impl__FromGitRepoAssignment_4_1(); state._fsp--; + } + + after(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); + + } + + } } @@ -10367,25 +10505,138 @@ public final void rule__Package_Impl__Group_4__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__1" + // $ANTLR end "rule__Package_Impl__Group_4__1__Impl" - // $ANTLR start "rule__Package_Impl__Group_4__1__Impl" - // InternalRos.g:3299:1: rule__Package_Impl__Group_4__1__Impl : ( '{' ) ; - public final void rule__Package_Impl__Group_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5__0" + // InternalRos.g:3341:1: rule__Package_Impl__Group_5__0 : rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ; + public final void rule__Package_Impl__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3303:1: ( ( '{' ) ) - // InternalRos.g:3304:1: ( '{' ) + // InternalRos.g:3345:1: ( rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ) + // InternalRos.g:3346:2: rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 { - // InternalRos.g:3304:1: ( '{' ) - // InternalRos.g:3305:2: '{' + pushFollow(FOLLOW_4); + rule__Package_Impl__Group_5__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Package_Impl__Group_5__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Package_Impl__Group_5__0" + + + // $ANTLR start "rule__Package_Impl__Group_5__0__Impl" + // InternalRos.g:3353:1: rule__Package_Impl__Group_5__0__Impl : ( 'Specs' ) ; + public final void rule__Package_Impl__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:3357:1: ( ( 'Specs' ) ) + // InternalRos.g:3358:1: ( 'Specs' ) { - before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); + // InternalRos.g:3358:1: ( 'Specs' ) + // InternalRos.g:3359:2: 'Specs' + { + before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); + match(input,46,FOLLOW_2); + after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Package_Impl__Group_5__0__Impl" + + + // $ANTLR start "rule__Package_Impl__Group_5__1" + // InternalRos.g:3368:1: rule__Package_Impl__Group_5__1 : rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 ; + public final void rule__Package_Impl__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:3372:1: ( rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 ) + // InternalRos.g:3373:2: rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 + { + pushFollow(FOLLOW_12); + rule__Package_Impl__Group_5__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Package_Impl__Group_5__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Package_Impl__Group_5__1" + + + // $ANTLR start "rule__Package_Impl__Group_5__1__Impl" + // InternalRos.g:3380:1: rule__Package_Impl__Group_5__1__Impl : ( '{' ) ; + public final void rule__Package_Impl__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:3384:1: ( ( '{' ) ) + // InternalRos.g:3385:1: ( '{' ) + { + // InternalRos.g:3385:1: ( '{' ) + // InternalRos.g:3386:2: '{' + { + before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); match(input,41,FOLLOW_2); - after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); + after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); } @@ -10404,26 +10655,26 @@ public final void rule__Package_Impl__Group_4__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__1__Impl" + // $ANTLR end "rule__Package_Impl__Group_5__1__Impl" - // $ANTLR start "rule__Package_Impl__Group_4__2" - // InternalRos.g:3314:1: rule__Package_Impl__Group_4__2 : rule__Package_Impl__Group_4__2__Impl rule__Package_Impl__Group_4__3 ; - public final void rule__Package_Impl__Group_4__2() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5__2" + // InternalRos.g:3395:1: rule__Package_Impl__Group_5__2 : rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 ; + public final void rule__Package_Impl__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3318:1: ( rule__Package_Impl__Group_4__2__Impl rule__Package_Impl__Group_4__3 ) - // InternalRos.g:3319:2: rule__Package_Impl__Group_4__2__Impl rule__Package_Impl__Group_4__3 + // InternalRos.g:3399:1: ( rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 ) + // InternalRos.g:3400:2: rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 { pushFollow(FOLLOW_13); - rule__Package_Impl__Group_4__2__Impl(); + rule__Package_Impl__Group_5__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__Package_Impl__Group_4__3(); + rule__Package_Impl__Group_5__3(); state._fsp--; @@ -10442,35 +10693,35 @@ public final void rule__Package_Impl__Group_4__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__2" + // $ANTLR end "rule__Package_Impl__Group_5__2" - // $ANTLR start "rule__Package_Impl__Group_4__2__Impl" - // InternalRos.g:3326:1: rule__Package_Impl__Group_4__2__Impl : ( ( rule__Package_Impl__SpecAssignment_4_2 ) ) ; - public final void rule__Package_Impl__Group_4__2__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5__2__Impl" + // InternalRos.g:3407:1: rule__Package_Impl__Group_5__2__Impl : ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) ; + public final void rule__Package_Impl__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3330:1: ( ( ( rule__Package_Impl__SpecAssignment_4_2 ) ) ) - // InternalRos.g:3331:1: ( ( rule__Package_Impl__SpecAssignment_4_2 ) ) + // InternalRos.g:3411:1: ( ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) ) + // InternalRos.g:3412:1: ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) { - // InternalRos.g:3331:1: ( ( rule__Package_Impl__SpecAssignment_4_2 ) ) - // InternalRos.g:3332:2: ( rule__Package_Impl__SpecAssignment_4_2 ) + // InternalRos.g:3412:1: ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) + // InternalRos.g:3413:2: ( rule__Package_Impl__SpecAssignment_5_2 ) { - before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); - // InternalRos.g:3333:2: ( rule__Package_Impl__SpecAssignment_4_2 ) - // InternalRos.g:3333:3: rule__Package_Impl__SpecAssignment_4_2 + before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); + // InternalRos.g:3414:2: ( rule__Package_Impl__SpecAssignment_5_2 ) + // InternalRos.g:3414:3: rule__Package_Impl__SpecAssignment_5_2 { pushFollow(FOLLOW_2); - rule__Package_Impl__SpecAssignment_4_2(); + rule__Package_Impl__SpecAssignment_5_2(); state._fsp--; } - after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); + after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); } @@ -10489,26 +10740,26 @@ public final void rule__Package_Impl__Group_4__2__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__2__Impl" + // $ANTLR end "rule__Package_Impl__Group_5__2__Impl" - // $ANTLR start "rule__Package_Impl__Group_4__3" - // InternalRos.g:3341:1: rule__Package_Impl__Group_4__3 : rule__Package_Impl__Group_4__3__Impl rule__Package_Impl__Group_4__4 ; - public final void rule__Package_Impl__Group_4__3() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5__3" + // InternalRos.g:3422:1: rule__Package_Impl__Group_5__3 : rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 ; + public final void rule__Package_Impl__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3345:1: ( rule__Package_Impl__Group_4__3__Impl rule__Package_Impl__Group_4__4 ) - // InternalRos.g:3346:2: rule__Package_Impl__Group_4__3__Impl rule__Package_Impl__Group_4__4 + // InternalRos.g:3426:1: ( rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 ) + // InternalRos.g:3427:2: rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 { pushFollow(FOLLOW_13); - rule__Package_Impl__Group_4__3__Impl(); + rule__Package_Impl__Group_5__3__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__Package_Impl__Group_4__4(); + rule__Package_Impl__Group_5__4(); state._fsp--; @@ -10527,40 +10778,40 @@ public final void rule__Package_Impl__Group_4__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__3" + // $ANTLR end "rule__Package_Impl__Group_5__3" - // $ANTLR start "rule__Package_Impl__Group_4__3__Impl" - // InternalRos.g:3353:1: rule__Package_Impl__Group_4__3__Impl : ( ( rule__Package_Impl__Group_4_3__0 )* ) ; - public final void rule__Package_Impl__Group_4__3__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5__3__Impl" + // InternalRos.g:3434:1: rule__Package_Impl__Group_5__3__Impl : ( ( rule__Package_Impl__Group_5_3__0 )* ) ; + public final void rule__Package_Impl__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3357:1: ( ( ( rule__Package_Impl__Group_4_3__0 )* ) ) - // InternalRos.g:3358:1: ( ( rule__Package_Impl__Group_4_3__0 )* ) + // InternalRos.g:3438:1: ( ( ( rule__Package_Impl__Group_5_3__0 )* ) ) + // InternalRos.g:3439:1: ( ( rule__Package_Impl__Group_5_3__0 )* ) { - // InternalRos.g:3358:1: ( ( rule__Package_Impl__Group_4_3__0 )* ) - // InternalRos.g:3359:2: ( rule__Package_Impl__Group_4_3__0 )* + // InternalRos.g:3439:1: ( ( rule__Package_Impl__Group_5_3__0 )* ) + // InternalRos.g:3440:2: ( rule__Package_Impl__Group_5_3__0 )* { - before(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); - // InternalRos.g:3360:2: ( rule__Package_Impl__Group_4_3__0 )* - loop17: + before(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); + // InternalRos.g:3441:2: ( rule__Package_Impl__Group_5_3__0 )* + loop18: do { - int alt17=2; - int LA17_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA17_0==43) ) { - alt17=1; + if ( (LA18_0==43) ) { + alt18=1; } - switch (alt17) { + switch (alt18) { case 1 : - // InternalRos.g:3360:3: rule__Package_Impl__Group_4_3__0 + // InternalRos.g:3441:3: rule__Package_Impl__Group_5_3__0 { pushFollow(FOLLOW_7); - rule__Package_Impl__Group_4_3__0(); + rule__Package_Impl__Group_5_3__0(); state._fsp--; @@ -10569,11 +10820,11 @@ public final void rule__Package_Impl__Group_4__3__Impl() throws RecognitionExcep break; default : - break loop17; + break loop18; } } while (true); - after(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); + after(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); } @@ -10592,21 +10843,21 @@ public final void rule__Package_Impl__Group_4__3__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__3__Impl" + // $ANTLR end "rule__Package_Impl__Group_5__3__Impl" - // $ANTLR start "rule__Package_Impl__Group_4__4" - // InternalRos.g:3368:1: rule__Package_Impl__Group_4__4 : rule__Package_Impl__Group_4__4__Impl ; - public final void rule__Package_Impl__Group_4__4() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5__4" + // InternalRos.g:3449:1: rule__Package_Impl__Group_5__4 : rule__Package_Impl__Group_5__4__Impl ; + public final void rule__Package_Impl__Group_5__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3372:1: ( rule__Package_Impl__Group_4__4__Impl ) - // InternalRos.g:3373:2: rule__Package_Impl__Group_4__4__Impl + // InternalRos.g:3453:1: ( rule__Package_Impl__Group_5__4__Impl ) + // InternalRos.g:3454:2: rule__Package_Impl__Group_5__4__Impl { pushFollow(FOLLOW_2); - rule__Package_Impl__Group_4__4__Impl(); + rule__Package_Impl__Group_5__4__Impl(); state._fsp--; @@ -10625,25 +10876,25 @@ public final void rule__Package_Impl__Group_4__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__4" + // $ANTLR end "rule__Package_Impl__Group_5__4" - // $ANTLR start "rule__Package_Impl__Group_4__4__Impl" - // InternalRos.g:3379:1: rule__Package_Impl__Group_4__4__Impl : ( '}' ) ; - public final void rule__Package_Impl__Group_4__4__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5__4__Impl" + // InternalRos.g:3460:1: rule__Package_Impl__Group_5__4__Impl : ( '}' ) ; + public final void rule__Package_Impl__Group_5__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3383:1: ( ( '}' ) ) - // InternalRos.g:3384:1: ( '}' ) + // InternalRos.g:3464:1: ( ( '}' ) ) + // InternalRos.g:3465:1: ( '}' ) { - // InternalRos.g:3384:1: ( '}' ) - // InternalRos.g:3385:2: '}' + // InternalRos.g:3465:1: ( '}' ) + // InternalRos.g:3466:2: '}' { - before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); + before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); match(input,42,FOLLOW_2); - after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); + after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } @@ -10662,26 +10913,26 @@ public final void rule__Package_Impl__Group_4__4__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Package_Impl__Group_4__4__Impl" + // $ANTLR end "rule__Package_Impl__Group_5__4__Impl" - // $ANTLR start "rule__Package_Impl__Group_4_3__0" - // InternalRos.g:3395:1: rule__Package_Impl__Group_4_3__0 : rule__Package_Impl__Group_4_3__0__Impl rule__Package_Impl__Group_4_3__1 ; - public final void rule__Package_Impl__Group_4_3__0() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5_3__0" + // InternalRos.g:3476:1: rule__Package_Impl__Group_5_3__0 : rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 ; + public final void rule__Package_Impl__Group_5_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3399:1: ( rule__Package_Impl__Group_4_3__0__Impl rule__Package_Impl__Group_4_3__1 ) - // InternalRos.g:3400:2: rule__Package_Impl__Group_4_3__0__Impl rule__Package_Impl__Group_4_3__1 + // InternalRos.g:3480:1: ( rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 ) + // InternalRos.g:3481:2: rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 { pushFollow(FOLLOW_12); - rule__Package_Impl__Group_4_3__0__Impl(); + rule__Package_Impl__Group_5_3__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__Package_Impl__Group_4_3__1(); + rule__Package_Impl__Group_5_3__1(); state._fsp--; @@ -10700,25 +10951,25 @@ public final void rule__Package_Impl__Group_4_3__0() throws RecognitionException } return ; } - // $ANTLR end "rule__Package_Impl__Group_4_3__0" + // $ANTLR end "rule__Package_Impl__Group_5_3__0" - // $ANTLR start "rule__Package_Impl__Group_4_3__0__Impl" - // InternalRos.g:3407:1: rule__Package_Impl__Group_4_3__0__Impl : ( ',' ) ; - public final void rule__Package_Impl__Group_4_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5_3__0__Impl" + // InternalRos.g:3488:1: rule__Package_Impl__Group_5_3__0__Impl : ( ',' ) ; + public final void rule__Package_Impl__Group_5_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3411:1: ( ( ',' ) ) - // InternalRos.g:3412:1: ( ',' ) + // InternalRos.g:3492:1: ( ( ',' ) ) + // InternalRos.g:3493:1: ( ',' ) { - // InternalRos.g:3412:1: ( ',' ) - // InternalRos.g:3413:2: ',' + // InternalRos.g:3493:1: ( ',' ) + // InternalRos.g:3494:2: ',' { - before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); + before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); match(input,43,FOLLOW_2); - after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); + after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); } @@ -10737,21 +10988,21 @@ public final void rule__Package_Impl__Group_4_3__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__Package_Impl__Group_4_3__0__Impl" + // $ANTLR end "rule__Package_Impl__Group_5_3__0__Impl" - // $ANTLR start "rule__Package_Impl__Group_4_3__1" - // InternalRos.g:3422:1: rule__Package_Impl__Group_4_3__1 : rule__Package_Impl__Group_4_3__1__Impl ; - public final void rule__Package_Impl__Group_4_3__1() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5_3__1" + // InternalRos.g:3503:1: rule__Package_Impl__Group_5_3__1 : rule__Package_Impl__Group_5_3__1__Impl ; + public final void rule__Package_Impl__Group_5_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3426:1: ( rule__Package_Impl__Group_4_3__1__Impl ) - // InternalRos.g:3427:2: rule__Package_Impl__Group_4_3__1__Impl + // InternalRos.g:3507:1: ( rule__Package_Impl__Group_5_3__1__Impl ) + // InternalRos.g:3508:2: rule__Package_Impl__Group_5_3__1__Impl { pushFollow(FOLLOW_2); - rule__Package_Impl__Group_4_3__1__Impl(); + rule__Package_Impl__Group_5_3__1__Impl(); state._fsp--; @@ -10770,35 +11021,35 @@ public final void rule__Package_Impl__Group_4_3__1() throws RecognitionException } return ; } - // $ANTLR end "rule__Package_Impl__Group_4_3__1" + // $ANTLR end "rule__Package_Impl__Group_5_3__1" - // $ANTLR start "rule__Package_Impl__Group_4_3__1__Impl" - // InternalRos.g:3433:1: rule__Package_Impl__Group_4_3__1__Impl : ( ( rule__Package_Impl__SpecAssignment_4_3_1 ) ) ; - public final void rule__Package_Impl__Group_4_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_5_3__1__Impl" + // InternalRos.g:3514:1: rule__Package_Impl__Group_5_3__1__Impl : ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) ; + public final void rule__Package_Impl__Group_5_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3437:1: ( ( ( rule__Package_Impl__SpecAssignment_4_3_1 ) ) ) - // InternalRos.g:3438:1: ( ( rule__Package_Impl__SpecAssignment_4_3_1 ) ) + // InternalRos.g:3518:1: ( ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) ) + // InternalRos.g:3519:1: ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) { - // InternalRos.g:3438:1: ( ( rule__Package_Impl__SpecAssignment_4_3_1 ) ) - // InternalRos.g:3439:2: ( rule__Package_Impl__SpecAssignment_4_3_1 ) + // InternalRos.g:3519:1: ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) + // InternalRos.g:3520:2: ( rule__Package_Impl__SpecAssignment_5_3_1 ) { - before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); - // InternalRos.g:3440:2: ( rule__Package_Impl__SpecAssignment_4_3_1 ) - // InternalRos.g:3440:3: rule__Package_Impl__SpecAssignment_4_3_1 + before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); + // InternalRos.g:3521:2: ( rule__Package_Impl__SpecAssignment_5_3_1 ) + // InternalRos.g:3521:3: rule__Package_Impl__SpecAssignment_5_3_1 { pushFollow(FOLLOW_2); - rule__Package_Impl__SpecAssignment_4_3_1(); + rule__Package_Impl__SpecAssignment_5_3_1(); state._fsp--; } - after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); + after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); } @@ -10817,26 +11068,26 @@ public final void rule__Package_Impl__Group_4_3__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__Package_Impl__Group_4_3__1__Impl" + // $ANTLR end "rule__Package_Impl__Group_5_3__1__Impl" - // $ANTLR start "rule__Package_Impl__Group_5__0" - // InternalRos.g:3449:1: rule__Package_Impl__Group_5__0 : rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ; - public final void rule__Package_Impl__Group_5__0() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6__0" + // InternalRos.g:3530:1: rule__Package_Impl__Group_6__0 : rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 ; + public final void rule__Package_Impl__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3453:1: ( rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ) - // InternalRos.g:3454:2: rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 + // InternalRos.g:3534:1: ( rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 ) + // InternalRos.g:3535:2: rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 { pushFollow(FOLLOW_6); - rule__Package_Impl__Group_5__0__Impl(); + rule__Package_Impl__Group_6__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__Package_Impl__Group_5__1(); + rule__Package_Impl__Group_6__1(); state._fsp--; @@ -10855,35 +11106,35 @@ public final void rule__Package_Impl__Group_5__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__Package_Impl__Group_5__0" + // $ANTLR end "rule__Package_Impl__Group_6__0" - // $ANTLR start "rule__Package_Impl__Group_5__0__Impl" - // InternalRos.g:3461:1: rule__Package_Impl__Group_5__0__Impl : ( ( rule__Package_Impl__ArtifactAssignment_5_0 ) ) ; - public final void rule__Package_Impl__Group_5__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6__0__Impl" + // InternalRos.g:3542:1: rule__Package_Impl__Group_6__0__Impl : ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) ; + public final void rule__Package_Impl__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3465:1: ( ( ( rule__Package_Impl__ArtifactAssignment_5_0 ) ) ) - // InternalRos.g:3466:1: ( ( rule__Package_Impl__ArtifactAssignment_5_0 ) ) + // InternalRos.g:3546:1: ( ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) ) + // InternalRos.g:3547:1: ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) { - // InternalRos.g:3466:1: ( ( rule__Package_Impl__ArtifactAssignment_5_0 ) ) - // InternalRos.g:3467:2: ( rule__Package_Impl__ArtifactAssignment_5_0 ) + // InternalRos.g:3547:1: ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) + // InternalRos.g:3548:2: ( rule__Package_Impl__ArtifactAssignment_6_0 ) { - before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); - // InternalRos.g:3468:2: ( rule__Package_Impl__ArtifactAssignment_5_0 ) - // InternalRos.g:3468:3: rule__Package_Impl__ArtifactAssignment_5_0 + before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); + // InternalRos.g:3549:2: ( rule__Package_Impl__ArtifactAssignment_6_0 ) + // InternalRos.g:3549:3: rule__Package_Impl__ArtifactAssignment_6_0 { pushFollow(FOLLOW_2); - rule__Package_Impl__ArtifactAssignment_5_0(); + rule__Package_Impl__ArtifactAssignment_6_0(); state._fsp--; } - after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); + after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); } @@ -10902,21 +11153,21 @@ public final void rule__Package_Impl__Group_5__0__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Package_Impl__Group_5__0__Impl" + // $ANTLR end "rule__Package_Impl__Group_6__0__Impl" - // $ANTLR start "rule__Package_Impl__Group_5__1" - // InternalRos.g:3476:1: rule__Package_Impl__Group_5__1 : rule__Package_Impl__Group_5__1__Impl ; - public final void rule__Package_Impl__Group_5__1() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6__1" + // InternalRos.g:3557:1: rule__Package_Impl__Group_6__1 : rule__Package_Impl__Group_6__1__Impl ; + public final void rule__Package_Impl__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3480:1: ( rule__Package_Impl__Group_5__1__Impl ) - // InternalRos.g:3481:2: rule__Package_Impl__Group_5__1__Impl + // InternalRos.g:3561:1: ( rule__Package_Impl__Group_6__1__Impl ) + // InternalRos.g:3562:2: rule__Package_Impl__Group_6__1__Impl { pushFollow(FOLLOW_2); - rule__Package_Impl__Group_5__1__Impl(); + rule__Package_Impl__Group_6__1__Impl(); state._fsp--; @@ -10935,40 +11186,40 @@ public final void rule__Package_Impl__Group_5__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__Package_Impl__Group_5__1" + // $ANTLR end "rule__Package_Impl__Group_6__1" - // $ANTLR start "rule__Package_Impl__Group_5__1__Impl" - // InternalRos.g:3487:1: rule__Package_Impl__Group_5__1__Impl : ( ( rule__Package_Impl__Group_5_1__0 )* ) ; - public final void rule__Package_Impl__Group_5__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6__1__Impl" + // InternalRos.g:3568:1: rule__Package_Impl__Group_6__1__Impl : ( ( rule__Package_Impl__Group_6_1__0 )* ) ; + public final void rule__Package_Impl__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3491:1: ( ( ( rule__Package_Impl__Group_5_1__0 )* ) ) - // InternalRos.g:3492:1: ( ( rule__Package_Impl__Group_5_1__0 )* ) + // InternalRos.g:3572:1: ( ( ( rule__Package_Impl__Group_6_1__0 )* ) ) + // InternalRos.g:3573:1: ( ( rule__Package_Impl__Group_6_1__0 )* ) { - // InternalRos.g:3492:1: ( ( rule__Package_Impl__Group_5_1__0 )* ) - // InternalRos.g:3493:2: ( rule__Package_Impl__Group_5_1__0 )* + // InternalRos.g:3573:1: ( ( rule__Package_Impl__Group_6_1__0 )* ) + // InternalRos.g:3574:2: ( rule__Package_Impl__Group_6_1__0 )* { - before(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); - // InternalRos.g:3494:2: ( rule__Package_Impl__Group_5_1__0 )* - loop18: + before(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); + // InternalRos.g:3575:2: ( rule__Package_Impl__Group_6_1__0 )* + loop19: do { - int alt18=2; - int LA18_0 = input.LA(1); + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA18_0==43) ) { - alt18=1; + if ( (LA19_0==43) ) { + alt19=1; } - switch (alt18) { + switch (alt19) { case 1 : - // InternalRos.g:3494:3: rule__Package_Impl__Group_5_1__0 + // InternalRos.g:3575:3: rule__Package_Impl__Group_6_1__0 { pushFollow(FOLLOW_7); - rule__Package_Impl__Group_5_1__0(); + rule__Package_Impl__Group_6_1__0(); state._fsp--; @@ -10977,11 +11228,11 @@ public final void rule__Package_Impl__Group_5__1__Impl() throws RecognitionExcep break; default : - break loop18; + break loop19; } } while (true); - after(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); + after(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); } @@ -11000,26 +11251,26 @@ public final void rule__Package_Impl__Group_5__1__Impl() throws RecognitionExcep } return ; } - // $ANTLR end "rule__Package_Impl__Group_5__1__Impl" + // $ANTLR end "rule__Package_Impl__Group_6__1__Impl" - // $ANTLR start "rule__Package_Impl__Group_5_1__0" - // InternalRos.g:3503:1: rule__Package_Impl__Group_5_1__0 : rule__Package_Impl__Group_5_1__0__Impl rule__Package_Impl__Group_5_1__1 ; - public final void rule__Package_Impl__Group_5_1__0() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6_1__0" + // InternalRos.g:3584:1: rule__Package_Impl__Group_6_1__0 : rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 ; + public final void rule__Package_Impl__Group_6_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3507:1: ( rule__Package_Impl__Group_5_1__0__Impl rule__Package_Impl__Group_5_1__1 ) - // InternalRos.g:3508:2: rule__Package_Impl__Group_5_1__0__Impl rule__Package_Impl__Group_5_1__1 + // InternalRos.g:3588:1: ( rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 ) + // InternalRos.g:3589:2: rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 { pushFollow(FOLLOW_14); - rule__Package_Impl__Group_5_1__0__Impl(); + rule__Package_Impl__Group_6_1__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__Package_Impl__Group_5_1__1(); + rule__Package_Impl__Group_6_1__1(); state._fsp--; @@ -11038,25 +11289,25 @@ public final void rule__Package_Impl__Group_5_1__0() throws RecognitionException } return ; } - // $ANTLR end "rule__Package_Impl__Group_5_1__0" + // $ANTLR end "rule__Package_Impl__Group_6_1__0" - // $ANTLR start "rule__Package_Impl__Group_5_1__0__Impl" - // InternalRos.g:3515:1: rule__Package_Impl__Group_5_1__0__Impl : ( ',' ) ; - public final void rule__Package_Impl__Group_5_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6_1__0__Impl" + // InternalRos.g:3596:1: rule__Package_Impl__Group_6_1__0__Impl : ( ',' ) ; + public final void rule__Package_Impl__Group_6_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3519:1: ( ( ',' ) ) - // InternalRos.g:3520:1: ( ',' ) + // InternalRos.g:3600:1: ( ( ',' ) ) + // InternalRos.g:3601:1: ( ',' ) { - // InternalRos.g:3520:1: ( ',' ) - // InternalRos.g:3521:2: ',' + // InternalRos.g:3601:1: ( ',' ) + // InternalRos.g:3602:2: ',' { - before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); + before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); match(input,43,FOLLOW_2); - after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); + after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); } @@ -11075,21 +11326,21 @@ public final void rule__Package_Impl__Group_5_1__0__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__Package_Impl__Group_5_1__0__Impl" + // $ANTLR end "rule__Package_Impl__Group_6_1__0__Impl" - // $ANTLR start "rule__Package_Impl__Group_5_1__1" - // InternalRos.g:3530:1: rule__Package_Impl__Group_5_1__1 : rule__Package_Impl__Group_5_1__1__Impl ; - public final void rule__Package_Impl__Group_5_1__1() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6_1__1" + // InternalRos.g:3611:1: rule__Package_Impl__Group_6_1__1 : rule__Package_Impl__Group_6_1__1__Impl ; + public final void rule__Package_Impl__Group_6_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3534:1: ( rule__Package_Impl__Group_5_1__1__Impl ) - // InternalRos.g:3535:2: rule__Package_Impl__Group_5_1__1__Impl + // InternalRos.g:3615:1: ( rule__Package_Impl__Group_6_1__1__Impl ) + // InternalRos.g:3616:2: rule__Package_Impl__Group_6_1__1__Impl { pushFollow(FOLLOW_2); - rule__Package_Impl__Group_5_1__1__Impl(); + rule__Package_Impl__Group_6_1__1__Impl(); state._fsp--; @@ -11108,35 +11359,35 @@ public final void rule__Package_Impl__Group_5_1__1() throws RecognitionException } return ; } - // $ANTLR end "rule__Package_Impl__Group_5_1__1" + // $ANTLR end "rule__Package_Impl__Group_6_1__1" - // $ANTLR start "rule__Package_Impl__Group_5_1__1__Impl" - // InternalRos.g:3541:1: rule__Package_Impl__Group_5_1__1__Impl : ( ( rule__Package_Impl__ArtifactAssignment_5_1_1 ) ) ; - public final void rule__Package_Impl__Group_5_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__Group_6_1__1__Impl" + // InternalRos.g:3622:1: rule__Package_Impl__Group_6_1__1__Impl : ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) ; + public final void rule__Package_Impl__Group_6_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3545:1: ( ( ( rule__Package_Impl__ArtifactAssignment_5_1_1 ) ) ) - // InternalRos.g:3546:1: ( ( rule__Package_Impl__ArtifactAssignment_5_1_1 ) ) + // InternalRos.g:3626:1: ( ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) ) + // InternalRos.g:3627:1: ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) { - // InternalRos.g:3546:1: ( ( rule__Package_Impl__ArtifactAssignment_5_1_1 ) ) - // InternalRos.g:3547:2: ( rule__Package_Impl__ArtifactAssignment_5_1_1 ) + // InternalRos.g:3627:1: ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) + // InternalRos.g:3628:2: ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) { - before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); - // InternalRos.g:3548:2: ( rule__Package_Impl__ArtifactAssignment_5_1_1 ) - // InternalRos.g:3548:3: rule__Package_Impl__ArtifactAssignment_5_1_1 + before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); + // InternalRos.g:3629:2: ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) + // InternalRos.g:3629:3: rule__Package_Impl__ArtifactAssignment_6_1_1 { pushFollow(FOLLOW_2); - rule__Package_Impl__ArtifactAssignment_5_1_1(); + rule__Package_Impl__ArtifactAssignment_6_1_1(); state._fsp--; } - after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); + after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); } @@ -11155,18 +11406,18 @@ public final void rule__Package_Impl__Group_5_1__1__Impl() throws RecognitionExc } return ; } - // $ANTLR end "rule__Package_Impl__Group_5_1__1__Impl" + // $ANTLR end "rule__Package_Impl__Group_6_1__1__Impl" // $ANTLR start "rule__Artifact__Group__0" - // InternalRos.g:3557:1: rule__Artifact__Group__0 : rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ; + // InternalRos.g:3638:1: rule__Artifact__Group__0 : rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ; public final void rule__Artifact__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3561:1: ( rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ) - // InternalRos.g:3562:2: rule__Artifact__Group__0__Impl rule__Artifact__Group__1 + // InternalRos.g:3642:1: ( rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ) + // InternalRos.g:3643:2: rule__Artifact__Group__0__Impl rule__Artifact__Group__1 { pushFollow(FOLLOW_14); rule__Artifact__Group__0__Impl(); @@ -11197,21 +11448,21 @@ public final void rule__Artifact__Group__0() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__0__Impl" - // InternalRos.g:3569:1: rule__Artifact__Group__0__Impl : ( () ) ; + // InternalRos.g:3650:1: rule__Artifact__Group__0__Impl : ( () ) ; public final void rule__Artifact__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3573:1: ( ( () ) ) - // InternalRos.g:3574:1: ( () ) + // InternalRos.g:3654:1: ( ( () ) ) + // InternalRos.g:3655:1: ( () ) { - // InternalRos.g:3574:1: ( () ) - // InternalRos.g:3575:2: () + // InternalRos.g:3655:1: ( () ) + // InternalRos.g:3656:2: () { before(grammarAccess.getArtifactAccess().getArtifactAction_0()); - // InternalRos.g:3576:2: () - // InternalRos.g:3576:3: + // InternalRos.g:3657:2: () + // InternalRos.g:3657:3: { } @@ -11234,14 +11485,14 @@ public final void rule__Artifact__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__1" - // InternalRos.g:3584:1: rule__Artifact__Group__1 : rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ; + // InternalRos.g:3665:1: rule__Artifact__Group__1 : rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ; public final void rule__Artifact__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3588:1: ( rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ) - // InternalRos.g:3589:2: rule__Artifact__Group__1__Impl rule__Artifact__Group__2 + // InternalRos.g:3669:1: ( rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ) + // InternalRos.g:3670:2: rule__Artifact__Group__1__Impl rule__Artifact__Group__2 { pushFollow(FOLLOW_15); rule__Artifact__Group__1__Impl(); @@ -11272,20 +11523,20 @@ public final void rule__Artifact__Group__1() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__1__Impl" - // InternalRos.g:3596:1: rule__Artifact__Group__1__Impl : ( 'Artifact' ) ; + // InternalRos.g:3677:1: rule__Artifact__Group__1__Impl : ( 'Artifact' ) ; public final void rule__Artifact__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3600:1: ( ( 'Artifact' ) ) - // InternalRos.g:3601:1: ( 'Artifact' ) + // InternalRos.g:3681:1: ( ( 'Artifact' ) ) + // InternalRos.g:3682:1: ( 'Artifact' ) { - // InternalRos.g:3601:1: ( 'Artifact' ) - // InternalRos.g:3602:2: 'Artifact' + // InternalRos.g:3682:1: ( 'Artifact' ) + // InternalRos.g:3683:2: 'Artifact' { before(grammarAccess.getArtifactAccess().getArtifactKeyword_1()); - match(input,46,FOLLOW_2); + match(input,47,FOLLOW_2); after(grammarAccess.getArtifactAccess().getArtifactKeyword_1()); } @@ -11309,14 +11560,14 @@ public final void rule__Artifact__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__2" - // InternalRos.g:3611:1: rule__Artifact__Group__2 : rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ; + // InternalRos.g:3692:1: rule__Artifact__Group__2 : rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ; public final void rule__Artifact__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3615:1: ( rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ) - // InternalRos.g:3616:2: rule__Artifact__Group__2__Impl rule__Artifact__Group__3 + // InternalRos.g:3696:1: ( rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ) + // InternalRos.g:3697:2: rule__Artifact__Group__2__Impl rule__Artifact__Group__3 { pushFollow(FOLLOW_4); rule__Artifact__Group__2__Impl(); @@ -11347,21 +11598,21 @@ public final void rule__Artifact__Group__2() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__2__Impl" - // InternalRos.g:3623:1: rule__Artifact__Group__2__Impl : ( ( rule__Artifact__NameAssignment_2 ) ) ; + // InternalRos.g:3704:1: rule__Artifact__Group__2__Impl : ( ( rule__Artifact__NameAssignment_2 ) ) ; public final void rule__Artifact__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3627:1: ( ( ( rule__Artifact__NameAssignment_2 ) ) ) - // InternalRos.g:3628:1: ( ( rule__Artifact__NameAssignment_2 ) ) + // InternalRos.g:3708:1: ( ( ( rule__Artifact__NameAssignment_2 ) ) ) + // InternalRos.g:3709:1: ( ( rule__Artifact__NameAssignment_2 ) ) { - // InternalRos.g:3628:1: ( ( rule__Artifact__NameAssignment_2 ) ) - // InternalRos.g:3629:2: ( rule__Artifact__NameAssignment_2 ) + // InternalRos.g:3709:1: ( ( rule__Artifact__NameAssignment_2 ) ) + // InternalRos.g:3710:2: ( rule__Artifact__NameAssignment_2 ) { before(grammarAccess.getArtifactAccess().getNameAssignment_2()); - // InternalRos.g:3630:2: ( rule__Artifact__NameAssignment_2 ) - // InternalRos.g:3630:3: rule__Artifact__NameAssignment_2 + // InternalRos.g:3711:2: ( rule__Artifact__NameAssignment_2 ) + // InternalRos.g:3711:3: rule__Artifact__NameAssignment_2 { pushFollow(FOLLOW_2); rule__Artifact__NameAssignment_2(); @@ -11394,14 +11645,14 @@ public final void rule__Artifact__Group__2__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__3" - // InternalRos.g:3638:1: rule__Artifact__Group__3 : rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ; + // InternalRos.g:3719:1: rule__Artifact__Group__3 : rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ; public final void rule__Artifact__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3642:1: ( rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ) - // InternalRos.g:3643:2: rule__Artifact__Group__3__Impl rule__Artifact__Group__4 + // InternalRos.g:3723:1: ( rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ) + // InternalRos.g:3724:2: rule__Artifact__Group__3__Impl rule__Artifact__Group__4 { pushFollow(FOLLOW_16); rule__Artifact__Group__3__Impl(); @@ -11432,17 +11683,17 @@ public final void rule__Artifact__Group__3() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__3__Impl" - // InternalRos.g:3650:1: rule__Artifact__Group__3__Impl : ( '{' ) ; + // InternalRos.g:3731:1: rule__Artifact__Group__3__Impl : ( '{' ) ; public final void rule__Artifact__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3654:1: ( ( '{' ) ) - // InternalRos.g:3655:1: ( '{' ) + // InternalRos.g:3735:1: ( ( '{' ) ) + // InternalRos.g:3736:1: ( '{' ) { - // InternalRos.g:3655:1: ( '{' ) - // InternalRos.g:3656:2: '{' + // InternalRos.g:3736:1: ( '{' ) + // InternalRos.g:3737:2: '{' { before(grammarAccess.getArtifactAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -11469,14 +11720,14 @@ public final void rule__Artifact__Group__3__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__4" - // InternalRos.g:3665:1: rule__Artifact__Group__4 : rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ; + // InternalRos.g:3746:1: rule__Artifact__Group__4 : rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ; public final void rule__Artifact__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3669:1: ( rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ) - // InternalRos.g:3670:2: rule__Artifact__Group__4__Impl rule__Artifact__Group__5 + // InternalRos.g:3750:1: ( rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ) + // InternalRos.g:3751:2: rule__Artifact__Group__4__Impl rule__Artifact__Group__5 { pushFollow(FOLLOW_16); rule__Artifact__Group__4__Impl(); @@ -11507,29 +11758,29 @@ public final void rule__Artifact__Group__4() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__4__Impl" - // InternalRos.g:3677:1: rule__Artifact__Group__4__Impl : ( ( rule__Artifact__NodeAssignment_4 )? ) ; + // InternalRos.g:3758:1: rule__Artifact__Group__4__Impl : ( ( rule__Artifact__NodeAssignment_4 )? ) ; public final void rule__Artifact__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3681:1: ( ( ( rule__Artifact__NodeAssignment_4 )? ) ) - // InternalRos.g:3682:1: ( ( rule__Artifact__NodeAssignment_4 )? ) + // InternalRos.g:3762:1: ( ( ( rule__Artifact__NodeAssignment_4 )? ) ) + // InternalRos.g:3763:1: ( ( rule__Artifact__NodeAssignment_4 )? ) { - // InternalRos.g:3682:1: ( ( rule__Artifact__NodeAssignment_4 )? ) - // InternalRos.g:3683:2: ( rule__Artifact__NodeAssignment_4 )? + // InternalRos.g:3763:1: ( ( rule__Artifact__NodeAssignment_4 )? ) + // InternalRos.g:3764:2: ( rule__Artifact__NodeAssignment_4 )? { before(grammarAccess.getArtifactAccess().getNodeAssignment_4()); - // InternalRos.g:3684:2: ( rule__Artifact__NodeAssignment_4 )? - int alt19=2; - int LA19_0 = input.LA(1); + // InternalRos.g:3765:2: ( rule__Artifact__NodeAssignment_4 )? + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA19_0==54) ) { - alt19=1; + if ( (LA20_0==55) ) { + alt20=1; } - switch (alt19) { + switch (alt20) { case 1 : - // InternalRos.g:3684:3: rule__Artifact__NodeAssignment_4 + // InternalRos.g:3765:3: rule__Artifact__NodeAssignment_4 { pushFollow(FOLLOW_2); rule__Artifact__NodeAssignment_4(); @@ -11565,14 +11816,14 @@ public final void rule__Artifact__Group__4__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__5" - // InternalRos.g:3692:1: rule__Artifact__Group__5 : rule__Artifact__Group__5__Impl ; + // InternalRos.g:3773:1: rule__Artifact__Group__5 : rule__Artifact__Group__5__Impl ; public final void rule__Artifact__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3696:1: ( rule__Artifact__Group__5__Impl ) - // InternalRos.g:3697:2: rule__Artifact__Group__5__Impl + // InternalRos.g:3777:1: ( rule__Artifact__Group__5__Impl ) + // InternalRos.g:3778:2: rule__Artifact__Group__5__Impl { pushFollow(FOLLOW_2); rule__Artifact__Group__5__Impl(); @@ -11598,17 +11849,17 @@ public final void rule__Artifact__Group__5() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__5__Impl" - // InternalRos.g:3703:1: rule__Artifact__Group__5__Impl : ( '}' ) ; + // InternalRos.g:3784:1: rule__Artifact__Group__5__Impl : ( '}' ) ; public final void rule__Artifact__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3707:1: ( ( '}' ) ) - // InternalRos.g:3708:1: ( '}' ) + // InternalRos.g:3788:1: ( ( '}' ) ) + // InternalRos.g:3789:1: ( '}' ) { - // InternalRos.g:3708:1: ( '}' ) - // InternalRos.g:3709:2: '}' + // InternalRos.g:3789:1: ( '}' ) + // InternalRos.g:3790:2: '}' { before(grammarAccess.getArtifactAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -11635,14 +11886,14 @@ public final void rule__Artifact__Group__5__Impl() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__0" - // InternalRos.g:3719:1: rule__CatkinPackage__Group__0 : rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ; + // InternalRos.g:3800:1: rule__CatkinPackage__Group__0 : rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ; public final void rule__CatkinPackage__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3723:1: ( rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ) - // InternalRos.g:3724:2: rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 + // InternalRos.g:3804:1: ( rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ) + // InternalRos.g:3805:2: rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 { pushFollow(FOLLOW_8); rule__CatkinPackage__Group__0__Impl(); @@ -11673,21 +11924,21 @@ public final void rule__CatkinPackage__Group__0() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__0__Impl" - // InternalRos.g:3731:1: rule__CatkinPackage__Group__0__Impl : ( () ) ; + // InternalRos.g:3812:1: rule__CatkinPackage__Group__0__Impl : ( () ) ; public final void rule__CatkinPackage__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3735:1: ( ( () ) ) - // InternalRos.g:3736:1: ( () ) + // InternalRos.g:3816:1: ( ( () ) ) + // InternalRos.g:3817:1: ( () ) { - // InternalRos.g:3736:1: ( () ) - // InternalRos.g:3737:2: () + // InternalRos.g:3817:1: ( () ) + // InternalRos.g:3818:2: () { before(grammarAccess.getCatkinPackageAccess().getCatkinPackageAction_0()); - // InternalRos.g:3738:2: () - // InternalRos.g:3738:3: + // InternalRos.g:3819:2: () + // InternalRos.g:3819:3: { } @@ -11710,14 +11961,14 @@ public final void rule__CatkinPackage__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__1" - // InternalRos.g:3746:1: rule__CatkinPackage__Group__1 : rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ; + // InternalRos.g:3827:1: rule__CatkinPackage__Group__1 : rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ; public final void rule__CatkinPackage__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3750:1: ( rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ) - // InternalRos.g:3751:2: rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 + // InternalRos.g:3831:1: ( rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ) + // InternalRos.g:3832:2: rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 { pushFollow(FOLLOW_15); rule__CatkinPackage__Group__1__Impl(); @@ -11748,20 +11999,20 @@ public final void rule__CatkinPackage__Group__1() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__1__Impl" - // InternalRos.g:3758:1: rule__CatkinPackage__Group__1__Impl : ( 'CatkinPackage' ) ; + // InternalRos.g:3839:1: rule__CatkinPackage__Group__1__Impl : ( 'CatkinPackage' ) ; public final void rule__CatkinPackage__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3762:1: ( ( 'CatkinPackage' ) ) - // InternalRos.g:3763:1: ( 'CatkinPackage' ) + // InternalRos.g:3843:1: ( ( 'CatkinPackage' ) ) + // InternalRos.g:3844:1: ( 'CatkinPackage' ) { - // InternalRos.g:3763:1: ( 'CatkinPackage' ) - // InternalRos.g:3764:2: 'CatkinPackage' + // InternalRos.g:3844:1: ( 'CatkinPackage' ) + // InternalRos.g:3845:2: 'CatkinPackage' { before(grammarAccess.getCatkinPackageAccess().getCatkinPackageKeyword_1()); - match(input,47,FOLLOW_2); + match(input,48,FOLLOW_2); after(grammarAccess.getCatkinPackageAccess().getCatkinPackageKeyword_1()); } @@ -11785,14 +12036,14 @@ public final void rule__CatkinPackage__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__2" - // InternalRos.g:3773:1: rule__CatkinPackage__Group__2 : rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ; + // InternalRos.g:3854:1: rule__CatkinPackage__Group__2 : rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ; public final void rule__CatkinPackage__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3777:1: ( rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ) - // InternalRos.g:3778:2: rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 + // InternalRos.g:3858:1: ( rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ) + // InternalRos.g:3859:2: rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 { pushFollow(FOLLOW_4); rule__CatkinPackage__Group__2__Impl(); @@ -11823,21 +12074,21 @@ public final void rule__CatkinPackage__Group__2() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__2__Impl" - // InternalRos.g:3785:1: rule__CatkinPackage__Group__2__Impl : ( ( rule__CatkinPackage__NameAssignment_2 ) ) ; + // InternalRos.g:3866:1: rule__CatkinPackage__Group__2__Impl : ( ( rule__CatkinPackage__NameAssignment_2 ) ) ; public final void rule__CatkinPackage__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3789:1: ( ( ( rule__CatkinPackage__NameAssignment_2 ) ) ) - // InternalRos.g:3790:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) + // InternalRos.g:3870:1: ( ( ( rule__CatkinPackage__NameAssignment_2 ) ) ) + // InternalRos.g:3871:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) { - // InternalRos.g:3790:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) - // InternalRos.g:3791:2: ( rule__CatkinPackage__NameAssignment_2 ) + // InternalRos.g:3871:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) + // InternalRos.g:3872:2: ( rule__CatkinPackage__NameAssignment_2 ) { before(grammarAccess.getCatkinPackageAccess().getNameAssignment_2()); - // InternalRos.g:3792:2: ( rule__CatkinPackage__NameAssignment_2 ) - // InternalRos.g:3792:3: rule__CatkinPackage__NameAssignment_2 + // InternalRos.g:3873:2: ( rule__CatkinPackage__NameAssignment_2 ) + // InternalRos.g:3873:3: rule__CatkinPackage__NameAssignment_2 { pushFollow(FOLLOW_2); rule__CatkinPackage__NameAssignment_2(); @@ -11870,14 +12121,14 @@ public final void rule__CatkinPackage__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__3" - // InternalRos.g:3800:1: rule__CatkinPackage__Group__3 : rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ; + // InternalRos.g:3881:1: rule__CatkinPackage__Group__3 : rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ; public final void rule__CatkinPackage__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3804:1: ( rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ) - // InternalRos.g:3805:2: rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 + // InternalRos.g:3885:1: ( rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ) + // InternalRos.g:3886:2: rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 { pushFollow(FOLLOW_17); rule__CatkinPackage__Group__3__Impl(); @@ -11908,17 +12159,17 @@ public final void rule__CatkinPackage__Group__3() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__3__Impl" - // InternalRos.g:3812:1: rule__CatkinPackage__Group__3__Impl : ( '{' ) ; + // InternalRos.g:3893:1: rule__CatkinPackage__Group__3__Impl : ( '{' ) ; public final void rule__CatkinPackage__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3816:1: ( ( '{' ) ) - // InternalRos.g:3817:1: ( '{' ) + // InternalRos.g:3897:1: ( ( '{' ) ) + // InternalRos.g:3898:1: ( '{' ) { - // InternalRos.g:3817:1: ( '{' ) - // InternalRos.g:3818:2: '{' + // InternalRos.g:3898:1: ( '{' ) + // InternalRos.g:3899:2: '{' { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -11945,14 +12196,14 @@ public final void rule__CatkinPackage__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__4" - // InternalRos.g:3827:1: rule__CatkinPackage__Group__4 : rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ; + // InternalRos.g:3908:1: rule__CatkinPackage__Group__4 : rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ; public final void rule__CatkinPackage__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3831:1: ( rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ) - // InternalRos.g:3832:2: rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 + // InternalRos.g:3912:1: ( rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ) + // InternalRos.g:3913:2: rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 { pushFollow(FOLLOW_17); rule__CatkinPackage__Group__4__Impl(); @@ -11983,29 +12234,29 @@ public final void rule__CatkinPackage__Group__4() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__4__Impl" - // InternalRos.g:3839:1: rule__CatkinPackage__Group__4__Impl : ( ( rule__CatkinPackage__Group_4__0 )? ) ; + // InternalRos.g:3920:1: rule__CatkinPackage__Group__4__Impl : ( ( rule__CatkinPackage__Group_4__0 )? ) ; public final void rule__CatkinPackage__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3843:1: ( ( ( rule__CatkinPackage__Group_4__0 )? ) ) - // InternalRos.g:3844:1: ( ( rule__CatkinPackage__Group_4__0 )? ) + // InternalRos.g:3924:1: ( ( ( rule__CatkinPackage__Group_4__0 )? ) ) + // InternalRos.g:3925:1: ( ( rule__CatkinPackage__Group_4__0 )? ) { - // InternalRos.g:3844:1: ( ( rule__CatkinPackage__Group_4__0 )? ) - // InternalRos.g:3845:2: ( rule__CatkinPackage__Group_4__0 )? + // InternalRos.g:3925:1: ( ( rule__CatkinPackage__Group_4__0 )? ) + // InternalRos.g:3926:2: ( rule__CatkinPackage__Group_4__0 )? { before(grammarAccess.getCatkinPackageAccess().getGroup_4()); - // InternalRos.g:3846:2: ( rule__CatkinPackage__Group_4__0 )? - int alt20=2; - int LA20_0 = input.LA(1); + // InternalRos.g:3927:2: ( rule__CatkinPackage__Group_4__0 )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA20_0==45) ) { - alt20=1; + if ( (LA21_0==45) ) { + alt21=1; } - switch (alt20) { + switch (alt21) { case 1 : - // InternalRos.g:3846:3: rule__CatkinPackage__Group_4__0 + // InternalRos.g:3927:3: rule__CatkinPackage__Group_4__0 { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_4__0(); @@ -12041,14 +12292,14 @@ public final void rule__CatkinPackage__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__5" - // InternalRos.g:3854:1: rule__CatkinPackage__Group__5 : rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ; + // InternalRos.g:3935:1: rule__CatkinPackage__Group__5 : rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ; public final void rule__CatkinPackage__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3858:1: ( rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ) - // InternalRos.g:3859:2: rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 + // InternalRos.g:3939:1: ( rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ) + // InternalRos.g:3940:2: rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 { pushFollow(FOLLOW_17); rule__CatkinPackage__Group__5__Impl(); @@ -12079,29 +12330,29 @@ public final void rule__CatkinPackage__Group__5() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__5__Impl" - // InternalRos.g:3866:1: rule__CatkinPackage__Group__5__Impl : ( ( rule__CatkinPackage__Group_5__0 )? ) ; + // InternalRos.g:3947:1: rule__CatkinPackage__Group__5__Impl : ( ( rule__CatkinPackage__Group_5__0 )? ) ; public final void rule__CatkinPackage__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3870:1: ( ( ( rule__CatkinPackage__Group_5__0 )? ) ) - // InternalRos.g:3871:1: ( ( rule__CatkinPackage__Group_5__0 )? ) + // InternalRos.g:3951:1: ( ( ( rule__CatkinPackage__Group_5__0 )? ) ) + // InternalRos.g:3952:1: ( ( rule__CatkinPackage__Group_5__0 )? ) { - // InternalRos.g:3871:1: ( ( rule__CatkinPackage__Group_5__0 )? ) - // InternalRos.g:3872:2: ( rule__CatkinPackage__Group_5__0 )? + // InternalRos.g:3952:1: ( ( rule__CatkinPackage__Group_5__0 )? ) + // InternalRos.g:3953:2: ( rule__CatkinPackage__Group_5__0 )? { before(grammarAccess.getCatkinPackageAccess().getGroup_5()); - // InternalRos.g:3873:2: ( rule__CatkinPackage__Group_5__0 )? - int alt21=2; - int LA21_0 = input.LA(1); + // InternalRos.g:3954:2: ( rule__CatkinPackage__Group_5__0 )? + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA21_0==46) ) { - alt21=1; + if ( (LA22_0==49) ) { + alt22=1; } - switch (alt21) { + switch (alt22) { case 1 : - // InternalRos.g:3873:3: rule__CatkinPackage__Group_5__0 + // InternalRos.g:3954:3: rule__CatkinPackage__Group_5__0 { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_5__0(); @@ -12137,14 +12388,14 @@ public final void rule__CatkinPackage__Group__5__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__6" - // InternalRos.g:3881:1: rule__CatkinPackage__Group__6 : rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ; + // InternalRos.g:3962:1: rule__CatkinPackage__Group__6 : rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ; public final void rule__CatkinPackage__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3885:1: ( rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ) - // InternalRos.g:3886:2: rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 + // InternalRos.g:3966:1: ( rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ) + // InternalRos.g:3967:2: rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 { pushFollow(FOLLOW_17); rule__CatkinPackage__Group__6__Impl(); @@ -12175,29 +12426,29 @@ public final void rule__CatkinPackage__Group__6() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__6__Impl" - // InternalRos.g:3893:1: rule__CatkinPackage__Group__6__Impl : ( ( rule__CatkinPackage__Group_6__0 )? ) ; + // InternalRos.g:3974:1: rule__CatkinPackage__Group__6__Impl : ( ( rule__CatkinPackage__Group_6__0 )? ) ; public final void rule__CatkinPackage__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3897:1: ( ( ( rule__CatkinPackage__Group_6__0 )? ) ) - // InternalRos.g:3898:1: ( ( rule__CatkinPackage__Group_6__0 )? ) + // InternalRos.g:3978:1: ( ( ( rule__CatkinPackage__Group_6__0 )? ) ) + // InternalRos.g:3979:1: ( ( rule__CatkinPackage__Group_6__0 )? ) { - // InternalRos.g:3898:1: ( ( rule__CatkinPackage__Group_6__0 )? ) - // InternalRos.g:3899:2: ( rule__CatkinPackage__Group_6__0 )? + // InternalRos.g:3979:1: ( ( rule__CatkinPackage__Group_6__0 )? ) + // InternalRos.g:3980:2: ( rule__CatkinPackage__Group_6__0 )? { before(grammarAccess.getCatkinPackageAccess().getGroup_6()); - // InternalRos.g:3900:2: ( rule__CatkinPackage__Group_6__0 )? - int alt22=2; - int LA22_0 = input.LA(1); + // InternalRos.g:3981:2: ( rule__CatkinPackage__Group_6__0 )? + int alt23=2; + int LA23_0 = input.LA(1); - if ( (LA22_0==48) ) { - alt22=1; + if ( (LA23_0==46) ) { + alt23=1; } - switch (alt22) { + switch (alt23) { case 1 : - // InternalRos.g:3900:3: rule__CatkinPackage__Group_6__0 + // InternalRos.g:3981:3: rule__CatkinPackage__Group_6__0 { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_6__0(); @@ -12233,20 +12484,25 @@ public final void rule__CatkinPackage__Group__6__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__7" - // InternalRos.g:3908:1: rule__CatkinPackage__Group__7 : rule__CatkinPackage__Group__7__Impl ; + // InternalRos.g:3989:1: rule__CatkinPackage__Group__7 : rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 ; public final void rule__CatkinPackage__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3912:1: ( rule__CatkinPackage__Group__7__Impl ) - // InternalRos.g:3913:2: rule__CatkinPackage__Group__7__Impl + // InternalRos.g:3993:1: ( rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 ) + // InternalRos.g:3994:2: rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 { - pushFollow(FOLLOW_2); + pushFollow(FOLLOW_17); rule__CatkinPackage__Group__7__Impl(); state._fsp--; + pushFollow(FOLLOW_2); + rule__CatkinPackage__Group__8(); + + state._fsp--; + } @@ -12266,21 +12522,42 @@ public final void rule__CatkinPackage__Group__7() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__7__Impl" - // InternalRos.g:3919:1: rule__CatkinPackage__Group__7__Impl : ( '}' ) ; + // InternalRos.g:4001:1: rule__CatkinPackage__Group__7__Impl : ( ( rule__CatkinPackage__Group_7__0 )? ) ; public final void rule__CatkinPackage__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3923:1: ( ( '}' ) ) - // InternalRos.g:3924:1: ( '}' ) + // InternalRos.g:4005:1: ( ( ( rule__CatkinPackage__Group_7__0 )? ) ) + // InternalRos.g:4006:1: ( ( rule__CatkinPackage__Group_7__0 )? ) { - // InternalRos.g:3924:1: ( '}' ) - // InternalRos.g:3925:2: '}' + // InternalRos.g:4006:1: ( ( rule__CatkinPackage__Group_7__0 )? ) + // InternalRos.g:4007:2: ( rule__CatkinPackage__Group_7__0 )? { - before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); - match(input,42,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); + before(grammarAccess.getCatkinPackageAccess().getGroup_7()); + // InternalRos.g:4008:2: ( rule__CatkinPackage__Group_7__0 )? + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==47) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // InternalRos.g:4008:3: rule__CatkinPackage__Group_7__0 + { + pushFollow(FOLLOW_2); + rule__CatkinPackage__Group_7__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getCatkinPackageAccess().getGroup_7()); } @@ -12302,17 +12579,87 @@ public final void rule__CatkinPackage__Group__7__Impl() throws RecognitionExcept // $ANTLR end "rule__CatkinPackage__Group__7__Impl" + // $ANTLR start "rule__CatkinPackage__Group__8" + // InternalRos.g:4016:1: rule__CatkinPackage__Group__8 : rule__CatkinPackage__Group__8__Impl ; + public final void rule__CatkinPackage__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:4020:1: ( rule__CatkinPackage__Group__8__Impl ) + // InternalRos.g:4021:2: rule__CatkinPackage__Group__8__Impl + { + pushFollow(FOLLOW_2); + rule__CatkinPackage__Group__8__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CatkinPackage__Group__8" + + + // $ANTLR start "rule__CatkinPackage__Group__8__Impl" + // InternalRos.g:4027:1: rule__CatkinPackage__Group__8__Impl : ( '}' ) ; + public final void rule__CatkinPackage__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:4031:1: ( ( '}' ) ) + // InternalRos.g:4032:1: ( '}' ) + { + // InternalRos.g:4032:1: ( '}' ) + // InternalRos.g:4033:2: '}' + { + before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); + match(input,42,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CatkinPackage__Group__8__Impl" + + // $ANTLR start "rule__CatkinPackage__Group_4__0" - // InternalRos.g:3935:1: rule__CatkinPackage__Group_4__0 : rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ; + // InternalRos.g:4043:1: rule__CatkinPackage__Group_4__0 : rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ; public final void rule__CatkinPackage__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3939:1: ( rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ) - // InternalRos.g:3940:2: rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 + // InternalRos.g:4047:1: ( rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ) + // InternalRos.g:4048:2: rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_10); rule__CatkinPackage__Group_4__0__Impl(); state._fsp--; @@ -12341,21 +12688,21 @@ public final void rule__CatkinPackage__Group_4__0() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_4__0__Impl" - // InternalRos.g:3947:1: rule__CatkinPackage__Group_4__0__Impl : ( 'Specs' ) ; + // InternalRos.g:4055:1: rule__CatkinPackage__Group_4__0__Impl : ( 'FromGitRepo' ) ; public final void rule__CatkinPackage__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3951:1: ( ( 'Specs' ) ) - // InternalRos.g:3952:1: ( 'Specs' ) + // InternalRos.g:4059:1: ( ( 'FromGitRepo' ) ) + // InternalRos.g:4060:1: ( 'FromGitRepo' ) { - // InternalRos.g:3952:1: ( 'Specs' ) - // InternalRos.g:3953:2: 'Specs' + // InternalRos.g:4060:1: ( 'FromGitRepo' ) + // InternalRos.g:4061:2: 'FromGitRepo' { - before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); + before(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); match(input,45,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); + after(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); } @@ -12378,22 +12725,17 @@ public final void rule__CatkinPackage__Group_4__0__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_4__1" - // InternalRos.g:3962:1: rule__CatkinPackage__Group_4__1 : rule__CatkinPackage__Group_4__1__Impl rule__CatkinPackage__Group_4__2 ; + // InternalRos.g:4070:1: rule__CatkinPackage__Group_4__1 : rule__CatkinPackage__Group_4__1__Impl ; public final void rule__CatkinPackage__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3966:1: ( rule__CatkinPackage__Group_4__1__Impl rule__CatkinPackage__Group_4__2 ) - // InternalRos.g:3967:2: rule__CatkinPackage__Group_4__1__Impl rule__CatkinPackage__Group_4__2 + // InternalRos.g:4074:1: ( rule__CatkinPackage__Group_4__1__Impl ) + // InternalRos.g:4075:2: rule__CatkinPackage__Group_4__1__Impl { - pushFollow(FOLLOW_12); - rule__CatkinPackage__Group_4__1__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_4__2(); + rule__CatkinPackage__Group_4__1__Impl(); state._fsp--; @@ -12416,21 +12758,31 @@ public final void rule__CatkinPackage__Group_4__1() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_4__1__Impl" - // InternalRos.g:3974:1: rule__CatkinPackage__Group_4__1__Impl : ( '{' ) ; + // InternalRos.g:4081:1: rule__CatkinPackage__Group_4__1__Impl : ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) ; public final void rule__CatkinPackage__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3978:1: ( ( '{' ) ) - // InternalRos.g:3979:1: ( '{' ) + // InternalRos.g:4085:1: ( ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) ) + // InternalRos.g:4086:1: ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) { - // InternalRos.g:3979:1: ( '{' ) - // InternalRos.g:3980:2: '{' + // InternalRos.g:4086:1: ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) + // InternalRos.g:4087:2: ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) { - before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); - match(input,41,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); + before(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); + // InternalRos.g:4088:2: ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) + // InternalRos.g:4088:3: rule__CatkinPackage__FromGitRepoAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__CatkinPackage__FromGitRepoAssignment_4_1(); + + state._fsp--; + + + } + + after(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); } @@ -12452,23 +12804,23 @@ public final void rule__CatkinPackage__Group_4__1__Impl() throws RecognitionExce // $ANTLR end "rule__CatkinPackage__Group_4__1__Impl" - // $ANTLR start "rule__CatkinPackage__Group_4__2" - // InternalRos.g:3989:1: rule__CatkinPackage__Group_4__2 : rule__CatkinPackage__Group_4__2__Impl rule__CatkinPackage__Group_4__3 ; - public final void rule__CatkinPackage__Group_4__2() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__0" + // InternalRos.g:4097:1: rule__CatkinPackage__Group_5__0 : rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ; + public final void rule__CatkinPackage__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3993:1: ( rule__CatkinPackage__Group_4__2__Impl rule__CatkinPackage__Group_4__3 ) - // InternalRos.g:3994:2: rule__CatkinPackage__Group_4__2__Impl rule__CatkinPackage__Group_4__3 + // InternalRos.g:4101:1: ( rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ) + // InternalRos.g:4102:2: rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 { - pushFollow(FOLLOW_13); - rule__CatkinPackage__Group_4__2__Impl(); + pushFollow(FOLLOW_4); + rule__CatkinPackage__Group_5__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_4__3(); + rule__CatkinPackage__Group_5__1(); state._fsp--; @@ -12487,35 +12839,100 @@ public final void rule__CatkinPackage__Group_4__2() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4__2" + // $ANTLR end "rule__CatkinPackage__Group_5__0" - // $ANTLR start "rule__CatkinPackage__Group_4__2__Impl" - // InternalRos.g:4001:1: rule__CatkinPackage__Group_4__2__Impl : ( ( rule__CatkinPackage__SpecAssignment_4_2 ) ) ; - public final void rule__CatkinPackage__Group_4__2__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__0__Impl" + // InternalRos.g:4109:1: rule__CatkinPackage__Group_5__0__Impl : ( 'Dependencies' ) ; + public final void rule__CatkinPackage__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4005:1: ( ( ( rule__CatkinPackage__SpecAssignment_4_2 ) ) ) - // InternalRos.g:4006:1: ( ( rule__CatkinPackage__SpecAssignment_4_2 ) ) + // InternalRos.g:4113:1: ( ( 'Dependencies' ) ) + // InternalRos.g:4114:1: ( 'Dependencies' ) { - // InternalRos.g:4006:1: ( ( rule__CatkinPackage__SpecAssignment_4_2 ) ) - // InternalRos.g:4007:2: ( rule__CatkinPackage__SpecAssignment_4_2 ) + // InternalRos.g:4114:1: ( 'Dependencies' ) + // InternalRos.g:4115:2: 'Dependencies' { - before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); - // InternalRos.g:4008:2: ( rule__CatkinPackage__SpecAssignment_4_2 ) - // InternalRos.g:4008:3: rule__CatkinPackage__SpecAssignment_4_2 + before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); + match(input,49,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CatkinPackage__Group_5__0__Impl" + + + // $ANTLR start "rule__CatkinPackage__Group_5__1" + // InternalRos.g:4124:1: rule__CatkinPackage__Group_5__1 : rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 ; + public final void rule__CatkinPackage__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:4128:1: ( rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 ) + // InternalRos.g:4129:2: rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 { + pushFollow(FOLLOW_18); + rule__CatkinPackage__Group_5__1__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__CatkinPackage__SpecAssignment_4_2(); + rule__CatkinPackage__Group_5__2(); state._fsp--; } - after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CatkinPackage__Group_5__1" + + + // $ANTLR start "rule__CatkinPackage__Group_5__1__Impl" + // InternalRos.g:4136:1: rule__CatkinPackage__Group_5__1__Impl : ( '{' ) ; + public final void rule__CatkinPackage__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:4140:1: ( ( '{' ) ) + // InternalRos.g:4141:1: ( '{' ) + { + // InternalRos.g:4141:1: ( '{' ) + // InternalRos.g:4142:2: '{' + { + before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); + match(input,41,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); } @@ -12534,26 +12951,26 @@ public final void rule__CatkinPackage__Group_4__2__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4__2__Impl" + // $ANTLR end "rule__CatkinPackage__Group_5__1__Impl" - // $ANTLR start "rule__CatkinPackage__Group_4__3" - // InternalRos.g:4016:1: rule__CatkinPackage__Group_4__3 : rule__CatkinPackage__Group_4__3__Impl rule__CatkinPackage__Group_4__4 ; - public final void rule__CatkinPackage__Group_4__3() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__2" + // InternalRos.g:4151:1: rule__CatkinPackage__Group_5__2 : rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 ; + public final void rule__CatkinPackage__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4020:1: ( rule__CatkinPackage__Group_4__3__Impl rule__CatkinPackage__Group_4__4 ) - // InternalRos.g:4021:2: rule__CatkinPackage__Group_4__3__Impl rule__CatkinPackage__Group_4__4 + // InternalRos.g:4155:1: ( rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 ) + // InternalRos.g:4156:2: rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 { pushFollow(FOLLOW_13); - rule__CatkinPackage__Group_4__3__Impl(); + rule__CatkinPackage__Group_5__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_4__4(); + rule__CatkinPackage__Group_5__3(); state._fsp--; @@ -12572,53 +12989,35 @@ public final void rule__CatkinPackage__Group_4__3() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4__3" + // $ANTLR end "rule__CatkinPackage__Group_5__2" - // $ANTLR start "rule__CatkinPackage__Group_4__3__Impl" - // InternalRos.g:4028:1: rule__CatkinPackage__Group_4__3__Impl : ( ( rule__CatkinPackage__Group_4_3__0 )* ) ; - public final void rule__CatkinPackage__Group_4__3__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__2__Impl" + // InternalRos.g:4163:1: rule__CatkinPackage__Group_5__2__Impl : ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) ; + public final void rule__CatkinPackage__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4032:1: ( ( ( rule__CatkinPackage__Group_4_3__0 )* ) ) - // InternalRos.g:4033:1: ( ( rule__CatkinPackage__Group_4_3__0 )* ) + // InternalRos.g:4167:1: ( ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) ) + // InternalRos.g:4168:1: ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) { - // InternalRos.g:4033:1: ( ( rule__CatkinPackage__Group_4_3__0 )* ) - // InternalRos.g:4034:2: ( rule__CatkinPackage__Group_4_3__0 )* + // InternalRos.g:4168:1: ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) + // InternalRos.g:4169:2: ( rule__CatkinPackage__DependencyAssignment_5_2 ) { - before(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); - // InternalRos.g:4035:2: ( rule__CatkinPackage__Group_4_3__0 )* - loop23: - do { - int alt23=2; - int LA23_0 = input.LA(1); - - if ( (LA23_0==43) ) { - alt23=1; - } - - - switch (alt23) { - case 1 : - // InternalRos.g:4035:3: rule__CatkinPackage__Group_4_3__0 - { - pushFollow(FOLLOW_7); - rule__CatkinPackage__Group_4_3__0(); - - state._fsp--; + before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); + // InternalRos.g:4170:2: ( rule__CatkinPackage__DependencyAssignment_5_2 ) + // InternalRos.g:4170:3: rule__CatkinPackage__DependencyAssignment_5_2 + { + pushFollow(FOLLOW_2); + rule__CatkinPackage__DependencyAssignment_5_2(); + state._fsp--; - } - break; - default : - break loop23; - } - } while (true); + } - after(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); + after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); } @@ -12637,21 +13036,26 @@ public final void rule__CatkinPackage__Group_4__3__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4__3__Impl" + // $ANTLR end "rule__CatkinPackage__Group_5__2__Impl" - // $ANTLR start "rule__CatkinPackage__Group_4__4" - // InternalRos.g:4043:1: rule__CatkinPackage__Group_4__4 : rule__CatkinPackage__Group_4__4__Impl ; - public final void rule__CatkinPackage__Group_4__4() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__3" + // InternalRos.g:4178:1: rule__CatkinPackage__Group_5__3 : rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 ; + public final void rule__CatkinPackage__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4047:1: ( rule__CatkinPackage__Group_4__4__Impl ) - // InternalRos.g:4048:2: rule__CatkinPackage__Group_4__4__Impl + // InternalRos.g:4182:1: ( rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 ) + // InternalRos.g:4183:2: rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 { + pushFollow(FOLLOW_13); + rule__CatkinPackage__Group_5__3__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_4__4__Impl(); + rule__CatkinPackage__Group_5__4(); state._fsp--; @@ -12670,25 +13074,53 @@ public final void rule__CatkinPackage__Group_4__4() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4__4" + // $ANTLR end "rule__CatkinPackage__Group_5__3" - // $ANTLR start "rule__CatkinPackage__Group_4__4__Impl" - // InternalRos.g:4054:1: rule__CatkinPackage__Group_4__4__Impl : ( '}' ) ; - public final void rule__CatkinPackage__Group_4__4__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__3__Impl" + // InternalRos.g:4190:1: rule__CatkinPackage__Group_5__3__Impl : ( ( rule__CatkinPackage__Group_5_3__0 )* ) ; + public final void rule__CatkinPackage__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4058:1: ( ( '}' ) ) - // InternalRos.g:4059:1: ( '}' ) + // InternalRos.g:4194:1: ( ( ( rule__CatkinPackage__Group_5_3__0 )* ) ) + // InternalRos.g:4195:1: ( ( rule__CatkinPackage__Group_5_3__0 )* ) { - // InternalRos.g:4059:1: ( '}' ) - // InternalRos.g:4060:2: '}' + // InternalRos.g:4195:1: ( ( rule__CatkinPackage__Group_5_3__0 )* ) + // InternalRos.g:4196:2: ( rule__CatkinPackage__Group_5_3__0 )* { - before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); - match(input,42,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); + before(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); + // InternalRos.g:4197:2: ( rule__CatkinPackage__Group_5_3__0 )* + loop25: + do { + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==43) ) { + alt25=1; + } + + + switch (alt25) { + case 1 : + // InternalRos.g:4197:3: rule__CatkinPackage__Group_5_3__0 + { + pushFollow(FOLLOW_7); + rule__CatkinPackage__Group_5_3__0(); + + state._fsp--; + + + } + break; + + default : + break loop25; + } + } while (true); + + after(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); } @@ -12707,26 +13139,21 @@ public final void rule__CatkinPackage__Group_4__4__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4__4__Impl" + // $ANTLR end "rule__CatkinPackage__Group_5__3__Impl" - // $ANTLR start "rule__CatkinPackage__Group_4_3__0" - // InternalRos.g:4070:1: rule__CatkinPackage__Group_4_3__0 : rule__CatkinPackage__Group_4_3__0__Impl rule__CatkinPackage__Group_4_3__1 ; - public final void rule__CatkinPackage__Group_4_3__0() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__4" + // InternalRos.g:4205:1: rule__CatkinPackage__Group_5__4 : rule__CatkinPackage__Group_5__4__Impl ; + public final void rule__CatkinPackage__Group_5__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4074:1: ( rule__CatkinPackage__Group_4_3__0__Impl rule__CatkinPackage__Group_4_3__1 ) - // InternalRos.g:4075:2: rule__CatkinPackage__Group_4_3__0__Impl rule__CatkinPackage__Group_4_3__1 + // InternalRos.g:4209:1: ( rule__CatkinPackage__Group_5__4__Impl ) + // InternalRos.g:4210:2: rule__CatkinPackage__Group_5__4__Impl { - pushFollow(FOLLOW_12); - rule__CatkinPackage__Group_4_3__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_4_3__1(); + rule__CatkinPackage__Group_5__4__Impl(); state._fsp--; @@ -12745,25 +13172,25 @@ public final void rule__CatkinPackage__Group_4_3__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4_3__0" + // $ANTLR end "rule__CatkinPackage__Group_5__4" - // $ANTLR start "rule__CatkinPackage__Group_4_3__0__Impl" - // InternalRos.g:4082:1: rule__CatkinPackage__Group_4_3__0__Impl : ( ',' ) ; - public final void rule__CatkinPackage__Group_4_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5__4__Impl" + // InternalRos.g:4216:1: rule__CatkinPackage__Group_5__4__Impl : ( '}' ) ; + public final void rule__CatkinPackage__Group_5__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4086:1: ( ( ',' ) ) - // InternalRos.g:4087:1: ( ',' ) + // InternalRos.g:4220:1: ( ( '}' ) ) + // InternalRos.g:4221:1: ( '}' ) { - // InternalRos.g:4087:1: ( ',' ) - // InternalRos.g:4088:2: ',' + // InternalRos.g:4221:1: ( '}' ) + // InternalRos.g:4222:2: '}' { - before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); - match(input,43,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); + before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); + match(input,42,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } @@ -12782,21 +13209,26 @@ public final void rule__CatkinPackage__Group_4_3__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4_3__0__Impl" + // $ANTLR end "rule__CatkinPackage__Group_5__4__Impl" - // $ANTLR start "rule__CatkinPackage__Group_4_3__1" - // InternalRos.g:4097:1: rule__CatkinPackage__Group_4_3__1 : rule__CatkinPackage__Group_4_3__1__Impl ; - public final void rule__CatkinPackage__Group_4_3__1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5_3__0" + // InternalRos.g:4232:1: rule__CatkinPackage__Group_5_3__0 : rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 ; + public final void rule__CatkinPackage__Group_5_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4101:1: ( rule__CatkinPackage__Group_4_3__1__Impl ) - // InternalRos.g:4102:2: rule__CatkinPackage__Group_4_3__1__Impl + // InternalRos.g:4236:1: ( rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 ) + // InternalRos.g:4237:2: rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 { + pushFollow(FOLLOW_18); + rule__CatkinPackage__Group_5_3__0__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_4_3__1__Impl(); + rule__CatkinPackage__Group_5_3__1(); state._fsp--; @@ -12815,35 +13247,25 @@ public final void rule__CatkinPackage__Group_4_3__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4_3__1" + // $ANTLR end "rule__CatkinPackage__Group_5_3__0" - // $ANTLR start "rule__CatkinPackage__Group_4_3__1__Impl" - // InternalRos.g:4108:1: rule__CatkinPackage__Group_4_3__1__Impl : ( ( rule__CatkinPackage__SpecAssignment_4_3_1 ) ) ; - public final void rule__CatkinPackage__Group_4_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5_3__0__Impl" + // InternalRos.g:4244:1: rule__CatkinPackage__Group_5_3__0__Impl : ( ',' ) ; + public final void rule__CatkinPackage__Group_5_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4112:1: ( ( ( rule__CatkinPackage__SpecAssignment_4_3_1 ) ) ) - // InternalRos.g:4113:1: ( ( rule__CatkinPackage__SpecAssignment_4_3_1 ) ) + // InternalRos.g:4248:1: ( ( ',' ) ) + // InternalRos.g:4249:1: ( ',' ) { - // InternalRos.g:4113:1: ( ( rule__CatkinPackage__SpecAssignment_4_3_1 ) ) - // InternalRos.g:4114:2: ( rule__CatkinPackage__SpecAssignment_4_3_1 ) + // InternalRos.g:4249:1: ( ',' ) + // InternalRos.g:4250:2: ',' { - before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); - // InternalRos.g:4115:2: ( rule__CatkinPackage__SpecAssignment_4_3_1 ) - // InternalRos.g:4115:3: rule__CatkinPackage__SpecAssignment_4_3_1 - { - pushFollow(FOLLOW_2); - rule__CatkinPackage__SpecAssignment_4_3_1(); - - state._fsp--; - - - } - - after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); + before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); + match(input,43,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); } @@ -12862,26 +13284,21 @@ public final void rule__CatkinPackage__Group_4_3__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__CatkinPackage__Group_4_3__1__Impl" + // $ANTLR end "rule__CatkinPackage__Group_5_3__0__Impl" - // $ANTLR start "rule__CatkinPackage__Group_5__0" - // InternalRos.g:4124:1: rule__CatkinPackage__Group_5__0 : rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ; - public final void rule__CatkinPackage__Group_5__0() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5_3__1" + // InternalRos.g:4259:1: rule__CatkinPackage__Group_5_3__1 : rule__CatkinPackage__Group_5_3__1__Impl ; + public final void rule__CatkinPackage__Group_5_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4128:1: ( rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ) - // InternalRos.g:4129:2: rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 + // InternalRos.g:4263:1: ( rule__CatkinPackage__Group_5_3__1__Impl ) + // InternalRos.g:4264:2: rule__CatkinPackage__Group_5_3__1__Impl { - pushFollow(FOLLOW_6); - rule__CatkinPackage__Group_5__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_5__1(); + rule__CatkinPackage__Group_5_3__1__Impl(); state._fsp--; @@ -12900,35 +13317,35 @@ public final void rule__CatkinPackage__Group_5__0() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5__0" + // $ANTLR end "rule__CatkinPackage__Group_5_3__1" - // $ANTLR start "rule__CatkinPackage__Group_5__0__Impl" - // InternalRos.g:4136:1: rule__CatkinPackage__Group_5__0__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_5_0 ) ) ; - public final void rule__CatkinPackage__Group_5__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_5_3__1__Impl" + // InternalRos.g:4270:1: rule__CatkinPackage__Group_5_3__1__Impl : ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) ; + public final void rule__CatkinPackage__Group_5_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4140:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_5_0 ) ) ) - // InternalRos.g:4141:1: ( ( rule__CatkinPackage__ArtifactAssignment_5_0 ) ) + // InternalRos.g:4274:1: ( ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) ) + // InternalRos.g:4275:1: ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) { - // InternalRos.g:4141:1: ( ( rule__CatkinPackage__ArtifactAssignment_5_0 ) ) - // InternalRos.g:4142:2: ( rule__CatkinPackage__ArtifactAssignment_5_0 ) + // InternalRos.g:4275:1: ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) + // InternalRos.g:4276:2: ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) { - before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); - // InternalRos.g:4143:2: ( rule__CatkinPackage__ArtifactAssignment_5_0 ) - // InternalRos.g:4143:3: rule__CatkinPackage__ArtifactAssignment_5_0 + before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); + // InternalRos.g:4277:2: ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) + // InternalRos.g:4277:3: rule__CatkinPackage__DependencyAssignment_5_3_1 { pushFollow(FOLLOW_2); - rule__CatkinPackage__ArtifactAssignment_5_0(); + rule__CatkinPackage__DependencyAssignment_5_3_1(); state._fsp--; } - after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); + after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); } @@ -12947,21 +13364,26 @@ public final void rule__CatkinPackage__Group_5__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5__0__Impl" + // $ANTLR end "rule__CatkinPackage__Group_5_3__1__Impl" - // $ANTLR start "rule__CatkinPackage__Group_5__1" - // InternalRos.g:4151:1: rule__CatkinPackage__Group_5__1 : rule__CatkinPackage__Group_5__1__Impl ; - public final void rule__CatkinPackage__Group_5__1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__0" + // InternalRos.g:4286:1: rule__CatkinPackage__Group_6__0 : rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ; + public final void rule__CatkinPackage__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4155:1: ( rule__CatkinPackage__Group_5__1__Impl ) - // InternalRos.g:4156:2: rule__CatkinPackage__Group_5__1__Impl + // InternalRos.g:4290:1: ( rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ) + // InternalRos.g:4291:2: rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 { + pushFollow(FOLLOW_4); + rule__CatkinPackage__Group_6__0__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_5__1__Impl(); + rule__CatkinPackage__Group_6__1(); state._fsp--; @@ -12980,53 +13402,100 @@ public final void rule__CatkinPackage__Group_5__1() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5__1" + // $ANTLR end "rule__CatkinPackage__Group_6__0" - // $ANTLR start "rule__CatkinPackage__Group_5__1__Impl" - // InternalRos.g:4162:1: rule__CatkinPackage__Group_5__1__Impl : ( ( rule__CatkinPackage__Group_5_1__0 )* ) ; - public final void rule__CatkinPackage__Group_5__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__0__Impl" + // InternalRos.g:4298:1: rule__CatkinPackage__Group_6__0__Impl : ( 'Specs' ) ; + public final void rule__CatkinPackage__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4166:1: ( ( ( rule__CatkinPackage__Group_5_1__0 )* ) ) - // InternalRos.g:4167:1: ( ( rule__CatkinPackage__Group_5_1__0 )* ) + // InternalRos.g:4302:1: ( ( 'Specs' ) ) + // InternalRos.g:4303:1: ( 'Specs' ) { - // InternalRos.g:4167:1: ( ( rule__CatkinPackage__Group_5_1__0 )* ) - // InternalRos.g:4168:2: ( rule__CatkinPackage__Group_5_1__0 )* + // InternalRos.g:4303:1: ( 'Specs' ) + // InternalRos.g:4304:2: 'Specs' { - before(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); - // InternalRos.g:4169:2: ( rule__CatkinPackage__Group_5_1__0 )* - loop24: - do { - int alt24=2; - int LA24_0 = input.LA(1); + before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); + match(input,46,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); - if ( (LA24_0==43) ) { - alt24=1; - } + } - switch (alt24) { - case 1 : - // InternalRos.g:4169:3: rule__CatkinPackage__Group_5_1__0 - { - pushFollow(FOLLOW_7); - rule__CatkinPackage__Group_5_1__0(); + } - state._fsp--; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); - } - break; + } + return ; + } + // $ANTLR end "rule__CatkinPackage__Group_6__0__Impl" - default : - break loop24; - } - } while (true); - after(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); + // $ANTLR start "rule__CatkinPackage__Group_6__1" + // InternalRos.g:4313:1: rule__CatkinPackage__Group_6__1 : rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ; + public final void rule__CatkinPackage__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:4317:1: ( rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ) + // InternalRos.g:4318:2: rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 + { + pushFollow(FOLLOW_12); + rule__CatkinPackage__Group_6__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CatkinPackage__Group_6__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CatkinPackage__Group_6__1" + + + // $ANTLR start "rule__CatkinPackage__Group_6__1__Impl" + // InternalRos.g:4325:1: rule__CatkinPackage__Group_6__1__Impl : ( '{' ) ; + public final void rule__CatkinPackage__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:4329:1: ( ( '{' ) ) + // InternalRos.g:4330:1: ( '{' ) + { + // InternalRos.g:4330:1: ( '{' ) + // InternalRos.g:4331:2: '{' + { + before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); + match(input,41,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); } @@ -13045,26 +13514,26 @@ public final void rule__CatkinPackage__Group_5__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5__1__Impl" + // $ANTLR end "rule__CatkinPackage__Group_6__1__Impl" - // $ANTLR start "rule__CatkinPackage__Group_5_1__0" - // InternalRos.g:4178:1: rule__CatkinPackage__Group_5_1__0 : rule__CatkinPackage__Group_5_1__0__Impl rule__CatkinPackage__Group_5_1__1 ; - public final void rule__CatkinPackage__Group_5_1__0() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__2" + // InternalRos.g:4340:1: rule__CatkinPackage__Group_6__2 : rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ; + public final void rule__CatkinPackage__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4182:1: ( rule__CatkinPackage__Group_5_1__0__Impl rule__CatkinPackage__Group_5_1__1 ) - // InternalRos.g:4183:2: rule__CatkinPackage__Group_5_1__0__Impl rule__CatkinPackage__Group_5_1__1 + // InternalRos.g:4344:1: ( rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ) + // InternalRos.g:4345:2: rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 { - pushFollow(FOLLOW_14); - rule__CatkinPackage__Group_5_1__0__Impl(); + pushFollow(FOLLOW_13); + rule__CatkinPackage__Group_6__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_5_1__1(); + rule__CatkinPackage__Group_6__3(); state._fsp--; @@ -13083,25 +13552,35 @@ public final void rule__CatkinPackage__Group_5_1__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5_1__0" + // $ANTLR end "rule__CatkinPackage__Group_6__2" - // $ANTLR start "rule__CatkinPackage__Group_5_1__0__Impl" - // InternalRos.g:4190:1: rule__CatkinPackage__Group_5_1__0__Impl : ( ',' ) ; - public final void rule__CatkinPackage__Group_5_1__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__2__Impl" + // InternalRos.g:4352:1: rule__CatkinPackage__Group_6__2__Impl : ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) ; + public final void rule__CatkinPackage__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4194:1: ( ( ',' ) ) - // InternalRos.g:4195:1: ( ',' ) + // InternalRos.g:4356:1: ( ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) ) + // InternalRos.g:4357:1: ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) { - // InternalRos.g:4195:1: ( ',' ) - // InternalRos.g:4196:2: ',' + // InternalRos.g:4357:1: ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) + // InternalRos.g:4358:2: ( rule__CatkinPackage__SpecAssignment_6_2 ) { - before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); - match(input,43,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); + before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); + // InternalRos.g:4359:2: ( rule__CatkinPackage__SpecAssignment_6_2 ) + // InternalRos.g:4359:3: rule__CatkinPackage__SpecAssignment_6_2 + { + pushFollow(FOLLOW_2); + rule__CatkinPackage__SpecAssignment_6_2(); + + state._fsp--; + + + } + + after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); } @@ -13120,21 +13599,26 @@ public final void rule__CatkinPackage__Group_5_1__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5_1__0__Impl" + // $ANTLR end "rule__CatkinPackage__Group_6__2__Impl" - // $ANTLR start "rule__CatkinPackage__Group_5_1__1" - // InternalRos.g:4205:1: rule__CatkinPackage__Group_5_1__1 : rule__CatkinPackage__Group_5_1__1__Impl ; - public final void rule__CatkinPackage__Group_5_1__1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__3" + // InternalRos.g:4367:1: rule__CatkinPackage__Group_6__3 : rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ; + public final void rule__CatkinPackage__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4209:1: ( rule__CatkinPackage__Group_5_1__1__Impl ) - // InternalRos.g:4210:2: rule__CatkinPackage__Group_5_1__1__Impl + // InternalRos.g:4371:1: ( rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ) + // InternalRos.g:4372:2: rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 { + pushFollow(FOLLOW_13); + rule__CatkinPackage__Group_6__3__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_5_1__1__Impl(); + rule__CatkinPackage__Group_6__4(); state._fsp--; @@ -13153,35 +13637,53 @@ public final void rule__CatkinPackage__Group_5_1__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5_1__1" + // $ANTLR end "rule__CatkinPackage__Group_6__3" - // $ANTLR start "rule__CatkinPackage__Group_5_1__1__Impl" - // InternalRos.g:4216:1: rule__CatkinPackage__Group_5_1__1__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_5_1_1 ) ) ; - public final void rule__CatkinPackage__Group_5_1__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__3__Impl" + // InternalRos.g:4379:1: rule__CatkinPackage__Group_6__3__Impl : ( ( rule__CatkinPackage__Group_6_3__0 )* ) ; + public final void rule__CatkinPackage__Group_6__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4220:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_5_1_1 ) ) ) - // InternalRos.g:4221:1: ( ( rule__CatkinPackage__ArtifactAssignment_5_1_1 ) ) - { - // InternalRos.g:4221:1: ( ( rule__CatkinPackage__ArtifactAssignment_5_1_1 ) ) - // InternalRos.g:4222:2: ( rule__CatkinPackage__ArtifactAssignment_5_1_1 ) + // InternalRos.g:4383:1: ( ( ( rule__CatkinPackage__Group_6_3__0 )* ) ) + // InternalRos.g:4384:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) { - before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); - // InternalRos.g:4223:2: ( rule__CatkinPackage__ArtifactAssignment_5_1_1 ) - // InternalRos.g:4223:3: rule__CatkinPackage__ArtifactAssignment_5_1_1 + // InternalRos.g:4384:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) + // InternalRos.g:4385:2: ( rule__CatkinPackage__Group_6_3__0 )* { - pushFollow(FOLLOW_2); - rule__CatkinPackage__ArtifactAssignment_5_1_1(); + before(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); + // InternalRos.g:4386:2: ( rule__CatkinPackage__Group_6_3__0 )* + loop26: + do { + int alt26=2; + int LA26_0 = input.LA(1); - state._fsp--; + if ( (LA26_0==43) ) { + alt26=1; + } - } + switch (alt26) { + case 1 : + // InternalRos.g:4386:3: rule__CatkinPackage__Group_6_3__0 + { + pushFollow(FOLLOW_7); + rule__CatkinPackage__Group_6_3__0(); + + state._fsp--; - after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); + + } + break; + + default : + break loop26; + } + } while (true); + + after(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); } @@ -13200,26 +13702,21 @@ public final void rule__CatkinPackage__Group_5_1__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__CatkinPackage__Group_5_1__1__Impl" + // $ANTLR end "rule__CatkinPackage__Group_6__3__Impl" - // $ANTLR start "rule__CatkinPackage__Group_6__0" - // InternalRos.g:4232:1: rule__CatkinPackage__Group_6__0 : rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ; - public final void rule__CatkinPackage__Group_6__0() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__4" + // InternalRos.g:4394:1: rule__CatkinPackage__Group_6__4 : rule__CatkinPackage__Group_6__4__Impl ; + public final void rule__CatkinPackage__Group_6__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4236:1: ( rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ) - // InternalRos.g:4237:2: rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 + // InternalRos.g:4398:1: ( rule__CatkinPackage__Group_6__4__Impl ) + // InternalRos.g:4399:2: rule__CatkinPackage__Group_6__4__Impl { - pushFollow(FOLLOW_4); - rule__CatkinPackage__Group_6__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_6__1(); + rule__CatkinPackage__Group_6__4__Impl(); state._fsp--; @@ -13238,25 +13735,25 @@ public final void rule__CatkinPackage__Group_6__0() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__0" + // $ANTLR end "rule__CatkinPackage__Group_6__4" - // $ANTLR start "rule__CatkinPackage__Group_6__0__Impl" - // InternalRos.g:4244:1: rule__CatkinPackage__Group_6__0__Impl : ( 'Dependencies' ) ; - public final void rule__CatkinPackage__Group_6__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6__4__Impl" + // InternalRos.g:4405:1: rule__CatkinPackage__Group_6__4__Impl : ( '}' ) ; + public final void rule__CatkinPackage__Group_6__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4248:1: ( ( 'Dependencies' ) ) - // InternalRos.g:4249:1: ( 'Dependencies' ) + // InternalRos.g:4409:1: ( ( '}' ) ) + // InternalRos.g:4410:1: ( '}' ) { - // InternalRos.g:4249:1: ( 'Dependencies' ) - // InternalRos.g:4250:2: 'Dependencies' + // InternalRos.g:4410:1: ( '}' ) + // InternalRos.g:4411:2: '}' { - before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); - match(input,48,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); + before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); + match(input,42,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); } @@ -13275,26 +13772,26 @@ public final void rule__CatkinPackage__Group_6__0__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__0__Impl" + // $ANTLR end "rule__CatkinPackage__Group_6__4__Impl" - // $ANTLR start "rule__CatkinPackage__Group_6__1" - // InternalRos.g:4259:1: rule__CatkinPackage__Group_6__1 : rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ; - public final void rule__CatkinPackage__Group_6__1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6_3__0" + // InternalRos.g:4421:1: rule__CatkinPackage__Group_6_3__0 : rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ; + public final void rule__CatkinPackage__Group_6_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4263:1: ( rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ) - // InternalRos.g:4264:2: rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 + // InternalRos.g:4425:1: ( rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ) + // InternalRos.g:4426:2: rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 { - pushFollow(FOLLOW_18); - rule__CatkinPackage__Group_6__1__Impl(); + pushFollow(FOLLOW_12); + rule__CatkinPackage__Group_6_3__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_6__2(); + rule__CatkinPackage__Group_6_3__1(); state._fsp--; @@ -13313,25 +13810,25 @@ public final void rule__CatkinPackage__Group_6__1() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__1" + // $ANTLR end "rule__CatkinPackage__Group_6_3__0" - // $ANTLR start "rule__CatkinPackage__Group_6__1__Impl" - // InternalRos.g:4271:1: rule__CatkinPackage__Group_6__1__Impl : ( '{' ) ; - public final void rule__CatkinPackage__Group_6__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6_3__0__Impl" + // InternalRos.g:4433:1: rule__CatkinPackage__Group_6_3__0__Impl : ( ',' ) ; + public final void rule__CatkinPackage__Group_6_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4275:1: ( ( '{' ) ) - // InternalRos.g:4276:1: ( '{' ) + // InternalRos.g:4437:1: ( ( ',' ) ) + // InternalRos.g:4438:1: ( ',' ) { - // InternalRos.g:4276:1: ( '{' ) - // InternalRos.g:4277:2: '{' + // InternalRos.g:4438:1: ( ',' ) + // InternalRos.g:4439:2: ',' { - before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); - match(input,41,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); + before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); + match(input,43,FOLLOW_2); + after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); } @@ -13350,26 +13847,21 @@ public final void rule__CatkinPackage__Group_6__1__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__1__Impl" + // $ANTLR end "rule__CatkinPackage__Group_6_3__0__Impl" - // $ANTLR start "rule__CatkinPackage__Group_6__2" - // InternalRos.g:4286:1: rule__CatkinPackage__Group_6__2 : rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ; - public final void rule__CatkinPackage__Group_6__2() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6_3__1" + // InternalRos.g:4448:1: rule__CatkinPackage__Group_6_3__1 : rule__CatkinPackage__Group_6_3__1__Impl ; + public final void rule__CatkinPackage__Group_6_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4290:1: ( rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ) - // InternalRos.g:4291:2: rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 + // InternalRos.g:4452:1: ( rule__CatkinPackage__Group_6_3__1__Impl ) + // InternalRos.g:4453:2: rule__CatkinPackage__Group_6_3__1__Impl { - pushFollow(FOLLOW_13); - rule__CatkinPackage__Group_6__2__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_6__3(); + rule__CatkinPackage__Group_6_3__1__Impl(); state._fsp--; @@ -13388,35 +13880,35 @@ public final void rule__CatkinPackage__Group_6__2() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__2" + // $ANTLR end "rule__CatkinPackage__Group_6_3__1" - // $ANTLR start "rule__CatkinPackage__Group_6__2__Impl" - // InternalRos.g:4298:1: rule__CatkinPackage__Group_6__2__Impl : ( ( rule__CatkinPackage__DependencyAssignment_6_2 ) ) ; - public final void rule__CatkinPackage__Group_6__2__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_6_3__1__Impl" + // InternalRos.g:4459:1: rule__CatkinPackage__Group_6_3__1__Impl : ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) ; + public final void rule__CatkinPackage__Group_6_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4302:1: ( ( ( rule__CatkinPackage__DependencyAssignment_6_2 ) ) ) - // InternalRos.g:4303:1: ( ( rule__CatkinPackage__DependencyAssignment_6_2 ) ) + // InternalRos.g:4463:1: ( ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) ) + // InternalRos.g:4464:1: ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) { - // InternalRos.g:4303:1: ( ( rule__CatkinPackage__DependencyAssignment_6_2 ) ) - // InternalRos.g:4304:2: ( rule__CatkinPackage__DependencyAssignment_6_2 ) + // InternalRos.g:4464:1: ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) + // InternalRos.g:4465:2: ( rule__CatkinPackage__SpecAssignment_6_3_1 ) { - before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); - // InternalRos.g:4305:2: ( rule__CatkinPackage__DependencyAssignment_6_2 ) - // InternalRos.g:4305:3: rule__CatkinPackage__DependencyAssignment_6_2 + before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); + // InternalRos.g:4466:2: ( rule__CatkinPackage__SpecAssignment_6_3_1 ) + // InternalRos.g:4466:3: rule__CatkinPackage__SpecAssignment_6_3_1 { pushFollow(FOLLOW_2); - rule__CatkinPackage__DependencyAssignment_6_2(); + rule__CatkinPackage__SpecAssignment_6_3_1(); state._fsp--; } - after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); + after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); } @@ -13435,26 +13927,26 @@ public final void rule__CatkinPackage__Group_6__2__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__2__Impl" + // $ANTLR end "rule__CatkinPackage__Group_6_3__1__Impl" - // $ANTLR start "rule__CatkinPackage__Group_6__3" - // InternalRos.g:4313:1: rule__CatkinPackage__Group_6__3 : rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ; - public final void rule__CatkinPackage__Group_6__3() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7__0" + // InternalRos.g:4475:1: rule__CatkinPackage__Group_7__0 : rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 ; + public final void rule__CatkinPackage__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4317:1: ( rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ) - // InternalRos.g:4318:2: rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 + // InternalRos.g:4479:1: ( rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 ) + // InternalRos.g:4480:2: rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 { - pushFollow(FOLLOW_13); - rule__CatkinPackage__Group_6__3__Impl(); + pushFollow(FOLLOW_6); + rule__CatkinPackage__Group_7__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_6__4(); + rule__CatkinPackage__Group_7__1(); state._fsp--; @@ -13473,53 +13965,35 @@ public final void rule__CatkinPackage__Group_6__3() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__3" + // $ANTLR end "rule__CatkinPackage__Group_7__0" - // $ANTLR start "rule__CatkinPackage__Group_6__3__Impl" - // InternalRos.g:4325:1: rule__CatkinPackage__Group_6__3__Impl : ( ( rule__CatkinPackage__Group_6_3__0 )* ) ; - public final void rule__CatkinPackage__Group_6__3__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7__0__Impl" + // InternalRos.g:4487:1: rule__CatkinPackage__Group_7__0__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) ; + public final void rule__CatkinPackage__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4329:1: ( ( ( rule__CatkinPackage__Group_6_3__0 )* ) ) - // InternalRos.g:4330:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) + // InternalRos.g:4491:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) ) + // InternalRos.g:4492:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) { - // InternalRos.g:4330:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) - // InternalRos.g:4331:2: ( rule__CatkinPackage__Group_6_3__0 )* + // InternalRos.g:4492:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) + // InternalRos.g:4493:2: ( rule__CatkinPackage__ArtifactAssignment_7_0 ) { - before(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); - // InternalRos.g:4332:2: ( rule__CatkinPackage__Group_6_3__0 )* - loop25: - do { - int alt25=2; - int LA25_0 = input.LA(1); - - if ( (LA25_0==43) ) { - alt25=1; - } - - - switch (alt25) { - case 1 : - // InternalRos.g:4332:3: rule__CatkinPackage__Group_6_3__0 - { - pushFollow(FOLLOW_7); - rule__CatkinPackage__Group_6_3__0(); - - state._fsp--; + before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); + // InternalRos.g:4494:2: ( rule__CatkinPackage__ArtifactAssignment_7_0 ) + // InternalRos.g:4494:3: rule__CatkinPackage__ArtifactAssignment_7_0 + { + pushFollow(FOLLOW_2); + rule__CatkinPackage__ArtifactAssignment_7_0(); + state._fsp--; - } - break; - default : - break loop25; - } - } while (true); + } - after(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); + after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); } @@ -13538,21 +14012,21 @@ public final void rule__CatkinPackage__Group_6__3__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__3__Impl" + // $ANTLR end "rule__CatkinPackage__Group_7__0__Impl" - // $ANTLR start "rule__CatkinPackage__Group_6__4" - // InternalRos.g:4340:1: rule__CatkinPackage__Group_6__4 : rule__CatkinPackage__Group_6__4__Impl ; - public final void rule__CatkinPackage__Group_6__4() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7__1" + // InternalRos.g:4502:1: rule__CatkinPackage__Group_7__1 : rule__CatkinPackage__Group_7__1__Impl ; + public final void rule__CatkinPackage__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4344:1: ( rule__CatkinPackage__Group_6__4__Impl ) - // InternalRos.g:4345:2: rule__CatkinPackage__Group_6__4__Impl + // InternalRos.g:4506:1: ( rule__CatkinPackage__Group_7__1__Impl ) + // InternalRos.g:4507:2: rule__CatkinPackage__Group_7__1__Impl { pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_6__4__Impl(); + rule__CatkinPackage__Group_7__1__Impl(); state._fsp--; @@ -13571,25 +14045,53 @@ public final void rule__CatkinPackage__Group_6__4() throws RecognitionException } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__4" + // $ANTLR end "rule__CatkinPackage__Group_7__1" - // $ANTLR start "rule__CatkinPackage__Group_6__4__Impl" - // InternalRos.g:4351:1: rule__CatkinPackage__Group_6__4__Impl : ( '}' ) ; - public final void rule__CatkinPackage__Group_6__4__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7__1__Impl" + // InternalRos.g:4513:1: rule__CatkinPackage__Group_7__1__Impl : ( ( rule__CatkinPackage__Group_7_1__0 )* ) ; + public final void rule__CatkinPackage__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4355:1: ( ( '}' ) ) - // InternalRos.g:4356:1: ( '}' ) + // InternalRos.g:4517:1: ( ( ( rule__CatkinPackage__Group_7_1__0 )* ) ) + // InternalRos.g:4518:1: ( ( rule__CatkinPackage__Group_7_1__0 )* ) { - // InternalRos.g:4356:1: ( '}' ) - // InternalRos.g:4357:2: '}' + // InternalRos.g:4518:1: ( ( rule__CatkinPackage__Group_7_1__0 )* ) + // InternalRos.g:4519:2: ( rule__CatkinPackage__Group_7_1__0 )* { - before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); - match(input,42,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); + before(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); + // InternalRos.g:4520:2: ( rule__CatkinPackage__Group_7_1__0 )* + loop27: + do { + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==43) ) { + alt27=1; + } + + + switch (alt27) { + case 1 : + // InternalRos.g:4520:3: rule__CatkinPackage__Group_7_1__0 + { + pushFollow(FOLLOW_7); + rule__CatkinPackage__Group_7_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop27; + } + } while (true); + + after(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); } @@ -13608,26 +14110,26 @@ public final void rule__CatkinPackage__Group_6__4__Impl() throws RecognitionExce } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6__4__Impl" + // $ANTLR end "rule__CatkinPackage__Group_7__1__Impl" - // $ANTLR start "rule__CatkinPackage__Group_6_3__0" - // InternalRos.g:4367:1: rule__CatkinPackage__Group_6_3__0 : rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ; - public final void rule__CatkinPackage__Group_6_3__0() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7_1__0" + // InternalRos.g:4529:1: rule__CatkinPackage__Group_7_1__0 : rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 ; + public final void rule__CatkinPackage__Group_7_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4371:1: ( rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ) - // InternalRos.g:4372:2: rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 + // InternalRos.g:4533:1: ( rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 ) + // InternalRos.g:4534:2: rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 { - pushFollow(FOLLOW_18); - rule__CatkinPackage__Group_6_3__0__Impl(); + pushFollow(FOLLOW_14); + rule__CatkinPackage__Group_7_1__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_6_3__1(); + rule__CatkinPackage__Group_7_1__1(); state._fsp--; @@ -13646,25 +14148,25 @@ public final void rule__CatkinPackage__Group_6_3__0() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6_3__0" + // $ANTLR end "rule__CatkinPackage__Group_7_1__0" - // $ANTLR start "rule__CatkinPackage__Group_6_3__0__Impl" - // InternalRos.g:4379:1: rule__CatkinPackage__Group_6_3__0__Impl : ( ',' ) ; - public final void rule__CatkinPackage__Group_6_3__0__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7_1__0__Impl" + // InternalRos.g:4541:1: rule__CatkinPackage__Group_7_1__0__Impl : ( ',' ) ; + public final void rule__CatkinPackage__Group_7_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4383:1: ( ( ',' ) ) - // InternalRos.g:4384:1: ( ',' ) + // InternalRos.g:4545:1: ( ( ',' ) ) + // InternalRos.g:4546:1: ( ',' ) { - // InternalRos.g:4384:1: ( ',' ) - // InternalRos.g:4385:2: ',' + // InternalRos.g:4546:1: ( ',' ) + // InternalRos.g:4547:2: ',' { - before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); + before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); match(input,43,FOLLOW_2); - after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); + after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); } @@ -13683,21 +14185,21 @@ public final void rule__CatkinPackage__Group_6_3__0__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6_3__0__Impl" + // $ANTLR end "rule__CatkinPackage__Group_7_1__0__Impl" - // $ANTLR start "rule__CatkinPackage__Group_6_3__1" - // InternalRos.g:4394:1: rule__CatkinPackage__Group_6_3__1 : rule__CatkinPackage__Group_6_3__1__Impl ; - public final void rule__CatkinPackage__Group_6_3__1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7_1__1" + // InternalRos.g:4556:1: rule__CatkinPackage__Group_7_1__1 : rule__CatkinPackage__Group_7_1__1__Impl ; + public final void rule__CatkinPackage__Group_7_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4398:1: ( rule__CatkinPackage__Group_6_3__1__Impl ) - // InternalRos.g:4399:2: rule__CatkinPackage__Group_6_3__1__Impl + // InternalRos.g:4560:1: ( rule__CatkinPackage__Group_7_1__1__Impl ) + // InternalRos.g:4561:2: rule__CatkinPackage__Group_7_1__1__Impl { pushFollow(FOLLOW_2); - rule__CatkinPackage__Group_6_3__1__Impl(); + rule__CatkinPackage__Group_7_1__1__Impl(); state._fsp--; @@ -13716,35 +14218,35 @@ public final void rule__CatkinPackage__Group_6_3__1() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6_3__1" + // $ANTLR end "rule__CatkinPackage__Group_7_1__1" - // $ANTLR start "rule__CatkinPackage__Group_6_3__1__Impl" - // InternalRos.g:4405:1: rule__CatkinPackage__Group_6_3__1__Impl : ( ( rule__CatkinPackage__DependencyAssignment_6_3_1 ) ) ; - public final void rule__CatkinPackage__Group_6_3__1__Impl() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__Group_7_1__1__Impl" + // InternalRos.g:4567:1: rule__CatkinPackage__Group_7_1__1__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) ; + public final void rule__CatkinPackage__Group_7_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4409:1: ( ( ( rule__CatkinPackage__DependencyAssignment_6_3_1 ) ) ) - // InternalRos.g:4410:1: ( ( rule__CatkinPackage__DependencyAssignment_6_3_1 ) ) + // InternalRos.g:4571:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) ) + // InternalRos.g:4572:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) { - // InternalRos.g:4410:1: ( ( rule__CatkinPackage__DependencyAssignment_6_3_1 ) ) - // InternalRos.g:4411:2: ( rule__CatkinPackage__DependencyAssignment_6_3_1 ) + // InternalRos.g:4572:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) + // InternalRos.g:4573:2: ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) { - before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); - // InternalRos.g:4412:2: ( rule__CatkinPackage__DependencyAssignment_6_3_1 ) - // InternalRos.g:4412:3: rule__CatkinPackage__DependencyAssignment_6_3_1 + before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); + // InternalRos.g:4574:2: ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) + // InternalRos.g:4574:3: rule__CatkinPackage__ArtifactAssignment_7_1_1 { pushFollow(FOLLOW_2); - rule__CatkinPackage__DependencyAssignment_6_3_1(); + rule__CatkinPackage__ArtifactAssignment_7_1_1(); state._fsp--; } - after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); + after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); } @@ -13763,18 +14265,18 @@ public final void rule__CatkinPackage__Group_6_3__1__Impl() throws RecognitionEx } return ; } - // $ANTLR end "rule__CatkinPackage__Group_6_3__1__Impl" + // $ANTLR end "rule__CatkinPackage__Group_7_1__1__Impl" // $ANTLR start "rule__ServiceSpec__Group__0" - // InternalRos.g:4421:1: rule__ServiceSpec__Group__0 : rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ; + // InternalRos.g:4583:1: rule__ServiceSpec__Group__0 : rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ; public final void rule__ServiceSpec__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4425:1: ( rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ) - // InternalRos.g:4426:2: rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 + // InternalRos.g:4587:1: ( rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ) + // InternalRos.g:4588:2: rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 { pushFollow(FOLLOW_19); rule__ServiceSpec__Group__0__Impl(); @@ -13805,21 +14307,21 @@ public final void rule__ServiceSpec__Group__0() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group__0__Impl" - // InternalRos.g:4433:1: rule__ServiceSpec__Group__0__Impl : ( () ) ; + // InternalRos.g:4595:1: rule__ServiceSpec__Group__0__Impl : ( () ) ; public final void rule__ServiceSpec__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4437:1: ( ( () ) ) - // InternalRos.g:4438:1: ( () ) + // InternalRos.g:4599:1: ( ( () ) ) + // InternalRos.g:4600:1: ( () ) { - // InternalRos.g:4438:1: ( () ) - // InternalRos.g:4439:2: () + // InternalRos.g:4600:1: ( () ) + // InternalRos.g:4601:2: () { before(grammarAccess.getServiceSpecAccess().getServiceSpecAction_0()); - // InternalRos.g:4440:2: () - // InternalRos.g:4440:3: + // InternalRos.g:4602:2: () + // InternalRos.g:4602:3: { } @@ -13842,14 +14344,14 @@ public final void rule__ServiceSpec__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__ServiceSpec__Group__1" - // InternalRos.g:4448:1: rule__ServiceSpec__Group__1 : rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ; + // InternalRos.g:4610:1: rule__ServiceSpec__Group__1 : rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ; public final void rule__ServiceSpec__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4452:1: ( rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ) - // InternalRos.g:4453:2: rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 + // InternalRos.g:4614:1: ( rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ) + // InternalRos.g:4615:2: rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 { pushFollow(FOLLOW_10); rule__ServiceSpec__Group__1__Impl(); @@ -13880,20 +14382,20 @@ public final void rule__ServiceSpec__Group__1() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group__1__Impl" - // InternalRos.g:4460:1: rule__ServiceSpec__Group__1__Impl : ( 'ServiceSpec' ) ; + // InternalRos.g:4622:1: rule__ServiceSpec__Group__1__Impl : ( 'ServiceSpec' ) ; public final void rule__ServiceSpec__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4464:1: ( ( 'ServiceSpec' ) ) - // InternalRos.g:4465:1: ( 'ServiceSpec' ) + // InternalRos.g:4626:1: ( ( 'ServiceSpec' ) ) + // InternalRos.g:4627:1: ( 'ServiceSpec' ) { - // InternalRos.g:4465:1: ( 'ServiceSpec' ) - // InternalRos.g:4466:2: 'ServiceSpec' + // InternalRos.g:4627:1: ( 'ServiceSpec' ) + // InternalRos.g:4628:2: 'ServiceSpec' { before(grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); - match(input,49,FOLLOW_2); + match(input,50,FOLLOW_2); after(grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); } @@ -13917,14 +14419,14 @@ public final void rule__ServiceSpec__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__ServiceSpec__Group__2" - // InternalRos.g:4475:1: rule__ServiceSpec__Group__2 : rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ; + // InternalRos.g:4637:1: rule__ServiceSpec__Group__2 : rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ; public final void rule__ServiceSpec__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4479:1: ( rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ) - // InternalRos.g:4480:2: rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 + // InternalRos.g:4641:1: ( rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ) + // InternalRos.g:4642:2: rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 { pushFollow(FOLLOW_4); rule__ServiceSpec__Group__2__Impl(); @@ -13955,21 +14457,21 @@ public final void rule__ServiceSpec__Group__2() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group__2__Impl" - // InternalRos.g:4487:1: rule__ServiceSpec__Group__2__Impl : ( ( rule__ServiceSpec__NameAssignment_2 ) ) ; + // InternalRos.g:4649:1: rule__ServiceSpec__Group__2__Impl : ( ( rule__ServiceSpec__NameAssignment_2 ) ) ; public final void rule__ServiceSpec__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4491:1: ( ( ( rule__ServiceSpec__NameAssignment_2 ) ) ) - // InternalRos.g:4492:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) + // InternalRos.g:4653:1: ( ( ( rule__ServiceSpec__NameAssignment_2 ) ) ) + // InternalRos.g:4654:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) { - // InternalRos.g:4492:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) - // InternalRos.g:4493:2: ( rule__ServiceSpec__NameAssignment_2 ) + // InternalRos.g:4654:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) + // InternalRos.g:4655:2: ( rule__ServiceSpec__NameAssignment_2 ) { before(grammarAccess.getServiceSpecAccess().getNameAssignment_2()); - // InternalRos.g:4494:2: ( rule__ServiceSpec__NameAssignment_2 ) - // InternalRos.g:4494:3: rule__ServiceSpec__NameAssignment_2 + // InternalRos.g:4656:2: ( rule__ServiceSpec__NameAssignment_2 ) + // InternalRos.g:4656:3: rule__ServiceSpec__NameAssignment_2 { pushFollow(FOLLOW_2); rule__ServiceSpec__NameAssignment_2(); @@ -14002,14 +14504,14 @@ public final void rule__ServiceSpec__Group__2__Impl() throws RecognitionExceptio // $ANTLR start "rule__ServiceSpec__Group__3" - // InternalRos.g:4502:1: rule__ServiceSpec__Group__3 : rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ; + // InternalRos.g:4664:1: rule__ServiceSpec__Group__3 : rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ; public final void rule__ServiceSpec__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4506:1: ( rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ) - // InternalRos.g:4507:2: rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 + // InternalRos.g:4668:1: ( rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ) + // InternalRos.g:4669:2: rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 { pushFollow(FOLLOW_20); rule__ServiceSpec__Group__3__Impl(); @@ -14040,17 +14542,17 @@ public final void rule__ServiceSpec__Group__3() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group__3__Impl" - // InternalRos.g:4514:1: rule__ServiceSpec__Group__3__Impl : ( '{' ) ; + // InternalRos.g:4676:1: rule__ServiceSpec__Group__3__Impl : ( '{' ) ; public final void rule__ServiceSpec__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4518:1: ( ( '{' ) ) - // InternalRos.g:4519:1: ( '{' ) + // InternalRos.g:4680:1: ( ( '{' ) ) + // InternalRos.g:4681:1: ( '{' ) { - // InternalRos.g:4519:1: ( '{' ) - // InternalRos.g:4520:2: '{' + // InternalRos.g:4681:1: ( '{' ) + // InternalRos.g:4682:2: '{' { before(grammarAccess.getServiceSpecAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -14077,14 +14579,14 @@ public final void rule__ServiceSpec__Group__3__Impl() throws RecognitionExceptio // $ANTLR start "rule__ServiceSpec__Group__4" - // InternalRos.g:4529:1: rule__ServiceSpec__Group__4 : rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ; + // InternalRos.g:4691:1: rule__ServiceSpec__Group__4 : rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ; public final void rule__ServiceSpec__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4533:1: ( rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ) - // InternalRos.g:4534:2: rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 + // InternalRos.g:4695:1: ( rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ) + // InternalRos.g:4696:2: rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 { pushFollow(FOLLOW_20); rule__ServiceSpec__Group__4__Impl(); @@ -14115,29 +14617,29 @@ public final void rule__ServiceSpec__Group__4() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group__4__Impl" - // InternalRos.g:4541:1: rule__ServiceSpec__Group__4__Impl : ( ( rule__ServiceSpec__Group_4__0 )? ) ; + // InternalRos.g:4703:1: rule__ServiceSpec__Group__4__Impl : ( ( rule__ServiceSpec__Group_4__0 )? ) ; public final void rule__ServiceSpec__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4545:1: ( ( ( rule__ServiceSpec__Group_4__0 )? ) ) - // InternalRos.g:4546:1: ( ( rule__ServiceSpec__Group_4__0 )? ) + // InternalRos.g:4707:1: ( ( ( rule__ServiceSpec__Group_4__0 )? ) ) + // InternalRos.g:4708:1: ( ( rule__ServiceSpec__Group_4__0 )? ) { - // InternalRos.g:4546:1: ( ( rule__ServiceSpec__Group_4__0 )? ) - // InternalRos.g:4547:2: ( rule__ServiceSpec__Group_4__0 )? + // InternalRos.g:4708:1: ( ( rule__ServiceSpec__Group_4__0 )? ) + // InternalRos.g:4709:2: ( rule__ServiceSpec__Group_4__0 )? { before(grammarAccess.getServiceSpecAccess().getGroup_4()); - // InternalRos.g:4548:2: ( rule__ServiceSpec__Group_4__0 )? - int alt26=2; - int LA26_0 = input.LA(1); + // InternalRos.g:4710:2: ( rule__ServiceSpec__Group_4__0 )? + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA26_0==50) ) { - alt26=1; + if ( (LA28_0==51) ) { + alt28=1; } - switch (alt26) { + switch (alt28) { case 1 : - // InternalRos.g:4548:3: rule__ServiceSpec__Group_4__0 + // InternalRos.g:4710:3: rule__ServiceSpec__Group_4__0 { pushFollow(FOLLOW_2); rule__ServiceSpec__Group_4__0(); @@ -14173,14 +14675,14 @@ public final void rule__ServiceSpec__Group__4__Impl() throws RecognitionExceptio // $ANTLR start "rule__ServiceSpec__Group__5" - // InternalRos.g:4556:1: rule__ServiceSpec__Group__5 : rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ; + // InternalRos.g:4718:1: rule__ServiceSpec__Group__5 : rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ; public final void rule__ServiceSpec__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4560:1: ( rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ) - // InternalRos.g:4561:2: rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 + // InternalRos.g:4722:1: ( rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ) + // InternalRos.g:4723:2: rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 { pushFollow(FOLLOW_20); rule__ServiceSpec__Group__5__Impl(); @@ -14211,29 +14713,29 @@ public final void rule__ServiceSpec__Group__5() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group__5__Impl" - // InternalRos.g:4568:1: rule__ServiceSpec__Group__5__Impl : ( ( rule__ServiceSpec__Group_5__0 )? ) ; + // InternalRos.g:4730:1: rule__ServiceSpec__Group__5__Impl : ( ( rule__ServiceSpec__Group_5__0 )? ) ; public final void rule__ServiceSpec__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4572:1: ( ( ( rule__ServiceSpec__Group_5__0 )? ) ) - // InternalRos.g:4573:1: ( ( rule__ServiceSpec__Group_5__0 )? ) + // InternalRos.g:4734:1: ( ( ( rule__ServiceSpec__Group_5__0 )? ) ) + // InternalRos.g:4735:1: ( ( rule__ServiceSpec__Group_5__0 )? ) { - // InternalRos.g:4573:1: ( ( rule__ServiceSpec__Group_5__0 )? ) - // InternalRos.g:4574:2: ( rule__ServiceSpec__Group_5__0 )? + // InternalRos.g:4735:1: ( ( rule__ServiceSpec__Group_5__0 )? ) + // InternalRos.g:4736:2: ( rule__ServiceSpec__Group_5__0 )? { before(grammarAccess.getServiceSpecAccess().getGroup_5()); - // InternalRos.g:4575:2: ( rule__ServiceSpec__Group_5__0 )? - int alt27=2; - int LA27_0 = input.LA(1); + // InternalRos.g:4737:2: ( rule__ServiceSpec__Group_5__0 )? + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA27_0==51) ) { - alt27=1; + if ( (LA29_0==52) ) { + alt29=1; } - switch (alt27) { + switch (alt29) { case 1 : - // InternalRos.g:4575:3: rule__ServiceSpec__Group_5__0 + // InternalRos.g:4737:3: rule__ServiceSpec__Group_5__0 { pushFollow(FOLLOW_2); rule__ServiceSpec__Group_5__0(); @@ -14269,14 +14771,14 @@ public final void rule__ServiceSpec__Group__5__Impl() throws RecognitionExceptio // $ANTLR start "rule__ServiceSpec__Group__6" - // InternalRos.g:4583:1: rule__ServiceSpec__Group__6 : rule__ServiceSpec__Group__6__Impl ; + // InternalRos.g:4745:1: rule__ServiceSpec__Group__6 : rule__ServiceSpec__Group__6__Impl ; public final void rule__ServiceSpec__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4587:1: ( rule__ServiceSpec__Group__6__Impl ) - // InternalRos.g:4588:2: rule__ServiceSpec__Group__6__Impl + // InternalRos.g:4749:1: ( rule__ServiceSpec__Group__6__Impl ) + // InternalRos.g:4750:2: rule__ServiceSpec__Group__6__Impl { pushFollow(FOLLOW_2); rule__ServiceSpec__Group__6__Impl(); @@ -14302,17 +14804,17 @@ public final void rule__ServiceSpec__Group__6() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group__6__Impl" - // InternalRos.g:4594:1: rule__ServiceSpec__Group__6__Impl : ( '}' ) ; + // InternalRos.g:4756:1: rule__ServiceSpec__Group__6__Impl : ( '}' ) ; public final void rule__ServiceSpec__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4598:1: ( ( '}' ) ) - // InternalRos.g:4599:1: ( '}' ) + // InternalRos.g:4760:1: ( ( '}' ) ) + // InternalRos.g:4761:1: ( '}' ) { - // InternalRos.g:4599:1: ( '}' ) - // InternalRos.g:4600:2: '}' + // InternalRos.g:4761:1: ( '}' ) + // InternalRos.g:4762:2: '}' { before(grammarAccess.getServiceSpecAccess().getRightCurlyBracketKeyword_6()); match(input,42,FOLLOW_2); @@ -14339,14 +14841,14 @@ public final void rule__ServiceSpec__Group__6__Impl() throws RecognitionExceptio // $ANTLR start "rule__ServiceSpec__Group_4__0" - // InternalRos.g:4610:1: rule__ServiceSpec__Group_4__0 : rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ; + // InternalRos.g:4772:1: rule__ServiceSpec__Group_4__0 : rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ; public final void rule__ServiceSpec__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4614:1: ( rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ) - // InternalRos.g:4615:2: rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 + // InternalRos.g:4776:1: ( rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ) + // InternalRos.g:4777:2: rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 { pushFollow(FOLLOW_4); rule__ServiceSpec__Group_4__0__Impl(); @@ -14377,20 +14879,20 @@ public final void rule__ServiceSpec__Group_4__0() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group_4__0__Impl" - // InternalRos.g:4622:1: rule__ServiceSpec__Group_4__0__Impl : ( 'request' ) ; + // InternalRos.g:4784:1: rule__ServiceSpec__Group_4__0__Impl : ( 'request' ) ; public final void rule__ServiceSpec__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4626:1: ( ( 'request' ) ) - // InternalRos.g:4627:1: ( 'request' ) + // InternalRos.g:4788:1: ( ( 'request' ) ) + // InternalRos.g:4789:1: ( 'request' ) { - // InternalRos.g:4627:1: ( 'request' ) - // InternalRos.g:4628:2: 'request' + // InternalRos.g:4789:1: ( 'request' ) + // InternalRos.g:4790:2: 'request' { before(grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); - match(input,50,FOLLOW_2); + match(input,51,FOLLOW_2); after(grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); } @@ -14414,14 +14916,14 @@ public final void rule__ServiceSpec__Group_4__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceSpec__Group_4__1" - // InternalRos.g:4637:1: rule__ServiceSpec__Group_4__1 : rule__ServiceSpec__Group_4__1__Impl ; + // InternalRos.g:4799:1: rule__ServiceSpec__Group_4__1 : rule__ServiceSpec__Group_4__1__Impl ; public final void rule__ServiceSpec__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4641:1: ( rule__ServiceSpec__Group_4__1__Impl ) - // InternalRos.g:4642:2: rule__ServiceSpec__Group_4__1__Impl + // InternalRos.g:4803:1: ( rule__ServiceSpec__Group_4__1__Impl ) + // InternalRos.g:4804:2: rule__ServiceSpec__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ServiceSpec__Group_4__1__Impl(); @@ -14447,21 +14949,21 @@ public final void rule__ServiceSpec__Group_4__1() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group_4__1__Impl" - // InternalRos.g:4648:1: rule__ServiceSpec__Group_4__1__Impl : ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ; + // InternalRos.g:4810:1: rule__ServiceSpec__Group_4__1__Impl : ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ; public final void rule__ServiceSpec__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4652:1: ( ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ) - // InternalRos.g:4653:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) + // InternalRos.g:4814:1: ( ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ) + // InternalRos.g:4815:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) { - // InternalRos.g:4653:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) - // InternalRos.g:4654:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) + // InternalRos.g:4815:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) + // InternalRos.g:4816:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) { before(grammarAccess.getServiceSpecAccess().getRequestAssignment_4_1()); - // InternalRos.g:4655:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) - // InternalRos.g:4655:3: rule__ServiceSpec__RequestAssignment_4_1 + // InternalRos.g:4817:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) + // InternalRos.g:4817:3: rule__ServiceSpec__RequestAssignment_4_1 { pushFollow(FOLLOW_2); rule__ServiceSpec__RequestAssignment_4_1(); @@ -14494,14 +14996,14 @@ public final void rule__ServiceSpec__Group_4__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceSpec__Group_5__0" - // InternalRos.g:4664:1: rule__ServiceSpec__Group_5__0 : rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ; + // InternalRos.g:4826:1: rule__ServiceSpec__Group_5__0 : rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ; public final void rule__ServiceSpec__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4668:1: ( rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ) - // InternalRos.g:4669:2: rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 + // InternalRos.g:4830:1: ( rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ) + // InternalRos.g:4831:2: rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 { pushFollow(FOLLOW_4); rule__ServiceSpec__Group_5__0__Impl(); @@ -14532,20 +15034,20 @@ public final void rule__ServiceSpec__Group_5__0() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group_5__0__Impl" - // InternalRos.g:4676:1: rule__ServiceSpec__Group_5__0__Impl : ( 'response' ) ; + // InternalRos.g:4838:1: rule__ServiceSpec__Group_5__0__Impl : ( 'response' ) ; public final void rule__ServiceSpec__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4680:1: ( ( 'response' ) ) - // InternalRos.g:4681:1: ( 'response' ) + // InternalRos.g:4842:1: ( ( 'response' ) ) + // InternalRos.g:4843:1: ( 'response' ) { - // InternalRos.g:4681:1: ( 'response' ) - // InternalRos.g:4682:2: 'response' + // InternalRos.g:4843:1: ( 'response' ) + // InternalRos.g:4844:2: 'response' { before(grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); - match(input,51,FOLLOW_2); + match(input,52,FOLLOW_2); after(grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); } @@ -14569,14 +15071,14 @@ public final void rule__ServiceSpec__Group_5__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceSpec__Group_5__1" - // InternalRos.g:4691:1: rule__ServiceSpec__Group_5__1 : rule__ServiceSpec__Group_5__1__Impl ; + // InternalRos.g:4853:1: rule__ServiceSpec__Group_5__1 : rule__ServiceSpec__Group_5__1__Impl ; public final void rule__ServiceSpec__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4695:1: ( rule__ServiceSpec__Group_5__1__Impl ) - // InternalRos.g:4696:2: rule__ServiceSpec__Group_5__1__Impl + // InternalRos.g:4857:1: ( rule__ServiceSpec__Group_5__1__Impl ) + // InternalRos.g:4858:2: rule__ServiceSpec__Group_5__1__Impl { pushFollow(FOLLOW_2); rule__ServiceSpec__Group_5__1__Impl(); @@ -14602,21 +15104,21 @@ public final void rule__ServiceSpec__Group_5__1() throws RecognitionException { // $ANTLR start "rule__ServiceSpec__Group_5__1__Impl" - // InternalRos.g:4702:1: rule__ServiceSpec__Group_5__1__Impl : ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ; + // InternalRos.g:4864:1: rule__ServiceSpec__Group_5__1__Impl : ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ; public final void rule__ServiceSpec__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4706:1: ( ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ) - // InternalRos.g:4707:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) + // InternalRos.g:4868:1: ( ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ) + // InternalRos.g:4869:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) { - // InternalRos.g:4707:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) - // InternalRos.g:4708:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) + // InternalRos.g:4869:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) + // InternalRos.g:4870:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) { before(grammarAccess.getServiceSpecAccess().getResponseAssignment_5_1()); - // InternalRos.g:4709:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) - // InternalRos.g:4709:3: rule__ServiceSpec__ResponseAssignment_5_1 + // InternalRos.g:4871:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) + // InternalRos.g:4871:3: rule__ServiceSpec__ResponseAssignment_5_1 { pushFollow(FOLLOW_2); rule__ServiceSpec__ResponseAssignment_5_1(); @@ -14649,14 +15151,14 @@ public final void rule__ServiceSpec__Group_5__1__Impl() throws RecognitionExcept // $ANTLR start "rule__TopicSpec__Group__0" - // InternalRos.g:4718:1: rule__TopicSpec__Group__0 : rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ; + // InternalRos.g:4880:1: rule__TopicSpec__Group__0 : rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ; public final void rule__TopicSpec__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4722:1: ( rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ) - // InternalRos.g:4723:2: rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 + // InternalRos.g:4884:1: ( rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ) + // InternalRos.g:4885:2: rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 { pushFollow(FOLLOW_21); rule__TopicSpec__Group__0__Impl(); @@ -14687,21 +15189,21 @@ public final void rule__TopicSpec__Group__0() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group__0__Impl" - // InternalRos.g:4730:1: rule__TopicSpec__Group__0__Impl : ( () ) ; + // InternalRos.g:4892:1: rule__TopicSpec__Group__0__Impl : ( () ) ; public final void rule__TopicSpec__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4734:1: ( ( () ) ) - // InternalRos.g:4735:1: ( () ) + // InternalRos.g:4896:1: ( ( () ) ) + // InternalRos.g:4897:1: ( () ) { - // InternalRos.g:4735:1: ( () ) - // InternalRos.g:4736:2: () + // InternalRos.g:4897:1: ( () ) + // InternalRos.g:4898:2: () { before(grammarAccess.getTopicSpecAccess().getTopicSpecAction_0()); - // InternalRos.g:4737:2: () - // InternalRos.g:4737:3: + // InternalRos.g:4899:2: () + // InternalRos.g:4899:3: { } @@ -14724,14 +15226,14 @@ public final void rule__TopicSpec__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__TopicSpec__Group__1" - // InternalRos.g:4745:1: rule__TopicSpec__Group__1 : rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ; + // InternalRos.g:4907:1: rule__TopicSpec__Group__1 : rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ; public final void rule__TopicSpec__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4749:1: ( rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ) - // InternalRos.g:4750:2: rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 + // InternalRos.g:4911:1: ( rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ) + // InternalRos.g:4912:2: rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 { pushFollow(FOLLOW_22); rule__TopicSpec__Group__1__Impl(); @@ -14762,20 +15264,20 @@ public final void rule__TopicSpec__Group__1() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group__1__Impl" - // InternalRos.g:4757:1: rule__TopicSpec__Group__1__Impl : ( 'TopicSpec' ) ; + // InternalRos.g:4919:1: rule__TopicSpec__Group__1__Impl : ( 'TopicSpec' ) ; public final void rule__TopicSpec__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4761:1: ( ( 'TopicSpec' ) ) - // InternalRos.g:4762:1: ( 'TopicSpec' ) + // InternalRos.g:4923:1: ( ( 'TopicSpec' ) ) + // InternalRos.g:4924:1: ( 'TopicSpec' ) { - // InternalRos.g:4762:1: ( 'TopicSpec' ) - // InternalRos.g:4763:2: 'TopicSpec' + // InternalRos.g:4924:1: ( 'TopicSpec' ) + // InternalRos.g:4925:2: 'TopicSpec' { before(grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); - match(input,52,FOLLOW_2); + match(input,53,FOLLOW_2); after(grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); } @@ -14799,14 +15301,14 @@ public final void rule__TopicSpec__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__TopicSpec__Group__2" - // InternalRos.g:4772:1: rule__TopicSpec__Group__2 : rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ; + // InternalRos.g:4934:1: rule__TopicSpec__Group__2 : rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ; public final void rule__TopicSpec__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4776:1: ( rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ) - // InternalRos.g:4777:2: rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 + // InternalRos.g:4938:1: ( rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ) + // InternalRos.g:4939:2: rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 { pushFollow(FOLLOW_4); rule__TopicSpec__Group__2__Impl(); @@ -14837,21 +15339,21 @@ public final void rule__TopicSpec__Group__2() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group__2__Impl" - // InternalRos.g:4784:1: rule__TopicSpec__Group__2__Impl : ( ( rule__TopicSpec__NameAssignment_2 ) ) ; + // InternalRos.g:4946:1: rule__TopicSpec__Group__2__Impl : ( ( rule__TopicSpec__NameAssignment_2 ) ) ; public final void rule__TopicSpec__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4788:1: ( ( ( rule__TopicSpec__NameAssignment_2 ) ) ) - // InternalRos.g:4789:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) + // InternalRos.g:4950:1: ( ( ( rule__TopicSpec__NameAssignment_2 ) ) ) + // InternalRos.g:4951:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) { - // InternalRos.g:4789:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) - // InternalRos.g:4790:2: ( rule__TopicSpec__NameAssignment_2 ) + // InternalRos.g:4951:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) + // InternalRos.g:4952:2: ( rule__TopicSpec__NameAssignment_2 ) { before(grammarAccess.getTopicSpecAccess().getNameAssignment_2()); - // InternalRos.g:4791:2: ( rule__TopicSpec__NameAssignment_2 ) - // InternalRos.g:4791:3: rule__TopicSpec__NameAssignment_2 + // InternalRos.g:4953:2: ( rule__TopicSpec__NameAssignment_2 ) + // InternalRos.g:4953:3: rule__TopicSpec__NameAssignment_2 { pushFollow(FOLLOW_2); rule__TopicSpec__NameAssignment_2(); @@ -14884,14 +15386,14 @@ public final void rule__TopicSpec__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__TopicSpec__Group__3" - // InternalRos.g:4799:1: rule__TopicSpec__Group__3 : rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ; + // InternalRos.g:4961:1: rule__TopicSpec__Group__3 : rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ; public final void rule__TopicSpec__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4803:1: ( rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ) - // InternalRos.g:4804:2: rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 + // InternalRos.g:4965:1: ( rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ) + // InternalRos.g:4966:2: rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 { pushFollow(FOLLOW_23); rule__TopicSpec__Group__3__Impl(); @@ -14922,17 +15424,17 @@ public final void rule__TopicSpec__Group__3() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group__3__Impl" - // InternalRos.g:4811:1: rule__TopicSpec__Group__3__Impl : ( '{' ) ; + // InternalRos.g:4973:1: rule__TopicSpec__Group__3__Impl : ( '{' ) ; public final void rule__TopicSpec__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4815:1: ( ( '{' ) ) - // InternalRos.g:4816:1: ( '{' ) + // InternalRos.g:4977:1: ( ( '{' ) ) + // InternalRos.g:4978:1: ( '{' ) { - // InternalRos.g:4816:1: ( '{' ) - // InternalRos.g:4817:2: '{' + // InternalRos.g:4978:1: ( '{' ) + // InternalRos.g:4979:2: '{' { before(grammarAccess.getTopicSpecAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -14959,14 +15461,14 @@ public final void rule__TopicSpec__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__TopicSpec__Group__4" - // InternalRos.g:4826:1: rule__TopicSpec__Group__4 : rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ; + // InternalRos.g:4988:1: rule__TopicSpec__Group__4 : rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ; public final void rule__TopicSpec__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4830:1: ( rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ) - // InternalRos.g:4831:2: rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 + // InternalRos.g:4992:1: ( rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ) + // InternalRos.g:4993:2: rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 { pushFollow(FOLLOW_23); rule__TopicSpec__Group__4__Impl(); @@ -14997,29 +15499,29 @@ public final void rule__TopicSpec__Group__4() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group__4__Impl" - // InternalRos.g:4838:1: rule__TopicSpec__Group__4__Impl : ( ( rule__TopicSpec__Group_4__0 )? ) ; + // InternalRos.g:5000:1: rule__TopicSpec__Group__4__Impl : ( ( rule__TopicSpec__Group_4__0 )? ) ; public final void rule__TopicSpec__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4842:1: ( ( ( rule__TopicSpec__Group_4__0 )? ) ) - // InternalRos.g:4843:1: ( ( rule__TopicSpec__Group_4__0 )? ) + // InternalRos.g:5004:1: ( ( ( rule__TopicSpec__Group_4__0 )? ) ) + // InternalRos.g:5005:1: ( ( rule__TopicSpec__Group_4__0 )? ) { - // InternalRos.g:4843:1: ( ( rule__TopicSpec__Group_4__0 )? ) - // InternalRos.g:4844:2: ( rule__TopicSpec__Group_4__0 )? + // InternalRos.g:5005:1: ( ( rule__TopicSpec__Group_4__0 )? ) + // InternalRos.g:5006:2: ( rule__TopicSpec__Group_4__0 )? { before(grammarAccess.getTopicSpecAccess().getGroup_4()); - // InternalRos.g:4845:2: ( rule__TopicSpec__Group_4__0 )? - int alt28=2; - int LA28_0 = input.LA(1); + // InternalRos.g:5007:2: ( rule__TopicSpec__Group_4__0 )? + int alt30=2; + int LA30_0 = input.LA(1); - if ( (LA28_0==30) ) { - alt28=1; + if ( (LA30_0==30) ) { + alt30=1; } - switch (alt28) { + switch (alt30) { case 1 : - // InternalRos.g:4845:3: rule__TopicSpec__Group_4__0 + // InternalRos.g:5007:3: rule__TopicSpec__Group_4__0 { pushFollow(FOLLOW_2); rule__TopicSpec__Group_4__0(); @@ -15055,14 +15557,14 @@ public final void rule__TopicSpec__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__TopicSpec__Group__5" - // InternalRos.g:4853:1: rule__TopicSpec__Group__5 : rule__TopicSpec__Group__5__Impl ; + // InternalRos.g:5015:1: rule__TopicSpec__Group__5 : rule__TopicSpec__Group__5__Impl ; public final void rule__TopicSpec__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4857:1: ( rule__TopicSpec__Group__5__Impl ) - // InternalRos.g:4858:2: rule__TopicSpec__Group__5__Impl + // InternalRos.g:5019:1: ( rule__TopicSpec__Group__5__Impl ) + // InternalRos.g:5020:2: rule__TopicSpec__Group__5__Impl { pushFollow(FOLLOW_2); rule__TopicSpec__Group__5__Impl(); @@ -15088,17 +15590,17 @@ public final void rule__TopicSpec__Group__5() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group__5__Impl" - // InternalRos.g:4864:1: rule__TopicSpec__Group__5__Impl : ( '}' ) ; + // InternalRos.g:5026:1: rule__TopicSpec__Group__5__Impl : ( '}' ) ; public final void rule__TopicSpec__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4868:1: ( ( '}' ) ) - // InternalRos.g:4869:1: ( '}' ) + // InternalRos.g:5030:1: ( ( '}' ) ) + // InternalRos.g:5031:1: ( '}' ) { - // InternalRos.g:4869:1: ( '}' ) - // InternalRos.g:4870:2: '}' + // InternalRos.g:5031:1: ( '}' ) + // InternalRos.g:5032:2: '}' { before(grammarAccess.getTopicSpecAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -15125,14 +15627,14 @@ public final void rule__TopicSpec__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__TopicSpec__Group_4__0" - // InternalRos.g:4880:1: rule__TopicSpec__Group_4__0 : rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ; + // InternalRos.g:5042:1: rule__TopicSpec__Group_4__0 : rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ; public final void rule__TopicSpec__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4884:1: ( rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ) - // InternalRos.g:4885:2: rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 + // InternalRos.g:5046:1: ( rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ) + // InternalRos.g:5047:2: rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 { pushFollow(FOLLOW_4); rule__TopicSpec__Group_4__0__Impl(); @@ -15163,17 +15665,17 @@ public final void rule__TopicSpec__Group_4__0() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group_4__0__Impl" - // InternalRos.g:4892:1: rule__TopicSpec__Group_4__0__Impl : ( 'message' ) ; + // InternalRos.g:5054:1: rule__TopicSpec__Group_4__0__Impl : ( 'message' ) ; public final void rule__TopicSpec__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4896:1: ( ( 'message' ) ) - // InternalRos.g:4897:1: ( 'message' ) + // InternalRos.g:5058:1: ( ( 'message' ) ) + // InternalRos.g:5059:1: ( 'message' ) { - // InternalRos.g:4897:1: ( 'message' ) - // InternalRos.g:4898:2: 'message' + // InternalRos.g:5059:1: ( 'message' ) + // InternalRos.g:5060:2: 'message' { before(grammarAccess.getTopicSpecAccess().getMessageKeyword_4_0()); match(input,30,FOLLOW_2); @@ -15200,14 +15702,14 @@ public final void rule__TopicSpec__Group_4__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__TopicSpec__Group_4__1" - // InternalRos.g:4907:1: rule__TopicSpec__Group_4__1 : rule__TopicSpec__Group_4__1__Impl ; + // InternalRos.g:5069:1: rule__TopicSpec__Group_4__1 : rule__TopicSpec__Group_4__1__Impl ; public final void rule__TopicSpec__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4911:1: ( rule__TopicSpec__Group_4__1__Impl ) - // InternalRos.g:4912:2: rule__TopicSpec__Group_4__1__Impl + // InternalRos.g:5073:1: ( rule__TopicSpec__Group_4__1__Impl ) + // InternalRos.g:5074:2: rule__TopicSpec__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__TopicSpec__Group_4__1__Impl(); @@ -15233,21 +15735,21 @@ public final void rule__TopicSpec__Group_4__1() throws RecognitionException { // $ANTLR start "rule__TopicSpec__Group_4__1__Impl" - // InternalRos.g:4918:1: rule__TopicSpec__Group_4__1__Impl : ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ; + // InternalRos.g:5080:1: rule__TopicSpec__Group_4__1__Impl : ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ; public final void rule__TopicSpec__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4922:1: ( ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ) - // InternalRos.g:4923:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) + // InternalRos.g:5084:1: ( ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ) + // InternalRos.g:5085:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) { - // InternalRos.g:4923:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) - // InternalRos.g:4924:2: ( rule__TopicSpec__MessageAssignment_4_1 ) + // InternalRos.g:5085:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) + // InternalRos.g:5086:2: ( rule__TopicSpec__MessageAssignment_4_1 ) { before(grammarAccess.getTopicSpecAccess().getMessageAssignment_4_1()); - // InternalRos.g:4925:2: ( rule__TopicSpec__MessageAssignment_4_1 ) - // InternalRos.g:4925:3: rule__TopicSpec__MessageAssignment_4_1 + // InternalRos.g:5087:2: ( rule__TopicSpec__MessageAssignment_4_1 ) + // InternalRos.g:5087:3: rule__TopicSpec__MessageAssignment_4_1 { pushFollow(FOLLOW_2); rule__TopicSpec__MessageAssignment_4_1(); @@ -15280,14 +15782,14 @@ public final void rule__TopicSpec__Group_4__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__ActionSpec__Group__0" - // InternalRos.g:4934:1: rule__ActionSpec__Group__0 : rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ; + // InternalRos.g:5096:1: rule__ActionSpec__Group__0 : rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ; public final void rule__ActionSpec__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4938:1: ( rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ) - // InternalRos.g:4939:2: rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 + // InternalRos.g:5100:1: ( rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ) + // InternalRos.g:5101:2: rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 { pushFollow(FOLLOW_12); rule__ActionSpec__Group__0__Impl(); @@ -15318,21 +15820,21 @@ public final void rule__ActionSpec__Group__0() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__0__Impl" - // InternalRos.g:4946:1: rule__ActionSpec__Group__0__Impl : ( () ) ; + // InternalRos.g:5108:1: rule__ActionSpec__Group__0__Impl : ( () ) ; public final void rule__ActionSpec__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4950:1: ( ( () ) ) - // InternalRos.g:4951:1: ( () ) + // InternalRos.g:5112:1: ( ( () ) ) + // InternalRos.g:5113:1: ( () ) { - // InternalRos.g:4951:1: ( () ) - // InternalRos.g:4952:2: () + // InternalRos.g:5113:1: ( () ) + // InternalRos.g:5114:2: () { before(grammarAccess.getActionSpecAccess().getActionSpecAction_0()); - // InternalRos.g:4953:2: () - // InternalRos.g:4953:3: + // InternalRos.g:5115:2: () + // InternalRos.g:5115:3: { } @@ -15355,14 +15857,14 @@ public final void rule__ActionSpec__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__1" - // InternalRos.g:4961:1: rule__ActionSpec__Group__1 : rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ; + // InternalRos.g:5123:1: rule__ActionSpec__Group__1 : rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ; public final void rule__ActionSpec__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4965:1: ( rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ) - // InternalRos.g:4966:2: rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 + // InternalRos.g:5127:1: ( rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ) + // InternalRos.g:5128:2: rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 { pushFollow(FOLLOW_10); rule__ActionSpec__Group__1__Impl(); @@ -15393,20 +15895,20 @@ public final void rule__ActionSpec__Group__1() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__1__Impl" - // InternalRos.g:4973:1: rule__ActionSpec__Group__1__Impl : ( 'ActionSpec' ) ; + // InternalRos.g:5135:1: rule__ActionSpec__Group__1__Impl : ( 'ActionSpec' ) ; public final void rule__ActionSpec__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4977:1: ( ( 'ActionSpec' ) ) - // InternalRos.g:4978:1: ( 'ActionSpec' ) + // InternalRos.g:5139:1: ( ( 'ActionSpec' ) ) + // InternalRos.g:5140:1: ( 'ActionSpec' ) { - // InternalRos.g:4978:1: ( 'ActionSpec' ) - // InternalRos.g:4979:2: 'ActionSpec' + // InternalRos.g:5140:1: ( 'ActionSpec' ) + // InternalRos.g:5141:2: 'ActionSpec' { before(grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); - match(input,53,FOLLOW_2); + match(input,54,FOLLOW_2); after(grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); } @@ -15430,14 +15932,14 @@ public final void rule__ActionSpec__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__2" - // InternalRos.g:4988:1: rule__ActionSpec__Group__2 : rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ; + // InternalRos.g:5150:1: rule__ActionSpec__Group__2 : rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ; public final void rule__ActionSpec__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4992:1: ( rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ) - // InternalRos.g:4993:2: rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 + // InternalRos.g:5154:1: ( rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ) + // InternalRos.g:5155:2: rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 { pushFollow(FOLLOW_4); rule__ActionSpec__Group__2__Impl(); @@ -15468,21 +15970,21 @@ public final void rule__ActionSpec__Group__2() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__2__Impl" - // InternalRos.g:5000:1: rule__ActionSpec__Group__2__Impl : ( ( rule__ActionSpec__NameAssignment_2 ) ) ; + // InternalRos.g:5162:1: rule__ActionSpec__Group__2__Impl : ( ( rule__ActionSpec__NameAssignment_2 ) ) ; public final void rule__ActionSpec__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5004:1: ( ( ( rule__ActionSpec__NameAssignment_2 ) ) ) - // InternalRos.g:5005:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) + // InternalRos.g:5166:1: ( ( ( rule__ActionSpec__NameAssignment_2 ) ) ) + // InternalRos.g:5167:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) { - // InternalRos.g:5005:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) - // InternalRos.g:5006:2: ( rule__ActionSpec__NameAssignment_2 ) + // InternalRos.g:5167:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) + // InternalRos.g:5168:2: ( rule__ActionSpec__NameAssignment_2 ) { before(grammarAccess.getActionSpecAccess().getNameAssignment_2()); - // InternalRos.g:5007:2: ( rule__ActionSpec__NameAssignment_2 ) - // InternalRos.g:5007:3: rule__ActionSpec__NameAssignment_2 + // InternalRos.g:5169:2: ( rule__ActionSpec__NameAssignment_2 ) + // InternalRos.g:5169:3: rule__ActionSpec__NameAssignment_2 { pushFollow(FOLLOW_2); rule__ActionSpec__NameAssignment_2(); @@ -15515,14 +16017,14 @@ public final void rule__ActionSpec__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__3" - // InternalRos.g:5015:1: rule__ActionSpec__Group__3 : rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ; + // InternalRos.g:5177:1: rule__ActionSpec__Group__3 : rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ; public final void rule__ActionSpec__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5019:1: ( rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ) - // InternalRos.g:5020:2: rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 + // InternalRos.g:5181:1: ( rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ) + // InternalRos.g:5182:2: rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 { pushFollow(FOLLOW_24); rule__ActionSpec__Group__3__Impl(); @@ -15553,17 +16055,17 @@ public final void rule__ActionSpec__Group__3() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__3__Impl" - // InternalRos.g:5027:1: rule__ActionSpec__Group__3__Impl : ( '{' ) ; + // InternalRos.g:5189:1: rule__ActionSpec__Group__3__Impl : ( '{' ) ; public final void rule__ActionSpec__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5031:1: ( ( '{' ) ) - // InternalRos.g:5032:1: ( '{' ) + // InternalRos.g:5193:1: ( ( '{' ) ) + // InternalRos.g:5194:1: ( '{' ) { - // InternalRos.g:5032:1: ( '{' ) - // InternalRos.g:5033:2: '{' + // InternalRos.g:5194:1: ( '{' ) + // InternalRos.g:5195:2: '{' { before(grammarAccess.getActionSpecAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -15590,14 +16092,14 @@ public final void rule__ActionSpec__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__4" - // InternalRos.g:5042:1: rule__ActionSpec__Group__4 : rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ; + // InternalRos.g:5204:1: rule__ActionSpec__Group__4 : rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ; public final void rule__ActionSpec__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5046:1: ( rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ) - // InternalRos.g:5047:2: rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 + // InternalRos.g:5208:1: ( rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ) + // InternalRos.g:5209:2: rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 { pushFollow(FOLLOW_24); rule__ActionSpec__Group__4__Impl(); @@ -15628,29 +16130,29 @@ public final void rule__ActionSpec__Group__4() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__4__Impl" - // InternalRos.g:5054:1: rule__ActionSpec__Group__4__Impl : ( ( rule__ActionSpec__Group_4__0 )? ) ; + // InternalRos.g:5216:1: rule__ActionSpec__Group__4__Impl : ( ( rule__ActionSpec__Group_4__0 )? ) ; public final void rule__ActionSpec__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5058:1: ( ( ( rule__ActionSpec__Group_4__0 )? ) ) - // InternalRos.g:5059:1: ( ( rule__ActionSpec__Group_4__0 )? ) + // InternalRos.g:5220:1: ( ( ( rule__ActionSpec__Group_4__0 )? ) ) + // InternalRos.g:5221:1: ( ( rule__ActionSpec__Group_4__0 )? ) { - // InternalRos.g:5059:1: ( ( rule__ActionSpec__Group_4__0 )? ) - // InternalRos.g:5060:2: ( rule__ActionSpec__Group_4__0 )? + // InternalRos.g:5221:1: ( ( rule__ActionSpec__Group_4__0 )? ) + // InternalRos.g:5222:2: ( rule__ActionSpec__Group_4__0 )? { before(grammarAccess.getActionSpecAccess().getGroup_4()); - // InternalRos.g:5061:2: ( rule__ActionSpec__Group_4__0 )? - int alt29=2; - int LA29_0 = input.LA(1); + // InternalRos.g:5223:2: ( rule__ActionSpec__Group_4__0 )? + int alt31=2; + int LA31_0 = input.LA(1); - if ( (LA29_0==29) ) { - alt29=1; + if ( (LA31_0==29) ) { + alt31=1; } - switch (alt29) { + switch (alt31) { case 1 : - // InternalRos.g:5061:3: rule__ActionSpec__Group_4__0 + // InternalRos.g:5223:3: rule__ActionSpec__Group_4__0 { pushFollow(FOLLOW_2); rule__ActionSpec__Group_4__0(); @@ -15686,14 +16188,14 @@ public final void rule__ActionSpec__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__5" - // InternalRos.g:5069:1: rule__ActionSpec__Group__5 : rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ; + // InternalRos.g:5231:1: rule__ActionSpec__Group__5 : rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ; public final void rule__ActionSpec__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5073:1: ( rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ) - // InternalRos.g:5074:2: rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 + // InternalRos.g:5235:1: ( rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ) + // InternalRos.g:5236:2: rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 { pushFollow(FOLLOW_24); rule__ActionSpec__Group__5__Impl(); @@ -15724,29 +16226,29 @@ public final void rule__ActionSpec__Group__5() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__5__Impl" - // InternalRos.g:5081:1: rule__ActionSpec__Group__5__Impl : ( ( rule__ActionSpec__Group_5__0 )? ) ; + // InternalRos.g:5243:1: rule__ActionSpec__Group__5__Impl : ( ( rule__ActionSpec__Group_5__0 )? ) ; public final void rule__ActionSpec__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5085:1: ( ( ( rule__ActionSpec__Group_5__0 )? ) ) - // InternalRos.g:5086:1: ( ( rule__ActionSpec__Group_5__0 )? ) + // InternalRos.g:5247:1: ( ( ( rule__ActionSpec__Group_5__0 )? ) ) + // InternalRos.g:5248:1: ( ( rule__ActionSpec__Group_5__0 )? ) { - // InternalRos.g:5086:1: ( ( rule__ActionSpec__Group_5__0 )? ) - // InternalRos.g:5087:2: ( rule__ActionSpec__Group_5__0 )? + // InternalRos.g:5248:1: ( ( rule__ActionSpec__Group_5__0 )? ) + // InternalRos.g:5249:2: ( rule__ActionSpec__Group_5__0 )? { before(grammarAccess.getActionSpecAccess().getGroup_5()); - // InternalRos.g:5088:2: ( rule__ActionSpec__Group_5__0 )? - int alt30=2; - int LA30_0 = input.LA(1); + // InternalRos.g:5250:2: ( rule__ActionSpec__Group_5__0 )? + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA30_0==31) ) { - alt30=1; + if ( (LA32_0==31) ) { + alt32=1; } - switch (alt30) { + switch (alt32) { case 1 : - // InternalRos.g:5088:3: rule__ActionSpec__Group_5__0 + // InternalRos.g:5250:3: rule__ActionSpec__Group_5__0 { pushFollow(FOLLOW_2); rule__ActionSpec__Group_5__0(); @@ -15782,14 +16284,14 @@ public final void rule__ActionSpec__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__6" - // InternalRos.g:5096:1: rule__ActionSpec__Group__6 : rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ; + // InternalRos.g:5258:1: rule__ActionSpec__Group__6 : rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ; public final void rule__ActionSpec__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5100:1: ( rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ) - // InternalRos.g:5101:2: rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 + // InternalRos.g:5262:1: ( rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ) + // InternalRos.g:5263:2: rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 { pushFollow(FOLLOW_24); rule__ActionSpec__Group__6__Impl(); @@ -15820,29 +16322,29 @@ public final void rule__ActionSpec__Group__6() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__6__Impl" - // InternalRos.g:5108:1: rule__ActionSpec__Group__6__Impl : ( ( rule__ActionSpec__Group_6__0 )? ) ; + // InternalRos.g:5270:1: rule__ActionSpec__Group__6__Impl : ( ( rule__ActionSpec__Group_6__0 )? ) ; public final void rule__ActionSpec__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5112:1: ( ( ( rule__ActionSpec__Group_6__0 )? ) ) - // InternalRos.g:5113:1: ( ( rule__ActionSpec__Group_6__0 )? ) + // InternalRos.g:5274:1: ( ( ( rule__ActionSpec__Group_6__0 )? ) ) + // InternalRos.g:5275:1: ( ( rule__ActionSpec__Group_6__0 )? ) { - // InternalRos.g:5113:1: ( ( rule__ActionSpec__Group_6__0 )? ) - // InternalRos.g:5114:2: ( rule__ActionSpec__Group_6__0 )? + // InternalRos.g:5275:1: ( ( rule__ActionSpec__Group_6__0 )? ) + // InternalRos.g:5276:2: ( rule__ActionSpec__Group_6__0 )? { before(grammarAccess.getActionSpecAccess().getGroup_6()); - // InternalRos.g:5115:2: ( rule__ActionSpec__Group_6__0 )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalRos.g:5277:2: ( rule__ActionSpec__Group_6__0 )? + int alt33=2; + int LA33_0 = input.LA(1); - if ( (LA31_0==32) ) { - alt31=1; + if ( (LA33_0==32) ) { + alt33=1; } - switch (alt31) { + switch (alt33) { case 1 : - // InternalRos.g:5115:3: rule__ActionSpec__Group_6__0 + // InternalRos.g:5277:3: rule__ActionSpec__Group_6__0 { pushFollow(FOLLOW_2); rule__ActionSpec__Group_6__0(); @@ -15878,14 +16380,14 @@ public final void rule__ActionSpec__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__7" - // InternalRos.g:5123:1: rule__ActionSpec__Group__7 : rule__ActionSpec__Group__7__Impl ; + // InternalRos.g:5285:1: rule__ActionSpec__Group__7 : rule__ActionSpec__Group__7__Impl ; public final void rule__ActionSpec__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5127:1: ( rule__ActionSpec__Group__7__Impl ) - // InternalRos.g:5128:2: rule__ActionSpec__Group__7__Impl + // InternalRos.g:5289:1: ( rule__ActionSpec__Group__7__Impl ) + // InternalRos.g:5290:2: rule__ActionSpec__Group__7__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group__7__Impl(); @@ -15911,17 +16413,17 @@ public final void rule__ActionSpec__Group__7() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__7__Impl" - // InternalRos.g:5134:1: rule__ActionSpec__Group__7__Impl : ( '}' ) ; + // InternalRos.g:5296:1: rule__ActionSpec__Group__7__Impl : ( '}' ) ; public final void rule__ActionSpec__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5138:1: ( ( '}' ) ) - // InternalRos.g:5139:1: ( '}' ) + // InternalRos.g:5300:1: ( ( '}' ) ) + // InternalRos.g:5301:1: ( '}' ) { - // InternalRos.g:5139:1: ( '}' ) - // InternalRos.g:5140:2: '}' + // InternalRos.g:5301:1: ( '}' ) + // InternalRos.g:5302:2: '}' { before(grammarAccess.getActionSpecAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -15948,14 +16450,14 @@ public final void rule__ActionSpec__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group_4__0" - // InternalRos.g:5150:1: rule__ActionSpec__Group_4__0 : rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ; + // InternalRos.g:5312:1: rule__ActionSpec__Group_4__0 : rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ; public final void rule__ActionSpec__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5154:1: ( rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ) - // InternalRos.g:5155:2: rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 + // InternalRos.g:5316:1: ( rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ) + // InternalRos.g:5317:2: rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 { pushFollow(FOLLOW_4); rule__ActionSpec__Group_4__0__Impl(); @@ -15986,17 +16488,17 @@ public final void rule__ActionSpec__Group_4__0() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_4__0__Impl" - // InternalRos.g:5162:1: rule__ActionSpec__Group_4__0__Impl : ( 'goal' ) ; + // InternalRos.g:5324:1: rule__ActionSpec__Group_4__0__Impl : ( 'goal' ) ; public final void rule__ActionSpec__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5166:1: ( ( 'goal' ) ) - // InternalRos.g:5167:1: ( 'goal' ) + // InternalRos.g:5328:1: ( ( 'goal' ) ) + // InternalRos.g:5329:1: ( 'goal' ) { - // InternalRos.g:5167:1: ( 'goal' ) - // InternalRos.g:5168:2: 'goal' + // InternalRos.g:5329:1: ( 'goal' ) + // InternalRos.g:5330:2: 'goal' { before(grammarAccess.getActionSpecAccess().getGoalKeyword_4_0()); match(input,29,FOLLOW_2); @@ -16023,14 +16525,14 @@ public final void rule__ActionSpec__Group_4__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_4__1" - // InternalRos.g:5177:1: rule__ActionSpec__Group_4__1 : rule__ActionSpec__Group_4__1__Impl ; + // InternalRos.g:5339:1: rule__ActionSpec__Group_4__1 : rule__ActionSpec__Group_4__1__Impl ; public final void rule__ActionSpec__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5181:1: ( rule__ActionSpec__Group_4__1__Impl ) - // InternalRos.g:5182:2: rule__ActionSpec__Group_4__1__Impl + // InternalRos.g:5343:1: ( rule__ActionSpec__Group_4__1__Impl ) + // InternalRos.g:5344:2: rule__ActionSpec__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group_4__1__Impl(); @@ -16056,21 +16558,21 @@ public final void rule__ActionSpec__Group_4__1() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_4__1__Impl" - // InternalRos.g:5188:1: rule__ActionSpec__Group_4__1__Impl : ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ; + // InternalRos.g:5350:1: rule__ActionSpec__Group_4__1__Impl : ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ; public final void rule__ActionSpec__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5192:1: ( ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ) - // InternalRos.g:5193:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) + // InternalRos.g:5354:1: ( ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ) + // InternalRos.g:5355:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) { - // InternalRos.g:5193:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) - // InternalRos.g:5194:2: ( rule__ActionSpec__GoalAssignment_4_1 ) + // InternalRos.g:5355:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) + // InternalRos.g:5356:2: ( rule__ActionSpec__GoalAssignment_4_1 ) { before(grammarAccess.getActionSpecAccess().getGoalAssignment_4_1()); - // InternalRos.g:5195:2: ( rule__ActionSpec__GoalAssignment_4_1 ) - // InternalRos.g:5195:3: rule__ActionSpec__GoalAssignment_4_1 + // InternalRos.g:5357:2: ( rule__ActionSpec__GoalAssignment_4_1 ) + // InternalRos.g:5357:3: rule__ActionSpec__GoalAssignment_4_1 { pushFollow(FOLLOW_2); rule__ActionSpec__GoalAssignment_4_1(); @@ -16103,14 +16605,14 @@ public final void rule__ActionSpec__Group_4__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_5__0" - // InternalRos.g:5204:1: rule__ActionSpec__Group_5__0 : rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ; + // InternalRos.g:5366:1: rule__ActionSpec__Group_5__0 : rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ; public final void rule__ActionSpec__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5208:1: ( rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ) - // InternalRos.g:5209:2: rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 + // InternalRos.g:5370:1: ( rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ) + // InternalRos.g:5371:2: rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 { pushFollow(FOLLOW_4); rule__ActionSpec__Group_5__0__Impl(); @@ -16141,17 +16643,17 @@ public final void rule__ActionSpec__Group_5__0() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_5__0__Impl" - // InternalRos.g:5216:1: rule__ActionSpec__Group_5__0__Impl : ( 'result' ) ; + // InternalRos.g:5378:1: rule__ActionSpec__Group_5__0__Impl : ( 'result' ) ; public final void rule__ActionSpec__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5220:1: ( ( 'result' ) ) - // InternalRos.g:5221:1: ( 'result' ) + // InternalRos.g:5382:1: ( ( 'result' ) ) + // InternalRos.g:5383:1: ( 'result' ) { - // InternalRos.g:5221:1: ( 'result' ) - // InternalRos.g:5222:2: 'result' + // InternalRos.g:5383:1: ( 'result' ) + // InternalRos.g:5384:2: 'result' { before(grammarAccess.getActionSpecAccess().getResultKeyword_5_0()); match(input,31,FOLLOW_2); @@ -16178,14 +16680,14 @@ public final void rule__ActionSpec__Group_5__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_5__1" - // InternalRos.g:5231:1: rule__ActionSpec__Group_5__1 : rule__ActionSpec__Group_5__1__Impl ; + // InternalRos.g:5393:1: rule__ActionSpec__Group_5__1 : rule__ActionSpec__Group_5__1__Impl ; public final void rule__ActionSpec__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5235:1: ( rule__ActionSpec__Group_5__1__Impl ) - // InternalRos.g:5236:2: rule__ActionSpec__Group_5__1__Impl + // InternalRos.g:5397:1: ( rule__ActionSpec__Group_5__1__Impl ) + // InternalRos.g:5398:2: rule__ActionSpec__Group_5__1__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group_5__1__Impl(); @@ -16211,21 +16713,21 @@ public final void rule__ActionSpec__Group_5__1() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_5__1__Impl" - // InternalRos.g:5242:1: rule__ActionSpec__Group_5__1__Impl : ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ; + // InternalRos.g:5404:1: rule__ActionSpec__Group_5__1__Impl : ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ; public final void rule__ActionSpec__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5246:1: ( ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ) - // InternalRos.g:5247:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) + // InternalRos.g:5408:1: ( ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ) + // InternalRos.g:5409:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) { - // InternalRos.g:5247:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) - // InternalRos.g:5248:2: ( rule__ActionSpec__ResultAssignment_5_1 ) + // InternalRos.g:5409:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) + // InternalRos.g:5410:2: ( rule__ActionSpec__ResultAssignment_5_1 ) { before(grammarAccess.getActionSpecAccess().getResultAssignment_5_1()); - // InternalRos.g:5249:2: ( rule__ActionSpec__ResultAssignment_5_1 ) - // InternalRos.g:5249:3: rule__ActionSpec__ResultAssignment_5_1 + // InternalRos.g:5411:2: ( rule__ActionSpec__ResultAssignment_5_1 ) + // InternalRos.g:5411:3: rule__ActionSpec__ResultAssignment_5_1 { pushFollow(FOLLOW_2); rule__ActionSpec__ResultAssignment_5_1(); @@ -16258,14 +16760,14 @@ public final void rule__ActionSpec__Group_5__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_6__0" - // InternalRos.g:5258:1: rule__ActionSpec__Group_6__0 : rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ; + // InternalRos.g:5420:1: rule__ActionSpec__Group_6__0 : rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ; public final void rule__ActionSpec__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5262:1: ( rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ) - // InternalRos.g:5263:2: rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 + // InternalRos.g:5424:1: ( rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ) + // InternalRos.g:5425:2: rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 { pushFollow(FOLLOW_4); rule__ActionSpec__Group_6__0__Impl(); @@ -16296,17 +16798,17 @@ public final void rule__ActionSpec__Group_6__0() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_6__0__Impl" - // InternalRos.g:5270:1: rule__ActionSpec__Group_6__0__Impl : ( 'feedback' ) ; + // InternalRos.g:5432:1: rule__ActionSpec__Group_6__0__Impl : ( 'feedback' ) ; public final void rule__ActionSpec__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5274:1: ( ( 'feedback' ) ) - // InternalRos.g:5275:1: ( 'feedback' ) + // InternalRos.g:5436:1: ( ( 'feedback' ) ) + // InternalRos.g:5437:1: ( 'feedback' ) { - // InternalRos.g:5275:1: ( 'feedback' ) - // InternalRos.g:5276:2: 'feedback' + // InternalRos.g:5437:1: ( 'feedback' ) + // InternalRos.g:5438:2: 'feedback' { before(grammarAccess.getActionSpecAccess().getFeedbackKeyword_6_0()); match(input,32,FOLLOW_2); @@ -16333,14 +16835,14 @@ public final void rule__ActionSpec__Group_6__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_6__1" - // InternalRos.g:5285:1: rule__ActionSpec__Group_6__1 : rule__ActionSpec__Group_6__1__Impl ; + // InternalRos.g:5447:1: rule__ActionSpec__Group_6__1 : rule__ActionSpec__Group_6__1__Impl ; public final void rule__ActionSpec__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5289:1: ( rule__ActionSpec__Group_6__1__Impl ) - // InternalRos.g:5290:2: rule__ActionSpec__Group_6__1__Impl + // InternalRos.g:5451:1: ( rule__ActionSpec__Group_6__1__Impl ) + // InternalRos.g:5452:2: rule__ActionSpec__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group_6__1__Impl(); @@ -16366,21 +16868,21 @@ public final void rule__ActionSpec__Group_6__1() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_6__1__Impl" - // InternalRos.g:5296:1: rule__ActionSpec__Group_6__1__Impl : ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ; + // InternalRos.g:5458:1: rule__ActionSpec__Group_6__1__Impl : ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ; public final void rule__ActionSpec__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5300:1: ( ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ) - // InternalRos.g:5301:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) + // InternalRos.g:5462:1: ( ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ) + // InternalRos.g:5463:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) { - // InternalRos.g:5301:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) - // InternalRos.g:5302:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) + // InternalRos.g:5463:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) + // InternalRos.g:5464:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) { before(grammarAccess.getActionSpecAccess().getFeedbackAssignment_6_1()); - // InternalRos.g:5303:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) - // InternalRos.g:5303:3: rule__ActionSpec__FeedbackAssignment_6_1 + // InternalRos.g:5465:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) + // InternalRos.g:5465:3: rule__ActionSpec__FeedbackAssignment_6_1 { pushFollow(FOLLOW_2); rule__ActionSpec__FeedbackAssignment_6_1(); @@ -16413,14 +16915,14 @@ public final void rule__ActionSpec__Group_6__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__MessageDefinition__Group__0" - // InternalRos.g:5312:1: rule__MessageDefinition__Group__0 : rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ; + // InternalRos.g:5474:1: rule__MessageDefinition__Group__0 : rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ; public final void rule__MessageDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5316:1: ( rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ) - // InternalRos.g:5317:2: rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 + // InternalRos.g:5478:1: ( rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ) + // InternalRos.g:5479:2: rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 { pushFollow(FOLLOW_4); rule__MessageDefinition__Group__0__Impl(); @@ -16451,21 +16953,21 @@ public final void rule__MessageDefinition__Group__0() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__0__Impl" - // InternalRos.g:5324:1: rule__MessageDefinition__Group__0__Impl : ( () ) ; + // InternalRos.g:5486:1: rule__MessageDefinition__Group__0__Impl : ( () ) ; public final void rule__MessageDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5328:1: ( ( () ) ) - // InternalRos.g:5329:1: ( () ) + // InternalRos.g:5490:1: ( ( () ) ) + // InternalRos.g:5491:1: ( () ) { - // InternalRos.g:5329:1: ( () ) - // InternalRos.g:5330:2: () + // InternalRos.g:5491:1: ( () ) + // InternalRos.g:5492:2: () { before(grammarAccess.getMessageDefinitionAccess().getMessageDefinitionAction_0()); - // InternalRos.g:5331:2: () - // InternalRos.g:5331:3: + // InternalRos.g:5493:2: () + // InternalRos.g:5493:3: { } @@ -16488,14 +16990,14 @@ public final void rule__MessageDefinition__Group__0__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group__1" - // InternalRos.g:5339:1: rule__MessageDefinition__Group__1 : rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ; + // InternalRos.g:5501:1: rule__MessageDefinition__Group__1 : rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ; public final void rule__MessageDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5343:1: ( rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ) - // InternalRos.g:5344:2: rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 + // InternalRos.g:5505:1: ( rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ) + // InternalRos.g:5506:2: rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 { pushFollow(FOLLOW_25); rule__MessageDefinition__Group__1__Impl(); @@ -16526,17 +17028,17 @@ public final void rule__MessageDefinition__Group__1() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__1__Impl" - // InternalRos.g:5351:1: rule__MessageDefinition__Group__1__Impl : ( '{' ) ; + // InternalRos.g:5513:1: rule__MessageDefinition__Group__1__Impl : ( '{' ) ; public final void rule__MessageDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5355:1: ( ( '{' ) ) - // InternalRos.g:5356:1: ( '{' ) + // InternalRos.g:5517:1: ( ( '{' ) ) + // InternalRos.g:5518:1: ( '{' ) { - // InternalRos.g:5356:1: ( '{' ) - // InternalRos.g:5357:2: '{' + // InternalRos.g:5518:1: ( '{' ) + // InternalRos.g:5519:2: '{' { before(grammarAccess.getMessageDefinitionAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -16563,14 +17065,14 @@ public final void rule__MessageDefinition__Group__1__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group__2" - // InternalRos.g:5366:1: rule__MessageDefinition__Group__2 : rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ; + // InternalRos.g:5528:1: rule__MessageDefinition__Group__2 : rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ; public final void rule__MessageDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5370:1: ( rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ) - // InternalRos.g:5371:2: rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 + // InternalRos.g:5532:1: ( rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ) + // InternalRos.g:5533:2: rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 { pushFollow(FOLLOW_25); rule__MessageDefinition__Group__2__Impl(); @@ -16601,29 +17103,29 @@ public final void rule__MessageDefinition__Group__2() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__2__Impl" - // InternalRos.g:5378:1: rule__MessageDefinition__Group__2__Impl : ( ( rule__MessageDefinition__Group_2__0 )? ) ; + // InternalRos.g:5540:1: rule__MessageDefinition__Group__2__Impl : ( ( rule__MessageDefinition__Group_2__0 )? ) ; public final void rule__MessageDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5382:1: ( ( ( rule__MessageDefinition__Group_2__0 )? ) ) - // InternalRos.g:5383:1: ( ( rule__MessageDefinition__Group_2__0 )? ) + // InternalRos.g:5544:1: ( ( ( rule__MessageDefinition__Group_2__0 )? ) ) + // InternalRos.g:5545:1: ( ( rule__MessageDefinition__Group_2__0 )? ) { - // InternalRos.g:5383:1: ( ( rule__MessageDefinition__Group_2__0 )? ) - // InternalRos.g:5384:2: ( rule__MessageDefinition__Group_2__0 )? + // InternalRos.g:5545:1: ( ( rule__MessageDefinition__Group_2__0 )? ) + // InternalRos.g:5546:2: ( rule__MessageDefinition__Group_2__0 )? { before(grammarAccess.getMessageDefinitionAccess().getGroup_2()); - // InternalRos.g:5385:2: ( rule__MessageDefinition__Group_2__0 )? - int alt32=2; - int LA32_0 = input.LA(1); + // InternalRos.g:5547:2: ( rule__MessageDefinition__Group_2__0 )? + int alt34=2; + int LA34_0 = input.LA(1); - if ( ((LA32_0>=RULE_STRING && LA32_0<=RULE_ID)||LA32_0==27||(LA32_0>=38 && LA32_0<=39)||(LA32_0>=86 && LA32_0<=111)) ) { - alt32=1; + if ( ((LA34_0>=RULE_STRING && LA34_0<=RULE_ID)||LA34_0==27||(LA34_0>=38 && LA34_0<=39)||(LA34_0>=86 && LA34_0<=111)) ) { + alt34=1; } - switch (alt32) { + switch (alt34) { case 1 : - // InternalRos.g:5385:3: rule__MessageDefinition__Group_2__0 + // InternalRos.g:5547:3: rule__MessageDefinition__Group_2__0 { pushFollow(FOLLOW_2); rule__MessageDefinition__Group_2__0(); @@ -16659,14 +17161,14 @@ public final void rule__MessageDefinition__Group__2__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group__3" - // InternalRos.g:5393:1: rule__MessageDefinition__Group__3 : rule__MessageDefinition__Group__3__Impl ; + // InternalRos.g:5555:1: rule__MessageDefinition__Group__3 : rule__MessageDefinition__Group__3__Impl ; public final void rule__MessageDefinition__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5397:1: ( rule__MessageDefinition__Group__3__Impl ) - // InternalRos.g:5398:2: rule__MessageDefinition__Group__3__Impl + // InternalRos.g:5559:1: ( rule__MessageDefinition__Group__3__Impl ) + // InternalRos.g:5560:2: rule__MessageDefinition__Group__3__Impl { pushFollow(FOLLOW_2); rule__MessageDefinition__Group__3__Impl(); @@ -16692,17 +17194,17 @@ public final void rule__MessageDefinition__Group__3() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__3__Impl" - // InternalRos.g:5404:1: rule__MessageDefinition__Group__3__Impl : ( '}' ) ; + // InternalRos.g:5566:1: rule__MessageDefinition__Group__3__Impl : ( '}' ) ; public final void rule__MessageDefinition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5408:1: ( ( '}' ) ) - // InternalRos.g:5409:1: ( '}' ) + // InternalRos.g:5570:1: ( ( '}' ) ) + // InternalRos.g:5571:1: ( '}' ) { - // InternalRos.g:5409:1: ( '}' ) - // InternalRos.g:5410:2: '}' + // InternalRos.g:5571:1: ( '}' ) + // InternalRos.g:5572:2: '}' { before(grammarAccess.getMessageDefinitionAccess().getRightCurlyBracketKeyword_3()); match(input,42,FOLLOW_2); @@ -16729,14 +17231,14 @@ public final void rule__MessageDefinition__Group__3__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group_2__0" - // InternalRos.g:5420:1: rule__MessageDefinition__Group_2__0 : rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ; + // InternalRos.g:5582:1: rule__MessageDefinition__Group_2__0 : rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ; public final void rule__MessageDefinition__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5424:1: ( rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ) - // InternalRos.g:5425:2: rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 + // InternalRos.g:5586:1: ( rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ) + // InternalRos.g:5587:2: rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 { pushFollow(FOLLOW_26); rule__MessageDefinition__Group_2__0__Impl(); @@ -16767,21 +17269,21 @@ public final void rule__MessageDefinition__Group_2__0() throws RecognitionExcept // $ANTLR start "rule__MessageDefinition__Group_2__0__Impl" - // InternalRos.g:5432:1: rule__MessageDefinition__Group_2__0__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ; + // InternalRos.g:5594:1: rule__MessageDefinition__Group_2__0__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ; public final void rule__MessageDefinition__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5436:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ) - // InternalRos.g:5437:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) + // InternalRos.g:5598:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ) + // InternalRos.g:5599:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) { - // InternalRos.g:5437:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) - // InternalRos.g:5438:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) + // InternalRos.g:5599:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) + // InternalRos.g:5600:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) { before(grammarAccess.getMessageDefinitionAccess().getMessagePartAssignment_2_0()); - // InternalRos.g:5439:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) - // InternalRos.g:5439:3: rule__MessageDefinition__MessagePartAssignment_2_0 + // InternalRos.g:5601:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) + // InternalRos.g:5601:3: rule__MessageDefinition__MessagePartAssignment_2_0 { pushFollow(FOLLOW_2); rule__MessageDefinition__MessagePartAssignment_2_0(); @@ -16814,14 +17316,14 @@ public final void rule__MessageDefinition__Group_2__0__Impl() throws Recognition // $ANTLR start "rule__MessageDefinition__Group_2__1" - // InternalRos.g:5447:1: rule__MessageDefinition__Group_2__1 : rule__MessageDefinition__Group_2__1__Impl ; + // InternalRos.g:5609:1: rule__MessageDefinition__Group_2__1 : rule__MessageDefinition__Group_2__1__Impl ; public final void rule__MessageDefinition__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5451:1: ( rule__MessageDefinition__Group_2__1__Impl ) - // InternalRos.g:5452:2: rule__MessageDefinition__Group_2__1__Impl + // InternalRos.g:5613:1: ( rule__MessageDefinition__Group_2__1__Impl ) + // InternalRos.g:5614:2: rule__MessageDefinition__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__MessageDefinition__Group_2__1__Impl(); @@ -16847,33 +17349,33 @@ public final void rule__MessageDefinition__Group_2__1() throws RecognitionExcept // $ANTLR start "rule__MessageDefinition__Group_2__1__Impl" - // InternalRos.g:5458:1: rule__MessageDefinition__Group_2__1__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ; + // InternalRos.g:5620:1: rule__MessageDefinition__Group_2__1__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ; public final void rule__MessageDefinition__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5462:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ) - // InternalRos.g:5463:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) + // InternalRos.g:5624:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ) + // InternalRos.g:5625:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) { - // InternalRos.g:5463:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) - // InternalRos.g:5464:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* + // InternalRos.g:5625:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) + // InternalRos.g:5626:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* { before(grammarAccess.getMessageDefinitionAccess().getMessagePartAssignment_2_1()); - // InternalRos.g:5465:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* - loop33: + // InternalRos.g:5627:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* + loop35: do { - int alt33=2; - int LA33_0 = input.LA(1); + int alt35=2; + int LA35_0 = input.LA(1); - if ( ((LA33_0>=RULE_STRING && LA33_0<=RULE_ID)||LA33_0==27||(LA33_0>=38 && LA33_0<=39)||(LA33_0>=86 && LA33_0<=111)) ) { - alt33=1; + if ( ((LA35_0>=RULE_STRING && LA35_0<=RULE_ID)||LA35_0==27||(LA35_0>=38 && LA35_0<=39)||(LA35_0>=86 && LA35_0<=111)) ) { + alt35=1; } - switch (alt33) { + switch (alt35) { case 1 : - // InternalRos.g:5465:3: rule__MessageDefinition__MessagePartAssignment_2_1 + // InternalRos.g:5627:3: rule__MessageDefinition__MessagePartAssignment_2_1 { pushFollow(FOLLOW_27); rule__MessageDefinition__MessagePartAssignment_2_1(); @@ -16885,7 +17387,7 @@ public final void rule__MessageDefinition__Group_2__1__Impl() throws Recognition break; default : - break loop33; + break loop35; } } while (true); @@ -16912,14 +17414,14 @@ public final void rule__MessageDefinition__Group_2__1__Impl() throws Recognition // $ANTLR start "rule__Node__Group__0" - // InternalRos.g:5474:1: rule__Node__Group__0 : rule__Node__Group__0__Impl rule__Node__Group__1 ; + // InternalRos.g:5636:1: rule__Node__Group__0 : rule__Node__Group__0__Impl rule__Node__Group__1 ; public final void rule__Node__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5478:1: ( rule__Node__Group__0__Impl rule__Node__Group__1 ) - // InternalRos.g:5479:2: rule__Node__Group__0__Impl rule__Node__Group__1 + // InternalRos.g:5640:1: ( rule__Node__Group__0__Impl rule__Node__Group__1 ) + // InternalRos.g:5641:2: rule__Node__Group__0__Impl rule__Node__Group__1 { pushFollow(FOLLOW_4); rule__Node__Group__0__Impl(); @@ -16950,20 +17452,20 @@ public final void rule__Node__Group__0() throws RecognitionException { // $ANTLR start "rule__Node__Group__0__Impl" - // InternalRos.g:5486:1: rule__Node__Group__0__Impl : ( 'Node' ) ; + // InternalRos.g:5648:1: rule__Node__Group__0__Impl : ( 'Node' ) ; public final void rule__Node__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5490:1: ( ( 'Node' ) ) - // InternalRos.g:5491:1: ( 'Node' ) + // InternalRos.g:5652:1: ( ( 'Node' ) ) + // InternalRos.g:5653:1: ( 'Node' ) { - // InternalRos.g:5491:1: ( 'Node' ) - // InternalRos.g:5492:2: 'Node' + // InternalRos.g:5653:1: ( 'Node' ) + // InternalRos.g:5654:2: 'Node' { before(grammarAccess.getNodeAccess().getNodeKeyword_0()); - match(input,54,FOLLOW_2); + match(input,55,FOLLOW_2); after(grammarAccess.getNodeAccess().getNodeKeyword_0()); } @@ -16987,14 +17489,14 @@ public final void rule__Node__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__1" - // InternalRos.g:5501:1: rule__Node__Group__1 : rule__Node__Group__1__Impl rule__Node__Group__2 ; + // InternalRos.g:5663:1: rule__Node__Group__1 : rule__Node__Group__1__Impl rule__Node__Group__2 ; public final void rule__Node__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5505:1: ( rule__Node__Group__1__Impl rule__Node__Group__2 ) - // InternalRos.g:5506:2: rule__Node__Group__1__Impl rule__Node__Group__2 + // InternalRos.g:5667:1: ( rule__Node__Group__1__Impl rule__Node__Group__2 ) + // InternalRos.g:5668:2: rule__Node__Group__1__Impl rule__Node__Group__2 { pushFollow(FOLLOW_28); rule__Node__Group__1__Impl(); @@ -17025,17 +17527,17 @@ public final void rule__Node__Group__1() throws RecognitionException { // $ANTLR start "rule__Node__Group__1__Impl" - // InternalRos.g:5513:1: rule__Node__Group__1__Impl : ( '{' ) ; + // InternalRos.g:5675:1: rule__Node__Group__1__Impl : ( '{' ) ; public final void rule__Node__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5517:1: ( ( '{' ) ) - // InternalRos.g:5518:1: ( '{' ) + // InternalRos.g:5679:1: ( ( '{' ) ) + // InternalRos.g:5680:1: ( '{' ) { - // InternalRos.g:5518:1: ( '{' ) - // InternalRos.g:5519:2: '{' + // InternalRos.g:5680:1: ( '{' ) + // InternalRos.g:5681:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -17062,14 +17564,14 @@ public final void rule__Node__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__2" - // InternalRos.g:5528:1: rule__Node__Group__2 : rule__Node__Group__2__Impl rule__Node__Group__3 ; + // InternalRos.g:5690:1: rule__Node__Group__2 : rule__Node__Group__2__Impl rule__Node__Group__3 ; public final void rule__Node__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5532:1: ( rule__Node__Group__2__Impl rule__Node__Group__3 ) - // InternalRos.g:5533:2: rule__Node__Group__2__Impl rule__Node__Group__3 + // InternalRos.g:5694:1: ( rule__Node__Group__2__Impl rule__Node__Group__3 ) + // InternalRos.g:5695:2: rule__Node__Group__2__Impl rule__Node__Group__3 { pushFollow(FOLLOW_15); rule__Node__Group__2__Impl(); @@ -17100,17 +17602,17 @@ public final void rule__Node__Group__2() throws RecognitionException { // $ANTLR start "rule__Node__Group__2__Impl" - // InternalRos.g:5540:1: rule__Node__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:5702:1: rule__Node__Group__2__Impl : ( 'name' ) ; public final void rule__Node__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5544:1: ( ( 'name' ) ) - // InternalRos.g:5545:1: ( 'name' ) + // InternalRos.g:5706:1: ( ( 'name' ) ) + // InternalRos.g:5707:1: ( 'name' ) { - // InternalRos.g:5545:1: ( 'name' ) - // InternalRos.g:5546:2: 'name' + // InternalRos.g:5707:1: ( 'name' ) + // InternalRos.g:5708:2: 'name' { before(grammarAccess.getNodeAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -17137,14 +17639,14 @@ public final void rule__Node__Group__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__3" - // InternalRos.g:5555:1: rule__Node__Group__3 : rule__Node__Group__3__Impl rule__Node__Group__4 ; + // InternalRos.g:5717:1: rule__Node__Group__3 : rule__Node__Group__3__Impl rule__Node__Group__4 ; public final void rule__Node__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5559:1: ( rule__Node__Group__3__Impl rule__Node__Group__4 ) - // InternalRos.g:5560:2: rule__Node__Group__3__Impl rule__Node__Group__4 + // InternalRos.g:5721:1: ( rule__Node__Group__3__Impl rule__Node__Group__4 ) + // InternalRos.g:5722:2: rule__Node__Group__3__Impl rule__Node__Group__4 { pushFollow(FOLLOW_29); rule__Node__Group__3__Impl(); @@ -17175,21 +17677,21 @@ public final void rule__Node__Group__3() throws RecognitionException { // $ANTLR start "rule__Node__Group__3__Impl" - // InternalRos.g:5567:1: rule__Node__Group__3__Impl : ( ( rule__Node__NameAssignment_3 ) ) ; + // InternalRos.g:5729:1: rule__Node__Group__3__Impl : ( ( rule__Node__NameAssignment_3 ) ) ; public final void rule__Node__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5571:1: ( ( ( rule__Node__NameAssignment_3 ) ) ) - // InternalRos.g:5572:1: ( ( rule__Node__NameAssignment_3 ) ) + // InternalRos.g:5733:1: ( ( ( rule__Node__NameAssignment_3 ) ) ) + // InternalRos.g:5734:1: ( ( rule__Node__NameAssignment_3 ) ) { - // InternalRos.g:5572:1: ( ( rule__Node__NameAssignment_3 ) ) - // InternalRos.g:5573:2: ( rule__Node__NameAssignment_3 ) + // InternalRos.g:5734:1: ( ( rule__Node__NameAssignment_3 ) ) + // InternalRos.g:5735:2: ( rule__Node__NameAssignment_3 ) { before(grammarAccess.getNodeAccess().getNameAssignment_3()); - // InternalRos.g:5574:2: ( rule__Node__NameAssignment_3 ) - // InternalRos.g:5574:3: rule__Node__NameAssignment_3 + // InternalRos.g:5736:2: ( rule__Node__NameAssignment_3 ) + // InternalRos.g:5736:3: rule__Node__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Node__NameAssignment_3(); @@ -17222,14 +17724,14 @@ public final void rule__Node__Group__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__4" - // InternalRos.g:5582:1: rule__Node__Group__4 : rule__Node__Group__4__Impl rule__Node__Group__5 ; + // InternalRos.g:5744:1: rule__Node__Group__4 : rule__Node__Group__4__Impl rule__Node__Group__5 ; public final void rule__Node__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5586:1: ( rule__Node__Group__4__Impl rule__Node__Group__5 ) - // InternalRos.g:5587:2: rule__Node__Group__4__Impl rule__Node__Group__5 + // InternalRos.g:5748:1: ( rule__Node__Group__4__Impl rule__Node__Group__5 ) + // InternalRos.g:5749:2: rule__Node__Group__4__Impl rule__Node__Group__5 { pushFollow(FOLLOW_29); rule__Node__Group__4__Impl(); @@ -17260,29 +17762,29 @@ public final void rule__Node__Group__4() throws RecognitionException { // $ANTLR start "rule__Node__Group__4__Impl" - // InternalRos.g:5594:1: rule__Node__Group__4__Impl : ( ( rule__Node__Group_4__0 )? ) ; + // InternalRos.g:5756:1: rule__Node__Group__4__Impl : ( ( rule__Node__Group_4__0 )? ) ; public final void rule__Node__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5598:1: ( ( ( rule__Node__Group_4__0 )? ) ) - // InternalRos.g:5599:1: ( ( rule__Node__Group_4__0 )? ) + // InternalRos.g:5760:1: ( ( ( rule__Node__Group_4__0 )? ) ) + // InternalRos.g:5761:1: ( ( rule__Node__Group_4__0 )? ) { - // InternalRos.g:5599:1: ( ( rule__Node__Group_4__0 )? ) - // InternalRos.g:5600:2: ( rule__Node__Group_4__0 )? + // InternalRos.g:5761:1: ( ( rule__Node__Group_4__0 )? ) + // InternalRos.g:5762:2: ( rule__Node__Group_4__0 )? { before(grammarAccess.getNodeAccess().getGroup_4()); - // InternalRos.g:5601:2: ( rule__Node__Group_4__0 )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalRos.g:5763:2: ( rule__Node__Group_4__0 )? + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA34_0==55) ) { - alt34=1; + if ( (LA36_0==56) ) { + alt36=1; } - switch (alt34) { + switch (alt36) { case 1 : - // InternalRos.g:5601:3: rule__Node__Group_4__0 + // InternalRos.g:5763:3: rule__Node__Group_4__0 { pushFollow(FOLLOW_2); rule__Node__Group_4__0(); @@ -17318,14 +17820,14 @@ public final void rule__Node__Group__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__5" - // InternalRos.g:5609:1: rule__Node__Group__5 : rule__Node__Group__5__Impl rule__Node__Group__6 ; + // InternalRos.g:5771:1: rule__Node__Group__5 : rule__Node__Group__5__Impl rule__Node__Group__6 ; public final void rule__Node__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5613:1: ( rule__Node__Group__5__Impl rule__Node__Group__6 ) - // InternalRos.g:5614:2: rule__Node__Group__5__Impl rule__Node__Group__6 + // InternalRos.g:5775:1: ( rule__Node__Group__5__Impl rule__Node__Group__6 ) + // InternalRos.g:5776:2: rule__Node__Group__5__Impl rule__Node__Group__6 { pushFollow(FOLLOW_29); rule__Node__Group__5__Impl(); @@ -17356,29 +17858,29 @@ public final void rule__Node__Group__5() throws RecognitionException { // $ANTLR start "rule__Node__Group__5__Impl" - // InternalRos.g:5621:1: rule__Node__Group__5__Impl : ( ( rule__Node__Group_5__0 )? ) ; + // InternalRos.g:5783:1: rule__Node__Group__5__Impl : ( ( rule__Node__Group_5__0 )? ) ; public final void rule__Node__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5625:1: ( ( ( rule__Node__Group_5__0 )? ) ) - // InternalRos.g:5626:1: ( ( rule__Node__Group_5__0 )? ) + // InternalRos.g:5787:1: ( ( ( rule__Node__Group_5__0 )? ) ) + // InternalRos.g:5788:1: ( ( rule__Node__Group_5__0 )? ) { - // InternalRos.g:5626:1: ( ( rule__Node__Group_5__0 )? ) - // InternalRos.g:5627:2: ( rule__Node__Group_5__0 )? + // InternalRos.g:5788:1: ( ( rule__Node__Group_5__0 )? ) + // InternalRos.g:5789:2: ( rule__Node__Group_5__0 )? { before(grammarAccess.getNodeAccess().getGroup_5()); - // InternalRos.g:5628:2: ( rule__Node__Group_5__0 )? - int alt35=2; - int LA35_0 = input.LA(1); + // InternalRos.g:5790:2: ( rule__Node__Group_5__0 )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA35_0==56) ) { - alt35=1; + if ( (LA37_0==57) ) { + alt37=1; } - switch (alt35) { + switch (alt37) { case 1 : - // InternalRos.g:5628:3: rule__Node__Group_5__0 + // InternalRos.g:5790:3: rule__Node__Group_5__0 { pushFollow(FOLLOW_2); rule__Node__Group_5__0(); @@ -17414,14 +17916,14 @@ public final void rule__Node__Group__5__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__6" - // InternalRos.g:5636:1: rule__Node__Group__6 : rule__Node__Group__6__Impl rule__Node__Group__7 ; + // InternalRos.g:5798:1: rule__Node__Group__6 : rule__Node__Group__6__Impl rule__Node__Group__7 ; public final void rule__Node__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5640:1: ( rule__Node__Group__6__Impl rule__Node__Group__7 ) - // InternalRos.g:5641:2: rule__Node__Group__6__Impl rule__Node__Group__7 + // InternalRos.g:5802:1: ( rule__Node__Group__6__Impl rule__Node__Group__7 ) + // InternalRos.g:5803:2: rule__Node__Group__6__Impl rule__Node__Group__7 { pushFollow(FOLLOW_29); rule__Node__Group__6__Impl(); @@ -17452,29 +17954,29 @@ public final void rule__Node__Group__6() throws RecognitionException { // $ANTLR start "rule__Node__Group__6__Impl" - // InternalRos.g:5648:1: rule__Node__Group__6__Impl : ( ( rule__Node__Group_6__0 )? ) ; + // InternalRos.g:5810:1: rule__Node__Group__6__Impl : ( ( rule__Node__Group_6__0 )? ) ; public final void rule__Node__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5652:1: ( ( ( rule__Node__Group_6__0 )? ) ) - // InternalRos.g:5653:1: ( ( rule__Node__Group_6__0 )? ) + // InternalRos.g:5814:1: ( ( ( rule__Node__Group_6__0 )? ) ) + // InternalRos.g:5815:1: ( ( rule__Node__Group_6__0 )? ) { - // InternalRos.g:5653:1: ( ( rule__Node__Group_6__0 )? ) - // InternalRos.g:5654:2: ( rule__Node__Group_6__0 )? + // InternalRos.g:5815:1: ( ( rule__Node__Group_6__0 )? ) + // InternalRos.g:5816:2: ( rule__Node__Group_6__0 )? { before(grammarAccess.getNodeAccess().getGroup_6()); - // InternalRos.g:5655:2: ( rule__Node__Group_6__0 )? - int alt36=2; - int LA36_0 = input.LA(1); + // InternalRos.g:5817:2: ( rule__Node__Group_6__0 )? + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA36_0==57) ) { - alt36=1; + if ( (LA38_0==58) ) { + alt38=1; } - switch (alt36) { + switch (alt38) { case 1 : - // InternalRos.g:5655:3: rule__Node__Group_6__0 + // InternalRos.g:5817:3: rule__Node__Group_6__0 { pushFollow(FOLLOW_2); rule__Node__Group_6__0(); @@ -17510,14 +18012,14 @@ public final void rule__Node__Group__6__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__7" - // InternalRos.g:5663:1: rule__Node__Group__7 : rule__Node__Group__7__Impl rule__Node__Group__8 ; + // InternalRos.g:5825:1: rule__Node__Group__7 : rule__Node__Group__7__Impl rule__Node__Group__8 ; public final void rule__Node__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5667:1: ( rule__Node__Group__7__Impl rule__Node__Group__8 ) - // InternalRos.g:5668:2: rule__Node__Group__7__Impl rule__Node__Group__8 + // InternalRos.g:5829:1: ( rule__Node__Group__7__Impl rule__Node__Group__8 ) + // InternalRos.g:5830:2: rule__Node__Group__7__Impl rule__Node__Group__8 { pushFollow(FOLLOW_29); rule__Node__Group__7__Impl(); @@ -17548,29 +18050,29 @@ public final void rule__Node__Group__7() throws RecognitionException { // $ANTLR start "rule__Node__Group__7__Impl" - // InternalRos.g:5675:1: rule__Node__Group__7__Impl : ( ( rule__Node__Group_7__0 )? ) ; + // InternalRos.g:5837:1: rule__Node__Group__7__Impl : ( ( rule__Node__Group_7__0 )? ) ; public final void rule__Node__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5679:1: ( ( ( rule__Node__Group_7__0 )? ) ) - // InternalRos.g:5680:1: ( ( rule__Node__Group_7__0 )? ) + // InternalRos.g:5841:1: ( ( ( rule__Node__Group_7__0 )? ) ) + // InternalRos.g:5842:1: ( ( rule__Node__Group_7__0 )? ) { - // InternalRos.g:5680:1: ( ( rule__Node__Group_7__0 )? ) - // InternalRos.g:5681:2: ( rule__Node__Group_7__0 )? + // InternalRos.g:5842:1: ( ( rule__Node__Group_7__0 )? ) + // InternalRos.g:5843:2: ( rule__Node__Group_7__0 )? { before(grammarAccess.getNodeAccess().getGroup_7()); - // InternalRos.g:5682:2: ( rule__Node__Group_7__0 )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalRos.g:5844:2: ( rule__Node__Group_7__0 )? + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA37_0==58) ) { - alt37=1; + if ( (LA39_0==59) ) { + alt39=1; } - switch (alt37) { + switch (alt39) { case 1 : - // InternalRos.g:5682:3: rule__Node__Group_7__0 + // InternalRos.g:5844:3: rule__Node__Group_7__0 { pushFollow(FOLLOW_2); rule__Node__Group_7__0(); @@ -17606,14 +18108,14 @@ public final void rule__Node__Group__7__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__8" - // InternalRos.g:5690:1: rule__Node__Group__8 : rule__Node__Group__8__Impl rule__Node__Group__9 ; + // InternalRos.g:5852:1: rule__Node__Group__8 : rule__Node__Group__8__Impl rule__Node__Group__9 ; public final void rule__Node__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5694:1: ( rule__Node__Group__8__Impl rule__Node__Group__9 ) - // InternalRos.g:5695:2: rule__Node__Group__8__Impl rule__Node__Group__9 + // InternalRos.g:5856:1: ( rule__Node__Group__8__Impl rule__Node__Group__9 ) + // InternalRos.g:5857:2: rule__Node__Group__8__Impl rule__Node__Group__9 { pushFollow(FOLLOW_29); rule__Node__Group__8__Impl(); @@ -17644,29 +18146,29 @@ public final void rule__Node__Group__8() throws RecognitionException { // $ANTLR start "rule__Node__Group__8__Impl" - // InternalRos.g:5702:1: rule__Node__Group__8__Impl : ( ( rule__Node__Group_8__0 )? ) ; + // InternalRos.g:5864:1: rule__Node__Group__8__Impl : ( ( rule__Node__Group_8__0 )? ) ; public final void rule__Node__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5706:1: ( ( ( rule__Node__Group_8__0 )? ) ) - // InternalRos.g:5707:1: ( ( rule__Node__Group_8__0 )? ) + // InternalRos.g:5868:1: ( ( ( rule__Node__Group_8__0 )? ) ) + // InternalRos.g:5869:1: ( ( rule__Node__Group_8__0 )? ) { - // InternalRos.g:5707:1: ( ( rule__Node__Group_8__0 )? ) - // InternalRos.g:5708:2: ( rule__Node__Group_8__0 )? + // InternalRos.g:5869:1: ( ( rule__Node__Group_8__0 )? ) + // InternalRos.g:5870:2: ( rule__Node__Group_8__0 )? { before(grammarAccess.getNodeAccess().getGroup_8()); - // InternalRos.g:5709:2: ( rule__Node__Group_8__0 )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalRos.g:5871:2: ( rule__Node__Group_8__0 )? + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA38_0==59) ) { - alt38=1; + if ( (LA40_0==60) ) { + alt40=1; } - switch (alt38) { + switch (alt40) { case 1 : - // InternalRos.g:5709:3: rule__Node__Group_8__0 + // InternalRos.g:5871:3: rule__Node__Group_8__0 { pushFollow(FOLLOW_2); rule__Node__Group_8__0(); @@ -17702,14 +18204,14 @@ public final void rule__Node__Group__8__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__9" - // InternalRos.g:5717:1: rule__Node__Group__9 : rule__Node__Group__9__Impl rule__Node__Group__10 ; + // InternalRos.g:5879:1: rule__Node__Group__9 : rule__Node__Group__9__Impl rule__Node__Group__10 ; public final void rule__Node__Group__9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5721:1: ( rule__Node__Group__9__Impl rule__Node__Group__10 ) - // InternalRos.g:5722:2: rule__Node__Group__9__Impl rule__Node__Group__10 + // InternalRos.g:5883:1: ( rule__Node__Group__9__Impl rule__Node__Group__10 ) + // InternalRos.g:5884:2: rule__Node__Group__9__Impl rule__Node__Group__10 { pushFollow(FOLLOW_29); rule__Node__Group__9__Impl(); @@ -17740,29 +18242,29 @@ public final void rule__Node__Group__9() throws RecognitionException { // $ANTLR start "rule__Node__Group__9__Impl" - // InternalRos.g:5729:1: rule__Node__Group__9__Impl : ( ( rule__Node__Group_9__0 )? ) ; + // InternalRos.g:5891:1: rule__Node__Group__9__Impl : ( ( rule__Node__Group_9__0 )? ) ; public final void rule__Node__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5733:1: ( ( ( rule__Node__Group_9__0 )? ) ) - // InternalRos.g:5734:1: ( ( rule__Node__Group_9__0 )? ) + // InternalRos.g:5895:1: ( ( ( rule__Node__Group_9__0 )? ) ) + // InternalRos.g:5896:1: ( ( rule__Node__Group_9__0 )? ) { - // InternalRos.g:5734:1: ( ( rule__Node__Group_9__0 )? ) - // InternalRos.g:5735:2: ( rule__Node__Group_9__0 )? + // InternalRos.g:5896:1: ( ( rule__Node__Group_9__0 )? ) + // InternalRos.g:5897:2: ( rule__Node__Group_9__0 )? { before(grammarAccess.getNodeAccess().getGroup_9()); - // InternalRos.g:5736:2: ( rule__Node__Group_9__0 )? - int alt39=2; - int LA39_0 = input.LA(1); + // InternalRos.g:5898:2: ( rule__Node__Group_9__0 )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA39_0==60) ) { - alt39=1; + if ( (LA41_0==61) ) { + alt41=1; } - switch (alt39) { + switch (alt41) { case 1 : - // InternalRos.g:5736:3: rule__Node__Group_9__0 + // InternalRos.g:5898:3: rule__Node__Group_9__0 { pushFollow(FOLLOW_2); rule__Node__Group_9__0(); @@ -17798,14 +18300,14 @@ public final void rule__Node__Group__9__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__10" - // InternalRos.g:5744:1: rule__Node__Group__10 : rule__Node__Group__10__Impl rule__Node__Group__11 ; + // InternalRos.g:5906:1: rule__Node__Group__10 : rule__Node__Group__10__Impl rule__Node__Group__11 ; public final void rule__Node__Group__10() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5748:1: ( rule__Node__Group__10__Impl rule__Node__Group__11 ) - // InternalRos.g:5749:2: rule__Node__Group__10__Impl rule__Node__Group__11 + // InternalRos.g:5910:1: ( rule__Node__Group__10__Impl rule__Node__Group__11 ) + // InternalRos.g:5911:2: rule__Node__Group__10__Impl rule__Node__Group__11 { pushFollow(FOLLOW_29); rule__Node__Group__10__Impl(); @@ -17836,29 +18338,29 @@ public final void rule__Node__Group__10() throws RecognitionException { // $ANTLR start "rule__Node__Group__10__Impl" - // InternalRos.g:5756:1: rule__Node__Group__10__Impl : ( ( rule__Node__Group_10__0 )? ) ; + // InternalRos.g:5918:1: rule__Node__Group__10__Impl : ( ( rule__Node__Group_10__0 )? ) ; public final void rule__Node__Group__10__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5760:1: ( ( ( rule__Node__Group_10__0 )? ) ) - // InternalRos.g:5761:1: ( ( rule__Node__Group_10__0 )? ) + // InternalRos.g:5922:1: ( ( ( rule__Node__Group_10__0 )? ) ) + // InternalRos.g:5923:1: ( ( rule__Node__Group_10__0 )? ) { - // InternalRos.g:5761:1: ( ( rule__Node__Group_10__0 )? ) - // InternalRos.g:5762:2: ( rule__Node__Group_10__0 )? + // InternalRos.g:5923:1: ( ( rule__Node__Group_10__0 )? ) + // InternalRos.g:5924:2: ( rule__Node__Group_10__0 )? { before(grammarAccess.getNodeAccess().getGroup_10()); - // InternalRos.g:5763:2: ( rule__Node__Group_10__0 )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalRos.g:5925:2: ( rule__Node__Group_10__0 )? + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA40_0==61) ) { - alt40=1; + if ( (LA42_0==62) ) { + alt42=1; } - switch (alt40) { + switch (alt42) { case 1 : - // InternalRos.g:5763:3: rule__Node__Group_10__0 + // InternalRos.g:5925:3: rule__Node__Group_10__0 { pushFollow(FOLLOW_2); rule__Node__Group_10__0(); @@ -17894,14 +18396,14 @@ public final void rule__Node__Group__10__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__11" - // InternalRos.g:5771:1: rule__Node__Group__11 : rule__Node__Group__11__Impl ; + // InternalRos.g:5933:1: rule__Node__Group__11 : rule__Node__Group__11__Impl ; public final void rule__Node__Group__11() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5775:1: ( rule__Node__Group__11__Impl ) - // InternalRos.g:5776:2: rule__Node__Group__11__Impl + // InternalRos.g:5937:1: ( rule__Node__Group__11__Impl ) + // InternalRos.g:5938:2: rule__Node__Group__11__Impl { pushFollow(FOLLOW_2); rule__Node__Group__11__Impl(); @@ -17927,17 +18429,17 @@ public final void rule__Node__Group__11() throws RecognitionException { // $ANTLR start "rule__Node__Group__11__Impl" - // InternalRos.g:5782:1: rule__Node__Group__11__Impl : ( '}' ) ; + // InternalRos.g:5944:1: rule__Node__Group__11__Impl : ( '}' ) ; public final void rule__Node__Group__11__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5786:1: ( ( '}' ) ) - // InternalRos.g:5787:1: ( '}' ) + // InternalRos.g:5948:1: ( ( '}' ) ) + // InternalRos.g:5949:1: ( '}' ) { - // InternalRos.g:5787:1: ( '}' ) - // InternalRos.g:5788:2: '}' + // InternalRos.g:5949:1: ( '}' ) + // InternalRos.g:5950:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_11()); match(input,42,FOLLOW_2); @@ -17964,14 +18466,14 @@ public final void rule__Node__Group__11__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__0" - // InternalRos.g:5798:1: rule__Node__Group_4__0 : rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ; + // InternalRos.g:5960:1: rule__Node__Group_4__0 : rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ; public final void rule__Node__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5802:1: ( rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ) - // InternalRos.g:5803:2: rule__Node__Group_4__0__Impl rule__Node__Group_4__1 + // InternalRos.g:5964:1: ( rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ) + // InternalRos.g:5965:2: rule__Node__Group_4__0__Impl rule__Node__Group_4__1 { pushFollow(FOLLOW_4); rule__Node__Group_4__0__Impl(); @@ -18002,20 +18504,20 @@ public final void rule__Node__Group_4__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__0__Impl" - // InternalRos.g:5810:1: rule__Node__Group_4__0__Impl : ( 'ServiceServers' ) ; + // InternalRos.g:5972:1: rule__Node__Group_4__0__Impl : ( 'ServiceServers' ) ; public final void rule__Node__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5814:1: ( ( 'ServiceServers' ) ) - // InternalRos.g:5815:1: ( 'ServiceServers' ) + // InternalRos.g:5976:1: ( ( 'ServiceServers' ) ) + // InternalRos.g:5977:1: ( 'ServiceServers' ) { - // InternalRos.g:5815:1: ( 'ServiceServers' ) - // InternalRos.g:5816:2: 'ServiceServers' + // InternalRos.g:5977:1: ( 'ServiceServers' ) + // InternalRos.g:5978:2: 'ServiceServers' { before(grammarAccess.getNodeAccess().getServiceServersKeyword_4_0()); - match(input,55,FOLLOW_2); + match(input,56,FOLLOW_2); after(grammarAccess.getNodeAccess().getServiceServersKeyword_4_0()); } @@ -18039,14 +18541,14 @@ public final void rule__Node__Group_4__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__1" - // InternalRos.g:5825:1: rule__Node__Group_4__1 : rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ; + // InternalRos.g:5987:1: rule__Node__Group_4__1 : rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ; public final void rule__Node__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5829:1: ( rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ) - // InternalRos.g:5830:2: rule__Node__Group_4__1__Impl rule__Node__Group_4__2 + // InternalRos.g:5991:1: ( rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ) + // InternalRos.g:5992:2: rule__Node__Group_4__1__Impl rule__Node__Group_4__2 { pushFollow(FOLLOW_30); rule__Node__Group_4__1__Impl(); @@ -18077,17 +18579,17 @@ public final void rule__Node__Group_4__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__1__Impl" - // InternalRos.g:5837:1: rule__Node__Group_4__1__Impl : ( '{' ) ; + // InternalRos.g:5999:1: rule__Node__Group_4__1__Impl : ( '{' ) ; public final void rule__Node__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5841:1: ( ( '{' ) ) - // InternalRos.g:5842:1: ( '{' ) + // InternalRos.g:6003:1: ( ( '{' ) ) + // InternalRos.g:6004:1: ( '{' ) { - // InternalRos.g:5842:1: ( '{' ) - // InternalRos.g:5843:2: '{' + // InternalRos.g:6004:1: ( '{' ) + // InternalRos.g:6005:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_4_1()); match(input,41,FOLLOW_2); @@ -18114,14 +18616,14 @@ public final void rule__Node__Group_4__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__2" - // InternalRos.g:5852:1: rule__Node__Group_4__2 : rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ; + // InternalRos.g:6014:1: rule__Node__Group_4__2 : rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ; public final void rule__Node__Group_4__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5856:1: ( rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ) - // InternalRos.g:5857:2: rule__Node__Group_4__2__Impl rule__Node__Group_4__3 + // InternalRos.g:6018:1: ( rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ) + // InternalRos.g:6019:2: rule__Node__Group_4__2__Impl rule__Node__Group_4__3 { pushFollow(FOLLOW_13); rule__Node__Group_4__2__Impl(); @@ -18152,21 +18654,21 @@ public final void rule__Node__Group_4__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__2__Impl" - // InternalRos.g:5864:1: rule__Node__Group_4__2__Impl : ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ; + // InternalRos.g:6026:1: rule__Node__Group_4__2__Impl : ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ; public final void rule__Node__Group_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5868:1: ( ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ) - // InternalRos.g:5869:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) + // InternalRos.g:6030:1: ( ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ) + // InternalRos.g:6031:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) { - // InternalRos.g:5869:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) - // InternalRos.g:5870:2: ( rule__Node__ServiceserverAssignment_4_2 ) + // InternalRos.g:6031:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) + // InternalRos.g:6032:2: ( rule__Node__ServiceserverAssignment_4_2 ) { before(grammarAccess.getNodeAccess().getServiceserverAssignment_4_2()); - // InternalRos.g:5871:2: ( rule__Node__ServiceserverAssignment_4_2 ) - // InternalRos.g:5871:3: rule__Node__ServiceserverAssignment_4_2 + // InternalRos.g:6033:2: ( rule__Node__ServiceserverAssignment_4_2 ) + // InternalRos.g:6033:3: rule__Node__ServiceserverAssignment_4_2 { pushFollow(FOLLOW_2); rule__Node__ServiceserverAssignment_4_2(); @@ -18199,14 +18701,14 @@ public final void rule__Node__Group_4__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__3" - // InternalRos.g:5879:1: rule__Node__Group_4__3 : rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ; + // InternalRos.g:6041:1: rule__Node__Group_4__3 : rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ; public final void rule__Node__Group_4__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5883:1: ( rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ) - // InternalRos.g:5884:2: rule__Node__Group_4__3__Impl rule__Node__Group_4__4 + // InternalRos.g:6045:1: ( rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ) + // InternalRos.g:6046:2: rule__Node__Group_4__3__Impl rule__Node__Group_4__4 { pushFollow(FOLLOW_13); rule__Node__Group_4__3__Impl(); @@ -18237,33 +18739,33 @@ public final void rule__Node__Group_4__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__3__Impl" - // InternalRos.g:5891:1: rule__Node__Group_4__3__Impl : ( ( rule__Node__Group_4_3__0 )* ) ; + // InternalRos.g:6053:1: rule__Node__Group_4__3__Impl : ( ( rule__Node__Group_4_3__0 )* ) ; public final void rule__Node__Group_4__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5895:1: ( ( ( rule__Node__Group_4_3__0 )* ) ) - // InternalRos.g:5896:1: ( ( rule__Node__Group_4_3__0 )* ) + // InternalRos.g:6057:1: ( ( ( rule__Node__Group_4_3__0 )* ) ) + // InternalRos.g:6058:1: ( ( rule__Node__Group_4_3__0 )* ) { - // InternalRos.g:5896:1: ( ( rule__Node__Group_4_3__0 )* ) - // InternalRos.g:5897:2: ( rule__Node__Group_4_3__0 )* + // InternalRos.g:6058:1: ( ( rule__Node__Group_4_3__0 )* ) + // InternalRos.g:6059:2: ( rule__Node__Group_4_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_4_3()); - // InternalRos.g:5898:2: ( rule__Node__Group_4_3__0 )* - loop41: + // InternalRos.g:6060:2: ( rule__Node__Group_4_3__0 )* + loop43: do { - int alt41=2; - int LA41_0 = input.LA(1); + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA41_0==43) ) { - alt41=1; + if ( (LA43_0==43) ) { + alt43=1; } - switch (alt41) { + switch (alt43) { case 1 : - // InternalRos.g:5898:3: rule__Node__Group_4_3__0 + // InternalRos.g:6060:3: rule__Node__Group_4_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_4_3__0(); @@ -18275,7 +18777,7 @@ public final void rule__Node__Group_4__3__Impl() throws RecognitionException { break; default : - break loop41; + break loop43; } } while (true); @@ -18302,14 +18804,14 @@ public final void rule__Node__Group_4__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__4" - // InternalRos.g:5906:1: rule__Node__Group_4__4 : rule__Node__Group_4__4__Impl ; + // InternalRos.g:6068:1: rule__Node__Group_4__4 : rule__Node__Group_4__4__Impl ; public final void rule__Node__Group_4__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5910:1: ( rule__Node__Group_4__4__Impl ) - // InternalRos.g:5911:2: rule__Node__Group_4__4__Impl + // InternalRos.g:6072:1: ( rule__Node__Group_4__4__Impl ) + // InternalRos.g:6073:2: rule__Node__Group_4__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_4__4__Impl(); @@ -18335,17 +18837,17 @@ public final void rule__Node__Group_4__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__4__Impl" - // InternalRos.g:5917:1: rule__Node__Group_4__4__Impl : ( '}' ) ; + // InternalRos.g:6079:1: rule__Node__Group_4__4__Impl : ( '}' ) ; public final void rule__Node__Group_4__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5921:1: ( ( '}' ) ) - // InternalRos.g:5922:1: ( '}' ) + // InternalRos.g:6083:1: ( ( '}' ) ) + // InternalRos.g:6084:1: ( '}' ) { - // InternalRos.g:5922:1: ( '}' ) - // InternalRos.g:5923:2: '}' + // InternalRos.g:6084:1: ( '}' ) + // InternalRos.g:6085:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_4_4()); match(input,42,FOLLOW_2); @@ -18372,14 +18874,14 @@ public final void rule__Node__Group_4__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__0" - // InternalRos.g:5933:1: rule__Node__Group_4_3__0 : rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ; + // InternalRos.g:6095:1: rule__Node__Group_4_3__0 : rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ; public final void rule__Node__Group_4_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5937:1: ( rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ) - // InternalRos.g:5938:2: rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 + // InternalRos.g:6099:1: ( rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ) + // InternalRos.g:6100:2: rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 { pushFollow(FOLLOW_30); rule__Node__Group_4_3__0__Impl(); @@ -18410,17 +18912,17 @@ public final void rule__Node__Group_4_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__0__Impl" - // InternalRos.g:5945:1: rule__Node__Group_4_3__0__Impl : ( ',' ) ; + // InternalRos.g:6107:1: rule__Node__Group_4_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_4_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5949:1: ( ( ',' ) ) - // InternalRos.g:5950:1: ( ',' ) + // InternalRos.g:6111:1: ( ( ',' ) ) + // InternalRos.g:6112:1: ( ',' ) { - // InternalRos.g:5950:1: ( ',' ) - // InternalRos.g:5951:2: ',' + // InternalRos.g:6112:1: ( ',' ) + // InternalRos.g:6113:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_4_3_0()); match(input,43,FOLLOW_2); @@ -18447,14 +18949,14 @@ public final void rule__Node__Group_4_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__1" - // InternalRos.g:5960:1: rule__Node__Group_4_3__1 : rule__Node__Group_4_3__1__Impl ; + // InternalRos.g:6122:1: rule__Node__Group_4_3__1 : rule__Node__Group_4_3__1__Impl ; public final void rule__Node__Group_4_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5964:1: ( rule__Node__Group_4_3__1__Impl ) - // InternalRos.g:5965:2: rule__Node__Group_4_3__1__Impl + // InternalRos.g:6126:1: ( rule__Node__Group_4_3__1__Impl ) + // InternalRos.g:6127:2: rule__Node__Group_4_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_4_3__1__Impl(); @@ -18480,21 +18982,21 @@ public final void rule__Node__Group_4_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__1__Impl" - // InternalRos.g:5971:1: rule__Node__Group_4_3__1__Impl : ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ; + // InternalRos.g:6133:1: rule__Node__Group_4_3__1__Impl : ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ; public final void rule__Node__Group_4_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5975:1: ( ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ) - // InternalRos.g:5976:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) + // InternalRos.g:6137:1: ( ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ) + // InternalRos.g:6138:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) { - // InternalRos.g:5976:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) - // InternalRos.g:5977:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) + // InternalRos.g:6138:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) + // InternalRos.g:6139:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) { before(grammarAccess.getNodeAccess().getServiceserverAssignment_4_3_1()); - // InternalRos.g:5978:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) - // InternalRos.g:5978:3: rule__Node__ServiceserverAssignment_4_3_1 + // InternalRos.g:6140:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) + // InternalRos.g:6140:3: rule__Node__ServiceserverAssignment_4_3_1 { pushFollow(FOLLOW_2); rule__Node__ServiceserverAssignment_4_3_1(); @@ -18527,14 +19029,14 @@ public final void rule__Node__Group_4_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__0" - // InternalRos.g:5987:1: rule__Node__Group_5__0 : rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ; + // InternalRos.g:6149:1: rule__Node__Group_5__0 : rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ; public final void rule__Node__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5991:1: ( rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ) - // InternalRos.g:5992:2: rule__Node__Group_5__0__Impl rule__Node__Group_5__1 + // InternalRos.g:6153:1: ( rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ) + // InternalRos.g:6154:2: rule__Node__Group_5__0__Impl rule__Node__Group_5__1 { pushFollow(FOLLOW_4); rule__Node__Group_5__0__Impl(); @@ -18565,20 +19067,20 @@ public final void rule__Node__Group_5__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__0__Impl" - // InternalRos.g:5999:1: rule__Node__Group_5__0__Impl : ( 'Publishers' ) ; + // InternalRos.g:6161:1: rule__Node__Group_5__0__Impl : ( 'Publishers' ) ; public final void rule__Node__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6003:1: ( ( 'Publishers' ) ) - // InternalRos.g:6004:1: ( 'Publishers' ) + // InternalRos.g:6165:1: ( ( 'Publishers' ) ) + // InternalRos.g:6166:1: ( 'Publishers' ) { - // InternalRos.g:6004:1: ( 'Publishers' ) - // InternalRos.g:6005:2: 'Publishers' + // InternalRos.g:6166:1: ( 'Publishers' ) + // InternalRos.g:6167:2: 'Publishers' { before(grammarAccess.getNodeAccess().getPublishersKeyword_5_0()); - match(input,56,FOLLOW_2); + match(input,57,FOLLOW_2); after(grammarAccess.getNodeAccess().getPublishersKeyword_5_0()); } @@ -18602,14 +19104,14 @@ public final void rule__Node__Group_5__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__1" - // InternalRos.g:6014:1: rule__Node__Group_5__1 : rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ; + // InternalRos.g:6176:1: rule__Node__Group_5__1 : rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ; public final void rule__Node__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6018:1: ( rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ) - // InternalRos.g:6019:2: rule__Node__Group_5__1__Impl rule__Node__Group_5__2 + // InternalRos.g:6180:1: ( rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ) + // InternalRos.g:6181:2: rule__Node__Group_5__1__Impl rule__Node__Group_5__2 { pushFollow(FOLLOW_31); rule__Node__Group_5__1__Impl(); @@ -18640,17 +19142,17 @@ public final void rule__Node__Group_5__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__1__Impl" - // InternalRos.g:6026:1: rule__Node__Group_5__1__Impl : ( '{' ) ; + // InternalRos.g:6188:1: rule__Node__Group_5__1__Impl : ( '{' ) ; public final void rule__Node__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6030:1: ( ( '{' ) ) - // InternalRos.g:6031:1: ( '{' ) + // InternalRos.g:6192:1: ( ( '{' ) ) + // InternalRos.g:6193:1: ( '{' ) { - // InternalRos.g:6031:1: ( '{' ) - // InternalRos.g:6032:2: '{' + // InternalRos.g:6193:1: ( '{' ) + // InternalRos.g:6194:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_5_1()); match(input,41,FOLLOW_2); @@ -18677,14 +19179,14 @@ public final void rule__Node__Group_5__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__2" - // InternalRos.g:6041:1: rule__Node__Group_5__2 : rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ; + // InternalRos.g:6203:1: rule__Node__Group_5__2 : rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ; public final void rule__Node__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6045:1: ( rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ) - // InternalRos.g:6046:2: rule__Node__Group_5__2__Impl rule__Node__Group_5__3 + // InternalRos.g:6207:1: ( rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ) + // InternalRos.g:6208:2: rule__Node__Group_5__2__Impl rule__Node__Group_5__3 { pushFollow(FOLLOW_13); rule__Node__Group_5__2__Impl(); @@ -18715,21 +19217,21 @@ public final void rule__Node__Group_5__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__2__Impl" - // InternalRos.g:6053:1: rule__Node__Group_5__2__Impl : ( ( rule__Node__PublisherAssignment_5_2 ) ) ; + // InternalRos.g:6215:1: rule__Node__Group_5__2__Impl : ( ( rule__Node__PublisherAssignment_5_2 ) ) ; public final void rule__Node__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6057:1: ( ( ( rule__Node__PublisherAssignment_5_2 ) ) ) - // InternalRos.g:6058:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) + // InternalRos.g:6219:1: ( ( ( rule__Node__PublisherAssignment_5_2 ) ) ) + // InternalRos.g:6220:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) { - // InternalRos.g:6058:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) - // InternalRos.g:6059:2: ( rule__Node__PublisherAssignment_5_2 ) + // InternalRos.g:6220:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) + // InternalRos.g:6221:2: ( rule__Node__PublisherAssignment_5_2 ) { before(grammarAccess.getNodeAccess().getPublisherAssignment_5_2()); - // InternalRos.g:6060:2: ( rule__Node__PublisherAssignment_5_2 ) - // InternalRos.g:6060:3: rule__Node__PublisherAssignment_5_2 + // InternalRos.g:6222:2: ( rule__Node__PublisherAssignment_5_2 ) + // InternalRos.g:6222:3: rule__Node__PublisherAssignment_5_2 { pushFollow(FOLLOW_2); rule__Node__PublisherAssignment_5_2(); @@ -18762,14 +19264,14 @@ public final void rule__Node__Group_5__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__3" - // InternalRos.g:6068:1: rule__Node__Group_5__3 : rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ; + // InternalRos.g:6230:1: rule__Node__Group_5__3 : rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ; public final void rule__Node__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6072:1: ( rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ) - // InternalRos.g:6073:2: rule__Node__Group_5__3__Impl rule__Node__Group_5__4 + // InternalRos.g:6234:1: ( rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ) + // InternalRos.g:6235:2: rule__Node__Group_5__3__Impl rule__Node__Group_5__4 { pushFollow(FOLLOW_13); rule__Node__Group_5__3__Impl(); @@ -18800,33 +19302,33 @@ public final void rule__Node__Group_5__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__3__Impl" - // InternalRos.g:6080:1: rule__Node__Group_5__3__Impl : ( ( rule__Node__Group_5_3__0 )* ) ; + // InternalRos.g:6242:1: rule__Node__Group_5__3__Impl : ( ( rule__Node__Group_5_3__0 )* ) ; public final void rule__Node__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6084:1: ( ( ( rule__Node__Group_5_3__0 )* ) ) - // InternalRos.g:6085:1: ( ( rule__Node__Group_5_3__0 )* ) + // InternalRos.g:6246:1: ( ( ( rule__Node__Group_5_3__0 )* ) ) + // InternalRos.g:6247:1: ( ( rule__Node__Group_5_3__0 )* ) { - // InternalRos.g:6085:1: ( ( rule__Node__Group_5_3__0 )* ) - // InternalRos.g:6086:2: ( rule__Node__Group_5_3__0 )* + // InternalRos.g:6247:1: ( ( rule__Node__Group_5_3__0 )* ) + // InternalRos.g:6248:2: ( rule__Node__Group_5_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_5_3()); - // InternalRos.g:6087:2: ( rule__Node__Group_5_3__0 )* - loop42: + // InternalRos.g:6249:2: ( rule__Node__Group_5_3__0 )* + loop44: do { - int alt42=2; - int LA42_0 = input.LA(1); + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA42_0==43) ) { - alt42=1; + if ( (LA44_0==43) ) { + alt44=1; } - switch (alt42) { + switch (alt44) { case 1 : - // InternalRos.g:6087:3: rule__Node__Group_5_3__0 + // InternalRos.g:6249:3: rule__Node__Group_5_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_5_3__0(); @@ -18838,7 +19340,7 @@ public final void rule__Node__Group_5__3__Impl() throws RecognitionException { break; default : - break loop42; + break loop44; } } while (true); @@ -18865,14 +19367,14 @@ public final void rule__Node__Group_5__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__4" - // InternalRos.g:6095:1: rule__Node__Group_5__4 : rule__Node__Group_5__4__Impl ; + // InternalRos.g:6257:1: rule__Node__Group_5__4 : rule__Node__Group_5__4__Impl ; public final void rule__Node__Group_5__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6099:1: ( rule__Node__Group_5__4__Impl ) - // InternalRos.g:6100:2: rule__Node__Group_5__4__Impl + // InternalRos.g:6261:1: ( rule__Node__Group_5__4__Impl ) + // InternalRos.g:6262:2: rule__Node__Group_5__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_5__4__Impl(); @@ -18898,17 +19400,17 @@ public final void rule__Node__Group_5__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__4__Impl" - // InternalRos.g:6106:1: rule__Node__Group_5__4__Impl : ( '}' ) ; + // InternalRos.g:6268:1: rule__Node__Group_5__4__Impl : ( '}' ) ; public final void rule__Node__Group_5__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6110:1: ( ( '}' ) ) - // InternalRos.g:6111:1: ( '}' ) + // InternalRos.g:6272:1: ( ( '}' ) ) + // InternalRos.g:6273:1: ( '}' ) { - // InternalRos.g:6111:1: ( '}' ) - // InternalRos.g:6112:2: '}' + // InternalRos.g:6273:1: ( '}' ) + // InternalRos.g:6274:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_5_4()); match(input,42,FOLLOW_2); @@ -18935,14 +19437,14 @@ public final void rule__Node__Group_5__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__0" - // InternalRos.g:6122:1: rule__Node__Group_5_3__0 : rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ; + // InternalRos.g:6284:1: rule__Node__Group_5_3__0 : rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ; public final void rule__Node__Group_5_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6126:1: ( rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ) - // InternalRos.g:6127:2: rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 + // InternalRos.g:6288:1: ( rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ) + // InternalRos.g:6289:2: rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 { pushFollow(FOLLOW_31); rule__Node__Group_5_3__0__Impl(); @@ -18973,17 +19475,17 @@ public final void rule__Node__Group_5_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__0__Impl" - // InternalRos.g:6134:1: rule__Node__Group_5_3__0__Impl : ( ',' ) ; + // InternalRos.g:6296:1: rule__Node__Group_5_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_5_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6138:1: ( ( ',' ) ) - // InternalRos.g:6139:1: ( ',' ) + // InternalRos.g:6300:1: ( ( ',' ) ) + // InternalRos.g:6301:1: ( ',' ) { - // InternalRos.g:6139:1: ( ',' ) - // InternalRos.g:6140:2: ',' + // InternalRos.g:6301:1: ( ',' ) + // InternalRos.g:6302:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_5_3_0()); match(input,43,FOLLOW_2); @@ -19010,14 +19512,14 @@ public final void rule__Node__Group_5_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__1" - // InternalRos.g:6149:1: rule__Node__Group_5_3__1 : rule__Node__Group_5_3__1__Impl ; + // InternalRos.g:6311:1: rule__Node__Group_5_3__1 : rule__Node__Group_5_3__1__Impl ; public final void rule__Node__Group_5_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6153:1: ( rule__Node__Group_5_3__1__Impl ) - // InternalRos.g:6154:2: rule__Node__Group_5_3__1__Impl + // InternalRos.g:6315:1: ( rule__Node__Group_5_3__1__Impl ) + // InternalRos.g:6316:2: rule__Node__Group_5_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_5_3__1__Impl(); @@ -19043,21 +19545,21 @@ public final void rule__Node__Group_5_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__1__Impl" - // InternalRos.g:6160:1: rule__Node__Group_5_3__1__Impl : ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ; + // InternalRos.g:6322:1: rule__Node__Group_5_3__1__Impl : ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ; public final void rule__Node__Group_5_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6164:1: ( ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ) - // InternalRos.g:6165:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) + // InternalRos.g:6326:1: ( ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ) + // InternalRos.g:6327:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) { - // InternalRos.g:6165:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) - // InternalRos.g:6166:2: ( rule__Node__PublisherAssignment_5_3_1 ) + // InternalRos.g:6327:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) + // InternalRos.g:6328:2: ( rule__Node__PublisherAssignment_5_3_1 ) { before(grammarAccess.getNodeAccess().getPublisherAssignment_5_3_1()); - // InternalRos.g:6167:2: ( rule__Node__PublisherAssignment_5_3_1 ) - // InternalRos.g:6167:3: rule__Node__PublisherAssignment_5_3_1 + // InternalRos.g:6329:2: ( rule__Node__PublisherAssignment_5_3_1 ) + // InternalRos.g:6329:3: rule__Node__PublisherAssignment_5_3_1 { pushFollow(FOLLOW_2); rule__Node__PublisherAssignment_5_3_1(); @@ -19090,14 +19592,14 @@ public final void rule__Node__Group_5_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__0" - // InternalRos.g:6176:1: rule__Node__Group_6__0 : rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ; + // InternalRos.g:6338:1: rule__Node__Group_6__0 : rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ; public final void rule__Node__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6180:1: ( rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ) - // InternalRos.g:6181:2: rule__Node__Group_6__0__Impl rule__Node__Group_6__1 + // InternalRos.g:6342:1: ( rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ) + // InternalRos.g:6343:2: rule__Node__Group_6__0__Impl rule__Node__Group_6__1 { pushFollow(FOLLOW_4); rule__Node__Group_6__0__Impl(); @@ -19128,20 +19630,20 @@ public final void rule__Node__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__0__Impl" - // InternalRos.g:6188:1: rule__Node__Group_6__0__Impl : ( 'Subscribers' ) ; + // InternalRos.g:6350:1: rule__Node__Group_6__0__Impl : ( 'Subscribers' ) ; public final void rule__Node__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6192:1: ( ( 'Subscribers' ) ) - // InternalRos.g:6193:1: ( 'Subscribers' ) + // InternalRos.g:6354:1: ( ( 'Subscribers' ) ) + // InternalRos.g:6355:1: ( 'Subscribers' ) { - // InternalRos.g:6193:1: ( 'Subscribers' ) - // InternalRos.g:6194:2: 'Subscribers' + // InternalRos.g:6355:1: ( 'Subscribers' ) + // InternalRos.g:6356:2: 'Subscribers' { before(grammarAccess.getNodeAccess().getSubscribersKeyword_6_0()); - match(input,57,FOLLOW_2); + match(input,58,FOLLOW_2); after(grammarAccess.getNodeAccess().getSubscribersKeyword_6_0()); } @@ -19165,14 +19667,14 @@ public final void rule__Node__Group_6__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__1" - // InternalRos.g:6203:1: rule__Node__Group_6__1 : rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ; + // InternalRos.g:6365:1: rule__Node__Group_6__1 : rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ; public final void rule__Node__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6207:1: ( rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ) - // InternalRos.g:6208:2: rule__Node__Group_6__1__Impl rule__Node__Group_6__2 + // InternalRos.g:6369:1: ( rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ) + // InternalRos.g:6370:2: rule__Node__Group_6__1__Impl rule__Node__Group_6__2 { pushFollow(FOLLOW_32); rule__Node__Group_6__1__Impl(); @@ -19203,17 +19705,17 @@ public final void rule__Node__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__1__Impl" - // InternalRos.g:6215:1: rule__Node__Group_6__1__Impl : ( '{' ) ; + // InternalRos.g:6377:1: rule__Node__Group_6__1__Impl : ( '{' ) ; public final void rule__Node__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6219:1: ( ( '{' ) ) - // InternalRos.g:6220:1: ( '{' ) + // InternalRos.g:6381:1: ( ( '{' ) ) + // InternalRos.g:6382:1: ( '{' ) { - // InternalRos.g:6220:1: ( '{' ) - // InternalRos.g:6221:2: '{' + // InternalRos.g:6382:1: ( '{' ) + // InternalRos.g:6383:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_6_1()); match(input,41,FOLLOW_2); @@ -19240,14 +19742,14 @@ public final void rule__Node__Group_6__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__2" - // InternalRos.g:6230:1: rule__Node__Group_6__2 : rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ; + // InternalRos.g:6392:1: rule__Node__Group_6__2 : rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ; public final void rule__Node__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6234:1: ( rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ) - // InternalRos.g:6235:2: rule__Node__Group_6__2__Impl rule__Node__Group_6__3 + // InternalRos.g:6396:1: ( rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ) + // InternalRos.g:6397:2: rule__Node__Group_6__2__Impl rule__Node__Group_6__3 { pushFollow(FOLLOW_13); rule__Node__Group_6__2__Impl(); @@ -19278,21 +19780,21 @@ public final void rule__Node__Group_6__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__2__Impl" - // InternalRos.g:6242:1: rule__Node__Group_6__2__Impl : ( ( rule__Node__SubscriberAssignment_6_2 ) ) ; + // InternalRos.g:6404:1: rule__Node__Group_6__2__Impl : ( ( rule__Node__SubscriberAssignment_6_2 ) ) ; public final void rule__Node__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6246:1: ( ( ( rule__Node__SubscriberAssignment_6_2 ) ) ) - // InternalRos.g:6247:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) + // InternalRos.g:6408:1: ( ( ( rule__Node__SubscriberAssignment_6_2 ) ) ) + // InternalRos.g:6409:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) { - // InternalRos.g:6247:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) - // InternalRos.g:6248:2: ( rule__Node__SubscriberAssignment_6_2 ) + // InternalRos.g:6409:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) + // InternalRos.g:6410:2: ( rule__Node__SubscriberAssignment_6_2 ) { before(grammarAccess.getNodeAccess().getSubscriberAssignment_6_2()); - // InternalRos.g:6249:2: ( rule__Node__SubscriberAssignment_6_2 ) - // InternalRos.g:6249:3: rule__Node__SubscriberAssignment_6_2 + // InternalRos.g:6411:2: ( rule__Node__SubscriberAssignment_6_2 ) + // InternalRos.g:6411:3: rule__Node__SubscriberAssignment_6_2 { pushFollow(FOLLOW_2); rule__Node__SubscriberAssignment_6_2(); @@ -19325,14 +19827,14 @@ public final void rule__Node__Group_6__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__3" - // InternalRos.g:6257:1: rule__Node__Group_6__3 : rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ; + // InternalRos.g:6419:1: rule__Node__Group_6__3 : rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ; public final void rule__Node__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6261:1: ( rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ) - // InternalRos.g:6262:2: rule__Node__Group_6__3__Impl rule__Node__Group_6__4 + // InternalRos.g:6423:1: ( rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ) + // InternalRos.g:6424:2: rule__Node__Group_6__3__Impl rule__Node__Group_6__4 { pushFollow(FOLLOW_13); rule__Node__Group_6__3__Impl(); @@ -19363,33 +19865,33 @@ public final void rule__Node__Group_6__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__3__Impl" - // InternalRos.g:6269:1: rule__Node__Group_6__3__Impl : ( ( rule__Node__Group_6_3__0 )* ) ; + // InternalRos.g:6431:1: rule__Node__Group_6__3__Impl : ( ( rule__Node__Group_6_3__0 )* ) ; public final void rule__Node__Group_6__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6273:1: ( ( ( rule__Node__Group_6_3__0 )* ) ) - // InternalRos.g:6274:1: ( ( rule__Node__Group_6_3__0 )* ) + // InternalRos.g:6435:1: ( ( ( rule__Node__Group_6_3__0 )* ) ) + // InternalRos.g:6436:1: ( ( rule__Node__Group_6_3__0 )* ) { - // InternalRos.g:6274:1: ( ( rule__Node__Group_6_3__0 )* ) - // InternalRos.g:6275:2: ( rule__Node__Group_6_3__0 )* + // InternalRos.g:6436:1: ( ( rule__Node__Group_6_3__0 )* ) + // InternalRos.g:6437:2: ( rule__Node__Group_6_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_6_3()); - // InternalRos.g:6276:2: ( rule__Node__Group_6_3__0 )* - loop43: + // InternalRos.g:6438:2: ( rule__Node__Group_6_3__0 )* + loop45: do { - int alt43=2; - int LA43_0 = input.LA(1); + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA43_0==43) ) { - alt43=1; + if ( (LA45_0==43) ) { + alt45=1; } - switch (alt43) { + switch (alt45) { case 1 : - // InternalRos.g:6276:3: rule__Node__Group_6_3__0 + // InternalRos.g:6438:3: rule__Node__Group_6_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_6_3__0(); @@ -19401,7 +19903,7 @@ public final void rule__Node__Group_6__3__Impl() throws RecognitionException { break; default : - break loop43; + break loop45; } } while (true); @@ -19428,14 +19930,14 @@ public final void rule__Node__Group_6__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__4" - // InternalRos.g:6284:1: rule__Node__Group_6__4 : rule__Node__Group_6__4__Impl ; + // InternalRos.g:6446:1: rule__Node__Group_6__4 : rule__Node__Group_6__4__Impl ; public final void rule__Node__Group_6__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6288:1: ( rule__Node__Group_6__4__Impl ) - // InternalRos.g:6289:2: rule__Node__Group_6__4__Impl + // InternalRos.g:6450:1: ( rule__Node__Group_6__4__Impl ) + // InternalRos.g:6451:2: rule__Node__Group_6__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_6__4__Impl(); @@ -19461,17 +19963,17 @@ public final void rule__Node__Group_6__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__4__Impl" - // InternalRos.g:6295:1: rule__Node__Group_6__4__Impl : ( '}' ) ; + // InternalRos.g:6457:1: rule__Node__Group_6__4__Impl : ( '}' ) ; public final void rule__Node__Group_6__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6299:1: ( ( '}' ) ) - // InternalRos.g:6300:1: ( '}' ) + // InternalRos.g:6461:1: ( ( '}' ) ) + // InternalRos.g:6462:1: ( '}' ) { - // InternalRos.g:6300:1: ( '}' ) - // InternalRos.g:6301:2: '}' + // InternalRos.g:6462:1: ( '}' ) + // InternalRos.g:6463:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_6_4()); match(input,42,FOLLOW_2); @@ -19498,14 +20000,14 @@ public final void rule__Node__Group_6__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__0" - // InternalRos.g:6311:1: rule__Node__Group_6_3__0 : rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ; + // InternalRos.g:6473:1: rule__Node__Group_6_3__0 : rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ; public final void rule__Node__Group_6_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6315:1: ( rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ) - // InternalRos.g:6316:2: rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 + // InternalRos.g:6477:1: ( rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ) + // InternalRos.g:6478:2: rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 { pushFollow(FOLLOW_32); rule__Node__Group_6_3__0__Impl(); @@ -19536,17 +20038,17 @@ public final void rule__Node__Group_6_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__0__Impl" - // InternalRos.g:6323:1: rule__Node__Group_6_3__0__Impl : ( ',' ) ; + // InternalRos.g:6485:1: rule__Node__Group_6_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_6_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6327:1: ( ( ',' ) ) - // InternalRos.g:6328:1: ( ',' ) + // InternalRos.g:6489:1: ( ( ',' ) ) + // InternalRos.g:6490:1: ( ',' ) { - // InternalRos.g:6328:1: ( ',' ) - // InternalRos.g:6329:2: ',' + // InternalRos.g:6490:1: ( ',' ) + // InternalRos.g:6491:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_6_3_0()); match(input,43,FOLLOW_2); @@ -19573,14 +20075,14 @@ public final void rule__Node__Group_6_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__1" - // InternalRos.g:6338:1: rule__Node__Group_6_3__1 : rule__Node__Group_6_3__1__Impl ; + // InternalRos.g:6500:1: rule__Node__Group_6_3__1 : rule__Node__Group_6_3__1__Impl ; public final void rule__Node__Group_6_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6342:1: ( rule__Node__Group_6_3__1__Impl ) - // InternalRos.g:6343:2: rule__Node__Group_6_3__1__Impl + // InternalRos.g:6504:1: ( rule__Node__Group_6_3__1__Impl ) + // InternalRos.g:6505:2: rule__Node__Group_6_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_6_3__1__Impl(); @@ -19606,21 +20108,21 @@ public final void rule__Node__Group_6_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__1__Impl" - // InternalRos.g:6349:1: rule__Node__Group_6_3__1__Impl : ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ; + // InternalRos.g:6511:1: rule__Node__Group_6_3__1__Impl : ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ; public final void rule__Node__Group_6_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6353:1: ( ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ) - // InternalRos.g:6354:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) + // InternalRos.g:6515:1: ( ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ) + // InternalRos.g:6516:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) { - // InternalRos.g:6354:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) - // InternalRos.g:6355:2: ( rule__Node__SubscriberAssignment_6_3_1 ) + // InternalRos.g:6516:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) + // InternalRos.g:6517:2: ( rule__Node__SubscriberAssignment_6_3_1 ) { before(grammarAccess.getNodeAccess().getSubscriberAssignment_6_3_1()); - // InternalRos.g:6356:2: ( rule__Node__SubscriberAssignment_6_3_1 ) - // InternalRos.g:6356:3: rule__Node__SubscriberAssignment_6_3_1 + // InternalRos.g:6518:2: ( rule__Node__SubscriberAssignment_6_3_1 ) + // InternalRos.g:6518:3: rule__Node__SubscriberAssignment_6_3_1 { pushFollow(FOLLOW_2); rule__Node__SubscriberAssignment_6_3_1(); @@ -19653,14 +20155,14 @@ public final void rule__Node__Group_6_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__0" - // InternalRos.g:6365:1: rule__Node__Group_7__0 : rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ; + // InternalRos.g:6527:1: rule__Node__Group_7__0 : rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ; public final void rule__Node__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6369:1: ( rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ) - // InternalRos.g:6370:2: rule__Node__Group_7__0__Impl rule__Node__Group_7__1 + // InternalRos.g:6531:1: ( rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ) + // InternalRos.g:6532:2: rule__Node__Group_7__0__Impl rule__Node__Group_7__1 { pushFollow(FOLLOW_4); rule__Node__Group_7__0__Impl(); @@ -19691,20 +20193,20 @@ public final void rule__Node__Group_7__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__0__Impl" - // InternalRos.g:6377:1: rule__Node__Group_7__0__Impl : ( 'ServiceClients' ) ; + // InternalRos.g:6539:1: rule__Node__Group_7__0__Impl : ( 'ServiceClients' ) ; public final void rule__Node__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6381:1: ( ( 'ServiceClients' ) ) - // InternalRos.g:6382:1: ( 'ServiceClients' ) + // InternalRos.g:6543:1: ( ( 'ServiceClients' ) ) + // InternalRos.g:6544:1: ( 'ServiceClients' ) { - // InternalRos.g:6382:1: ( 'ServiceClients' ) - // InternalRos.g:6383:2: 'ServiceClients' + // InternalRos.g:6544:1: ( 'ServiceClients' ) + // InternalRos.g:6545:2: 'ServiceClients' { before(grammarAccess.getNodeAccess().getServiceClientsKeyword_7_0()); - match(input,58,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getNodeAccess().getServiceClientsKeyword_7_0()); } @@ -19728,14 +20230,14 @@ public final void rule__Node__Group_7__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__1" - // InternalRos.g:6392:1: rule__Node__Group_7__1 : rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ; + // InternalRos.g:6554:1: rule__Node__Group_7__1 : rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ; public final void rule__Node__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6396:1: ( rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ) - // InternalRos.g:6397:2: rule__Node__Group_7__1__Impl rule__Node__Group_7__2 + // InternalRos.g:6558:1: ( rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ) + // InternalRos.g:6559:2: rule__Node__Group_7__1__Impl rule__Node__Group_7__2 { pushFollow(FOLLOW_33); rule__Node__Group_7__1__Impl(); @@ -19766,17 +20268,17 @@ public final void rule__Node__Group_7__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__1__Impl" - // InternalRos.g:6404:1: rule__Node__Group_7__1__Impl : ( '{' ) ; + // InternalRos.g:6566:1: rule__Node__Group_7__1__Impl : ( '{' ) ; public final void rule__Node__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6408:1: ( ( '{' ) ) - // InternalRos.g:6409:1: ( '{' ) + // InternalRos.g:6570:1: ( ( '{' ) ) + // InternalRos.g:6571:1: ( '{' ) { - // InternalRos.g:6409:1: ( '{' ) - // InternalRos.g:6410:2: '{' + // InternalRos.g:6571:1: ( '{' ) + // InternalRos.g:6572:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_7_1()); match(input,41,FOLLOW_2); @@ -19803,14 +20305,14 @@ public final void rule__Node__Group_7__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__2" - // InternalRos.g:6419:1: rule__Node__Group_7__2 : rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ; + // InternalRos.g:6581:1: rule__Node__Group_7__2 : rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ; public final void rule__Node__Group_7__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6423:1: ( rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ) - // InternalRos.g:6424:2: rule__Node__Group_7__2__Impl rule__Node__Group_7__3 + // InternalRos.g:6585:1: ( rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ) + // InternalRos.g:6586:2: rule__Node__Group_7__2__Impl rule__Node__Group_7__3 { pushFollow(FOLLOW_13); rule__Node__Group_7__2__Impl(); @@ -19841,21 +20343,21 @@ public final void rule__Node__Group_7__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__2__Impl" - // InternalRos.g:6431:1: rule__Node__Group_7__2__Impl : ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ; + // InternalRos.g:6593:1: rule__Node__Group_7__2__Impl : ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ; public final void rule__Node__Group_7__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6435:1: ( ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ) - // InternalRos.g:6436:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) + // InternalRos.g:6597:1: ( ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ) + // InternalRos.g:6598:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) { - // InternalRos.g:6436:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) - // InternalRos.g:6437:2: ( rule__Node__ServiceclientAssignment_7_2 ) + // InternalRos.g:6598:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) + // InternalRos.g:6599:2: ( rule__Node__ServiceclientAssignment_7_2 ) { before(grammarAccess.getNodeAccess().getServiceclientAssignment_7_2()); - // InternalRos.g:6438:2: ( rule__Node__ServiceclientAssignment_7_2 ) - // InternalRos.g:6438:3: rule__Node__ServiceclientAssignment_7_2 + // InternalRos.g:6600:2: ( rule__Node__ServiceclientAssignment_7_2 ) + // InternalRos.g:6600:3: rule__Node__ServiceclientAssignment_7_2 { pushFollow(FOLLOW_2); rule__Node__ServiceclientAssignment_7_2(); @@ -19888,14 +20390,14 @@ public final void rule__Node__Group_7__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__3" - // InternalRos.g:6446:1: rule__Node__Group_7__3 : rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ; + // InternalRos.g:6608:1: rule__Node__Group_7__3 : rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ; public final void rule__Node__Group_7__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6450:1: ( rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ) - // InternalRos.g:6451:2: rule__Node__Group_7__3__Impl rule__Node__Group_7__4 + // InternalRos.g:6612:1: ( rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ) + // InternalRos.g:6613:2: rule__Node__Group_7__3__Impl rule__Node__Group_7__4 { pushFollow(FOLLOW_13); rule__Node__Group_7__3__Impl(); @@ -19926,33 +20428,33 @@ public final void rule__Node__Group_7__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__3__Impl" - // InternalRos.g:6458:1: rule__Node__Group_7__3__Impl : ( ( rule__Node__Group_7_3__0 )* ) ; + // InternalRos.g:6620:1: rule__Node__Group_7__3__Impl : ( ( rule__Node__Group_7_3__0 )* ) ; public final void rule__Node__Group_7__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6462:1: ( ( ( rule__Node__Group_7_3__0 )* ) ) - // InternalRos.g:6463:1: ( ( rule__Node__Group_7_3__0 )* ) + // InternalRos.g:6624:1: ( ( ( rule__Node__Group_7_3__0 )* ) ) + // InternalRos.g:6625:1: ( ( rule__Node__Group_7_3__0 )* ) { - // InternalRos.g:6463:1: ( ( rule__Node__Group_7_3__0 )* ) - // InternalRos.g:6464:2: ( rule__Node__Group_7_3__0 )* + // InternalRos.g:6625:1: ( ( rule__Node__Group_7_3__0 )* ) + // InternalRos.g:6626:2: ( rule__Node__Group_7_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_7_3()); - // InternalRos.g:6465:2: ( rule__Node__Group_7_3__0 )* - loop44: + // InternalRos.g:6627:2: ( rule__Node__Group_7_3__0 )* + loop46: do { - int alt44=2; - int LA44_0 = input.LA(1); + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA44_0==43) ) { - alt44=1; + if ( (LA46_0==43) ) { + alt46=1; } - switch (alt44) { + switch (alt46) { case 1 : - // InternalRos.g:6465:3: rule__Node__Group_7_3__0 + // InternalRos.g:6627:3: rule__Node__Group_7_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_7_3__0(); @@ -19964,7 +20466,7 @@ public final void rule__Node__Group_7__3__Impl() throws RecognitionException { break; default : - break loop44; + break loop46; } } while (true); @@ -19991,14 +20493,14 @@ public final void rule__Node__Group_7__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__4" - // InternalRos.g:6473:1: rule__Node__Group_7__4 : rule__Node__Group_7__4__Impl ; + // InternalRos.g:6635:1: rule__Node__Group_7__4 : rule__Node__Group_7__4__Impl ; public final void rule__Node__Group_7__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6477:1: ( rule__Node__Group_7__4__Impl ) - // InternalRos.g:6478:2: rule__Node__Group_7__4__Impl + // InternalRos.g:6639:1: ( rule__Node__Group_7__4__Impl ) + // InternalRos.g:6640:2: rule__Node__Group_7__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_7__4__Impl(); @@ -20024,17 +20526,17 @@ public final void rule__Node__Group_7__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__4__Impl" - // InternalRos.g:6484:1: rule__Node__Group_7__4__Impl : ( '}' ) ; + // InternalRos.g:6646:1: rule__Node__Group_7__4__Impl : ( '}' ) ; public final void rule__Node__Group_7__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6488:1: ( ( '}' ) ) - // InternalRos.g:6489:1: ( '}' ) + // InternalRos.g:6650:1: ( ( '}' ) ) + // InternalRos.g:6651:1: ( '}' ) { - // InternalRos.g:6489:1: ( '}' ) - // InternalRos.g:6490:2: '}' + // InternalRos.g:6651:1: ( '}' ) + // InternalRos.g:6652:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_7_4()); match(input,42,FOLLOW_2); @@ -20061,14 +20563,14 @@ public final void rule__Node__Group_7__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__0" - // InternalRos.g:6500:1: rule__Node__Group_7_3__0 : rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ; + // InternalRos.g:6662:1: rule__Node__Group_7_3__0 : rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ; public final void rule__Node__Group_7_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6504:1: ( rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ) - // InternalRos.g:6505:2: rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 + // InternalRos.g:6666:1: ( rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ) + // InternalRos.g:6667:2: rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 { pushFollow(FOLLOW_33); rule__Node__Group_7_3__0__Impl(); @@ -20099,17 +20601,17 @@ public final void rule__Node__Group_7_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__0__Impl" - // InternalRos.g:6512:1: rule__Node__Group_7_3__0__Impl : ( ',' ) ; + // InternalRos.g:6674:1: rule__Node__Group_7_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_7_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6516:1: ( ( ',' ) ) - // InternalRos.g:6517:1: ( ',' ) + // InternalRos.g:6678:1: ( ( ',' ) ) + // InternalRos.g:6679:1: ( ',' ) { - // InternalRos.g:6517:1: ( ',' ) - // InternalRos.g:6518:2: ',' + // InternalRos.g:6679:1: ( ',' ) + // InternalRos.g:6680:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_7_3_0()); match(input,43,FOLLOW_2); @@ -20136,14 +20638,14 @@ public final void rule__Node__Group_7_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__1" - // InternalRos.g:6527:1: rule__Node__Group_7_3__1 : rule__Node__Group_7_3__1__Impl ; + // InternalRos.g:6689:1: rule__Node__Group_7_3__1 : rule__Node__Group_7_3__1__Impl ; public final void rule__Node__Group_7_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6531:1: ( rule__Node__Group_7_3__1__Impl ) - // InternalRos.g:6532:2: rule__Node__Group_7_3__1__Impl + // InternalRos.g:6693:1: ( rule__Node__Group_7_3__1__Impl ) + // InternalRos.g:6694:2: rule__Node__Group_7_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_7_3__1__Impl(); @@ -20169,21 +20671,21 @@ public final void rule__Node__Group_7_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__1__Impl" - // InternalRos.g:6538:1: rule__Node__Group_7_3__1__Impl : ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ; + // InternalRos.g:6700:1: rule__Node__Group_7_3__1__Impl : ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ; public final void rule__Node__Group_7_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6542:1: ( ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ) - // InternalRos.g:6543:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) + // InternalRos.g:6704:1: ( ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ) + // InternalRos.g:6705:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) { - // InternalRos.g:6543:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) - // InternalRos.g:6544:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) + // InternalRos.g:6705:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) + // InternalRos.g:6706:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) { before(grammarAccess.getNodeAccess().getServiceclientAssignment_7_3_1()); - // InternalRos.g:6545:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) - // InternalRos.g:6545:3: rule__Node__ServiceclientAssignment_7_3_1 + // InternalRos.g:6707:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) + // InternalRos.g:6707:3: rule__Node__ServiceclientAssignment_7_3_1 { pushFollow(FOLLOW_2); rule__Node__ServiceclientAssignment_7_3_1(); @@ -20216,14 +20718,14 @@ public final void rule__Node__Group_7_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__0" - // InternalRos.g:6554:1: rule__Node__Group_8__0 : rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ; + // InternalRos.g:6716:1: rule__Node__Group_8__0 : rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ; public final void rule__Node__Group_8__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6558:1: ( rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ) - // InternalRos.g:6559:2: rule__Node__Group_8__0__Impl rule__Node__Group_8__1 + // InternalRos.g:6720:1: ( rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ) + // InternalRos.g:6721:2: rule__Node__Group_8__0__Impl rule__Node__Group_8__1 { pushFollow(FOLLOW_4); rule__Node__Group_8__0__Impl(); @@ -20254,20 +20756,20 @@ public final void rule__Node__Group_8__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__0__Impl" - // InternalRos.g:6566:1: rule__Node__Group_8__0__Impl : ( 'ActionServers' ) ; + // InternalRos.g:6728:1: rule__Node__Group_8__0__Impl : ( 'ActionServers' ) ; public final void rule__Node__Group_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6570:1: ( ( 'ActionServers' ) ) - // InternalRos.g:6571:1: ( 'ActionServers' ) + // InternalRos.g:6732:1: ( ( 'ActionServers' ) ) + // InternalRos.g:6733:1: ( 'ActionServers' ) { - // InternalRos.g:6571:1: ( 'ActionServers' ) - // InternalRos.g:6572:2: 'ActionServers' + // InternalRos.g:6733:1: ( 'ActionServers' ) + // InternalRos.g:6734:2: 'ActionServers' { before(grammarAccess.getNodeAccess().getActionServersKeyword_8_0()); - match(input,59,FOLLOW_2); + match(input,60,FOLLOW_2); after(grammarAccess.getNodeAccess().getActionServersKeyword_8_0()); } @@ -20291,14 +20793,14 @@ public final void rule__Node__Group_8__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__1" - // InternalRos.g:6581:1: rule__Node__Group_8__1 : rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ; + // InternalRos.g:6743:1: rule__Node__Group_8__1 : rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ; public final void rule__Node__Group_8__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6585:1: ( rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ) - // InternalRos.g:6586:2: rule__Node__Group_8__1__Impl rule__Node__Group_8__2 + // InternalRos.g:6747:1: ( rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ) + // InternalRos.g:6748:2: rule__Node__Group_8__1__Impl rule__Node__Group_8__2 { pushFollow(FOLLOW_34); rule__Node__Group_8__1__Impl(); @@ -20329,17 +20831,17 @@ public final void rule__Node__Group_8__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__1__Impl" - // InternalRos.g:6593:1: rule__Node__Group_8__1__Impl : ( '{' ) ; + // InternalRos.g:6755:1: rule__Node__Group_8__1__Impl : ( '{' ) ; public final void rule__Node__Group_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6597:1: ( ( '{' ) ) - // InternalRos.g:6598:1: ( '{' ) + // InternalRos.g:6759:1: ( ( '{' ) ) + // InternalRos.g:6760:1: ( '{' ) { - // InternalRos.g:6598:1: ( '{' ) - // InternalRos.g:6599:2: '{' + // InternalRos.g:6760:1: ( '{' ) + // InternalRos.g:6761:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_8_1()); match(input,41,FOLLOW_2); @@ -20366,14 +20868,14 @@ public final void rule__Node__Group_8__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__2" - // InternalRos.g:6608:1: rule__Node__Group_8__2 : rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ; + // InternalRos.g:6770:1: rule__Node__Group_8__2 : rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ; public final void rule__Node__Group_8__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6612:1: ( rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ) - // InternalRos.g:6613:2: rule__Node__Group_8__2__Impl rule__Node__Group_8__3 + // InternalRos.g:6774:1: ( rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ) + // InternalRos.g:6775:2: rule__Node__Group_8__2__Impl rule__Node__Group_8__3 { pushFollow(FOLLOW_13); rule__Node__Group_8__2__Impl(); @@ -20404,21 +20906,21 @@ public final void rule__Node__Group_8__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__2__Impl" - // InternalRos.g:6620:1: rule__Node__Group_8__2__Impl : ( ( rule__Node__ActionserverAssignment_8_2 ) ) ; + // InternalRos.g:6782:1: rule__Node__Group_8__2__Impl : ( ( rule__Node__ActionserverAssignment_8_2 ) ) ; public final void rule__Node__Group_8__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6624:1: ( ( ( rule__Node__ActionserverAssignment_8_2 ) ) ) - // InternalRos.g:6625:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) + // InternalRos.g:6786:1: ( ( ( rule__Node__ActionserverAssignment_8_2 ) ) ) + // InternalRos.g:6787:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) { - // InternalRos.g:6625:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) - // InternalRos.g:6626:2: ( rule__Node__ActionserverAssignment_8_2 ) + // InternalRos.g:6787:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) + // InternalRos.g:6788:2: ( rule__Node__ActionserverAssignment_8_2 ) { before(grammarAccess.getNodeAccess().getActionserverAssignment_8_2()); - // InternalRos.g:6627:2: ( rule__Node__ActionserverAssignment_8_2 ) - // InternalRos.g:6627:3: rule__Node__ActionserverAssignment_8_2 + // InternalRos.g:6789:2: ( rule__Node__ActionserverAssignment_8_2 ) + // InternalRos.g:6789:3: rule__Node__ActionserverAssignment_8_2 { pushFollow(FOLLOW_2); rule__Node__ActionserverAssignment_8_2(); @@ -20451,14 +20953,14 @@ public final void rule__Node__Group_8__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__3" - // InternalRos.g:6635:1: rule__Node__Group_8__3 : rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ; + // InternalRos.g:6797:1: rule__Node__Group_8__3 : rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ; public final void rule__Node__Group_8__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6639:1: ( rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ) - // InternalRos.g:6640:2: rule__Node__Group_8__3__Impl rule__Node__Group_8__4 + // InternalRos.g:6801:1: ( rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ) + // InternalRos.g:6802:2: rule__Node__Group_8__3__Impl rule__Node__Group_8__4 { pushFollow(FOLLOW_13); rule__Node__Group_8__3__Impl(); @@ -20489,33 +20991,33 @@ public final void rule__Node__Group_8__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__3__Impl" - // InternalRos.g:6647:1: rule__Node__Group_8__3__Impl : ( ( rule__Node__Group_8_3__0 )* ) ; + // InternalRos.g:6809:1: rule__Node__Group_8__3__Impl : ( ( rule__Node__Group_8_3__0 )* ) ; public final void rule__Node__Group_8__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6651:1: ( ( ( rule__Node__Group_8_3__0 )* ) ) - // InternalRos.g:6652:1: ( ( rule__Node__Group_8_3__0 )* ) + // InternalRos.g:6813:1: ( ( ( rule__Node__Group_8_3__0 )* ) ) + // InternalRos.g:6814:1: ( ( rule__Node__Group_8_3__0 )* ) { - // InternalRos.g:6652:1: ( ( rule__Node__Group_8_3__0 )* ) - // InternalRos.g:6653:2: ( rule__Node__Group_8_3__0 )* + // InternalRos.g:6814:1: ( ( rule__Node__Group_8_3__0 )* ) + // InternalRos.g:6815:2: ( rule__Node__Group_8_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_8_3()); - // InternalRos.g:6654:2: ( rule__Node__Group_8_3__0 )* - loop45: + // InternalRos.g:6816:2: ( rule__Node__Group_8_3__0 )* + loop47: do { - int alt45=2; - int LA45_0 = input.LA(1); + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA45_0==43) ) { - alt45=1; + if ( (LA47_0==43) ) { + alt47=1; } - switch (alt45) { + switch (alt47) { case 1 : - // InternalRos.g:6654:3: rule__Node__Group_8_3__0 + // InternalRos.g:6816:3: rule__Node__Group_8_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_8_3__0(); @@ -20527,7 +21029,7 @@ public final void rule__Node__Group_8__3__Impl() throws RecognitionException { break; default : - break loop45; + break loop47; } } while (true); @@ -20554,14 +21056,14 @@ public final void rule__Node__Group_8__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__4" - // InternalRos.g:6662:1: rule__Node__Group_8__4 : rule__Node__Group_8__4__Impl ; + // InternalRos.g:6824:1: rule__Node__Group_8__4 : rule__Node__Group_8__4__Impl ; public final void rule__Node__Group_8__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6666:1: ( rule__Node__Group_8__4__Impl ) - // InternalRos.g:6667:2: rule__Node__Group_8__4__Impl + // InternalRos.g:6828:1: ( rule__Node__Group_8__4__Impl ) + // InternalRos.g:6829:2: rule__Node__Group_8__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_8__4__Impl(); @@ -20587,17 +21089,17 @@ public final void rule__Node__Group_8__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__4__Impl" - // InternalRos.g:6673:1: rule__Node__Group_8__4__Impl : ( '}' ) ; + // InternalRos.g:6835:1: rule__Node__Group_8__4__Impl : ( '}' ) ; public final void rule__Node__Group_8__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6677:1: ( ( '}' ) ) - // InternalRos.g:6678:1: ( '}' ) + // InternalRos.g:6839:1: ( ( '}' ) ) + // InternalRos.g:6840:1: ( '}' ) { - // InternalRos.g:6678:1: ( '}' ) - // InternalRos.g:6679:2: '}' + // InternalRos.g:6840:1: ( '}' ) + // InternalRos.g:6841:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_8_4()); match(input,42,FOLLOW_2); @@ -20624,14 +21126,14 @@ public final void rule__Node__Group_8__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__0" - // InternalRos.g:6689:1: rule__Node__Group_8_3__0 : rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ; + // InternalRos.g:6851:1: rule__Node__Group_8_3__0 : rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ; public final void rule__Node__Group_8_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6693:1: ( rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ) - // InternalRos.g:6694:2: rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 + // InternalRos.g:6855:1: ( rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ) + // InternalRos.g:6856:2: rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 { pushFollow(FOLLOW_34); rule__Node__Group_8_3__0__Impl(); @@ -20662,17 +21164,17 @@ public final void rule__Node__Group_8_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__0__Impl" - // InternalRos.g:6701:1: rule__Node__Group_8_3__0__Impl : ( ',' ) ; + // InternalRos.g:6863:1: rule__Node__Group_8_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_8_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6705:1: ( ( ',' ) ) - // InternalRos.g:6706:1: ( ',' ) + // InternalRos.g:6867:1: ( ( ',' ) ) + // InternalRos.g:6868:1: ( ',' ) { - // InternalRos.g:6706:1: ( ',' ) - // InternalRos.g:6707:2: ',' + // InternalRos.g:6868:1: ( ',' ) + // InternalRos.g:6869:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_8_3_0()); match(input,43,FOLLOW_2); @@ -20699,14 +21201,14 @@ public final void rule__Node__Group_8_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__1" - // InternalRos.g:6716:1: rule__Node__Group_8_3__1 : rule__Node__Group_8_3__1__Impl ; + // InternalRos.g:6878:1: rule__Node__Group_8_3__1 : rule__Node__Group_8_3__1__Impl ; public final void rule__Node__Group_8_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6720:1: ( rule__Node__Group_8_3__1__Impl ) - // InternalRos.g:6721:2: rule__Node__Group_8_3__1__Impl + // InternalRos.g:6882:1: ( rule__Node__Group_8_3__1__Impl ) + // InternalRos.g:6883:2: rule__Node__Group_8_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_8_3__1__Impl(); @@ -20732,21 +21234,21 @@ public final void rule__Node__Group_8_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__1__Impl" - // InternalRos.g:6727:1: rule__Node__Group_8_3__1__Impl : ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ; + // InternalRos.g:6889:1: rule__Node__Group_8_3__1__Impl : ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ; public final void rule__Node__Group_8_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6731:1: ( ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ) - // InternalRos.g:6732:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) + // InternalRos.g:6893:1: ( ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ) + // InternalRos.g:6894:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) { - // InternalRos.g:6732:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) - // InternalRos.g:6733:2: ( rule__Node__ActionserverAssignment_8_3_1 ) + // InternalRos.g:6894:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) + // InternalRos.g:6895:2: ( rule__Node__ActionserverAssignment_8_3_1 ) { before(grammarAccess.getNodeAccess().getActionserverAssignment_8_3_1()); - // InternalRos.g:6734:2: ( rule__Node__ActionserverAssignment_8_3_1 ) - // InternalRos.g:6734:3: rule__Node__ActionserverAssignment_8_3_1 + // InternalRos.g:6896:2: ( rule__Node__ActionserverAssignment_8_3_1 ) + // InternalRos.g:6896:3: rule__Node__ActionserverAssignment_8_3_1 { pushFollow(FOLLOW_2); rule__Node__ActionserverAssignment_8_3_1(); @@ -20779,14 +21281,14 @@ public final void rule__Node__Group_8_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__0" - // InternalRos.g:6743:1: rule__Node__Group_9__0 : rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ; + // InternalRos.g:6905:1: rule__Node__Group_9__0 : rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ; public final void rule__Node__Group_9__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6747:1: ( rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ) - // InternalRos.g:6748:2: rule__Node__Group_9__0__Impl rule__Node__Group_9__1 + // InternalRos.g:6909:1: ( rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ) + // InternalRos.g:6910:2: rule__Node__Group_9__0__Impl rule__Node__Group_9__1 { pushFollow(FOLLOW_4); rule__Node__Group_9__0__Impl(); @@ -20817,20 +21319,20 @@ public final void rule__Node__Group_9__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__0__Impl" - // InternalRos.g:6755:1: rule__Node__Group_9__0__Impl : ( 'ActionClients' ) ; + // InternalRos.g:6917:1: rule__Node__Group_9__0__Impl : ( 'ActionClients' ) ; public final void rule__Node__Group_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6759:1: ( ( 'ActionClients' ) ) - // InternalRos.g:6760:1: ( 'ActionClients' ) + // InternalRos.g:6921:1: ( ( 'ActionClients' ) ) + // InternalRos.g:6922:1: ( 'ActionClients' ) { - // InternalRos.g:6760:1: ( 'ActionClients' ) - // InternalRos.g:6761:2: 'ActionClients' + // InternalRos.g:6922:1: ( 'ActionClients' ) + // InternalRos.g:6923:2: 'ActionClients' { before(grammarAccess.getNodeAccess().getActionClientsKeyword_9_0()); - match(input,60,FOLLOW_2); + match(input,61,FOLLOW_2); after(grammarAccess.getNodeAccess().getActionClientsKeyword_9_0()); } @@ -20854,14 +21356,14 @@ public final void rule__Node__Group_9__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__1" - // InternalRos.g:6770:1: rule__Node__Group_9__1 : rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ; + // InternalRos.g:6932:1: rule__Node__Group_9__1 : rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ; public final void rule__Node__Group_9__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6774:1: ( rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ) - // InternalRos.g:6775:2: rule__Node__Group_9__1__Impl rule__Node__Group_9__2 + // InternalRos.g:6936:1: ( rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ) + // InternalRos.g:6937:2: rule__Node__Group_9__1__Impl rule__Node__Group_9__2 { pushFollow(FOLLOW_35); rule__Node__Group_9__1__Impl(); @@ -20892,17 +21394,17 @@ public final void rule__Node__Group_9__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__1__Impl" - // InternalRos.g:6782:1: rule__Node__Group_9__1__Impl : ( '{' ) ; + // InternalRos.g:6944:1: rule__Node__Group_9__1__Impl : ( '{' ) ; public final void rule__Node__Group_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6786:1: ( ( '{' ) ) - // InternalRos.g:6787:1: ( '{' ) + // InternalRos.g:6948:1: ( ( '{' ) ) + // InternalRos.g:6949:1: ( '{' ) { - // InternalRos.g:6787:1: ( '{' ) - // InternalRos.g:6788:2: '{' + // InternalRos.g:6949:1: ( '{' ) + // InternalRos.g:6950:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_9_1()); match(input,41,FOLLOW_2); @@ -20929,14 +21431,14 @@ public final void rule__Node__Group_9__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__2" - // InternalRos.g:6797:1: rule__Node__Group_9__2 : rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ; + // InternalRos.g:6959:1: rule__Node__Group_9__2 : rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ; public final void rule__Node__Group_9__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6801:1: ( rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ) - // InternalRos.g:6802:2: rule__Node__Group_9__2__Impl rule__Node__Group_9__3 + // InternalRos.g:6963:1: ( rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ) + // InternalRos.g:6964:2: rule__Node__Group_9__2__Impl rule__Node__Group_9__3 { pushFollow(FOLLOW_13); rule__Node__Group_9__2__Impl(); @@ -20967,21 +21469,21 @@ public final void rule__Node__Group_9__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__2__Impl" - // InternalRos.g:6809:1: rule__Node__Group_9__2__Impl : ( ( rule__Node__ActionclientAssignment_9_2 ) ) ; + // InternalRos.g:6971:1: rule__Node__Group_9__2__Impl : ( ( rule__Node__ActionclientAssignment_9_2 ) ) ; public final void rule__Node__Group_9__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6813:1: ( ( ( rule__Node__ActionclientAssignment_9_2 ) ) ) - // InternalRos.g:6814:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) + // InternalRos.g:6975:1: ( ( ( rule__Node__ActionclientAssignment_9_2 ) ) ) + // InternalRos.g:6976:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) { - // InternalRos.g:6814:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) - // InternalRos.g:6815:2: ( rule__Node__ActionclientAssignment_9_2 ) + // InternalRos.g:6976:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) + // InternalRos.g:6977:2: ( rule__Node__ActionclientAssignment_9_2 ) { before(grammarAccess.getNodeAccess().getActionclientAssignment_9_2()); - // InternalRos.g:6816:2: ( rule__Node__ActionclientAssignment_9_2 ) - // InternalRos.g:6816:3: rule__Node__ActionclientAssignment_9_2 + // InternalRos.g:6978:2: ( rule__Node__ActionclientAssignment_9_2 ) + // InternalRos.g:6978:3: rule__Node__ActionclientAssignment_9_2 { pushFollow(FOLLOW_2); rule__Node__ActionclientAssignment_9_2(); @@ -21014,14 +21516,14 @@ public final void rule__Node__Group_9__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__3" - // InternalRos.g:6824:1: rule__Node__Group_9__3 : rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ; + // InternalRos.g:6986:1: rule__Node__Group_9__3 : rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ; public final void rule__Node__Group_9__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6828:1: ( rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ) - // InternalRos.g:6829:2: rule__Node__Group_9__3__Impl rule__Node__Group_9__4 + // InternalRos.g:6990:1: ( rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ) + // InternalRos.g:6991:2: rule__Node__Group_9__3__Impl rule__Node__Group_9__4 { pushFollow(FOLLOW_13); rule__Node__Group_9__3__Impl(); @@ -21052,33 +21554,33 @@ public final void rule__Node__Group_9__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__3__Impl" - // InternalRos.g:6836:1: rule__Node__Group_9__3__Impl : ( ( rule__Node__Group_9_3__0 )* ) ; + // InternalRos.g:6998:1: rule__Node__Group_9__3__Impl : ( ( rule__Node__Group_9_3__0 )* ) ; public final void rule__Node__Group_9__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6840:1: ( ( ( rule__Node__Group_9_3__0 )* ) ) - // InternalRos.g:6841:1: ( ( rule__Node__Group_9_3__0 )* ) + // InternalRos.g:7002:1: ( ( ( rule__Node__Group_9_3__0 )* ) ) + // InternalRos.g:7003:1: ( ( rule__Node__Group_9_3__0 )* ) { - // InternalRos.g:6841:1: ( ( rule__Node__Group_9_3__0 )* ) - // InternalRos.g:6842:2: ( rule__Node__Group_9_3__0 )* + // InternalRos.g:7003:1: ( ( rule__Node__Group_9_3__0 )* ) + // InternalRos.g:7004:2: ( rule__Node__Group_9_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_9_3()); - // InternalRos.g:6843:2: ( rule__Node__Group_9_3__0 )* - loop46: + // InternalRos.g:7005:2: ( rule__Node__Group_9_3__0 )* + loop48: do { - int alt46=2; - int LA46_0 = input.LA(1); + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA46_0==43) ) { - alt46=1; + if ( (LA48_0==43) ) { + alt48=1; } - switch (alt46) { + switch (alt48) { case 1 : - // InternalRos.g:6843:3: rule__Node__Group_9_3__0 + // InternalRos.g:7005:3: rule__Node__Group_9_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_9_3__0(); @@ -21090,7 +21592,7 @@ public final void rule__Node__Group_9__3__Impl() throws RecognitionException { break; default : - break loop46; + break loop48; } } while (true); @@ -21117,14 +21619,14 @@ public final void rule__Node__Group_9__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__4" - // InternalRos.g:6851:1: rule__Node__Group_9__4 : rule__Node__Group_9__4__Impl ; + // InternalRos.g:7013:1: rule__Node__Group_9__4 : rule__Node__Group_9__4__Impl ; public final void rule__Node__Group_9__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6855:1: ( rule__Node__Group_9__4__Impl ) - // InternalRos.g:6856:2: rule__Node__Group_9__4__Impl + // InternalRos.g:7017:1: ( rule__Node__Group_9__4__Impl ) + // InternalRos.g:7018:2: rule__Node__Group_9__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_9__4__Impl(); @@ -21150,17 +21652,17 @@ public final void rule__Node__Group_9__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__4__Impl" - // InternalRos.g:6862:1: rule__Node__Group_9__4__Impl : ( '}' ) ; + // InternalRos.g:7024:1: rule__Node__Group_9__4__Impl : ( '}' ) ; public final void rule__Node__Group_9__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6866:1: ( ( '}' ) ) - // InternalRos.g:6867:1: ( '}' ) + // InternalRos.g:7028:1: ( ( '}' ) ) + // InternalRos.g:7029:1: ( '}' ) { - // InternalRos.g:6867:1: ( '}' ) - // InternalRos.g:6868:2: '}' + // InternalRos.g:7029:1: ( '}' ) + // InternalRos.g:7030:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_9_4()); match(input,42,FOLLOW_2); @@ -21187,14 +21689,14 @@ public final void rule__Node__Group_9__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__0" - // InternalRos.g:6878:1: rule__Node__Group_9_3__0 : rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ; + // InternalRos.g:7040:1: rule__Node__Group_9_3__0 : rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ; public final void rule__Node__Group_9_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6882:1: ( rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ) - // InternalRos.g:6883:2: rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 + // InternalRos.g:7044:1: ( rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ) + // InternalRos.g:7045:2: rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 { pushFollow(FOLLOW_35); rule__Node__Group_9_3__0__Impl(); @@ -21225,17 +21727,17 @@ public final void rule__Node__Group_9_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__0__Impl" - // InternalRos.g:6890:1: rule__Node__Group_9_3__0__Impl : ( ',' ) ; + // InternalRos.g:7052:1: rule__Node__Group_9_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_9_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6894:1: ( ( ',' ) ) - // InternalRos.g:6895:1: ( ',' ) + // InternalRos.g:7056:1: ( ( ',' ) ) + // InternalRos.g:7057:1: ( ',' ) { - // InternalRos.g:6895:1: ( ',' ) - // InternalRos.g:6896:2: ',' + // InternalRos.g:7057:1: ( ',' ) + // InternalRos.g:7058:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_9_3_0()); match(input,43,FOLLOW_2); @@ -21262,14 +21764,14 @@ public final void rule__Node__Group_9_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__1" - // InternalRos.g:6905:1: rule__Node__Group_9_3__1 : rule__Node__Group_9_3__1__Impl ; + // InternalRos.g:7067:1: rule__Node__Group_9_3__1 : rule__Node__Group_9_3__1__Impl ; public final void rule__Node__Group_9_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6909:1: ( rule__Node__Group_9_3__1__Impl ) - // InternalRos.g:6910:2: rule__Node__Group_9_3__1__Impl + // InternalRos.g:7071:1: ( rule__Node__Group_9_3__1__Impl ) + // InternalRos.g:7072:2: rule__Node__Group_9_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_9_3__1__Impl(); @@ -21295,21 +21797,21 @@ public final void rule__Node__Group_9_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__1__Impl" - // InternalRos.g:6916:1: rule__Node__Group_9_3__1__Impl : ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ; + // InternalRos.g:7078:1: rule__Node__Group_9_3__1__Impl : ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ; public final void rule__Node__Group_9_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6920:1: ( ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ) - // InternalRos.g:6921:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) + // InternalRos.g:7082:1: ( ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ) + // InternalRos.g:7083:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) { - // InternalRos.g:6921:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) - // InternalRos.g:6922:2: ( rule__Node__ActionclientAssignment_9_3_1 ) + // InternalRos.g:7083:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) + // InternalRos.g:7084:2: ( rule__Node__ActionclientAssignment_9_3_1 ) { before(grammarAccess.getNodeAccess().getActionclientAssignment_9_3_1()); - // InternalRos.g:6923:2: ( rule__Node__ActionclientAssignment_9_3_1 ) - // InternalRos.g:6923:3: rule__Node__ActionclientAssignment_9_3_1 + // InternalRos.g:7085:2: ( rule__Node__ActionclientAssignment_9_3_1 ) + // InternalRos.g:7085:3: rule__Node__ActionclientAssignment_9_3_1 { pushFollow(FOLLOW_2); rule__Node__ActionclientAssignment_9_3_1(); @@ -21342,14 +21844,14 @@ public final void rule__Node__Group_9_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__0" - // InternalRos.g:6932:1: rule__Node__Group_10__0 : rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ; + // InternalRos.g:7094:1: rule__Node__Group_10__0 : rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ; public final void rule__Node__Group_10__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6936:1: ( rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ) - // InternalRos.g:6937:2: rule__Node__Group_10__0__Impl rule__Node__Group_10__1 + // InternalRos.g:7098:1: ( rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ) + // InternalRos.g:7099:2: rule__Node__Group_10__0__Impl rule__Node__Group_10__1 { pushFollow(FOLLOW_4); rule__Node__Group_10__0__Impl(); @@ -21380,20 +21882,20 @@ public final void rule__Node__Group_10__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__0__Impl" - // InternalRos.g:6944:1: rule__Node__Group_10__0__Impl : ( 'Parameters' ) ; + // InternalRos.g:7106:1: rule__Node__Group_10__0__Impl : ( 'Parameters' ) ; public final void rule__Node__Group_10__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6948:1: ( ( 'Parameters' ) ) - // InternalRos.g:6949:1: ( 'Parameters' ) + // InternalRos.g:7110:1: ( ( 'Parameters' ) ) + // InternalRos.g:7111:1: ( 'Parameters' ) { - // InternalRos.g:6949:1: ( 'Parameters' ) - // InternalRos.g:6950:2: 'Parameters' + // InternalRos.g:7111:1: ( 'Parameters' ) + // InternalRos.g:7112:2: 'Parameters' { before(grammarAccess.getNodeAccess().getParametersKeyword_10_0()); - match(input,61,FOLLOW_2); + match(input,62,FOLLOW_2); after(grammarAccess.getNodeAccess().getParametersKeyword_10_0()); } @@ -21417,14 +21919,14 @@ public final void rule__Node__Group_10__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__1" - // InternalRos.g:6959:1: rule__Node__Group_10__1 : rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ; + // InternalRos.g:7121:1: rule__Node__Group_10__1 : rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ; public final void rule__Node__Group_10__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6963:1: ( rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ) - // InternalRos.g:6964:2: rule__Node__Group_10__1__Impl rule__Node__Group_10__2 + // InternalRos.g:7125:1: ( rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ) + // InternalRos.g:7126:2: rule__Node__Group_10__1__Impl rule__Node__Group_10__2 { pushFollow(FOLLOW_36); rule__Node__Group_10__1__Impl(); @@ -21455,17 +21957,17 @@ public final void rule__Node__Group_10__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__1__Impl" - // InternalRos.g:6971:1: rule__Node__Group_10__1__Impl : ( '{' ) ; + // InternalRos.g:7133:1: rule__Node__Group_10__1__Impl : ( '{' ) ; public final void rule__Node__Group_10__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6975:1: ( ( '{' ) ) - // InternalRos.g:6976:1: ( '{' ) + // InternalRos.g:7137:1: ( ( '{' ) ) + // InternalRos.g:7138:1: ( '{' ) { - // InternalRos.g:6976:1: ( '{' ) - // InternalRos.g:6977:2: '{' + // InternalRos.g:7138:1: ( '{' ) + // InternalRos.g:7139:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_10_1()); match(input,41,FOLLOW_2); @@ -21492,14 +21994,14 @@ public final void rule__Node__Group_10__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__2" - // InternalRos.g:6986:1: rule__Node__Group_10__2 : rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ; + // InternalRos.g:7148:1: rule__Node__Group_10__2 : rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ; public final void rule__Node__Group_10__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6990:1: ( rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ) - // InternalRos.g:6991:2: rule__Node__Group_10__2__Impl rule__Node__Group_10__3 + // InternalRos.g:7152:1: ( rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ) + // InternalRos.g:7153:2: rule__Node__Group_10__2__Impl rule__Node__Group_10__3 { pushFollow(FOLLOW_13); rule__Node__Group_10__2__Impl(); @@ -21530,21 +22032,21 @@ public final void rule__Node__Group_10__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__2__Impl" - // InternalRos.g:6998:1: rule__Node__Group_10__2__Impl : ( ( rule__Node__ParameterAssignment_10_2 ) ) ; + // InternalRos.g:7160:1: rule__Node__Group_10__2__Impl : ( ( rule__Node__ParameterAssignment_10_2 ) ) ; public final void rule__Node__Group_10__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7002:1: ( ( ( rule__Node__ParameterAssignment_10_2 ) ) ) - // InternalRos.g:7003:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) + // InternalRos.g:7164:1: ( ( ( rule__Node__ParameterAssignment_10_2 ) ) ) + // InternalRos.g:7165:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) { - // InternalRos.g:7003:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) - // InternalRos.g:7004:2: ( rule__Node__ParameterAssignment_10_2 ) + // InternalRos.g:7165:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) + // InternalRos.g:7166:2: ( rule__Node__ParameterAssignment_10_2 ) { before(grammarAccess.getNodeAccess().getParameterAssignment_10_2()); - // InternalRos.g:7005:2: ( rule__Node__ParameterAssignment_10_2 ) - // InternalRos.g:7005:3: rule__Node__ParameterAssignment_10_2 + // InternalRos.g:7167:2: ( rule__Node__ParameterAssignment_10_2 ) + // InternalRos.g:7167:3: rule__Node__ParameterAssignment_10_2 { pushFollow(FOLLOW_2); rule__Node__ParameterAssignment_10_2(); @@ -21577,14 +22079,14 @@ public final void rule__Node__Group_10__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__3" - // InternalRos.g:7013:1: rule__Node__Group_10__3 : rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ; + // InternalRos.g:7175:1: rule__Node__Group_10__3 : rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ; public final void rule__Node__Group_10__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7017:1: ( rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ) - // InternalRos.g:7018:2: rule__Node__Group_10__3__Impl rule__Node__Group_10__4 + // InternalRos.g:7179:1: ( rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ) + // InternalRos.g:7180:2: rule__Node__Group_10__3__Impl rule__Node__Group_10__4 { pushFollow(FOLLOW_13); rule__Node__Group_10__3__Impl(); @@ -21615,33 +22117,33 @@ public final void rule__Node__Group_10__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__3__Impl" - // InternalRos.g:7025:1: rule__Node__Group_10__3__Impl : ( ( rule__Node__Group_10_3__0 )* ) ; + // InternalRos.g:7187:1: rule__Node__Group_10__3__Impl : ( ( rule__Node__Group_10_3__0 )* ) ; public final void rule__Node__Group_10__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7029:1: ( ( ( rule__Node__Group_10_3__0 )* ) ) - // InternalRos.g:7030:1: ( ( rule__Node__Group_10_3__0 )* ) + // InternalRos.g:7191:1: ( ( ( rule__Node__Group_10_3__0 )* ) ) + // InternalRos.g:7192:1: ( ( rule__Node__Group_10_3__0 )* ) { - // InternalRos.g:7030:1: ( ( rule__Node__Group_10_3__0 )* ) - // InternalRos.g:7031:2: ( rule__Node__Group_10_3__0 )* + // InternalRos.g:7192:1: ( ( rule__Node__Group_10_3__0 )* ) + // InternalRos.g:7193:2: ( rule__Node__Group_10_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_10_3()); - // InternalRos.g:7032:2: ( rule__Node__Group_10_3__0 )* - loop47: + // InternalRos.g:7194:2: ( rule__Node__Group_10_3__0 )* + loop49: do { - int alt47=2; - int LA47_0 = input.LA(1); + int alt49=2; + int LA49_0 = input.LA(1); - if ( (LA47_0==43) ) { - alt47=1; + if ( (LA49_0==43) ) { + alt49=1; } - switch (alt47) { + switch (alt49) { case 1 : - // InternalRos.g:7032:3: rule__Node__Group_10_3__0 + // InternalRos.g:7194:3: rule__Node__Group_10_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_10_3__0(); @@ -21653,7 +22155,7 @@ public final void rule__Node__Group_10__3__Impl() throws RecognitionException { break; default : - break loop47; + break loop49; } } while (true); @@ -21680,14 +22182,14 @@ public final void rule__Node__Group_10__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__4" - // InternalRos.g:7040:1: rule__Node__Group_10__4 : rule__Node__Group_10__4__Impl ; + // InternalRos.g:7202:1: rule__Node__Group_10__4 : rule__Node__Group_10__4__Impl ; public final void rule__Node__Group_10__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7044:1: ( rule__Node__Group_10__4__Impl ) - // InternalRos.g:7045:2: rule__Node__Group_10__4__Impl + // InternalRos.g:7206:1: ( rule__Node__Group_10__4__Impl ) + // InternalRos.g:7207:2: rule__Node__Group_10__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_10__4__Impl(); @@ -21713,17 +22215,17 @@ public final void rule__Node__Group_10__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__4__Impl" - // InternalRos.g:7051:1: rule__Node__Group_10__4__Impl : ( '}' ) ; + // InternalRos.g:7213:1: rule__Node__Group_10__4__Impl : ( '}' ) ; public final void rule__Node__Group_10__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7055:1: ( ( '}' ) ) - // InternalRos.g:7056:1: ( '}' ) + // InternalRos.g:7217:1: ( ( '}' ) ) + // InternalRos.g:7218:1: ( '}' ) { - // InternalRos.g:7056:1: ( '}' ) - // InternalRos.g:7057:2: '}' + // InternalRos.g:7218:1: ( '}' ) + // InternalRos.g:7219:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_10_4()); match(input,42,FOLLOW_2); @@ -21750,14 +22252,14 @@ public final void rule__Node__Group_10__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10_3__0" - // InternalRos.g:7067:1: rule__Node__Group_10_3__0 : rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ; + // InternalRos.g:7229:1: rule__Node__Group_10_3__0 : rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ; public final void rule__Node__Group_10_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7071:1: ( rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ) - // InternalRos.g:7072:2: rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 + // InternalRos.g:7233:1: ( rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ) + // InternalRos.g:7234:2: rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 { pushFollow(FOLLOW_36); rule__Node__Group_10_3__0__Impl(); @@ -21788,17 +22290,17 @@ public final void rule__Node__Group_10_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_10_3__0__Impl" - // InternalRos.g:7079:1: rule__Node__Group_10_3__0__Impl : ( ',' ) ; + // InternalRos.g:7241:1: rule__Node__Group_10_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_10_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7083:1: ( ( ',' ) ) - // InternalRos.g:7084:1: ( ',' ) + // InternalRos.g:7245:1: ( ( ',' ) ) + // InternalRos.g:7246:1: ( ',' ) { - // InternalRos.g:7084:1: ( ',' ) - // InternalRos.g:7085:2: ',' + // InternalRos.g:7246:1: ( ',' ) + // InternalRos.g:7247:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_10_3_0()); match(input,43,FOLLOW_2); @@ -21825,14 +22327,14 @@ public final void rule__Node__Group_10_3__0__Impl() throws RecognitionException // $ANTLR start "rule__Node__Group_10_3__1" - // InternalRos.g:7094:1: rule__Node__Group_10_3__1 : rule__Node__Group_10_3__1__Impl ; + // InternalRos.g:7256:1: rule__Node__Group_10_3__1 : rule__Node__Group_10_3__1__Impl ; public final void rule__Node__Group_10_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7098:1: ( rule__Node__Group_10_3__1__Impl ) - // InternalRos.g:7099:2: rule__Node__Group_10_3__1__Impl + // InternalRos.g:7260:1: ( rule__Node__Group_10_3__1__Impl ) + // InternalRos.g:7261:2: rule__Node__Group_10_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_10_3__1__Impl(); @@ -21858,21 +22360,21 @@ public final void rule__Node__Group_10_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_10_3__1__Impl" - // InternalRos.g:7105:1: rule__Node__Group_10_3__1__Impl : ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ; + // InternalRos.g:7267:1: rule__Node__Group_10_3__1__Impl : ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ; public final void rule__Node__Group_10_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7109:1: ( ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ) - // InternalRos.g:7110:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) + // InternalRos.g:7271:1: ( ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ) + // InternalRos.g:7272:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) { - // InternalRos.g:7110:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) - // InternalRos.g:7111:2: ( rule__Node__ParameterAssignment_10_3_1 ) + // InternalRos.g:7272:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) + // InternalRos.g:7273:2: ( rule__Node__ParameterAssignment_10_3_1 ) { before(grammarAccess.getNodeAccess().getParameterAssignment_10_3_1()); - // InternalRos.g:7112:2: ( rule__Node__ParameterAssignment_10_3_1 ) - // InternalRos.g:7112:3: rule__Node__ParameterAssignment_10_3_1 + // InternalRos.g:7274:2: ( rule__Node__ParameterAssignment_10_3_1 ) + // InternalRos.g:7274:3: rule__Node__ParameterAssignment_10_3_1 { pushFollow(FOLLOW_2); rule__Node__ParameterAssignment_10_3_1(); @@ -21905,14 +22407,14 @@ public final void rule__Node__Group_10_3__1__Impl() throws RecognitionException // $ANTLR start "rule__ServiceServer__Group__0" - // InternalRos.g:7121:1: rule__ServiceServer__Group__0 : rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ; + // InternalRos.g:7283:1: rule__ServiceServer__Group__0 : rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ; public final void rule__ServiceServer__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7125:1: ( rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ) - // InternalRos.g:7126:2: rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 + // InternalRos.g:7287:1: ( rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ) + // InternalRos.g:7288:2: rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 { pushFollow(FOLLOW_4); rule__ServiceServer__Group__0__Impl(); @@ -21943,20 +22445,20 @@ public final void rule__ServiceServer__Group__0() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__0__Impl" - // InternalRos.g:7133:1: rule__ServiceServer__Group__0__Impl : ( 'ServiceServer' ) ; + // InternalRos.g:7295:1: rule__ServiceServer__Group__0__Impl : ( 'ServiceServer' ) ; public final void rule__ServiceServer__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7137:1: ( ( 'ServiceServer' ) ) - // InternalRos.g:7138:1: ( 'ServiceServer' ) + // InternalRos.g:7299:1: ( ( 'ServiceServer' ) ) + // InternalRos.g:7300:1: ( 'ServiceServer' ) { - // InternalRos.g:7138:1: ( 'ServiceServer' ) - // InternalRos.g:7139:2: 'ServiceServer' + // InternalRos.g:7300:1: ( 'ServiceServer' ) + // InternalRos.g:7301:2: 'ServiceServer' { before(grammarAccess.getServiceServerAccess().getServiceServerKeyword_0()); - match(input,62,FOLLOW_2); + match(input,63,FOLLOW_2); after(grammarAccess.getServiceServerAccess().getServiceServerKeyword_0()); } @@ -21980,14 +22482,14 @@ public final void rule__ServiceServer__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__1" - // InternalRos.g:7148:1: rule__ServiceServer__Group__1 : rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ; + // InternalRos.g:7310:1: rule__ServiceServer__Group__1 : rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ; public final void rule__ServiceServer__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7152:1: ( rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ) - // InternalRos.g:7153:2: rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 + // InternalRos.g:7314:1: ( rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ) + // InternalRos.g:7315:2: rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 { pushFollow(FOLLOW_28); rule__ServiceServer__Group__1__Impl(); @@ -22018,17 +22520,17 @@ public final void rule__ServiceServer__Group__1() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__1__Impl" - // InternalRos.g:7160:1: rule__ServiceServer__Group__1__Impl : ( '{' ) ; + // InternalRos.g:7322:1: rule__ServiceServer__Group__1__Impl : ( '{' ) ; public final void rule__ServiceServer__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7164:1: ( ( '{' ) ) - // InternalRos.g:7165:1: ( '{' ) + // InternalRos.g:7326:1: ( ( '{' ) ) + // InternalRos.g:7327:1: ( '{' ) { - // InternalRos.g:7165:1: ( '{' ) - // InternalRos.g:7166:2: '{' + // InternalRos.g:7327:1: ( '{' ) + // InternalRos.g:7328:2: '{' { before(grammarAccess.getServiceServerAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -22055,14 +22557,14 @@ public final void rule__ServiceServer__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__2" - // InternalRos.g:7175:1: rule__ServiceServer__Group__2 : rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ; + // InternalRos.g:7337:1: rule__ServiceServer__Group__2 : rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ; public final void rule__ServiceServer__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7179:1: ( rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ) - // InternalRos.g:7180:2: rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 + // InternalRos.g:7341:1: ( rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ) + // InternalRos.g:7342:2: rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 { pushFollow(FOLLOW_10); rule__ServiceServer__Group__2__Impl(); @@ -22093,17 +22595,17 @@ public final void rule__ServiceServer__Group__2() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__2__Impl" - // InternalRos.g:7187:1: rule__ServiceServer__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:7349:1: rule__ServiceServer__Group__2__Impl : ( 'name' ) ; public final void rule__ServiceServer__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7191:1: ( ( 'name' ) ) - // InternalRos.g:7192:1: ( 'name' ) + // InternalRos.g:7353:1: ( ( 'name' ) ) + // InternalRos.g:7354:1: ( 'name' ) { - // InternalRos.g:7192:1: ( 'name' ) - // InternalRos.g:7193:2: 'name' + // InternalRos.g:7354:1: ( 'name' ) + // InternalRos.g:7355:2: 'name' { before(grammarAccess.getServiceServerAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -22130,14 +22632,14 @@ public final void rule__ServiceServer__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__3" - // InternalRos.g:7202:1: rule__ServiceServer__Group__3 : rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ; + // InternalRos.g:7364:1: rule__ServiceServer__Group__3 : rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ; public final void rule__ServiceServer__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7206:1: ( rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ) - // InternalRos.g:7207:2: rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 + // InternalRos.g:7368:1: ( rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ) + // InternalRos.g:7369:2: rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 { pushFollow(FOLLOW_37); rule__ServiceServer__Group__3__Impl(); @@ -22168,21 +22670,21 @@ public final void rule__ServiceServer__Group__3() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__3__Impl" - // InternalRos.g:7214:1: rule__ServiceServer__Group__3__Impl : ( ( rule__ServiceServer__NameAssignment_3 ) ) ; + // InternalRos.g:7376:1: rule__ServiceServer__Group__3__Impl : ( ( rule__ServiceServer__NameAssignment_3 ) ) ; public final void rule__ServiceServer__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7218:1: ( ( ( rule__ServiceServer__NameAssignment_3 ) ) ) - // InternalRos.g:7219:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) + // InternalRos.g:7380:1: ( ( ( rule__ServiceServer__NameAssignment_3 ) ) ) + // InternalRos.g:7381:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) { - // InternalRos.g:7219:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) - // InternalRos.g:7220:2: ( rule__ServiceServer__NameAssignment_3 ) + // InternalRos.g:7381:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) + // InternalRos.g:7382:2: ( rule__ServiceServer__NameAssignment_3 ) { before(grammarAccess.getServiceServerAccess().getNameAssignment_3()); - // InternalRos.g:7221:2: ( rule__ServiceServer__NameAssignment_3 ) - // InternalRos.g:7221:3: rule__ServiceServer__NameAssignment_3 + // InternalRos.g:7383:2: ( rule__ServiceServer__NameAssignment_3 ) + // InternalRos.g:7383:3: rule__ServiceServer__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ServiceServer__NameAssignment_3(); @@ -22215,14 +22717,14 @@ public final void rule__ServiceServer__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__4" - // InternalRos.g:7229:1: rule__ServiceServer__Group__4 : rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ; + // InternalRos.g:7391:1: rule__ServiceServer__Group__4 : rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ; public final void rule__ServiceServer__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7233:1: ( rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ) - // InternalRos.g:7234:2: rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 + // InternalRos.g:7395:1: ( rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ) + // InternalRos.g:7396:2: rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 { pushFollow(FOLLOW_10); rule__ServiceServer__Group__4__Impl(); @@ -22253,17 +22755,17 @@ public final void rule__ServiceServer__Group__4() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__4__Impl" - // InternalRos.g:7241:1: rule__ServiceServer__Group__4__Impl : ( 'service' ) ; + // InternalRos.g:7403:1: rule__ServiceServer__Group__4__Impl : ( 'service' ) ; public final void rule__ServiceServer__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7245:1: ( ( 'service' ) ) - // InternalRos.g:7246:1: ( 'service' ) + // InternalRos.g:7407:1: ( ( 'service' ) ) + // InternalRos.g:7408:1: ( 'service' ) { - // InternalRos.g:7246:1: ( 'service' ) - // InternalRos.g:7247:2: 'service' + // InternalRos.g:7408:1: ( 'service' ) + // InternalRos.g:7409:2: 'service' { before(grammarAccess.getServiceServerAccess().getServiceKeyword_4()); match(input,35,FOLLOW_2); @@ -22290,14 +22792,14 @@ public final void rule__ServiceServer__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__5" - // InternalRos.g:7256:1: rule__ServiceServer__Group__5 : rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ; + // InternalRos.g:7418:1: rule__ServiceServer__Group__5 : rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ; public final void rule__ServiceServer__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7260:1: ( rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ) - // InternalRos.g:7261:2: rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 + // InternalRos.g:7422:1: ( rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ) + // InternalRos.g:7423:2: rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 { pushFollow(FOLLOW_38); rule__ServiceServer__Group__5__Impl(); @@ -22328,21 +22830,21 @@ public final void rule__ServiceServer__Group__5() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__5__Impl" - // InternalRos.g:7268:1: rule__ServiceServer__Group__5__Impl : ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ; + // InternalRos.g:7430:1: rule__ServiceServer__Group__5__Impl : ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ; public final void rule__ServiceServer__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7272:1: ( ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ) - // InternalRos.g:7273:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) + // InternalRos.g:7434:1: ( ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ) + // InternalRos.g:7435:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) { - // InternalRos.g:7273:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) - // InternalRos.g:7274:2: ( rule__ServiceServer__ServiceAssignment_5 ) + // InternalRos.g:7435:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) + // InternalRos.g:7436:2: ( rule__ServiceServer__ServiceAssignment_5 ) { before(grammarAccess.getServiceServerAccess().getServiceAssignment_5()); - // InternalRos.g:7275:2: ( rule__ServiceServer__ServiceAssignment_5 ) - // InternalRos.g:7275:3: rule__ServiceServer__ServiceAssignment_5 + // InternalRos.g:7437:2: ( rule__ServiceServer__ServiceAssignment_5 ) + // InternalRos.g:7437:3: rule__ServiceServer__ServiceAssignment_5 { pushFollow(FOLLOW_2); rule__ServiceServer__ServiceAssignment_5(); @@ -22375,14 +22877,14 @@ public final void rule__ServiceServer__Group__5__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__6" - // InternalRos.g:7283:1: rule__ServiceServer__Group__6 : rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ; + // InternalRos.g:7445:1: rule__ServiceServer__Group__6 : rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ; public final void rule__ServiceServer__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7287:1: ( rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ) - // InternalRos.g:7288:2: rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 + // InternalRos.g:7449:1: ( rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ) + // InternalRos.g:7450:2: rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 { pushFollow(FOLLOW_38); rule__ServiceServer__Group__6__Impl(); @@ -22413,29 +22915,29 @@ public final void rule__ServiceServer__Group__6() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__6__Impl" - // InternalRos.g:7295:1: rule__ServiceServer__Group__6__Impl : ( ( rule__ServiceServer__Group_6__0 )? ) ; + // InternalRos.g:7457:1: rule__ServiceServer__Group__6__Impl : ( ( rule__ServiceServer__Group_6__0 )? ) ; public final void rule__ServiceServer__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7299:1: ( ( ( rule__ServiceServer__Group_6__0 )? ) ) - // InternalRos.g:7300:1: ( ( rule__ServiceServer__Group_6__0 )? ) + // InternalRos.g:7461:1: ( ( ( rule__ServiceServer__Group_6__0 )? ) ) + // InternalRos.g:7462:1: ( ( rule__ServiceServer__Group_6__0 )? ) { - // InternalRos.g:7300:1: ( ( rule__ServiceServer__Group_6__0 )? ) - // InternalRos.g:7301:2: ( rule__ServiceServer__Group_6__0 )? + // InternalRos.g:7462:1: ( ( rule__ServiceServer__Group_6__0 )? ) + // InternalRos.g:7463:2: ( rule__ServiceServer__Group_6__0 )? { before(grammarAccess.getServiceServerAccess().getGroup_6()); - // InternalRos.g:7302:2: ( rule__ServiceServer__Group_6__0 )? - int alt48=2; - int LA48_0 = input.LA(1); + // InternalRos.g:7464:2: ( rule__ServiceServer__Group_6__0 )? + int alt50=2; + int LA50_0 = input.LA(1); - if ( (LA48_0==63) ) { - alt48=1; + if ( (LA50_0==64) ) { + alt50=1; } - switch (alt48) { + switch (alt50) { case 1 : - // InternalRos.g:7302:3: rule__ServiceServer__Group_6__0 + // InternalRos.g:7464:3: rule__ServiceServer__Group_6__0 { pushFollow(FOLLOW_2); rule__ServiceServer__Group_6__0(); @@ -22471,14 +22973,14 @@ public final void rule__ServiceServer__Group__6__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__7" - // InternalRos.g:7310:1: rule__ServiceServer__Group__7 : rule__ServiceServer__Group__7__Impl ; + // InternalRos.g:7472:1: rule__ServiceServer__Group__7 : rule__ServiceServer__Group__7__Impl ; public final void rule__ServiceServer__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7314:1: ( rule__ServiceServer__Group__7__Impl ) - // InternalRos.g:7315:2: rule__ServiceServer__Group__7__Impl + // InternalRos.g:7476:1: ( rule__ServiceServer__Group__7__Impl ) + // InternalRos.g:7477:2: rule__ServiceServer__Group__7__Impl { pushFollow(FOLLOW_2); rule__ServiceServer__Group__7__Impl(); @@ -22504,17 +23006,17 @@ public final void rule__ServiceServer__Group__7() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__7__Impl" - // InternalRos.g:7321:1: rule__ServiceServer__Group__7__Impl : ( '}' ) ; + // InternalRos.g:7483:1: rule__ServiceServer__Group__7__Impl : ( '}' ) ; public final void rule__ServiceServer__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7325:1: ( ( '}' ) ) - // InternalRos.g:7326:1: ( '}' ) + // InternalRos.g:7487:1: ( ( '}' ) ) + // InternalRos.g:7488:1: ( '}' ) { - // InternalRos.g:7326:1: ( '}' ) - // InternalRos.g:7327:2: '}' + // InternalRos.g:7488:1: ( '}' ) + // InternalRos.g:7489:2: '}' { before(grammarAccess.getServiceServerAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -22541,14 +23043,14 @@ public final void rule__ServiceServer__Group__7__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group_6__0" - // InternalRos.g:7337:1: rule__ServiceServer__Group_6__0 : rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ; + // InternalRos.g:7499:1: rule__ServiceServer__Group_6__0 : rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ; public final void rule__ServiceServer__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7341:1: ( rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ) - // InternalRos.g:7342:2: rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 + // InternalRos.g:7503:1: ( rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ) + // InternalRos.g:7504:2: rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 { pushFollow(FOLLOW_39); rule__ServiceServer__Group_6__0__Impl(); @@ -22579,20 +23081,20 @@ public final void rule__ServiceServer__Group_6__0() throws RecognitionException // $ANTLR start "rule__ServiceServer__Group_6__0__Impl" - // InternalRos.g:7349:1: rule__ServiceServer__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:7511:1: rule__ServiceServer__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ServiceServer__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7353:1: ( ( 'namespace' ) ) - // InternalRos.g:7354:1: ( 'namespace' ) + // InternalRos.g:7515:1: ( ( 'namespace' ) ) + // InternalRos.g:7516:1: ( 'namespace' ) { - // InternalRos.g:7354:1: ( 'namespace' ) - // InternalRos.g:7355:2: 'namespace' + // InternalRos.g:7516:1: ( 'namespace' ) + // InternalRos.g:7517:2: 'namespace' { before(grammarAccess.getServiceServerAccess().getNamespaceKeyword_6_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getServiceServerAccess().getNamespaceKeyword_6_0()); } @@ -22616,14 +23118,14 @@ public final void rule__ServiceServer__Group_6__0__Impl() throws RecognitionExce // $ANTLR start "rule__ServiceServer__Group_6__1" - // InternalRos.g:7364:1: rule__ServiceServer__Group_6__1 : rule__ServiceServer__Group_6__1__Impl ; + // InternalRos.g:7526:1: rule__ServiceServer__Group_6__1 : rule__ServiceServer__Group_6__1__Impl ; public final void rule__ServiceServer__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7368:1: ( rule__ServiceServer__Group_6__1__Impl ) - // InternalRos.g:7369:2: rule__ServiceServer__Group_6__1__Impl + // InternalRos.g:7530:1: ( rule__ServiceServer__Group_6__1__Impl ) + // InternalRos.g:7531:2: rule__ServiceServer__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ServiceServer__Group_6__1__Impl(); @@ -22649,21 +23151,21 @@ public final void rule__ServiceServer__Group_6__1() throws RecognitionException // $ANTLR start "rule__ServiceServer__Group_6__1__Impl" - // InternalRos.g:7375:1: rule__ServiceServer__Group_6__1__Impl : ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:7537:1: rule__ServiceServer__Group_6__1__Impl : ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ; public final void rule__ServiceServer__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7379:1: ( ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:7380:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:7541:1: ( ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:7542:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:7380:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) - // InternalRos.g:7381:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) + // InternalRos.g:7542:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:7543:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) { before(grammarAccess.getServiceServerAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:7382:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) - // InternalRos.g:7382:3: rule__ServiceServer__NamespaceAssignment_6_1 + // InternalRos.g:7544:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) + // InternalRos.g:7544:3: rule__ServiceServer__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ServiceServer__NamespaceAssignment_6_1(); @@ -22696,14 +23198,14 @@ public final void rule__ServiceServer__Group_6__1__Impl() throws RecognitionExce // $ANTLR start "rule__Publisher__Group__0" - // InternalRos.g:7391:1: rule__Publisher__Group__0 : rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ; + // InternalRos.g:7553:1: rule__Publisher__Group__0 : rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ; public final void rule__Publisher__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7395:1: ( rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ) - // InternalRos.g:7396:2: rule__Publisher__Group__0__Impl rule__Publisher__Group__1 + // InternalRos.g:7557:1: ( rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ) + // InternalRos.g:7558:2: rule__Publisher__Group__0__Impl rule__Publisher__Group__1 { pushFollow(FOLLOW_4); rule__Publisher__Group__0__Impl(); @@ -22734,20 +23236,20 @@ public final void rule__Publisher__Group__0() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__0__Impl" - // InternalRos.g:7403:1: rule__Publisher__Group__0__Impl : ( 'Publisher' ) ; + // InternalRos.g:7565:1: rule__Publisher__Group__0__Impl : ( 'Publisher' ) ; public final void rule__Publisher__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7407:1: ( ( 'Publisher' ) ) - // InternalRos.g:7408:1: ( 'Publisher' ) + // InternalRos.g:7569:1: ( ( 'Publisher' ) ) + // InternalRos.g:7570:1: ( 'Publisher' ) { - // InternalRos.g:7408:1: ( 'Publisher' ) - // InternalRos.g:7409:2: 'Publisher' + // InternalRos.g:7570:1: ( 'Publisher' ) + // InternalRos.g:7571:2: 'Publisher' { before(grammarAccess.getPublisherAccess().getPublisherKeyword_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getPublisherAccess().getPublisherKeyword_0()); } @@ -22771,14 +23273,14 @@ public final void rule__Publisher__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__1" - // InternalRos.g:7418:1: rule__Publisher__Group__1 : rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ; + // InternalRos.g:7580:1: rule__Publisher__Group__1 : rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ; public final void rule__Publisher__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7422:1: ( rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ) - // InternalRos.g:7423:2: rule__Publisher__Group__1__Impl rule__Publisher__Group__2 + // InternalRos.g:7584:1: ( rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ) + // InternalRos.g:7585:2: rule__Publisher__Group__1__Impl rule__Publisher__Group__2 { pushFollow(FOLLOW_28); rule__Publisher__Group__1__Impl(); @@ -22809,17 +23311,17 @@ public final void rule__Publisher__Group__1() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__1__Impl" - // InternalRos.g:7430:1: rule__Publisher__Group__1__Impl : ( '{' ) ; + // InternalRos.g:7592:1: rule__Publisher__Group__1__Impl : ( '{' ) ; public final void rule__Publisher__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7434:1: ( ( '{' ) ) - // InternalRos.g:7435:1: ( '{' ) + // InternalRos.g:7596:1: ( ( '{' ) ) + // InternalRos.g:7597:1: ( '{' ) { - // InternalRos.g:7435:1: ( '{' ) - // InternalRos.g:7436:2: '{' + // InternalRos.g:7597:1: ( '{' ) + // InternalRos.g:7598:2: '{' { before(grammarAccess.getPublisherAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -22846,14 +23348,14 @@ public final void rule__Publisher__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__2" - // InternalRos.g:7445:1: rule__Publisher__Group__2 : rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ; + // InternalRos.g:7607:1: rule__Publisher__Group__2 : rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ; public final void rule__Publisher__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7449:1: ( rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ) - // InternalRos.g:7450:2: rule__Publisher__Group__2__Impl rule__Publisher__Group__3 + // InternalRos.g:7611:1: ( rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ) + // InternalRos.g:7612:2: rule__Publisher__Group__2__Impl rule__Publisher__Group__3 { pushFollow(FOLLOW_10); rule__Publisher__Group__2__Impl(); @@ -22884,17 +23386,17 @@ public final void rule__Publisher__Group__2() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__2__Impl" - // InternalRos.g:7457:1: rule__Publisher__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:7619:1: rule__Publisher__Group__2__Impl : ( 'name' ) ; public final void rule__Publisher__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7461:1: ( ( 'name' ) ) - // InternalRos.g:7462:1: ( 'name' ) + // InternalRos.g:7623:1: ( ( 'name' ) ) + // InternalRos.g:7624:1: ( 'name' ) { - // InternalRos.g:7462:1: ( 'name' ) - // InternalRos.g:7463:2: 'name' + // InternalRos.g:7624:1: ( 'name' ) + // InternalRos.g:7625:2: 'name' { before(grammarAccess.getPublisherAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -22921,14 +23423,14 @@ public final void rule__Publisher__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__3" - // InternalRos.g:7472:1: rule__Publisher__Group__3 : rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ; + // InternalRos.g:7634:1: rule__Publisher__Group__3 : rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ; public final void rule__Publisher__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7476:1: ( rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ) - // InternalRos.g:7477:2: rule__Publisher__Group__3__Impl rule__Publisher__Group__4 + // InternalRos.g:7638:1: ( rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ) + // InternalRos.g:7639:2: rule__Publisher__Group__3__Impl rule__Publisher__Group__4 { pushFollow(FOLLOW_40); rule__Publisher__Group__3__Impl(); @@ -22959,21 +23461,21 @@ public final void rule__Publisher__Group__3() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__3__Impl" - // InternalRos.g:7484:1: rule__Publisher__Group__3__Impl : ( ( rule__Publisher__NameAssignment_3 ) ) ; + // InternalRos.g:7646:1: rule__Publisher__Group__3__Impl : ( ( rule__Publisher__NameAssignment_3 ) ) ; public final void rule__Publisher__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7488:1: ( ( ( rule__Publisher__NameAssignment_3 ) ) ) - // InternalRos.g:7489:1: ( ( rule__Publisher__NameAssignment_3 ) ) + // InternalRos.g:7650:1: ( ( ( rule__Publisher__NameAssignment_3 ) ) ) + // InternalRos.g:7651:1: ( ( rule__Publisher__NameAssignment_3 ) ) { - // InternalRos.g:7489:1: ( ( rule__Publisher__NameAssignment_3 ) ) - // InternalRos.g:7490:2: ( rule__Publisher__NameAssignment_3 ) + // InternalRos.g:7651:1: ( ( rule__Publisher__NameAssignment_3 ) ) + // InternalRos.g:7652:2: ( rule__Publisher__NameAssignment_3 ) { before(grammarAccess.getPublisherAccess().getNameAssignment_3()); - // InternalRos.g:7491:2: ( rule__Publisher__NameAssignment_3 ) - // InternalRos.g:7491:3: rule__Publisher__NameAssignment_3 + // InternalRos.g:7653:2: ( rule__Publisher__NameAssignment_3 ) + // InternalRos.g:7653:3: rule__Publisher__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Publisher__NameAssignment_3(); @@ -23006,14 +23508,14 @@ public final void rule__Publisher__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__4" - // InternalRos.g:7499:1: rule__Publisher__Group__4 : rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ; + // InternalRos.g:7661:1: rule__Publisher__Group__4 : rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ; public final void rule__Publisher__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7503:1: ( rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ) - // InternalRos.g:7504:2: rule__Publisher__Group__4__Impl rule__Publisher__Group__5 + // InternalRos.g:7665:1: ( rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ) + // InternalRos.g:7666:2: rule__Publisher__Group__4__Impl rule__Publisher__Group__5 { pushFollow(FOLLOW_10); rule__Publisher__Group__4__Impl(); @@ -23044,17 +23546,17 @@ public final void rule__Publisher__Group__4() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__4__Impl" - // InternalRos.g:7511:1: rule__Publisher__Group__4__Impl : ( 'message' ) ; + // InternalRos.g:7673:1: rule__Publisher__Group__4__Impl : ( 'message' ) ; public final void rule__Publisher__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7515:1: ( ( 'message' ) ) - // InternalRos.g:7516:1: ( 'message' ) + // InternalRos.g:7677:1: ( ( 'message' ) ) + // InternalRos.g:7678:1: ( 'message' ) { - // InternalRos.g:7516:1: ( 'message' ) - // InternalRos.g:7517:2: 'message' + // InternalRos.g:7678:1: ( 'message' ) + // InternalRos.g:7679:2: 'message' { before(grammarAccess.getPublisherAccess().getMessageKeyword_4()); match(input,30,FOLLOW_2); @@ -23081,14 +23583,14 @@ public final void rule__Publisher__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__5" - // InternalRos.g:7526:1: rule__Publisher__Group__5 : rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ; + // InternalRos.g:7688:1: rule__Publisher__Group__5 : rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ; public final void rule__Publisher__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7530:1: ( rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ) - // InternalRos.g:7531:2: rule__Publisher__Group__5__Impl rule__Publisher__Group__6 + // InternalRos.g:7692:1: ( rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ) + // InternalRos.g:7693:2: rule__Publisher__Group__5__Impl rule__Publisher__Group__6 { pushFollow(FOLLOW_38); rule__Publisher__Group__5__Impl(); @@ -23119,21 +23621,21 @@ public final void rule__Publisher__Group__5() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__5__Impl" - // InternalRos.g:7538:1: rule__Publisher__Group__5__Impl : ( ( rule__Publisher__MessageAssignment_5 ) ) ; + // InternalRos.g:7700:1: rule__Publisher__Group__5__Impl : ( ( rule__Publisher__MessageAssignment_5 ) ) ; public final void rule__Publisher__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7542:1: ( ( ( rule__Publisher__MessageAssignment_5 ) ) ) - // InternalRos.g:7543:1: ( ( rule__Publisher__MessageAssignment_5 ) ) + // InternalRos.g:7704:1: ( ( ( rule__Publisher__MessageAssignment_5 ) ) ) + // InternalRos.g:7705:1: ( ( rule__Publisher__MessageAssignment_5 ) ) { - // InternalRos.g:7543:1: ( ( rule__Publisher__MessageAssignment_5 ) ) - // InternalRos.g:7544:2: ( rule__Publisher__MessageAssignment_5 ) + // InternalRos.g:7705:1: ( ( rule__Publisher__MessageAssignment_5 ) ) + // InternalRos.g:7706:2: ( rule__Publisher__MessageAssignment_5 ) { before(grammarAccess.getPublisherAccess().getMessageAssignment_5()); - // InternalRos.g:7545:2: ( rule__Publisher__MessageAssignment_5 ) - // InternalRos.g:7545:3: rule__Publisher__MessageAssignment_5 + // InternalRos.g:7707:2: ( rule__Publisher__MessageAssignment_5 ) + // InternalRos.g:7707:3: rule__Publisher__MessageAssignment_5 { pushFollow(FOLLOW_2); rule__Publisher__MessageAssignment_5(); @@ -23166,14 +23668,14 @@ public final void rule__Publisher__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__6" - // InternalRos.g:7553:1: rule__Publisher__Group__6 : rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ; + // InternalRos.g:7715:1: rule__Publisher__Group__6 : rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ; public final void rule__Publisher__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7557:1: ( rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ) - // InternalRos.g:7558:2: rule__Publisher__Group__6__Impl rule__Publisher__Group__7 + // InternalRos.g:7719:1: ( rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ) + // InternalRos.g:7720:2: rule__Publisher__Group__6__Impl rule__Publisher__Group__7 { pushFollow(FOLLOW_38); rule__Publisher__Group__6__Impl(); @@ -23204,29 +23706,29 @@ public final void rule__Publisher__Group__6() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__6__Impl" - // InternalRos.g:7565:1: rule__Publisher__Group__6__Impl : ( ( rule__Publisher__Group_6__0 )? ) ; + // InternalRos.g:7727:1: rule__Publisher__Group__6__Impl : ( ( rule__Publisher__Group_6__0 )? ) ; public final void rule__Publisher__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7569:1: ( ( ( rule__Publisher__Group_6__0 )? ) ) - // InternalRos.g:7570:1: ( ( rule__Publisher__Group_6__0 )? ) + // InternalRos.g:7731:1: ( ( ( rule__Publisher__Group_6__0 )? ) ) + // InternalRos.g:7732:1: ( ( rule__Publisher__Group_6__0 )? ) { - // InternalRos.g:7570:1: ( ( rule__Publisher__Group_6__0 )? ) - // InternalRos.g:7571:2: ( rule__Publisher__Group_6__0 )? + // InternalRos.g:7732:1: ( ( rule__Publisher__Group_6__0 )? ) + // InternalRos.g:7733:2: ( rule__Publisher__Group_6__0 )? { before(grammarAccess.getPublisherAccess().getGroup_6()); - // InternalRos.g:7572:2: ( rule__Publisher__Group_6__0 )? - int alt49=2; - int LA49_0 = input.LA(1); + // InternalRos.g:7734:2: ( rule__Publisher__Group_6__0 )? + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA49_0==63) ) { - alt49=1; + if ( (LA51_0==64) ) { + alt51=1; } - switch (alt49) { + switch (alt51) { case 1 : - // InternalRos.g:7572:3: rule__Publisher__Group_6__0 + // InternalRos.g:7734:3: rule__Publisher__Group_6__0 { pushFollow(FOLLOW_2); rule__Publisher__Group_6__0(); @@ -23262,14 +23764,14 @@ public final void rule__Publisher__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__7" - // InternalRos.g:7580:1: rule__Publisher__Group__7 : rule__Publisher__Group__7__Impl ; + // InternalRos.g:7742:1: rule__Publisher__Group__7 : rule__Publisher__Group__7__Impl ; public final void rule__Publisher__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7584:1: ( rule__Publisher__Group__7__Impl ) - // InternalRos.g:7585:2: rule__Publisher__Group__7__Impl + // InternalRos.g:7746:1: ( rule__Publisher__Group__7__Impl ) + // InternalRos.g:7747:2: rule__Publisher__Group__7__Impl { pushFollow(FOLLOW_2); rule__Publisher__Group__7__Impl(); @@ -23295,17 +23797,17 @@ public final void rule__Publisher__Group__7() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__7__Impl" - // InternalRos.g:7591:1: rule__Publisher__Group__7__Impl : ( '}' ) ; + // InternalRos.g:7753:1: rule__Publisher__Group__7__Impl : ( '}' ) ; public final void rule__Publisher__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7595:1: ( ( '}' ) ) - // InternalRos.g:7596:1: ( '}' ) + // InternalRos.g:7757:1: ( ( '}' ) ) + // InternalRos.g:7758:1: ( '}' ) { - // InternalRos.g:7596:1: ( '}' ) - // InternalRos.g:7597:2: '}' + // InternalRos.g:7758:1: ( '}' ) + // InternalRos.g:7759:2: '}' { before(grammarAccess.getPublisherAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -23332,14 +23834,14 @@ public final void rule__Publisher__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group_6__0" - // InternalRos.g:7607:1: rule__Publisher__Group_6__0 : rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ; + // InternalRos.g:7769:1: rule__Publisher__Group_6__0 : rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ; public final void rule__Publisher__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7611:1: ( rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ) - // InternalRos.g:7612:2: rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 + // InternalRos.g:7773:1: ( rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ) + // InternalRos.g:7774:2: rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 { pushFollow(FOLLOW_39); rule__Publisher__Group_6__0__Impl(); @@ -23370,20 +23872,20 @@ public final void rule__Publisher__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Publisher__Group_6__0__Impl" - // InternalRos.g:7619:1: rule__Publisher__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:7781:1: rule__Publisher__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__Publisher__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7623:1: ( ( 'namespace' ) ) - // InternalRos.g:7624:1: ( 'namespace' ) + // InternalRos.g:7785:1: ( ( 'namespace' ) ) + // InternalRos.g:7786:1: ( 'namespace' ) { - // InternalRos.g:7624:1: ( 'namespace' ) - // InternalRos.g:7625:2: 'namespace' + // InternalRos.g:7786:1: ( 'namespace' ) + // InternalRos.g:7787:2: 'namespace' { before(grammarAccess.getPublisherAccess().getNamespaceKeyword_6_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getPublisherAccess().getNamespaceKeyword_6_0()); } @@ -23407,14 +23909,14 @@ public final void rule__Publisher__Group_6__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Publisher__Group_6__1" - // InternalRos.g:7634:1: rule__Publisher__Group_6__1 : rule__Publisher__Group_6__1__Impl ; + // InternalRos.g:7796:1: rule__Publisher__Group_6__1 : rule__Publisher__Group_6__1__Impl ; public final void rule__Publisher__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7638:1: ( rule__Publisher__Group_6__1__Impl ) - // InternalRos.g:7639:2: rule__Publisher__Group_6__1__Impl + // InternalRos.g:7800:1: ( rule__Publisher__Group_6__1__Impl ) + // InternalRos.g:7801:2: rule__Publisher__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__Publisher__Group_6__1__Impl(); @@ -23440,21 +23942,21 @@ public final void rule__Publisher__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Publisher__Group_6__1__Impl" - // InternalRos.g:7645:1: rule__Publisher__Group_6__1__Impl : ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:7807:1: rule__Publisher__Group_6__1__Impl : ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ; public final void rule__Publisher__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7649:1: ( ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:7650:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) + // InternalRos.g:7811:1: ( ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:7812:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:7650:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) - // InternalRos.g:7651:2: ( rule__Publisher__NamespaceAssignment_6_1 ) + // InternalRos.g:7812:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) + // InternalRos.g:7813:2: ( rule__Publisher__NamespaceAssignment_6_1 ) { before(grammarAccess.getPublisherAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:7652:2: ( rule__Publisher__NamespaceAssignment_6_1 ) - // InternalRos.g:7652:3: rule__Publisher__NamespaceAssignment_6_1 + // InternalRos.g:7814:2: ( rule__Publisher__NamespaceAssignment_6_1 ) + // InternalRos.g:7814:3: rule__Publisher__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__Publisher__NamespaceAssignment_6_1(); @@ -23487,14 +23989,14 @@ public final void rule__Publisher__Group_6__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Subscriber__Group__0" - // InternalRos.g:7661:1: rule__Subscriber__Group__0 : rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ; + // InternalRos.g:7823:1: rule__Subscriber__Group__0 : rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ; public final void rule__Subscriber__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7665:1: ( rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ) - // InternalRos.g:7666:2: rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 + // InternalRos.g:7827:1: ( rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ) + // InternalRos.g:7828:2: rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 { pushFollow(FOLLOW_4); rule__Subscriber__Group__0__Impl(); @@ -23525,20 +24027,20 @@ public final void rule__Subscriber__Group__0() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__0__Impl" - // InternalRos.g:7673:1: rule__Subscriber__Group__0__Impl : ( 'Subscriber' ) ; + // InternalRos.g:7835:1: rule__Subscriber__Group__0__Impl : ( 'Subscriber' ) ; public final void rule__Subscriber__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7677:1: ( ( 'Subscriber' ) ) - // InternalRos.g:7678:1: ( 'Subscriber' ) + // InternalRos.g:7839:1: ( ( 'Subscriber' ) ) + // InternalRos.g:7840:1: ( 'Subscriber' ) { - // InternalRos.g:7678:1: ( 'Subscriber' ) - // InternalRos.g:7679:2: 'Subscriber' + // InternalRos.g:7840:1: ( 'Subscriber' ) + // InternalRos.g:7841:2: 'Subscriber' { before(grammarAccess.getSubscriberAccess().getSubscriberKeyword_0()); - match(input,65,FOLLOW_2); + match(input,66,FOLLOW_2); after(grammarAccess.getSubscriberAccess().getSubscriberKeyword_0()); } @@ -23562,14 +24064,14 @@ public final void rule__Subscriber__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__1" - // InternalRos.g:7688:1: rule__Subscriber__Group__1 : rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ; + // InternalRos.g:7850:1: rule__Subscriber__Group__1 : rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ; public final void rule__Subscriber__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7692:1: ( rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ) - // InternalRos.g:7693:2: rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 + // InternalRos.g:7854:1: ( rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ) + // InternalRos.g:7855:2: rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 { pushFollow(FOLLOW_28); rule__Subscriber__Group__1__Impl(); @@ -23600,17 +24102,17 @@ public final void rule__Subscriber__Group__1() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__1__Impl" - // InternalRos.g:7700:1: rule__Subscriber__Group__1__Impl : ( '{' ) ; + // InternalRos.g:7862:1: rule__Subscriber__Group__1__Impl : ( '{' ) ; public final void rule__Subscriber__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7704:1: ( ( '{' ) ) - // InternalRos.g:7705:1: ( '{' ) + // InternalRos.g:7866:1: ( ( '{' ) ) + // InternalRos.g:7867:1: ( '{' ) { - // InternalRos.g:7705:1: ( '{' ) - // InternalRos.g:7706:2: '{' + // InternalRos.g:7867:1: ( '{' ) + // InternalRos.g:7868:2: '{' { before(grammarAccess.getSubscriberAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -23637,14 +24139,14 @@ public final void rule__Subscriber__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__2" - // InternalRos.g:7715:1: rule__Subscriber__Group__2 : rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ; + // InternalRos.g:7877:1: rule__Subscriber__Group__2 : rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ; public final void rule__Subscriber__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7719:1: ( rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ) - // InternalRos.g:7720:2: rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 + // InternalRos.g:7881:1: ( rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ) + // InternalRos.g:7882:2: rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 { pushFollow(FOLLOW_10); rule__Subscriber__Group__2__Impl(); @@ -23675,17 +24177,17 @@ public final void rule__Subscriber__Group__2() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__2__Impl" - // InternalRos.g:7727:1: rule__Subscriber__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:7889:1: rule__Subscriber__Group__2__Impl : ( 'name' ) ; public final void rule__Subscriber__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7731:1: ( ( 'name' ) ) - // InternalRos.g:7732:1: ( 'name' ) + // InternalRos.g:7893:1: ( ( 'name' ) ) + // InternalRos.g:7894:1: ( 'name' ) { - // InternalRos.g:7732:1: ( 'name' ) - // InternalRos.g:7733:2: 'name' + // InternalRos.g:7894:1: ( 'name' ) + // InternalRos.g:7895:2: 'name' { before(grammarAccess.getSubscriberAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -23712,14 +24214,14 @@ public final void rule__Subscriber__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__3" - // InternalRos.g:7742:1: rule__Subscriber__Group__3 : rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ; + // InternalRos.g:7904:1: rule__Subscriber__Group__3 : rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ; public final void rule__Subscriber__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7746:1: ( rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ) - // InternalRos.g:7747:2: rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 + // InternalRos.g:7908:1: ( rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ) + // InternalRos.g:7909:2: rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 { pushFollow(FOLLOW_40); rule__Subscriber__Group__3__Impl(); @@ -23750,21 +24252,21 @@ public final void rule__Subscriber__Group__3() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__3__Impl" - // InternalRos.g:7754:1: rule__Subscriber__Group__3__Impl : ( ( rule__Subscriber__NameAssignment_3 ) ) ; + // InternalRos.g:7916:1: rule__Subscriber__Group__3__Impl : ( ( rule__Subscriber__NameAssignment_3 ) ) ; public final void rule__Subscriber__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7758:1: ( ( ( rule__Subscriber__NameAssignment_3 ) ) ) - // InternalRos.g:7759:1: ( ( rule__Subscriber__NameAssignment_3 ) ) + // InternalRos.g:7920:1: ( ( ( rule__Subscriber__NameAssignment_3 ) ) ) + // InternalRos.g:7921:1: ( ( rule__Subscriber__NameAssignment_3 ) ) { - // InternalRos.g:7759:1: ( ( rule__Subscriber__NameAssignment_3 ) ) - // InternalRos.g:7760:2: ( rule__Subscriber__NameAssignment_3 ) + // InternalRos.g:7921:1: ( ( rule__Subscriber__NameAssignment_3 ) ) + // InternalRos.g:7922:2: ( rule__Subscriber__NameAssignment_3 ) { before(grammarAccess.getSubscriberAccess().getNameAssignment_3()); - // InternalRos.g:7761:2: ( rule__Subscriber__NameAssignment_3 ) - // InternalRos.g:7761:3: rule__Subscriber__NameAssignment_3 + // InternalRos.g:7923:2: ( rule__Subscriber__NameAssignment_3 ) + // InternalRos.g:7923:3: rule__Subscriber__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Subscriber__NameAssignment_3(); @@ -23797,14 +24299,14 @@ public final void rule__Subscriber__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__4" - // InternalRos.g:7769:1: rule__Subscriber__Group__4 : rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ; + // InternalRos.g:7931:1: rule__Subscriber__Group__4 : rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ; public final void rule__Subscriber__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7773:1: ( rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ) - // InternalRos.g:7774:2: rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 + // InternalRos.g:7935:1: ( rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ) + // InternalRos.g:7936:2: rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 { pushFollow(FOLLOW_10); rule__Subscriber__Group__4__Impl(); @@ -23835,17 +24337,17 @@ public final void rule__Subscriber__Group__4() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__4__Impl" - // InternalRos.g:7781:1: rule__Subscriber__Group__4__Impl : ( 'message' ) ; + // InternalRos.g:7943:1: rule__Subscriber__Group__4__Impl : ( 'message' ) ; public final void rule__Subscriber__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7785:1: ( ( 'message' ) ) - // InternalRos.g:7786:1: ( 'message' ) + // InternalRos.g:7947:1: ( ( 'message' ) ) + // InternalRos.g:7948:1: ( 'message' ) { - // InternalRos.g:7786:1: ( 'message' ) - // InternalRos.g:7787:2: 'message' + // InternalRos.g:7948:1: ( 'message' ) + // InternalRos.g:7949:2: 'message' { before(grammarAccess.getSubscriberAccess().getMessageKeyword_4()); match(input,30,FOLLOW_2); @@ -23872,14 +24374,14 @@ public final void rule__Subscriber__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__5" - // InternalRos.g:7796:1: rule__Subscriber__Group__5 : rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ; + // InternalRos.g:7958:1: rule__Subscriber__Group__5 : rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ; public final void rule__Subscriber__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7800:1: ( rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ) - // InternalRos.g:7801:2: rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 + // InternalRos.g:7962:1: ( rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ) + // InternalRos.g:7963:2: rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 { pushFollow(FOLLOW_38); rule__Subscriber__Group__5__Impl(); @@ -23910,21 +24412,21 @@ public final void rule__Subscriber__Group__5() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__5__Impl" - // InternalRos.g:7808:1: rule__Subscriber__Group__5__Impl : ( ( rule__Subscriber__MessageAssignment_5 ) ) ; + // InternalRos.g:7970:1: rule__Subscriber__Group__5__Impl : ( ( rule__Subscriber__MessageAssignment_5 ) ) ; public final void rule__Subscriber__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7812:1: ( ( ( rule__Subscriber__MessageAssignment_5 ) ) ) - // InternalRos.g:7813:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) + // InternalRos.g:7974:1: ( ( ( rule__Subscriber__MessageAssignment_5 ) ) ) + // InternalRos.g:7975:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) { - // InternalRos.g:7813:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) - // InternalRos.g:7814:2: ( rule__Subscriber__MessageAssignment_5 ) + // InternalRos.g:7975:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) + // InternalRos.g:7976:2: ( rule__Subscriber__MessageAssignment_5 ) { before(grammarAccess.getSubscriberAccess().getMessageAssignment_5()); - // InternalRos.g:7815:2: ( rule__Subscriber__MessageAssignment_5 ) - // InternalRos.g:7815:3: rule__Subscriber__MessageAssignment_5 + // InternalRos.g:7977:2: ( rule__Subscriber__MessageAssignment_5 ) + // InternalRos.g:7977:3: rule__Subscriber__MessageAssignment_5 { pushFollow(FOLLOW_2); rule__Subscriber__MessageAssignment_5(); @@ -23957,14 +24459,14 @@ public final void rule__Subscriber__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__6" - // InternalRos.g:7823:1: rule__Subscriber__Group__6 : rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ; + // InternalRos.g:7985:1: rule__Subscriber__Group__6 : rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ; public final void rule__Subscriber__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7827:1: ( rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ) - // InternalRos.g:7828:2: rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 + // InternalRos.g:7989:1: ( rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ) + // InternalRos.g:7990:2: rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 { pushFollow(FOLLOW_38); rule__Subscriber__Group__6__Impl(); @@ -23995,29 +24497,29 @@ public final void rule__Subscriber__Group__6() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__6__Impl" - // InternalRos.g:7835:1: rule__Subscriber__Group__6__Impl : ( ( rule__Subscriber__Group_6__0 )? ) ; + // InternalRos.g:7997:1: rule__Subscriber__Group__6__Impl : ( ( rule__Subscriber__Group_6__0 )? ) ; public final void rule__Subscriber__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7839:1: ( ( ( rule__Subscriber__Group_6__0 )? ) ) - // InternalRos.g:7840:1: ( ( rule__Subscriber__Group_6__0 )? ) + // InternalRos.g:8001:1: ( ( ( rule__Subscriber__Group_6__0 )? ) ) + // InternalRos.g:8002:1: ( ( rule__Subscriber__Group_6__0 )? ) { - // InternalRos.g:7840:1: ( ( rule__Subscriber__Group_6__0 )? ) - // InternalRos.g:7841:2: ( rule__Subscriber__Group_6__0 )? + // InternalRos.g:8002:1: ( ( rule__Subscriber__Group_6__0 )? ) + // InternalRos.g:8003:2: ( rule__Subscriber__Group_6__0 )? { before(grammarAccess.getSubscriberAccess().getGroup_6()); - // InternalRos.g:7842:2: ( rule__Subscriber__Group_6__0 )? - int alt50=2; - int LA50_0 = input.LA(1); + // InternalRos.g:8004:2: ( rule__Subscriber__Group_6__0 )? + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA50_0==63) ) { - alt50=1; + if ( (LA52_0==64) ) { + alt52=1; } - switch (alt50) { + switch (alt52) { case 1 : - // InternalRos.g:7842:3: rule__Subscriber__Group_6__0 + // InternalRos.g:8004:3: rule__Subscriber__Group_6__0 { pushFollow(FOLLOW_2); rule__Subscriber__Group_6__0(); @@ -24053,14 +24555,14 @@ public final void rule__Subscriber__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__7" - // InternalRos.g:7850:1: rule__Subscriber__Group__7 : rule__Subscriber__Group__7__Impl ; + // InternalRos.g:8012:1: rule__Subscriber__Group__7 : rule__Subscriber__Group__7__Impl ; public final void rule__Subscriber__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7854:1: ( rule__Subscriber__Group__7__Impl ) - // InternalRos.g:7855:2: rule__Subscriber__Group__7__Impl + // InternalRos.g:8016:1: ( rule__Subscriber__Group__7__Impl ) + // InternalRos.g:8017:2: rule__Subscriber__Group__7__Impl { pushFollow(FOLLOW_2); rule__Subscriber__Group__7__Impl(); @@ -24086,17 +24588,17 @@ public final void rule__Subscriber__Group__7() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__7__Impl" - // InternalRos.g:7861:1: rule__Subscriber__Group__7__Impl : ( '}' ) ; + // InternalRos.g:8023:1: rule__Subscriber__Group__7__Impl : ( '}' ) ; public final void rule__Subscriber__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7865:1: ( ( '}' ) ) - // InternalRos.g:7866:1: ( '}' ) + // InternalRos.g:8027:1: ( ( '}' ) ) + // InternalRos.g:8028:1: ( '}' ) { - // InternalRos.g:7866:1: ( '}' ) - // InternalRos.g:7867:2: '}' + // InternalRos.g:8028:1: ( '}' ) + // InternalRos.g:8029:2: '}' { before(grammarAccess.getSubscriberAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -24123,14 +24625,14 @@ public final void rule__Subscriber__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group_6__0" - // InternalRos.g:7877:1: rule__Subscriber__Group_6__0 : rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ; + // InternalRos.g:8039:1: rule__Subscriber__Group_6__0 : rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ; public final void rule__Subscriber__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7881:1: ( rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ) - // InternalRos.g:7882:2: rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 + // InternalRos.g:8043:1: ( rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ) + // InternalRos.g:8044:2: rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 { pushFollow(FOLLOW_39); rule__Subscriber__Group_6__0__Impl(); @@ -24161,20 +24663,20 @@ public final void rule__Subscriber__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group_6__0__Impl" - // InternalRos.g:7889:1: rule__Subscriber__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:8051:1: rule__Subscriber__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__Subscriber__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7893:1: ( ( 'namespace' ) ) - // InternalRos.g:7894:1: ( 'namespace' ) + // InternalRos.g:8055:1: ( ( 'namespace' ) ) + // InternalRos.g:8056:1: ( 'namespace' ) { - // InternalRos.g:7894:1: ( 'namespace' ) - // InternalRos.g:7895:2: 'namespace' + // InternalRos.g:8056:1: ( 'namespace' ) + // InternalRos.g:8057:2: 'namespace' { before(grammarAccess.getSubscriberAccess().getNamespaceKeyword_6_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getSubscriberAccess().getNamespaceKeyword_6_0()); } @@ -24198,14 +24700,14 @@ public final void rule__Subscriber__Group_6__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__Subscriber__Group_6__1" - // InternalRos.g:7904:1: rule__Subscriber__Group_6__1 : rule__Subscriber__Group_6__1__Impl ; + // InternalRos.g:8066:1: rule__Subscriber__Group_6__1 : rule__Subscriber__Group_6__1__Impl ; public final void rule__Subscriber__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7908:1: ( rule__Subscriber__Group_6__1__Impl ) - // InternalRos.g:7909:2: rule__Subscriber__Group_6__1__Impl + // InternalRos.g:8070:1: ( rule__Subscriber__Group_6__1__Impl ) + // InternalRos.g:8071:2: rule__Subscriber__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__Subscriber__Group_6__1__Impl(); @@ -24231,21 +24733,21 @@ public final void rule__Subscriber__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group_6__1__Impl" - // InternalRos.g:7915:1: rule__Subscriber__Group_6__1__Impl : ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:8077:1: rule__Subscriber__Group_6__1__Impl : ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ; public final void rule__Subscriber__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7919:1: ( ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:7920:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8081:1: ( ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:8082:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:7920:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) - // InternalRos.g:7921:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) + // InternalRos.g:8082:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8083:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) { before(grammarAccess.getSubscriberAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:7922:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) - // InternalRos.g:7922:3: rule__Subscriber__NamespaceAssignment_6_1 + // InternalRos.g:8084:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) + // InternalRos.g:8084:3: rule__Subscriber__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__Subscriber__NamespaceAssignment_6_1(); @@ -24278,14 +24780,14 @@ public final void rule__Subscriber__Group_6__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ServiceClient__Group__0" - // InternalRos.g:7931:1: rule__ServiceClient__Group__0 : rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ; + // InternalRos.g:8093:1: rule__ServiceClient__Group__0 : rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ; public final void rule__ServiceClient__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7935:1: ( rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ) - // InternalRos.g:7936:2: rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 + // InternalRos.g:8097:1: ( rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ) + // InternalRos.g:8098:2: rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 { pushFollow(FOLLOW_4); rule__ServiceClient__Group__0__Impl(); @@ -24316,20 +24818,20 @@ public final void rule__ServiceClient__Group__0() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__0__Impl" - // InternalRos.g:7943:1: rule__ServiceClient__Group__0__Impl : ( 'ServiceClient' ) ; + // InternalRos.g:8105:1: rule__ServiceClient__Group__0__Impl : ( 'ServiceClient' ) ; public final void rule__ServiceClient__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7947:1: ( ( 'ServiceClient' ) ) - // InternalRos.g:7948:1: ( 'ServiceClient' ) + // InternalRos.g:8109:1: ( ( 'ServiceClient' ) ) + // InternalRos.g:8110:1: ( 'ServiceClient' ) { - // InternalRos.g:7948:1: ( 'ServiceClient' ) - // InternalRos.g:7949:2: 'ServiceClient' + // InternalRos.g:8110:1: ( 'ServiceClient' ) + // InternalRos.g:8111:2: 'ServiceClient' { before(grammarAccess.getServiceClientAccess().getServiceClientKeyword_0()); - match(input,66,FOLLOW_2); + match(input,67,FOLLOW_2); after(grammarAccess.getServiceClientAccess().getServiceClientKeyword_0()); } @@ -24353,14 +24855,14 @@ public final void rule__ServiceClient__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__1" - // InternalRos.g:7958:1: rule__ServiceClient__Group__1 : rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ; + // InternalRos.g:8120:1: rule__ServiceClient__Group__1 : rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ; public final void rule__ServiceClient__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7962:1: ( rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ) - // InternalRos.g:7963:2: rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 + // InternalRos.g:8124:1: ( rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ) + // InternalRos.g:8125:2: rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 { pushFollow(FOLLOW_28); rule__ServiceClient__Group__1__Impl(); @@ -24391,17 +24893,17 @@ public final void rule__ServiceClient__Group__1() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__1__Impl" - // InternalRos.g:7970:1: rule__ServiceClient__Group__1__Impl : ( '{' ) ; + // InternalRos.g:8132:1: rule__ServiceClient__Group__1__Impl : ( '{' ) ; public final void rule__ServiceClient__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7974:1: ( ( '{' ) ) - // InternalRos.g:7975:1: ( '{' ) + // InternalRos.g:8136:1: ( ( '{' ) ) + // InternalRos.g:8137:1: ( '{' ) { - // InternalRos.g:7975:1: ( '{' ) - // InternalRos.g:7976:2: '{' + // InternalRos.g:8137:1: ( '{' ) + // InternalRos.g:8138:2: '{' { before(grammarAccess.getServiceClientAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -24428,14 +24930,14 @@ public final void rule__ServiceClient__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__2" - // InternalRos.g:7985:1: rule__ServiceClient__Group__2 : rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ; + // InternalRos.g:8147:1: rule__ServiceClient__Group__2 : rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ; public final void rule__ServiceClient__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7989:1: ( rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ) - // InternalRos.g:7990:2: rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 + // InternalRos.g:8151:1: ( rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ) + // InternalRos.g:8152:2: rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 { pushFollow(FOLLOW_10); rule__ServiceClient__Group__2__Impl(); @@ -24466,17 +24968,17 @@ public final void rule__ServiceClient__Group__2() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__2__Impl" - // InternalRos.g:7997:1: rule__ServiceClient__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:8159:1: rule__ServiceClient__Group__2__Impl : ( 'name' ) ; public final void rule__ServiceClient__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8001:1: ( ( 'name' ) ) - // InternalRos.g:8002:1: ( 'name' ) + // InternalRos.g:8163:1: ( ( 'name' ) ) + // InternalRos.g:8164:1: ( 'name' ) { - // InternalRos.g:8002:1: ( 'name' ) - // InternalRos.g:8003:2: 'name' + // InternalRos.g:8164:1: ( 'name' ) + // InternalRos.g:8165:2: 'name' { before(grammarAccess.getServiceClientAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -24503,14 +25005,14 @@ public final void rule__ServiceClient__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__3" - // InternalRos.g:8012:1: rule__ServiceClient__Group__3 : rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ; + // InternalRos.g:8174:1: rule__ServiceClient__Group__3 : rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ; public final void rule__ServiceClient__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8016:1: ( rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ) - // InternalRos.g:8017:2: rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 + // InternalRos.g:8178:1: ( rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ) + // InternalRos.g:8179:2: rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 { pushFollow(FOLLOW_37); rule__ServiceClient__Group__3__Impl(); @@ -24541,21 +25043,21 @@ public final void rule__ServiceClient__Group__3() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__3__Impl" - // InternalRos.g:8024:1: rule__ServiceClient__Group__3__Impl : ( ( rule__ServiceClient__NameAssignment_3 ) ) ; + // InternalRos.g:8186:1: rule__ServiceClient__Group__3__Impl : ( ( rule__ServiceClient__NameAssignment_3 ) ) ; public final void rule__ServiceClient__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8028:1: ( ( ( rule__ServiceClient__NameAssignment_3 ) ) ) - // InternalRos.g:8029:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) + // InternalRos.g:8190:1: ( ( ( rule__ServiceClient__NameAssignment_3 ) ) ) + // InternalRos.g:8191:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) { - // InternalRos.g:8029:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) - // InternalRos.g:8030:2: ( rule__ServiceClient__NameAssignment_3 ) + // InternalRos.g:8191:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) + // InternalRos.g:8192:2: ( rule__ServiceClient__NameAssignment_3 ) { before(grammarAccess.getServiceClientAccess().getNameAssignment_3()); - // InternalRos.g:8031:2: ( rule__ServiceClient__NameAssignment_3 ) - // InternalRos.g:8031:3: rule__ServiceClient__NameAssignment_3 + // InternalRos.g:8193:2: ( rule__ServiceClient__NameAssignment_3 ) + // InternalRos.g:8193:3: rule__ServiceClient__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ServiceClient__NameAssignment_3(); @@ -24588,14 +25090,14 @@ public final void rule__ServiceClient__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__4" - // InternalRos.g:8039:1: rule__ServiceClient__Group__4 : rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ; + // InternalRos.g:8201:1: rule__ServiceClient__Group__4 : rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ; public final void rule__ServiceClient__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8043:1: ( rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ) - // InternalRos.g:8044:2: rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 + // InternalRos.g:8205:1: ( rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ) + // InternalRos.g:8206:2: rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 { pushFollow(FOLLOW_10); rule__ServiceClient__Group__4__Impl(); @@ -24626,17 +25128,17 @@ public final void rule__ServiceClient__Group__4() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__4__Impl" - // InternalRos.g:8051:1: rule__ServiceClient__Group__4__Impl : ( 'service' ) ; + // InternalRos.g:8213:1: rule__ServiceClient__Group__4__Impl : ( 'service' ) ; public final void rule__ServiceClient__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8055:1: ( ( 'service' ) ) - // InternalRos.g:8056:1: ( 'service' ) + // InternalRos.g:8217:1: ( ( 'service' ) ) + // InternalRos.g:8218:1: ( 'service' ) { - // InternalRos.g:8056:1: ( 'service' ) - // InternalRos.g:8057:2: 'service' + // InternalRos.g:8218:1: ( 'service' ) + // InternalRos.g:8219:2: 'service' { before(grammarAccess.getServiceClientAccess().getServiceKeyword_4()); match(input,35,FOLLOW_2); @@ -24663,14 +25165,14 @@ public final void rule__ServiceClient__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__5" - // InternalRos.g:8066:1: rule__ServiceClient__Group__5 : rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ; + // InternalRos.g:8228:1: rule__ServiceClient__Group__5 : rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ; public final void rule__ServiceClient__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8070:1: ( rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ) - // InternalRos.g:8071:2: rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 + // InternalRos.g:8232:1: ( rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ) + // InternalRos.g:8233:2: rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 { pushFollow(FOLLOW_38); rule__ServiceClient__Group__5__Impl(); @@ -24701,21 +25203,21 @@ public final void rule__ServiceClient__Group__5() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__5__Impl" - // InternalRos.g:8078:1: rule__ServiceClient__Group__5__Impl : ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ; + // InternalRos.g:8240:1: rule__ServiceClient__Group__5__Impl : ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ; public final void rule__ServiceClient__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8082:1: ( ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ) - // InternalRos.g:8083:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) + // InternalRos.g:8244:1: ( ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ) + // InternalRos.g:8245:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) { - // InternalRos.g:8083:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) - // InternalRos.g:8084:2: ( rule__ServiceClient__ServiceAssignment_5 ) + // InternalRos.g:8245:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) + // InternalRos.g:8246:2: ( rule__ServiceClient__ServiceAssignment_5 ) { before(grammarAccess.getServiceClientAccess().getServiceAssignment_5()); - // InternalRos.g:8085:2: ( rule__ServiceClient__ServiceAssignment_5 ) - // InternalRos.g:8085:3: rule__ServiceClient__ServiceAssignment_5 + // InternalRos.g:8247:2: ( rule__ServiceClient__ServiceAssignment_5 ) + // InternalRos.g:8247:3: rule__ServiceClient__ServiceAssignment_5 { pushFollow(FOLLOW_2); rule__ServiceClient__ServiceAssignment_5(); @@ -24748,14 +25250,14 @@ public final void rule__ServiceClient__Group__5__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__6" - // InternalRos.g:8093:1: rule__ServiceClient__Group__6 : rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ; + // InternalRos.g:8255:1: rule__ServiceClient__Group__6 : rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ; public final void rule__ServiceClient__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8097:1: ( rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ) - // InternalRos.g:8098:2: rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 + // InternalRos.g:8259:1: ( rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ) + // InternalRos.g:8260:2: rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 { pushFollow(FOLLOW_38); rule__ServiceClient__Group__6__Impl(); @@ -24786,29 +25288,29 @@ public final void rule__ServiceClient__Group__6() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__6__Impl" - // InternalRos.g:8105:1: rule__ServiceClient__Group__6__Impl : ( ( rule__ServiceClient__Group_6__0 )? ) ; + // InternalRos.g:8267:1: rule__ServiceClient__Group__6__Impl : ( ( rule__ServiceClient__Group_6__0 )? ) ; public final void rule__ServiceClient__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8109:1: ( ( ( rule__ServiceClient__Group_6__0 )? ) ) - // InternalRos.g:8110:1: ( ( rule__ServiceClient__Group_6__0 )? ) + // InternalRos.g:8271:1: ( ( ( rule__ServiceClient__Group_6__0 )? ) ) + // InternalRos.g:8272:1: ( ( rule__ServiceClient__Group_6__0 )? ) { - // InternalRos.g:8110:1: ( ( rule__ServiceClient__Group_6__0 )? ) - // InternalRos.g:8111:2: ( rule__ServiceClient__Group_6__0 )? + // InternalRos.g:8272:1: ( ( rule__ServiceClient__Group_6__0 )? ) + // InternalRos.g:8273:2: ( rule__ServiceClient__Group_6__0 )? { before(grammarAccess.getServiceClientAccess().getGroup_6()); - // InternalRos.g:8112:2: ( rule__ServiceClient__Group_6__0 )? - int alt51=2; - int LA51_0 = input.LA(1); + // InternalRos.g:8274:2: ( rule__ServiceClient__Group_6__0 )? + int alt53=2; + int LA53_0 = input.LA(1); - if ( (LA51_0==63) ) { - alt51=1; + if ( (LA53_0==64) ) { + alt53=1; } - switch (alt51) { + switch (alt53) { case 1 : - // InternalRos.g:8112:3: rule__ServiceClient__Group_6__0 + // InternalRos.g:8274:3: rule__ServiceClient__Group_6__0 { pushFollow(FOLLOW_2); rule__ServiceClient__Group_6__0(); @@ -24844,14 +25346,14 @@ public final void rule__ServiceClient__Group__6__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__7" - // InternalRos.g:8120:1: rule__ServiceClient__Group__7 : rule__ServiceClient__Group__7__Impl ; + // InternalRos.g:8282:1: rule__ServiceClient__Group__7 : rule__ServiceClient__Group__7__Impl ; public final void rule__ServiceClient__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8124:1: ( rule__ServiceClient__Group__7__Impl ) - // InternalRos.g:8125:2: rule__ServiceClient__Group__7__Impl + // InternalRos.g:8286:1: ( rule__ServiceClient__Group__7__Impl ) + // InternalRos.g:8287:2: rule__ServiceClient__Group__7__Impl { pushFollow(FOLLOW_2); rule__ServiceClient__Group__7__Impl(); @@ -24877,17 +25379,17 @@ public final void rule__ServiceClient__Group__7() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__7__Impl" - // InternalRos.g:8131:1: rule__ServiceClient__Group__7__Impl : ( '}' ) ; + // InternalRos.g:8293:1: rule__ServiceClient__Group__7__Impl : ( '}' ) ; public final void rule__ServiceClient__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8135:1: ( ( '}' ) ) - // InternalRos.g:8136:1: ( '}' ) + // InternalRos.g:8297:1: ( ( '}' ) ) + // InternalRos.g:8298:1: ( '}' ) { - // InternalRos.g:8136:1: ( '}' ) - // InternalRos.g:8137:2: '}' + // InternalRos.g:8298:1: ( '}' ) + // InternalRos.g:8299:2: '}' { before(grammarAccess.getServiceClientAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -24914,14 +25416,14 @@ public final void rule__ServiceClient__Group__7__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group_6__0" - // InternalRos.g:8147:1: rule__ServiceClient__Group_6__0 : rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ; + // InternalRos.g:8309:1: rule__ServiceClient__Group_6__0 : rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ; public final void rule__ServiceClient__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8151:1: ( rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ) - // InternalRos.g:8152:2: rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 + // InternalRos.g:8313:1: ( rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ) + // InternalRos.g:8314:2: rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 { pushFollow(FOLLOW_39); rule__ServiceClient__Group_6__0__Impl(); @@ -24952,20 +25454,20 @@ public final void rule__ServiceClient__Group_6__0() throws RecognitionException // $ANTLR start "rule__ServiceClient__Group_6__0__Impl" - // InternalRos.g:8159:1: rule__ServiceClient__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:8321:1: rule__ServiceClient__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ServiceClient__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8163:1: ( ( 'namespace' ) ) - // InternalRos.g:8164:1: ( 'namespace' ) + // InternalRos.g:8325:1: ( ( 'namespace' ) ) + // InternalRos.g:8326:1: ( 'namespace' ) { - // InternalRos.g:8164:1: ( 'namespace' ) - // InternalRos.g:8165:2: 'namespace' + // InternalRos.g:8326:1: ( 'namespace' ) + // InternalRos.g:8327:2: 'namespace' { before(grammarAccess.getServiceClientAccess().getNamespaceKeyword_6_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getServiceClientAccess().getNamespaceKeyword_6_0()); } @@ -24989,14 +25491,14 @@ public final void rule__ServiceClient__Group_6__0__Impl() throws RecognitionExce // $ANTLR start "rule__ServiceClient__Group_6__1" - // InternalRos.g:8174:1: rule__ServiceClient__Group_6__1 : rule__ServiceClient__Group_6__1__Impl ; + // InternalRos.g:8336:1: rule__ServiceClient__Group_6__1 : rule__ServiceClient__Group_6__1__Impl ; public final void rule__ServiceClient__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8178:1: ( rule__ServiceClient__Group_6__1__Impl ) - // InternalRos.g:8179:2: rule__ServiceClient__Group_6__1__Impl + // InternalRos.g:8340:1: ( rule__ServiceClient__Group_6__1__Impl ) + // InternalRos.g:8341:2: rule__ServiceClient__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ServiceClient__Group_6__1__Impl(); @@ -25022,21 +25524,21 @@ public final void rule__ServiceClient__Group_6__1() throws RecognitionException // $ANTLR start "rule__ServiceClient__Group_6__1__Impl" - // InternalRos.g:8185:1: rule__ServiceClient__Group_6__1__Impl : ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:8347:1: rule__ServiceClient__Group_6__1__Impl : ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ; public final void rule__ServiceClient__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8189:1: ( ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:8190:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8351:1: ( ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:8352:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:8190:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) - // InternalRos.g:8191:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) + // InternalRos.g:8352:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8353:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) { before(grammarAccess.getServiceClientAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:8192:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) - // InternalRos.g:8192:3: rule__ServiceClient__NamespaceAssignment_6_1 + // InternalRos.g:8354:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) + // InternalRos.g:8354:3: rule__ServiceClient__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ServiceClient__NamespaceAssignment_6_1(); @@ -25069,14 +25571,14 @@ public final void rule__ServiceClient__Group_6__1__Impl() throws RecognitionExce // $ANTLR start "rule__ActionServer__Group__0" - // InternalRos.g:8201:1: rule__ActionServer__Group__0 : rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ; + // InternalRos.g:8363:1: rule__ActionServer__Group__0 : rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ; public final void rule__ActionServer__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8205:1: ( rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ) - // InternalRos.g:8206:2: rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 + // InternalRos.g:8367:1: ( rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ) + // InternalRos.g:8368:2: rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 { pushFollow(FOLLOW_4); rule__ActionServer__Group__0__Impl(); @@ -25107,20 +25609,20 @@ public final void rule__ActionServer__Group__0() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__0__Impl" - // InternalRos.g:8213:1: rule__ActionServer__Group__0__Impl : ( 'ActionServer' ) ; + // InternalRos.g:8375:1: rule__ActionServer__Group__0__Impl : ( 'ActionServer' ) ; public final void rule__ActionServer__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8217:1: ( ( 'ActionServer' ) ) - // InternalRos.g:8218:1: ( 'ActionServer' ) + // InternalRos.g:8379:1: ( ( 'ActionServer' ) ) + // InternalRos.g:8380:1: ( 'ActionServer' ) { - // InternalRos.g:8218:1: ( 'ActionServer' ) - // InternalRos.g:8219:2: 'ActionServer' + // InternalRos.g:8380:1: ( 'ActionServer' ) + // InternalRos.g:8381:2: 'ActionServer' { before(grammarAccess.getActionServerAccess().getActionServerKeyword_0()); - match(input,67,FOLLOW_2); + match(input,68,FOLLOW_2); after(grammarAccess.getActionServerAccess().getActionServerKeyword_0()); } @@ -25144,14 +25646,14 @@ public final void rule__ActionServer__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__1" - // InternalRos.g:8228:1: rule__ActionServer__Group__1 : rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ; + // InternalRos.g:8390:1: rule__ActionServer__Group__1 : rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ; public final void rule__ActionServer__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8232:1: ( rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ) - // InternalRos.g:8233:2: rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 + // InternalRos.g:8394:1: ( rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ) + // InternalRos.g:8395:2: rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 { pushFollow(FOLLOW_28); rule__ActionServer__Group__1__Impl(); @@ -25182,17 +25684,17 @@ public final void rule__ActionServer__Group__1() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__1__Impl" - // InternalRos.g:8240:1: rule__ActionServer__Group__1__Impl : ( '{' ) ; + // InternalRos.g:8402:1: rule__ActionServer__Group__1__Impl : ( '{' ) ; public final void rule__ActionServer__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8244:1: ( ( '{' ) ) - // InternalRos.g:8245:1: ( '{' ) + // InternalRos.g:8406:1: ( ( '{' ) ) + // InternalRos.g:8407:1: ( '{' ) { - // InternalRos.g:8245:1: ( '{' ) - // InternalRos.g:8246:2: '{' + // InternalRos.g:8407:1: ( '{' ) + // InternalRos.g:8408:2: '{' { before(grammarAccess.getActionServerAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -25219,14 +25721,14 @@ public final void rule__ActionServer__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__2" - // InternalRos.g:8255:1: rule__ActionServer__Group__2 : rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ; + // InternalRos.g:8417:1: rule__ActionServer__Group__2 : rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ; public final void rule__ActionServer__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8259:1: ( rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ) - // InternalRos.g:8260:2: rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 + // InternalRos.g:8421:1: ( rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ) + // InternalRos.g:8422:2: rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 { pushFollow(FOLLOW_10); rule__ActionServer__Group__2__Impl(); @@ -25257,17 +25759,17 @@ public final void rule__ActionServer__Group__2() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__2__Impl" - // InternalRos.g:8267:1: rule__ActionServer__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:8429:1: rule__ActionServer__Group__2__Impl : ( 'name' ) ; public final void rule__ActionServer__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8271:1: ( ( 'name' ) ) - // InternalRos.g:8272:1: ( 'name' ) + // InternalRos.g:8433:1: ( ( 'name' ) ) + // InternalRos.g:8434:1: ( 'name' ) { - // InternalRos.g:8272:1: ( 'name' ) - // InternalRos.g:8273:2: 'name' + // InternalRos.g:8434:1: ( 'name' ) + // InternalRos.g:8435:2: 'name' { before(grammarAccess.getActionServerAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -25294,14 +25796,14 @@ public final void rule__ActionServer__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__3" - // InternalRos.g:8282:1: rule__ActionServer__Group__3 : rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ; + // InternalRos.g:8444:1: rule__ActionServer__Group__3 : rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ; public final void rule__ActionServer__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8286:1: ( rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ) - // InternalRos.g:8287:2: rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 + // InternalRos.g:8448:1: ( rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ) + // InternalRos.g:8449:2: rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 { pushFollow(FOLLOW_41); rule__ActionServer__Group__3__Impl(); @@ -25332,21 +25834,21 @@ public final void rule__ActionServer__Group__3() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__3__Impl" - // InternalRos.g:8294:1: rule__ActionServer__Group__3__Impl : ( ( rule__ActionServer__NameAssignment_3 ) ) ; + // InternalRos.g:8456:1: rule__ActionServer__Group__3__Impl : ( ( rule__ActionServer__NameAssignment_3 ) ) ; public final void rule__ActionServer__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8298:1: ( ( ( rule__ActionServer__NameAssignment_3 ) ) ) - // InternalRos.g:8299:1: ( ( rule__ActionServer__NameAssignment_3 ) ) + // InternalRos.g:8460:1: ( ( ( rule__ActionServer__NameAssignment_3 ) ) ) + // InternalRos.g:8461:1: ( ( rule__ActionServer__NameAssignment_3 ) ) { - // InternalRos.g:8299:1: ( ( rule__ActionServer__NameAssignment_3 ) ) - // InternalRos.g:8300:2: ( rule__ActionServer__NameAssignment_3 ) + // InternalRos.g:8461:1: ( ( rule__ActionServer__NameAssignment_3 ) ) + // InternalRos.g:8462:2: ( rule__ActionServer__NameAssignment_3 ) { before(grammarAccess.getActionServerAccess().getNameAssignment_3()); - // InternalRos.g:8301:2: ( rule__ActionServer__NameAssignment_3 ) - // InternalRos.g:8301:3: rule__ActionServer__NameAssignment_3 + // InternalRos.g:8463:2: ( rule__ActionServer__NameAssignment_3 ) + // InternalRos.g:8463:3: rule__ActionServer__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ActionServer__NameAssignment_3(); @@ -25379,14 +25881,14 @@ public final void rule__ActionServer__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__4" - // InternalRos.g:8309:1: rule__ActionServer__Group__4 : rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ; + // InternalRos.g:8471:1: rule__ActionServer__Group__4 : rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ; public final void rule__ActionServer__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8313:1: ( rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ) - // InternalRos.g:8314:2: rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 + // InternalRos.g:8475:1: ( rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ) + // InternalRos.g:8476:2: rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 { pushFollow(FOLLOW_10); rule__ActionServer__Group__4__Impl(); @@ -25417,17 +25919,17 @@ public final void rule__ActionServer__Group__4() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__4__Impl" - // InternalRos.g:8321:1: rule__ActionServer__Group__4__Impl : ( 'action' ) ; + // InternalRos.g:8483:1: rule__ActionServer__Group__4__Impl : ( 'action' ) ; public final void rule__ActionServer__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8325:1: ( ( 'action' ) ) - // InternalRos.g:8326:1: ( 'action' ) + // InternalRos.g:8487:1: ( ( 'action' ) ) + // InternalRos.g:8488:1: ( 'action' ) { - // InternalRos.g:8326:1: ( 'action' ) - // InternalRos.g:8327:2: 'action' + // InternalRos.g:8488:1: ( 'action' ) + // InternalRos.g:8489:2: 'action' { before(grammarAccess.getActionServerAccess().getActionKeyword_4()); match(input,37,FOLLOW_2); @@ -25454,14 +25956,14 @@ public final void rule__ActionServer__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__5" - // InternalRos.g:8336:1: rule__ActionServer__Group__5 : rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ; + // InternalRos.g:8498:1: rule__ActionServer__Group__5 : rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ; public final void rule__ActionServer__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8340:1: ( rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ) - // InternalRos.g:8341:2: rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 + // InternalRos.g:8502:1: ( rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ) + // InternalRos.g:8503:2: rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 { pushFollow(FOLLOW_38); rule__ActionServer__Group__5__Impl(); @@ -25492,21 +25994,21 @@ public final void rule__ActionServer__Group__5() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__5__Impl" - // InternalRos.g:8348:1: rule__ActionServer__Group__5__Impl : ( ( rule__ActionServer__ActionAssignment_5 ) ) ; + // InternalRos.g:8510:1: rule__ActionServer__Group__5__Impl : ( ( rule__ActionServer__ActionAssignment_5 ) ) ; public final void rule__ActionServer__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8352:1: ( ( ( rule__ActionServer__ActionAssignment_5 ) ) ) - // InternalRos.g:8353:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) + // InternalRos.g:8514:1: ( ( ( rule__ActionServer__ActionAssignment_5 ) ) ) + // InternalRos.g:8515:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) { - // InternalRos.g:8353:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) - // InternalRos.g:8354:2: ( rule__ActionServer__ActionAssignment_5 ) + // InternalRos.g:8515:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) + // InternalRos.g:8516:2: ( rule__ActionServer__ActionAssignment_5 ) { before(grammarAccess.getActionServerAccess().getActionAssignment_5()); - // InternalRos.g:8355:2: ( rule__ActionServer__ActionAssignment_5 ) - // InternalRos.g:8355:3: rule__ActionServer__ActionAssignment_5 + // InternalRos.g:8517:2: ( rule__ActionServer__ActionAssignment_5 ) + // InternalRos.g:8517:3: rule__ActionServer__ActionAssignment_5 { pushFollow(FOLLOW_2); rule__ActionServer__ActionAssignment_5(); @@ -25539,14 +26041,14 @@ public final void rule__ActionServer__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__6" - // InternalRos.g:8363:1: rule__ActionServer__Group__6 : rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ; + // InternalRos.g:8525:1: rule__ActionServer__Group__6 : rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ; public final void rule__ActionServer__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8367:1: ( rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ) - // InternalRos.g:8368:2: rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 + // InternalRos.g:8529:1: ( rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ) + // InternalRos.g:8530:2: rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 { pushFollow(FOLLOW_38); rule__ActionServer__Group__6__Impl(); @@ -25577,29 +26079,29 @@ public final void rule__ActionServer__Group__6() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__6__Impl" - // InternalRos.g:8375:1: rule__ActionServer__Group__6__Impl : ( ( rule__ActionServer__Group_6__0 )? ) ; + // InternalRos.g:8537:1: rule__ActionServer__Group__6__Impl : ( ( rule__ActionServer__Group_6__0 )? ) ; public final void rule__ActionServer__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8379:1: ( ( ( rule__ActionServer__Group_6__0 )? ) ) - // InternalRos.g:8380:1: ( ( rule__ActionServer__Group_6__0 )? ) + // InternalRos.g:8541:1: ( ( ( rule__ActionServer__Group_6__0 )? ) ) + // InternalRos.g:8542:1: ( ( rule__ActionServer__Group_6__0 )? ) { - // InternalRos.g:8380:1: ( ( rule__ActionServer__Group_6__0 )? ) - // InternalRos.g:8381:2: ( rule__ActionServer__Group_6__0 )? + // InternalRos.g:8542:1: ( ( rule__ActionServer__Group_6__0 )? ) + // InternalRos.g:8543:2: ( rule__ActionServer__Group_6__0 )? { before(grammarAccess.getActionServerAccess().getGroup_6()); - // InternalRos.g:8382:2: ( rule__ActionServer__Group_6__0 )? - int alt52=2; - int LA52_0 = input.LA(1); + // InternalRos.g:8544:2: ( rule__ActionServer__Group_6__0 )? + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA52_0==63) ) { - alt52=1; + if ( (LA54_0==64) ) { + alt54=1; } - switch (alt52) { + switch (alt54) { case 1 : - // InternalRos.g:8382:3: rule__ActionServer__Group_6__0 + // InternalRos.g:8544:3: rule__ActionServer__Group_6__0 { pushFollow(FOLLOW_2); rule__ActionServer__Group_6__0(); @@ -25635,14 +26137,14 @@ public final void rule__ActionServer__Group__6__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__7" - // InternalRos.g:8390:1: rule__ActionServer__Group__7 : rule__ActionServer__Group__7__Impl ; + // InternalRos.g:8552:1: rule__ActionServer__Group__7 : rule__ActionServer__Group__7__Impl ; public final void rule__ActionServer__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8394:1: ( rule__ActionServer__Group__7__Impl ) - // InternalRos.g:8395:2: rule__ActionServer__Group__7__Impl + // InternalRos.g:8556:1: ( rule__ActionServer__Group__7__Impl ) + // InternalRos.g:8557:2: rule__ActionServer__Group__7__Impl { pushFollow(FOLLOW_2); rule__ActionServer__Group__7__Impl(); @@ -25668,17 +26170,17 @@ public final void rule__ActionServer__Group__7() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__7__Impl" - // InternalRos.g:8401:1: rule__ActionServer__Group__7__Impl : ( '}' ) ; + // InternalRos.g:8563:1: rule__ActionServer__Group__7__Impl : ( '}' ) ; public final void rule__ActionServer__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8405:1: ( ( '}' ) ) - // InternalRos.g:8406:1: ( '}' ) + // InternalRos.g:8567:1: ( ( '}' ) ) + // InternalRos.g:8568:1: ( '}' ) { - // InternalRos.g:8406:1: ( '}' ) - // InternalRos.g:8407:2: '}' + // InternalRos.g:8568:1: ( '}' ) + // InternalRos.g:8569:2: '}' { before(grammarAccess.getActionServerAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -25705,14 +26207,14 @@ public final void rule__ActionServer__Group__7__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group_6__0" - // InternalRos.g:8417:1: rule__ActionServer__Group_6__0 : rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ; + // InternalRos.g:8579:1: rule__ActionServer__Group_6__0 : rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ; public final void rule__ActionServer__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8421:1: ( rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ) - // InternalRos.g:8422:2: rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 + // InternalRos.g:8583:1: ( rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ) + // InternalRos.g:8584:2: rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 { pushFollow(FOLLOW_39); rule__ActionServer__Group_6__0__Impl(); @@ -25743,20 +26245,20 @@ public final void rule__ActionServer__Group_6__0() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group_6__0__Impl" - // InternalRos.g:8429:1: rule__ActionServer__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:8591:1: rule__ActionServer__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ActionServer__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8433:1: ( ( 'namespace' ) ) - // InternalRos.g:8434:1: ( 'namespace' ) + // InternalRos.g:8595:1: ( ( 'namespace' ) ) + // InternalRos.g:8596:1: ( 'namespace' ) { - // InternalRos.g:8434:1: ( 'namespace' ) - // InternalRos.g:8435:2: 'namespace' + // InternalRos.g:8596:1: ( 'namespace' ) + // InternalRos.g:8597:2: 'namespace' { before(grammarAccess.getActionServerAccess().getNamespaceKeyword_6_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getActionServerAccess().getNamespaceKeyword_6_0()); } @@ -25780,14 +26282,14 @@ public final void rule__ActionServer__Group_6__0__Impl() throws RecognitionExcep // $ANTLR start "rule__ActionServer__Group_6__1" - // InternalRos.g:8444:1: rule__ActionServer__Group_6__1 : rule__ActionServer__Group_6__1__Impl ; + // InternalRos.g:8606:1: rule__ActionServer__Group_6__1 : rule__ActionServer__Group_6__1__Impl ; public final void rule__ActionServer__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8448:1: ( rule__ActionServer__Group_6__1__Impl ) - // InternalRos.g:8449:2: rule__ActionServer__Group_6__1__Impl + // InternalRos.g:8610:1: ( rule__ActionServer__Group_6__1__Impl ) + // InternalRos.g:8611:2: rule__ActionServer__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ActionServer__Group_6__1__Impl(); @@ -25813,21 +26315,21 @@ public final void rule__ActionServer__Group_6__1() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group_6__1__Impl" - // InternalRos.g:8455:1: rule__ActionServer__Group_6__1__Impl : ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:8617:1: rule__ActionServer__Group_6__1__Impl : ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ; public final void rule__ActionServer__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8459:1: ( ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:8460:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8621:1: ( ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:8622:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:8460:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) - // InternalRos.g:8461:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) + // InternalRos.g:8622:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8623:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) { before(grammarAccess.getActionServerAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:8462:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) - // InternalRos.g:8462:3: rule__ActionServer__NamespaceAssignment_6_1 + // InternalRos.g:8624:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) + // InternalRos.g:8624:3: rule__ActionServer__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ActionServer__NamespaceAssignment_6_1(); @@ -25860,14 +26362,14 @@ public final void rule__ActionServer__Group_6__1__Impl() throws RecognitionExcep // $ANTLR start "rule__ActionClient__Group__0" - // InternalRos.g:8471:1: rule__ActionClient__Group__0 : rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ; + // InternalRos.g:8633:1: rule__ActionClient__Group__0 : rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ; public final void rule__ActionClient__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8475:1: ( rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ) - // InternalRos.g:8476:2: rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 + // InternalRos.g:8637:1: ( rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ) + // InternalRos.g:8638:2: rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 { pushFollow(FOLLOW_4); rule__ActionClient__Group__0__Impl(); @@ -25898,20 +26400,20 @@ public final void rule__ActionClient__Group__0() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__0__Impl" - // InternalRos.g:8483:1: rule__ActionClient__Group__0__Impl : ( 'ActionClient' ) ; + // InternalRos.g:8645:1: rule__ActionClient__Group__0__Impl : ( 'ActionClient' ) ; public final void rule__ActionClient__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8487:1: ( ( 'ActionClient' ) ) - // InternalRos.g:8488:1: ( 'ActionClient' ) + // InternalRos.g:8649:1: ( ( 'ActionClient' ) ) + // InternalRos.g:8650:1: ( 'ActionClient' ) { - // InternalRos.g:8488:1: ( 'ActionClient' ) - // InternalRos.g:8489:2: 'ActionClient' + // InternalRos.g:8650:1: ( 'ActionClient' ) + // InternalRos.g:8651:2: 'ActionClient' { before(grammarAccess.getActionClientAccess().getActionClientKeyword_0()); - match(input,68,FOLLOW_2); + match(input,69,FOLLOW_2); after(grammarAccess.getActionClientAccess().getActionClientKeyword_0()); } @@ -25935,14 +26437,14 @@ public final void rule__ActionClient__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__1" - // InternalRos.g:8498:1: rule__ActionClient__Group__1 : rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ; + // InternalRos.g:8660:1: rule__ActionClient__Group__1 : rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ; public final void rule__ActionClient__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8502:1: ( rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ) - // InternalRos.g:8503:2: rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 + // InternalRos.g:8664:1: ( rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ) + // InternalRos.g:8665:2: rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 { pushFollow(FOLLOW_28); rule__ActionClient__Group__1__Impl(); @@ -25973,17 +26475,17 @@ public final void rule__ActionClient__Group__1() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__1__Impl" - // InternalRos.g:8510:1: rule__ActionClient__Group__1__Impl : ( '{' ) ; + // InternalRos.g:8672:1: rule__ActionClient__Group__1__Impl : ( '{' ) ; public final void rule__ActionClient__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8514:1: ( ( '{' ) ) - // InternalRos.g:8515:1: ( '{' ) + // InternalRos.g:8676:1: ( ( '{' ) ) + // InternalRos.g:8677:1: ( '{' ) { - // InternalRos.g:8515:1: ( '{' ) - // InternalRos.g:8516:2: '{' + // InternalRos.g:8677:1: ( '{' ) + // InternalRos.g:8678:2: '{' { before(grammarAccess.getActionClientAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -26010,14 +26512,14 @@ public final void rule__ActionClient__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__2" - // InternalRos.g:8525:1: rule__ActionClient__Group__2 : rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ; + // InternalRos.g:8687:1: rule__ActionClient__Group__2 : rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ; public final void rule__ActionClient__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8529:1: ( rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ) - // InternalRos.g:8530:2: rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 + // InternalRos.g:8691:1: ( rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ) + // InternalRos.g:8692:2: rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 { pushFollow(FOLLOW_10); rule__ActionClient__Group__2__Impl(); @@ -26048,17 +26550,17 @@ public final void rule__ActionClient__Group__2() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__2__Impl" - // InternalRos.g:8537:1: rule__ActionClient__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:8699:1: rule__ActionClient__Group__2__Impl : ( 'name' ) ; public final void rule__ActionClient__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8541:1: ( ( 'name' ) ) - // InternalRos.g:8542:1: ( 'name' ) + // InternalRos.g:8703:1: ( ( 'name' ) ) + // InternalRos.g:8704:1: ( 'name' ) { - // InternalRos.g:8542:1: ( 'name' ) - // InternalRos.g:8543:2: 'name' + // InternalRos.g:8704:1: ( 'name' ) + // InternalRos.g:8705:2: 'name' { before(grammarAccess.getActionClientAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -26085,14 +26587,14 @@ public final void rule__ActionClient__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__3" - // InternalRos.g:8552:1: rule__ActionClient__Group__3 : rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ; + // InternalRos.g:8714:1: rule__ActionClient__Group__3 : rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ; public final void rule__ActionClient__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8556:1: ( rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ) - // InternalRos.g:8557:2: rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 + // InternalRos.g:8718:1: ( rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ) + // InternalRos.g:8719:2: rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 { pushFollow(FOLLOW_41); rule__ActionClient__Group__3__Impl(); @@ -26123,21 +26625,21 @@ public final void rule__ActionClient__Group__3() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__3__Impl" - // InternalRos.g:8564:1: rule__ActionClient__Group__3__Impl : ( ( rule__ActionClient__NameAssignment_3 ) ) ; + // InternalRos.g:8726:1: rule__ActionClient__Group__3__Impl : ( ( rule__ActionClient__NameAssignment_3 ) ) ; public final void rule__ActionClient__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8568:1: ( ( ( rule__ActionClient__NameAssignment_3 ) ) ) - // InternalRos.g:8569:1: ( ( rule__ActionClient__NameAssignment_3 ) ) + // InternalRos.g:8730:1: ( ( ( rule__ActionClient__NameAssignment_3 ) ) ) + // InternalRos.g:8731:1: ( ( rule__ActionClient__NameAssignment_3 ) ) { - // InternalRos.g:8569:1: ( ( rule__ActionClient__NameAssignment_3 ) ) - // InternalRos.g:8570:2: ( rule__ActionClient__NameAssignment_3 ) + // InternalRos.g:8731:1: ( ( rule__ActionClient__NameAssignment_3 ) ) + // InternalRos.g:8732:2: ( rule__ActionClient__NameAssignment_3 ) { before(grammarAccess.getActionClientAccess().getNameAssignment_3()); - // InternalRos.g:8571:2: ( rule__ActionClient__NameAssignment_3 ) - // InternalRos.g:8571:3: rule__ActionClient__NameAssignment_3 + // InternalRos.g:8733:2: ( rule__ActionClient__NameAssignment_3 ) + // InternalRos.g:8733:3: rule__ActionClient__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ActionClient__NameAssignment_3(); @@ -26170,14 +26672,14 @@ public final void rule__ActionClient__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__4" - // InternalRos.g:8579:1: rule__ActionClient__Group__4 : rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ; + // InternalRos.g:8741:1: rule__ActionClient__Group__4 : rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ; public final void rule__ActionClient__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8583:1: ( rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ) - // InternalRos.g:8584:2: rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 + // InternalRos.g:8745:1: ( rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ) + // InternalRos.g:8746:2: rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 { pushFollow(FOLLOW_10); rule__ActionClient__Group__4__Impl(); @@ -26208,17 +26710,17 @@ public final void rule__ActionClient__Group__4() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__4__Impl" - // InternalRos.g:8591:1: rule__ActionClient__Group__4__Impl : ( 'action' ) ; + // InternalRos.g:8753:1: rule__ActionClient__Group__4__Impl : ( 'action' ) ; public final void rule__ActionClient__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8595:1: ( ( 'action' ) ) - // InternalRos.g:8596:1: ( 'action' ) + // InternalRos.g:8757:1: ( ( 'action' ) ) + // InternalRos.g:8758:1: ( 'action' ) { - // InternalRos.g:8596:1: ( 'action' ) - // InternalRos.g:8597:2: 'action' + // InternalRos.g:8758:1: ( 'action' ) + // InternalRos.g:8759:2: 'action' { before(grammarAccess.getActionClientAccess().getActionKeyword_4()); match(input,37,FOLLOW_2); @@ -26245,14 +26747,14 @@ public final void rule__ActionClient__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__5" - // InternalRos.g:8606:1: rule__ActionClient__Group__5 : rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ; + // InternalRos.g:8768:1: rule__ActionClient__Group__5 : rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ; public final void rule__ActionClient__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8610:1: ( rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ) - // InternalRos.g:8611:2: rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 + // InternalRos.g:8772:1: ( rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ) + // InternalRos.g:8773:2: rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 { pushFollow(FOLLOW_38); rule__ActionClient__Group__5__Impl(); @@ -26283,21 +26785,21 @@ public final void rule__ActionClient__Group__5() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__5__Impl" - // InternalRos.g:8618:1: rule__ActionClient__Group__5__Impl : ( ( rule__ActionClient__ActionAssignment_5 ) ) ; + // InternalRos.g:8780:1: rule__ActionClient__Group__5__Impl : ( ( rule__ActionClient__ActionAssignment_5 ) ) ; public final void rule__ActionClient__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8622:1: ( ( ( rule__ActionClient__ActionAssignment_5 ) ) ) - // InternalRos.g:8623:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) + // InternalRos.g:8784:1: ( ( ( rule__ActionClient__ActionAssignment_5 ) ) ) + // InternalRos.g:8785:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) { - // InternalRos.g:8623:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) - // InternalRos.g:8624:2: ( rule__ActionClient__ActionAssignment_5 ) + // InternalRos.g:8785:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) + // InternalRos.g:8786:2: ( rule__ActionClient__ActionAssignment_5 ) { before(grammarAccess.getActionClientAccess().getActionAssignment_5()); - // InternalRos.g:8625:2: ( rule__ActionClient__ActionAssignment_5 ) - // InternalRos.g:8625:3: rule__ActionClient__ActionAssignment_5 + // InternalRos.g:8787:2: ( rule__ActionClient__ActionAssignment_5 ) + // InternalRos.g:8787:3: rule__ActionClient__ActionAssignment_5 { pushFollow(FOLLOW_2); rule__ActionClient__ActionAssignment_5(); @@ -26330,14 +26832,14 @@ public final void rule__ActionClient__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__6" - // InternalRos.g:8633:1: rule__ActionClient__Group__6 : rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ; + // InternalRos.g:8795:1: rule__ActionClient__Group__6 : rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ; public final void rule__ActionClient__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8637:1: ( rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ) - // InternalRos.g:8638:2: rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 + // InternalRos.g:8799:1: ( rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ) + // InternalRos.g:8800:2: rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 { pushFollow(FOLLOW_38); rule__ActionClient__Group__6__Impl(); @@ -26368,29 +26870,29 @@ public final void rule__ActionClient__Group__6() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__6__Impl" - // InternalRos.g:8645:1: rule__ActionClient__Group__6__Impl : ( ( rule__ActionClient__Group_6__0 )? ) ; + // InternalRos.g:8807:1: rule__ActionClient__Group__6__Impl : ( ( rule__ActionClient__Group_6__0 )? ) ; public final void rule__ActionClient__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8649:1: ( ( ( rule__ActionClient__Group_6__0 )? ) ) - // InternalRos.g:8650:1: ( ( rule__ActionClient__Group_6__0 )? ) + // InternalRos.g:8811:1: ( ( ( rule__ActionClient__Group_6__0 )? ) ) + // InternalRos.g:8812:1: ( ( rule__ActionClient__Group_6__0 )? ) { - // InternalRos.g:8650:1: ( ( rule__ActionClient__Group_6__0 )? ) - // InternalRos.g:8651:2: ( rule__ActionClient__Group_6__0 )? + // InternalRos.g:8812:1: ( ( rule__ActionClient__Group_6__0 )? ) + // InternalRos.g:8813:2: ( rule__ActionClient__Group_6__0 )? { before(grammarAccess.getActionClientAccess().getGroup_6()); - // InternalRos.g:8652:2: ( rule__ActionClient__Group_6__0 )? - int alt53=2; - int LA53_0 = input.LA(1); + // InternalRos.g:8814:2: ( rule__ActionClient__Group_6__0 )? + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA53_0==63) ) { - alt53=1; + if ( (LA55_0==64) ) { + alt55=1; } - switch (alt53) { + switch (alt55) { case 1 : - // InternalRos.g:8652:3: rule__ActionClient__Group_6__0 + // InternalRos.g:8814:3: rule__ActionClient__Group_6__0 { pushFollow(FOLLOW_2); rule__ActionClient__Group_6__0(); @@ -26426,14 +26928,14 @@ public final void rule__ActionClient__Group__6__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__7" - // InternalRos.g:8660:1: rule__ActionClient__Group__7 : rule__ActionClient__Group__7__Impl ; + // InternalRos.g:8822:1: rule__ActionClient__Group__7 : rule__ActionClient__Group__7__Impl ; public final void rule__ActionClient__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8664:1: ( rule__ActionClient__Group__7__Impl ) - // InternalRos.g:8665:2: rule__ActionClient__Group__7__Impl + // InternalRos.g:8826:1: ( rule__ActionClient__Group__7__Impl ) + // InternalRos.g:8827:2: rule__ActionClient__Group__7__Impl { pushFollow(FOLLOW_2); rule__ActionClient__Group__7__Impl(); @@ -26459,17 +26961,17 @@ public final void rule__ActionClient__Group__7() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__7__Impl" - // InternalRos.g:8671:1: rule__ActionClient__Group__7__Impl : ( '}' ) ; + // InternalRos.g:8833:1: rule__ActionClient__Group__7__Impl : ( '}' ) ; public final void rule__ActionClient__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8675:1: ( ( '}' ) ) - // InternalRos.g:8676:1: ( '}' ) + // InternalRos.g:8837:1: ( ( '}' ) ) + // InternalRos.g:8838:1: ( '}' ) { - // InternalRos.g:8676:1: ( '}' ) - // InternalRos.g:8677:2: '}' + // InternalRos.g:8838:1: ( '}' ) + // InternalRos.g:8839:2: '}' { before(grammarAccess.getActionClientAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -26496,14 +26998,14 @@ public final void rule__ActionClient__Group__7__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group_6__0" - // InternalRos.g:8687:1: rule__ActionClient__Group_6__0 : rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ; + // InternalRos.g:8849:1: rule__ActionClient__Group_6__0 : rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ; public final void rule__ActionClient__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8691:1: ( rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ) - // InternalRos.g:8692:2: rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 + // InternalRos.g:8853:1: ( rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ) + // InternalRos.g:8854:2: rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 { pushFollow(FOLLOW_39); rule__ActionClient__Group_6__0__Impl(); @@ -26534,20 +27036,20 @@ public final void rule__ActionClient__Group_6__0() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group_6__0__Impl" - // InternalRos.g:8699:1: rule__ActionClient__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:8861:1: rule__ActionClient__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ActionClient__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8703:1: ( ( 'namespace' ) ) - // InternalRos.g:8704:1: ( 'namespace' ) + // InternalRos.g:8865:1: ( ( 'namespace' ) ) + // InternalRos.g:8866:1: ( 'namespace' ) { - // InternalRos.g:8704:1: ( 'namespace' ) - // InternalRos.g:8705:2: 'namespace' + // InternalRos.g:8866:1: ( 'namespace' ) + // InternalRos.g:8867:2: 'namespace' { before(grammarAccess.getActionClientAccess().getNamespaceKeyword_6_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getActionClientAccess().getNamespaceKeyword_6_0()); } @@ -26571,14 +27073,14 @@ public final void rule__ActionClient__Group_6__0__Impl() throws RecognitionExcep // $ANTLR start "rule__ActionClient__Group_6__1" - // InternalRos.g:8714:1: rule__ActionClient__Group_6__1 : rule__ActionClient__Group_6__1__Impl ; + // InternalRos.g:8876:1: rule__ActionClient__Group_6__1 : rule__ActionClient__Group_6__1__Impl ; public final void rule__ActionClient__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8718:1: ( rule__ActionClient__Group_6__1__Impl ) - // InternalRos.g:8719:2: rule__ActionClient__Group_6__1__Impl + // InternalRos.g:8880:1: ( rule__ActionClient__Group_6__1__Impl ) + // InternalRos.g:8881:2: rule__ActionClient__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ActionClient__Group_6__1__Impl(); @@ -26604,21 +27106,21 @@ public final void rule__ActionClient__Group_6__1() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group_6__1__Impl" - // InternalRos.g:8725:1: rule__ActionClient__Group_6__1__Impl : ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:8887:1: rule__ActionClient__Group_6__1__Impl : ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ; public final void rule__ActionClient__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8729:1: ( ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:8730:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8891:1: ( ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:8892:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:8730:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) - // InternalRos.g:8731:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) + // InternalRos.g:8892:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8893:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) { before(grammarAccess.getActionClientAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:8732:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) - // InternalRos.g:8732:3: rule__ActionClient__NamespaceAssignment_6_1 + // InternalRos.g:8894:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) + // InternalRos.g:8894:3: rule__ActionClient__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ActionClient__NamespaceAssignment_6_1(); @@ -26650,170 +27152,15 @@ public final void rule__ActionClient__Group_6__1__Impl() throws RecognitionExcep // $ANTLR end "rule__ActionClient__Group_6__1__Impl" - // $ANTLR start "rule__PackageDependency__Group__0" - // InternalRos.g:8741:1: rule__PackageDependency__Group__0 : rule__PackageDependency__Group__0__Impl rule__PackageDependency__Group__1 ; - public final void rule__PackageDependency__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalRos.g:8745:1: ( rule__PackageDependency__Group__0__Impl rule__PackageDependency__Group__1 ) - // InternalRos.g:8746:2: rule__PackageDependency__Group__0__Impl rule__PackageDependency__Group__1 - { - pushFollow(FOLLOW_10); - rule__PackageDependency__Group__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_2); - rule__PackageDependency__Group__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__PackageDependency__Group__0" - - - // $ANTLR start "rule__PackageDependency__Group__0__Impl" - // InternalRos.g:8753:1: rule__PackageDependency__Group__0__Impl : ( 'PackageDependency' ) ; - public final void rule__PackageDependency__Group__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalRos.g:8757:1: ( ( 'PackageDependency' ) ) - // InternalRos.g:8758:1: ( 'PackageDependency' ) - { - // InternalRos.g:8758:1: ( 'PackageDependency' ) - // InternalRos.g:8759:2: 'PackageDependency' - { - before(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); - match(input,69,FOLLOW_2); - after(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__PackageDependency__Group__0__Impl" - - - // $ANTLR start "rule__PackageDependency__Group__1" - // InternalRos.g:8768:1: rule__PackageDependency__Group__1 : rule__PackageDependency__Group__1__Impl ; - public final void rule__PackageDependency__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalRos.g:8772:1: ( rule__PackageDependency__Group__1__Impl ) - // InternalRos.g:8773:2: rule__PackageDependency__Group__1__Impl - { - pushFollow(FOLLOW_2); - rule__PackageDependency__Group__1__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__PackageDependency__Group__1" - - - // $ANTLR start "rule__PackageDependency__Group__1__Impl" - // InternalRos.g:8779:1: rule__PackageDependency__Group__1__Impl : ( ( rule__PackageDependency__PackageAssignment_1 ) ) ; - public final void rule__PackageDependency__Group__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // InternalRos.g:8783:1: ( ( ( rule__PackageDependency__PackageAssignment_1 ) ) ) - // InternalRos.g:8784:1: ( ( rule__PackageDependency__PackageAssignment_1 ) ) - { - // InternalRos.g:8784:1: ( ( rule__PackageDependency__PackageAssignment_1 ) ) - // InternalRos.g:8785:2: ( rule__PackageDependency__PackageAssignment_1 ) - { - before(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); - // InternalRos.g:8786:2: ( rule__PackageDependency__PackageAssignment_1 ) - // InternalRos.g:8786:3: rule__PackageDependency__PackageAssignment_1 - { - pushFollow(FOLLOW_2); - rule__PackageDependency__PackageAssignment_1(); - - state._fsp--; - - - } - - after(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__PackageDependency__Group__1__Impl" - - // $ANTLR start "rule__ExternalDependency__Group__0" - // InternalRos.g:8795:1: rule__ExternalDependency__Group__0 : rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ; + // InternalRos.g:8903:1: rule__ExternalDependency__Group__0 : rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ; public final void rule__ExternalDependency__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8799:1: ( rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ) - // InternalRos.g:8800:2: rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 + // InternalRos.g:8907:1: ( rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ) + // InternalRos.g:8908:2: rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 { pushFollow(FOLLOW_18); rule__ExternalDependency__Group__0__Impl(); @@ -26844,21 +27191,21 @@ public final void rule__ExternalDependency__Group__0() throws RecognitionExcepti // $ANTLR start "rule__ExternalDependency__Group__0__Impl" - // InternalRos.g:8807:1: rule__ExternalDependency__Group__0__Impl : ( () ) ; + // InternalRos.g:8915:1: rule__ExternalDependency__Group__0__Impl : ( () ) ; public final void rule__ExternalDependency__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8811:1: ( ( () ) ) - // InternalRos.g:8812:1: ( () ) + // InternalRos.g:8919:1: ( ( () ) ) + // InternalRos.g:8920:1: ( () ) { - // InternalRos.g:8812:1: ( () ) - // InternalRos.g:8813:2: () + // InternalRos.g:8920:1: ( () ) + // InternalRos.g:8921:2: () { before(grammarAccess.getExternalDependencyAccess().getExternalDependencyAction_0()); - // InternalRos.g:8814:2: () - // InternalRos.g:8814:3: + // InternalRos.g:8922:2: () + // InternalRos.g:8922:3: { } @@ -26881,14 +27228,14 @@ public final void rule__ExternalDependency__Group__0__Impl() throws RecognitionE // $ANTLR start "rule__ExternalDependency__Group__1" - // InternalRos.g:8822:1: rule__ExternalDependency__Group__1 : rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ; + // InternalRos.g:8930:1: rule__ExternalDependency__Group__1 : rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ; public final void rule__ExternalDependency__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8826:1: ( rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ) - // InternalRos.g:8827:2: rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 + // InternalRos.g:8934:1: ( rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ) + // InternalRos.g:8935:2: rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 { pushFollow(FOLLOW_10); rule__ExternalDependency__Group__1__Impl(); @@ -26919,17 +27266,17 @@ public final void rule__ExternalDependency__Group__1() throws RecognitionExcepti // $ANTLR start "rule__ExternalDependency__Group__1__Impl" - // InternalRos.g:8834:1: rule__ExternalDependency__Group__1__Impl : ( 'ExternalDependency' ) ; + // InternalRos.g:8942:1: rule__ExternalDependency__Group__1__Impl : ( 'ExternalDependency' ) ; public final void rule__ExternalDependency__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8838:1: ( ( 'ExternalDependency' ) ) - // InternalRos.g:8839:1: ( 'ExternalDependency' ) + // InternalRos.g:8946:1: ( ( 'ExternalDependency' ) ) + // InternalRos.g:8947:1: ( 'ExternalDependency' ) { - // InternalRos.g:8839:1: ( 'ExternalDependency' ) - // InternalRos.g:8840:2: 'ExternalDependency' + // InternalRos.g:8947:1: ( 'ExternalDependency' ) + // InternalRos.g:8948:2: 'ExternalDependency' { before(grammarAccess.getExternalDependencyAccess().getExternalDependencyKeyword_1()); match(input,70,FOLLOW_2); @@ -26956,14 +27303,14 @@ public final void rule__ExternalDependency__Group__1__Impl() throws RecognitionE // $ANTLR start "rule__ExternalDependency__Group__2" - // InternalRos.g:8849:1: rule__ExternalDependency__Group__2 : rule__ExternalDependency__Group__2__Impl ; + // InternalRos.g:8957:1: rule__ExternalDependency__Group__2 : rule__ExternalDependency__Group__2__Impl ; public final void rule__ExternalDependency__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8853:1: ( rule__ExternalDependency__Group__2__Impl ) - // InternalRos.g:8854:2: rule__ExternalDependency__Group__2__Impl + // InternalRos.g:8961:1: ( rule__ExternalDependency__Group__2__Impl ) + // InternalRos.g:8962:2: rule__ExternalDependency__Group__2__Impl { pushFollow(FOLLOW_2); rule__ExternalDependency__Group__2__Impl(); @@ -26989,21 +27336,21 @@ public final void rule__ExternalDependency__Group__2() throws RecognitionExcepti // $ANTLR start "rule__ExternalDependency__Group__2__Impl" - // InternalRos.g:8860:1: rule__ExternalDependency__Group__2__Impl : ( ( rule__ExternalDependency__NameAssignment_2 ) ) ; + // InternalRos.g:8968:1: rule__ExternalDependency__Group__2__Impl : ( ( rule__ExternalDependency__NameAssignment_2 ) ) ; public final void rule__ExternalDependency__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8864:1: ( ( ( rule__ExternalDependency__NameAssignment_2 ) ) ) - // InternalRos.g:8865:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) + // InternalRos.g:8972:1: ( ( ( rule__ExternalDependency__NameAssignment_2 ) ) ) + // InternalRos.g:8973:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) { - // InternalRos.g:8865:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) - // InternalRos.g:8866:2: ( rule__ExternalDependency__NameAssignment_2 ) + // InternalRos.g:8973:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) + // InternalRos.g:8974:2: ( rule__ExternalDependency__NameAssignment_2 ) { before(grammarAccess.getExternalDependencyAccess().getNameAssignment_2()); - // InternalRos.g:8867:2: ( rule__ExternalDependency__NameAssignment_2 ) - // InternalRos.g:8867:3: rule__ExternalDependency__NameAssignment_2 + // InternalRos.g:8975:2: ( rule__ExternalDependency__NameAssignment_2 ) + // InternalRos.g:8975:3: rule__ExternalDependency__NameAssignment_2 { pushFollow(FOLLOW_2); rule__ExternalDependency__NameAssignment_2(); @@ -27036,14 +27383,14 @@ public final void rule__ExternalDependency__Group__2__Impl() throws RecognitionE // $ANTLR start "rule__GlobalNamespace__Group__0" - // InternalRos.g:8876:1: rule__GlobalNamespace__Group__0 : rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ; + // InternalRos.g:8984:1: rule__GlobalNamespace__Group__0 : rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ; public final void rule__GlobalNamespace__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8880:1: ( rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ) - // InternalRos.g:8881:2: rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 + // InternalRos.g:8988:1: ( rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ) + // InternalRos.g:8989:2: rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 { pushFollow(FOLLOW_42); rule__GlobalNamespace__Group__0__Impl(); @@ -27074,21 +27421,21 @@ public final void rule__GlobalNamespace__Group__0() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__0__Impl" - // InternalRos.g:8888:1: rule__GlobalNamespace__Group__0__Impl : ( () ) ; + // InternalRos.g:8996:1: rule__GlobalNamespace__Group__0__Impl : ( () ) ; public final void rule__GlobalNamespace__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8892:1: ( ( () ) ) - // InternalRos.g:8893:1: ( () ) + // InternalRos.g:9000:1: ( ( () ) ) + // InternalRos.g:9001:1: ( () ) { - // InternalRos.g:8893:1: ( () ) - // InternalRos.g:8894:2: () + // InternalRos.g:9001:1: ( () ) + // InternalRos.g:9002:2: () { before(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceAction_0()); - // InternalRos.g:8895:2: () - // InternalRos.g:8895:3: + // InternalRos.g:9003:2: () + // InternalRos.g:9003:3: { } @@ -27111,14 +27458,14 @@ public final void rule__GlobalNamespace__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__1" - // InternalRos.g:8903:1: rule__GlobalNamespace__Group__1 : rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ; + // InternalRos.g:9011:1: rule__GlobalNamespace__Group__1 : rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ; public final void rule__GlobalNamespace__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8907:1: ( rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ) - // InternalRos.g:8908:2: rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 + // InternalRos.g:9015:1: ( rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ) + // InternalRos.g:9016:2: rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 { pushFollow(FOLLOW_4); rule__GlobalNamespace__Group__1__Impl(); @@ -27149,17 +27496,17 @@ public final void rule__GlobalNamespace__Group__1() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__1__Impl" - // InternalRos.g:8915:1: rule__GlobalNamespace__Group__1__Impl : ( 'GlobalNamespace' ) ; + // InternalRos.g:9023:1: rule__GlobalNamespace__Group__1__Impl : ( 'GlobalNamespace' ) ; public final void rule__GlobalNamespace__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8919:1: ( ( 'GlobalNamespace' ) ) - // InternalRos.g:8920:1: ( 'GlobalNamespace' ) + // InternalRos.g:9027:1: ( ( 'GlobalNamespace' ) ) + // InternalRos.g:9028:1: ( 'GlobalNamespace' ) { - // InternalRos.g:8920:1: ( 'GlobalNamespace' ) - // InternalRos.g:8921:2: 'GlobalNamespace' + // InternalRos.g:9028:1: ( 'GlobalNamespace' ) + // InternalRos.g:9029:2: 'GlobalNamespace' { before(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceKeyword_1()); match(input,71,FOLLOW_2); @@ -27186,14 +27533,14 @@ public final void rule__GlobalNamespace__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__2" - // InternalRos.g:8930:1: rule__GlobalNamespace__Group__2 : rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ; + // InternalRos.g:9038:1: rule__GlobalNamespace__Group__2 : rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ; public final void rule__GlobalNamespace__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8934:1: ( rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ) - // InternalRos.g:8935:2: rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 + // InternalRos.g:9042:1: ( rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ) + // InternalRos.g:9043:2: rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 { pushFollow(FOLLOW_43); rule__GlobalNamespace__Group__2__Impl(); @@ -27224,17 +27571,17 @@ public final void rule__GlobalNamespace__Group__2() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__2__Impl" - // InternalRos.g:8942:1: rule__GlobalNamespace__Group__2__Impl : ( '{' ) ; + // InternalRos.g:9050:1: rule__GlobalNamespace__Group__2__Impl : ( '{' ) ; public final void rule__GlobalNamespace__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8946:1: ( ( '{' ) ) - // InternalRos.g:8947:1: ( '{' ) + // InternalRos.g:9054:1: ( ( '{' ) ) + // InternalRos.g:9055:1: ( '{' ) { - // InternalRos.g:8947:1: ( '{' ) - // InternalRos.g:8948:2: '{' + // InternalRos.g:9055:1: ( '{' ) + // InternalRos.g:9056:2: '{' { before(grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -27261,14 +27608,14 @@ public final void rule__GlobalNamespace__Group__2__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__3" - // InternalRos.g:8957:1: rule__GlobalNamespace__Group__3 : rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ; + // InternalRos.g:9065:1: rule__GlobalNamespace__Group__3 : rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ; public final void rule__GlobalNamespace__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8961:1: ( rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ) - // InternalRos.g:8962:2: rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 + // InternalRos.g:9069:1: ( rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ) + // InternalRos.g:9070:2: rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 { pushFollow(FOLLOW_43); rule__GlobalNamespace__Group__3__Impl(); @@ -27299,29 +27646,29 @@ public final void rule__GlobalNamespace__Group__3() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__3__Impl" - // InternalRos.g:8969:1: rule__GlobalNamespace__Group__3__Impl : ( ( rule__GlobalNamespace__Group_3__0 )? ) ; + // InternalRos.g:9077:1: rule__GlobalNamespace__Group__3__Impl : ( ( rule__GlobalNamespace__Group_3__0 )? ) ; public final void rule__GlobalNamespace__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8973:1: ( ( ( rule__GlobalNamespace__Group_3__0 )? ) ) - // InternalRos.g:8974:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) + // InternalRos.g:9081:1: ( ( ( rule__GlobalNamespace__Group_3__0 )? ) ) + // InternalRos.g:9082:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) { - // InternalRos.g:8974:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) - // InternalRos.g:8975:2: ( rule__GlobalNamespace__Group_3__0 )? + // InternalRos.g:9082:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) + // InternalRos.g:9083:2: ( rule__GlobalNamespace__Group_3__0 )? { before(grammarAccess.getGlobalNamespaceAccess().getGroup_3()); - // InternalRos.g:8976:2: ( rule__GlobalNamespace__Group_3__0 )? - int alt54=2; - int LA54_0 = input.LA(1); + // InternalRos.g:9084:2: ( rule__GlobalNamespace__Group_3__0 )? + int alt56=2; + int LA56_0 = input.LA(1); - if ( (LA54_0==72) ) { - alt54=1; + if ( (LA56_0==72) ) { + alt56=1; } - switch (alt54) { + switch (alt56) { case 1 : - // InternalRos.g:8976:3: rule__GlobalNamespace__Group_3__0 + // InternalRos.g:9084:3: rule__GlobalNamespace__Group_3__0 { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3__0(); @@ -27357,14 +27704,14 @@ public final void rule__GlobalNamespace__Group__3__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__4" - // InternalRos.g:8984:1: rule__GlobalNamespace__Group__4 : rule__GlobalNamespace__Group__4__Impl ; + // InternalRos.g:9092:1: rule__GlobalNamespace__Group__4 : rule__GlobalNamespace__Group__4__Impl ; public final void rule__GlobalNamespace__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8988:1: ( rule__GlobalNamespace__Group__4__Impl ) - // InternalRos.g:8989:2: rule__GlobalNamespace__Group__4__Impl + // InternalRos.g:9096:1: ( rule__GlobalNamespace__Group__4__Impl ) + // InternalRos.g:9097:2: rule__GlobalNamespace__Group__4__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group__4__Impl(); @@ -27390,17 +27737,17 @@ public final void rule__GlobalNamespace__Group__4() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__4__Impl" - // InternalRos.g:8995:1: rule__GlobalNamespace__Group__4__Impl : ( '}' ) ; + // InternalRos.g:9103:1: rule__GlobalNamespace__Group__4__Impl : ( '}' ) ; public final void rule__GlobalNamespace__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8999:1: ( ( '}' ) ) - // InternalRos.g:9000:1: ( '}' ) + // InternalRos.g:9107:1: ( ( '}' ) ) + // InternalRos.g:9108:1: ( '}' ) { - // InternalRos.g:9000:1: ( '}' ) - // InternalRos.g:9001:2: '}' + // InternalRos.g:9108:1: ( '}' ) + // InternalRos.g:9109:2: '}' { before(grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -27427,14 +27774,14 @@ public final void rule__GlobalNamespace__Group__4__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group_3__0" - // InternalRos.g:9011:1: rule__GlobalNamespace__Group_3__0 : rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ; + // InternalRos.g:9119:1: rule__GlobalNamespace__Group_3__0 : rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ; public final void rule__GlobalNamespace__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9015:1: ( rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ) - // InternalRos.g:9016:2: rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 + // InternalRos.g:9123:1: ( rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ) + // InternalRos.g:9124:2: rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 { pushFollow(FOLLOW_4); rule__GlobalNamespace__Group_3__0__Impl(); @@ -27465,17 +27812,17 @@ public final void rule__GlobalNamespace__Group_3__0() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__0__Impl" - // InternalRos.g:9023:1: rule__GlobalNamespace__Group_3__0__Impl : ( 'parts' ) ; + // InternalRos.g:9131:1: rule__GlobalNamespace__Group_3__0__Impl : ( 'parts' ) ; public final void rule__GlobalNamespace__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9027:1: ( ( 'parts' ) ) - // InternalRos.g:9028:1: ( 'parts' ) + // InternalRos.g:9135:1: ( ( 'parts' ) ) + // InternalRos.g:9136:1: ( 'parts' ) { - // InternalRos.g:9028:1: ( 'parts' ) - // InternalRos.g:9029:2: 'parts' + // InternalRos.g:9136:1: ( 'parts' ) + // InternalRos.g:9137:2: 'parts' { before(grammarAccess.getGlobalNamespaceAccess().getPartsKeyword_3_0()); match(input,72,FOLLOW_2); @@ -27502,14 +27849,14 @@ public final void rule__GlobalNamespace__Group_3__0__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__1" - // InternalRos.g:9038:1: rule__GlobalNamespace__Group_3__1 : rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ; + // InternalRos.g:9146:1: rule__GlobalNamespace__Group_3__1 : rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ; public final void rule__GlobalNamespace__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9042:1: ( rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ) - // InternalRos.g:9043:2: rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 + // InternalRos.g:9150:1: ( rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ) + // InternalRos.g:9151:2: rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 { pushFollow(FOLLOW_44); rule__GlobalNamespace__Group_3__1__Impl(); @@ -27540,17 +27887,17 @@ public final void rule__GlobalNamespace__Group_3__1() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__1__Impl" - // InternalRos.g:9050:1: rule__GlobalNamespace__Group_3__1__Impl : ( '{' ) ; + // InternalRos.g:9158:1: rule__GlobalNamespace__Group_3__1__Impl : ( '{' ) ; public final void rule__GlobalNamespace__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9054:1: ( ( '{' ) ) - // InternalRos.g:9055:1: ( '{' ) + // InternalRos.g:9162:1: ( ( '{' ) ) + // InternalRos.g:9163:1: ( '{' ) { - // InternalRos.g:9055:1: ( '{' ) - // InternalRos.g:9056:2: '{' + // InternalRos.g:9163:1: ( '{' ) + // InternalRos.g:9164:2: '{' { before(grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); match(input,41,FOLLOW_2); @@ -27577,14 +27924,14 @@ public final void rule__GlobalNamespace__Group_3__1__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__2" - // InternalRos.g:9065:1: rule__GlobalNamespace__Group_3__2 : rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ; + // InternalRos.g:9173:1: rule__GlobalNamespace__Group_3__2 : rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ; public final void rule__GlobalNamespace__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9069:1: ( rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ) - // InternalRos.g:9070:2: rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 + // InternalRos.g:9177:1: ( rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ) + // InternalRos.g:9178:2: rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 { pushFollow(FOLLOW_13); rule__GlobalNamespace__Group_3__2__Impl(); @@ -27615,21 +27962,21 @@ public final void rule__GlobalNamespace__Group_3__2() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__2__Impl" - // InternalRos.g:9077:1: rule__GlobalNamespace__Group_3__2__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ; + // InternalRos.g:9185:1: rule__GlobalNamespace__Group_3__2__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ; public final void rule__GlobalNamespace__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9081:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ) - // InternalRos.g:9082:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:9189:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ) + // InternalRos.g:9190:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) { - // InternalRos.g:9082:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) - // InternalRos.g:9083:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) + // InternalRos.g:9190:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:9191:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) { before(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_2()); - // InternalRos.g:9084:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) - // InternalRos.g:9084:3: rule__GlobalNamespace__PartsAssignment_3_2 + // InternalRos.g:9192:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) + // InternalRos.g:9192:3: rule__GlobalNamespace__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__GlobalNamespace__PartsAssignment_3_2(); @@ -27662,14 +28009,14 @@ public final void rule__GlobalNamespace__Group_3__2__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__3" - // InternalRos.g:9092:1: rule__GlobalNamespace__Group_3__3 : rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ; + // InternalRos.g:9200:1: rule__GlobalNamespace__Group_3__3 : rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ; public final void rule__GlobalNamespace__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9096:1: ( rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ) - // InternalRos.g:9097:2: rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 + // InternalRos.g:9204:1: ( rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ) + // InternalRos.g:9205:2: rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 { pushFollow(FOLLOW_13); rule__GlobalNamespace__Group_3__3__Impl(); @@ -27700,33 +28047,33 @@ public final void rule__GlobalNamespace__Group_3__3() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__3__Impl" - // InternalRos.g:9104:1: rule__GlobalNamespace__Group_3__3__Impl : ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ; + // InternalRos.g:9212:1: rule__GlobalNamespace__Group_3__3__Impl : ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ; public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9108:1: ( ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ) - // InternalRos.g:9109:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) + // InternalRos.g:9216:1: ( ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ) + // InternalRos.g:9217:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) { - // InternalRos.g:9109:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) - // InternalRos.g:9110:2: ( rule__GlobalNamespace__Group_3_3__0 )* + // InternalRos.g:9217:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) + // InternalRos.g:9218:2: ( rule__GlobalNamespace__Group_3_3__0 )* { before(grammarAccess.getGlobalNamespaceAccess().getGroup_3_3()); - // InternalRos.g:9111:2: ( rule__GlobalNamespace__Group_3_3__0 )* - loop55: + // InternalRos.g:9219:2: ( rule__GlobalNamespace__Group_3_3__0 )* + loop57: do { - int alt55=2; - int LA55_0 = input.LA(1); + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA55_0==43) ) { - alt55=1; + if ( (LA57_0==43) ) { + alt57=1; } - switch (alt55) { + switch (alt57) { case 1 : - // InternalRos.g:9111:3: rule__GlobalNamespace__Group_3_3__0 + // InternalRos.g:9219:3: rule__GlobalNamespace__Group_3_3__0 { pushFollow(FOLLOW_7); rule__GlobalNamespace__Group_3_3__0(); @@ -27738,7 +28085,7 @@ public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionEx break; default : - break loop55; + break loop57; } } while (true); @@ -27765,14 +28112,14 @@ public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__4" - // InternalRos.g:9119:1: rule__GlobalNamespace__Group_3__4 : rule__GlobalNamespace__Group_3__4__Impl ; + // InternalRos.g:9227:1: rule__GlobalNamespace__Group_3__4 : rule__GlobalNamespace__Group_3__4__Impl ; public final void rule__GlobalNamespace__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9123:1: ( rule__GlobalNamespace__Group_3__4__Impl ) - // InternalRos.g:9124:2: rule__GlobalNamespace__Group_3__4__Impl + // InternalRos.g:9231:1: ( rule__GlobalNamespace__Group_3__4__Impl ) + // InternalRos.g:9232:2: rule__GlobalNamespace__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3__4__Impl(); @@ -27798,17 +28145,17 @@ public final void rule__GlobalNamespace__Group_3__4() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__4__Impl" - // InternalRos.g:9130:1: rule__GlobalNamespace__Group_3__4__Impl : ( '}' ) ; + // InternalRos.g:9238:1: rule__GlobalNamespace__Group_3__4__Impl : ( '}' ) ; public final void rule__GlobalNamespace__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9134:1: ( ( '}' ) ) - // InternalRos.g:9135:1: ( '}' ) + // InternalRos.g:9242:1: ( ( '}' ) ) + // InternalRos.g:9243:1: ( '}' ) { - // InternalRos.g:9135:1: ( '}' ) - // InternalRos.g:9136:2: '}' + // InternalRos.g:9243:1: ( '}' ) + // InternalRos.g:9244:2: '}' { before(grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_3_4()); match(input,42,FOLLOW_2); @@ -27835,14 +28182,14 @@ public final void rule__GlobalNamespace__Group_3__4__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3_3__0" - // InternalRos.g:9146:1: rule__GlobalNamespace__Group_3_3__0 : rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ; + // InternalRos.g:9254:1: rule__GlobalNamespace__Group_3_3__0 : rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ; public final void rule__GlobalNamespace__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9150:1: ( rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ) - // InternalRos.g:9151:2: rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 + // InternalRos.g:9258:1: ( rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ) + // InternalRos.g:9259:2: rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 { pushFollow(FOLLOW_44); rule__GlobalNamespace__Group_3_3__0__Impl(); @@ -27873,17 +28220,17 @@ public final void rule__GlobalNamespace__Group_3_3__0() throws RecognitionExcept // $ANTLR start "rule__GlobalNamespace__Group_3_3__0__Impl" - // InternalRos.g:9158:1: rule__GlobalNamespace__Group_3_3__0__Impl : ( ',' ) ; + // InternalRos.g:9266:1: rule__GlobalNamespace__Group_3_3__0__Impl : ( ',' ) ; public final void rule__GlobalNamespace__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9162:1: ( ( ',' ) ) - // InternalRos.g:9163:1: ( ',' ) + // InternalRos.g:9270:1: ( ( ',' ) ) + // InternalRos.g:9271:1: ( ',' ) { - // InternalRos.g:9163:1: ( ',' ) - // InternalRos.g:9164:2: ',' + // InternalRos.g:9271:1: ( ',' ) + // InternalRos.g:9272:2: ',' { before(grammarAccess.getGlobalNamespaceAccess().getCommaKeyword_3_3_0()); match(input,43,FOLLOW_2); @@ -27910,14 +28257,14 @@ public final void rule__GlobalNamespace__Group_3_3__0__Impl() throws Recognition // $ANTLR start "rule__GlobalNamespace__Group_3_3__1" - // InternalRos.g:9173:1: rule__GlobalNamespace__Group_3_3__1 : rule__GlobalNamespace__Group_3_3__1__Impl ; + // InternalRos.g:9281:1: rule__GlobalNamespace__Group_3_3__1 : rule__GlobalNamespace__Group_3_3__1__Impl ; public final void rule__GlobalNamespace__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9177:1: ( rule__GlobalNamespace__Group_3_3__1__Impl ) - // InternalRos.g:9178:2: rule__GlobalNamespace__Group_3_3__1__Impl + // InternalRos.g:9285:1: ( rule__GlobalNamespace__Group_3_3__1__Impl ) + // InternalRos.g:9286:2: rule__GlobalNamespace__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3_3__1__Impl(); @@ -27943,21 +28290,21 @@ public final void rule__GlobalNamespace__Group_3_3__1() throws RecognitionExcept // $ANTLR start "rule__GlobalNamespace__Group_3_3__1__Impl" - // InternalRos.g:9184:1: rule__GlobalNamespace__Group_3_3__1__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ; + // InternalRos.g:9292:1: rule__GlobalNamespace__Group_3_3__1__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ; public final void rule__GlobalNamespace__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9188:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ) - // InternalRos.g:9189:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:9296:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ) + // InternalRos.g:9297:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) { - // InternalRos.g:9189:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) - // InternalRos.g:9190:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:9297:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:9298:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) { before(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_3_1()); - // InternalRos.g:9191:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) - // InternalRos.g:9191:3: rule__GlobalNamespace__PartsAssignment_3_3_1 + // InternalRos.g:9299:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:9299:3: rule__GlobalNamespace__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__GlobalNamespace__PartsAssignment_3_3_1(); @@ -27990,14 +28337,14 @@ public final void rule__GlobalNamespace__Group_3_3__1__Impl() throws Recognition // $ANTLR start "rule__RelativeNamespace_Impl__Group__0" - // InternalRos.g:9200:1: rule__RelativeNamespace_Impl__Group__0 : rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ; + // InternalRos.g:9308:1: rule__RelativeNamespace_Impl__Group__0 : rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ; public final void rule__RelativeNamespace_Impl__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9204:1: ( rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ) - // InternalRos.g:9205:2: rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 + // InternalRos.g:9312:1: ( rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ) + // InternalRos.g:9313:2: rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 { pushFollow(FOLLOW_45); rule__RelativeNamespace_Impl__Group__0__Impl(); @@ -28028,21 +28375,21 @@ public final void rule__RelativeNamespace_Impl__Group__0() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__0__Impl" - // InternalRos.g:9212:1: rule__RelativeNamespace_Impl__Group__0__Impl : ( () ) ; + // InternalRos.g:9320:1: rule__RelativeNamespace_Impl__Group__0__Impl : ( () ) ; public final void rule__RelativeNamespace_Impl__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9216:1: ( ( () ) ) - // InternalRos.g:9217:1: ( () ) + // InternalRos.g:9324:1: ( ( () ) ) + // InternalRos.g:9325:1: ( () ) { - // InternalRos.g:9217:1: ( () ) - // InternalRos.g:9218:2: () + // InternalRos.g:9325:1: ( () ) + // InternalRos.g:9326:2: () { before(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceAction_0()); - // InternalRos.g:9219:2: () - // InternalRos.g:9219:3: + // InternalRos.g:9327:2: () + // InternalRos.g:9327:3: { } @@ -28065,14 +28412,14 @@ public final void rule__RelativeNamespace_Impl__Group__0__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__1" - // InternalRos.g:9227:1: rule__RelativeNamespace_Impl__Group__1 : rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ; + // InternalRos.g:9335:1: rule__RelativeNamespace_Impl__Group__1 : rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ; public final void rule__RelativeNamespace_Impl__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9231:1: ( rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ) - // InternalRos.g:9232:2: rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 + // InternalRos.g:9339:1: ( rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ) + // InternalRos.g:9340:2: rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 { pushFollow(FOLLOW_4); rule__RelativeNamespace_Impl__Group__1__Impl(); @@ -28103,17 +28450,17 @@ public final void rule__RelativeNamespace_Impl__Group__1() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__1__Impl" - // InternalRos.g:9239:1: rule__RelativeNamespace_Impl__Group__1__Impl : ( 'RelativeNamespace' ) ; + // InternalRos.g:9347:1: rule__RelativeNamespace_Impl__Group__1__Impl : ( 'RelativeNamespace' ) ; public final void rule__RelativeNamespace_Impl__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9243:1: ( ( 'RelativeNamespace' ) ) - // InternalRos.g:9244:1: ( 'RelativeNamespace' ) + // InternalRos.g:9351:1: ( ( 'RelativeNamespace' ) ) + // InternalRos.g:9352:1: ( 'RelativeNamespace' ) { - // InternalRos.g:9244:1: ( 'RelativeNamespace' ) - // InternalRos.g:9245:2: 'RelativeNamespace' + // InternalRos.g:9352:1: ( 'RelativeNamespace' ) + // InternalRos.g:9353:2: 'RelativeNamespace' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceKeyword_1()); match(input,73,FOLLOW_2); @@ -28140,14 +28487,14 @@ public final void rule__RelativeNamespace_Impl__Group__1__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__2" - // InternalRos.g:9254:1: rule__RelativeNamespace_Impl__Group__2 : rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ; + // InternalRos.g:9362:1: rule__RelativeNamespace_Impl__Group__2 : rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ; public final void rule__RelativeNamespace_Impl__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9258:1: ( rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ) - // InternalRos.g:9259:2: rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 + // InternalRos.g:9366:1: ( rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ) + // InternalRos.g:9367:2: rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 { pushFollow(FOLLOW_43); rule__RelativeNamespace_Impl__Group__2__Impl(); @@ -28178,17 +28525,17 @@ public final void rule__RelativeNamespace_Impl__Group__2() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__2__Impl" - // InternalRos.g:9266:1: rule__RelativeNamespace_Impl__Group__2__Impl : ( '{' ) ; + // InternalRos.g:9374:1: rule__RelativeNamespace_Impl__Group__2__Impl : ( '{' ) ; public final void rule__RelativeNamespace_Impl__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9270:1: ( ( '{' ) ) - // InternalRos.g:9271:1: ( '{' ) + // InternalRos.g:9378:1: ( ( '{' ) ) + // InternalRos.g:9379:1: ( '{' ) { - // InternalRos.g:9271:1: ( '{' ) - // InternalRos.g:9272:2: '{' + // InternalRos.g:9379:1: ( '{' ) + // InternalRos.g:9380:2: '{' { before(grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -28215,14 +28562,14 @@ public final void rule__RelativeNamespace_Impl__Group__2__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__3" - // InternalRos.g:9281:1: rule__RelativeNamespace_Impl__Group__3 : rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ; + // InternalRos.g:9389:1: rule__RelativeNamespace_Impl__Group__3 : rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ; public final void rule__RelativeNamespace_Impl__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9285:1: ( rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ) - // InternalRos.g:9286:2: rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 + // InternalRos.g:9393:1: ( rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ) + // InternalRos.g:9394:2: rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 { pushFollow(FOLLOW_43); rule__RelativeNamespace_Impl__Group__3__Impl(); @@ -28253,29 +28600,29 @@ public final void rule__RelativeNamespace_Impl__Group__3() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__3__Impl" - // InternalRos.g:9293:1: rule__RelativeNamespace_Impl__Group__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ; + // InternalRos.g:9401:1: rule__RelativeNamespace_Impl__Group__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ; public final void rule__RelativeNamespace_Impl__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9297:1: ( ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ) - // InternalRos.g:9298:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) + // InternalRos.g:9405:1: ( ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ) + // InternalRos.g:9406:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) { - // InternalRos.g:9298:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) - // InternalRos.g:9299:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? + // InternalRos.g:9406:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) + // InternalRos.g:9407:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup_3()); - // InternalRos.g:9300:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? - int alt56=2; - int LA56_0 = input.LA(1); + // InternalRos.g:9408:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? + int alt58=2; + int LA58_0 = input.LA(1); - if ( (LA56_0==72) ) { - alt56=1; + if ( (LA58_0==72) ) { + alt58=1; } - switch (alt56) { + switch (alt58) { case 1 : - // InternalRos.g:9300:3: rule__RelativeNamespace_Impl__Group_3__0 + // InternalRos.g:9408:3: rule__RelativeNamespace_Impl__Group_3__0 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3__0(); @@ -28311,14 +28658,14 @@ public final void rule__RelativeNamespace_Impl__Group__3__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__4" - // InternalRos.g:9308:1: rule__RelativeNamespace_Impl__Group__4 : rule__RelativeNamespace_Impl__Group__4__Impl ; + // InternalRos.g:9416:1: rule__RelativeNamespace_Impl__Group__4 : rule__RelativeNamespace_Impl__Group__4__Impl ; public final void rule__RelativeNamespace_Impl__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9312:1: ( rule__RelativeNamespace_Impl__Group__4__Impl ) - // InternalRos.g:9313:2: rule__RelativeNamespace_Impl__Group__4__Impl + // InternalRos.g:9420:1: ( rule__RelativeNamespace_Impl__Group__4__Impl ) + // InternalRos.g:9421:2: rule__RelativeNamespace_Impl__Group__4__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group__4__Impl(); @@ -28344,17 +28691,17 @@ public final void rule__RelativeNamespace_Impl__Group__4() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__4__Impl" - // InternalRos.g:9319:1: rule__RelativeNamespace_Impl__Group__4__Impl : ( '}' ) ; + // InternalRos.g:9427:1: rule__RelativeNamespace_Impl__Group__4__Impl : ( '}' ) ; public final void rule__RelativeNamespace_Impl__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9323:1: ( ( '}' ) ) - // InternalRos.g:9324:1: ( '}' ) + // InternalRos.g:9431:1: ( ( '}' ) ) + // InternalRos.g:9432:1: ( '}' ) { - // InternalRos.g:9324:1: ( '}' ) - // InternalRos.g:9325:2: '}' + // InternalRos.g:9432:1: ( '}' ) + // InternalRos.g:9433:2: '}' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -28381,14 +28728,14 @@ public final void rule__RelativeNamespace_Impl__Group__4__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__0" - // InternalRos.g:9335:1: rule__RelativeNamespace_Impl__Group_3__0 : rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ; + // InternalRos.g:9443:1: rule__RelativeNamespace_Impl__Group_3__0 : rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ; public final void rule__RelativeNamespace_Impl__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9339:1: ( rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ) - // InternalRos.g:9340:2: rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 + // InternalRos.g:9447:1: ( rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ) + // InternalRos.g:9448:2: rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 { pushFollow(FOLLOW_4); rule__RelativeNamespace_Impl__Group_3__0__Impl(); @@ -28419,17 +28766,17 @@ public final void rule__RelativeNamespace_Impl__Group_3__0() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__0__Impl" - // InternalRos.g:9347:1: rule__RelativeNamespace_Impl__Group_3__0__Impl : ( 'parts' ) ; + // InternalRos.g:9455:1: rule__RelativeNamespace_Impl__Group_3__0__Impl : ( 'parts' ) ; public final void rule__RelativeNamespace_Impl__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9351:1: ( ( 'parts' ) ) - // InternalRos.g:9352:1: ( 'parts' ) + // InternalRos.g:9459:1: ( ( 'parts' ) ) + // InternalRos.g:9460:1: ( 'parts' ) { - // InternalRos.g:9352:1: ( 'parts' ) - // InternalRos.g:9353:2: 'parts' + // InternalRos.g:9460:1: ( 'parts' ) + // InternalRos.g:9461:2: 'parts' { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsKeyword_3_0()); match(input,72,FOLLOW_2); @@ -28456,14 +28803,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__0__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__1" - // InternalRos.g:9362:1: rule__RelativeNamespace_Impl__Group_3__1 : rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ; + // InternalRos.g:9470:1: rule__RelativeNamespace_Impl__Group_3__1 : rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ; public final void rule__RelativeNamespace_Impl__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9366:1: ( rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ) - // InternalRos.g:9367:2: rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 + // InternalRos.g:9474:1: ( rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ) + // InternalRos.g:9475:2: rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 { pushFollow(FOLLOW_44); rule__RelativeNamespace_Impl__Group_3__1__Impl(); @@ -28494,17 +28841,17 @@ public final void rule__RelativeNamespace_Impl__Group_3__1() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__1__Impl" - // InternalRos.g:9374:1: rule__RelativeNamespace_Impl__Group_3__1__Impl : ( '{' ) ; + // InternalRos.g:9482:1: rule__RelativeNamespace_Impl__Group_3__1__Impl : ( '{' ) ; public final void rule__RelativeNamespace_Impl__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9378:1: ( ( '{' ) ) - // InternalRos.g:9379:1: ( '{' ) + // InternalRos.g:9486:1: ( ( '{' ) ) + // InternalRos.g:9487:1: ( '{' ) { - // InternalRos.g:9379:1: ( '{' ) - // InternalRos.g:9380:2: '{' + // InternalRos.g:9487:1: ( '{' ) + // InternalRos.g:9488:2: '{' { before(grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_3_1()); match(input,41,FOLLOW_2); @@ -28531,14 +28878,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__1__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__2" - // InternalRos.g:9389:1: rule__RelativeNamespace_Impl__Group_3__2 : rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ; + // InternalRos.g:9497:1: rule__RelativeNamespace_Impl__Group_3__2 : rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ; public final void rule__RelativeNamespace_Impl__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9393:1: ( rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ) - // InternalRos.g:9394:2: rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 + // InternalRos.g:9501:1: ( rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ) + // InternalRos.g:9502:2: rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 { pushFollow(FOLLOW_13); rule__RelativeNamespace_Impl__Group_3__2__Impl(); @@ -28569,21 +28916,21 @@ public final void rule__RelativeNamespace_Impl__Group_3__2() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__2__Impl" - // InternalRos.g:9401:1: rule__RelativeNamespace_Impl__Group_3__2__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ; + // InternalRos.g:9509:1: rule__RelativeNamespace_Impl__Group_3__2__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ; public final void rule__RelativeNamespace_Impl__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9405:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ) - // InternalRos.g:9406:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) + // InternalRos.g:9513:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ) + // InternalRos.g:9514:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) { - // InternalRos.g:9406:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) - // InternalRos.g:9407:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) + // InternalRos.g:9514:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) + // InternalRos.g:9515:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsAssignment_3_2()); - // InternalRos.g:9408:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) - // InternalRos.g:9408:3: rule__RelativeNamespace_Impl__PartsAssignment_3_2 + // InternalRos.g:9516:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) + // InternalRos.g:9516:3: rule__RelativeNamespace_Impl__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__PartsAssignment_3_2(); @@ -28616,14 +28963,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__2__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__3" - // InternalRos.g:9416:1: rule__RelativeNamespace_Impl__Group_3__3 : rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ; + // InternalRos.g:9524:1: rule__RelativeNamespace_Impl__Group_3__3 : rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ; public final void rule__RelativeNamespace_Impl__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9420:1: ( rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ) - // InternalRos.g:9421:2: rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 + // InternalRos.g:9528:1: ( rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ) + // InternalRos.g:9529:2: rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 { pushFollow(FOLLOW_13); rule__RelativeNamespace_Impl__Group_3__3__Impl(); @@ -28654,33 +29001,33 @@ public final void rule__RelativeNamespace_Impl__Group_3__3() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__3__Impl" - // InternalRos.g:9428:1: rule__RelativeNamespace_Impl__Group_3__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ; + // InternalRos.g:9536:1: rule__RelativeNamespace_Impl__Group_3__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ; public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9432:1: ( ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ) - // InternalRos.g:9433:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) + // InternalRos.g:9540:1: ( ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ) + // InternalRos.g:9541:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) { - // InternalRos.g:9433:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) - // InternalRos.g:9434:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* + // InternalRos.g:9541:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) + // InternalRos.g:9542:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup_3_3()); - // InternalRos.g:9435:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* - loop57: + // InternalRos.g:9543:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* + loop59: do { - int alt57=2; - int LA57_0 = input.LA(1); + int alt59=2; + int LA59_0 = input.LA(1); - if ( (LA57_0==43) ) { - alt57=1; + if ( (LA59_0==43) ) { + alt59=1; } - switch (alt57) { + switch (alt59) { case 1 : - // InternalRos.g:9435:3: rule__RelativeNamespace_Impl__Group_3_3__0 + // InternalRos.g:9543:3: rule__RelativeNamespace_Impl__Group_3_3__0 { pushFollow(FOLLOW_7); rule__RelativeNamespace_Impl__Group_3_3__0(); @@ -28692,7 +29039,7 @@ public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws Recogn break; default : - break loop57; + break loop59; } } while (true); @@ -28719,14 +29066,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__4" - // InternalRos.g:9443:1: rule__RelativeNamespace_Impl__Group_3__4 : rule__RelativeNamespace_Impl__Group_3__4__Impl ; + // InternalRos.g:9551:1: rule__RelativeNamespace_Impl__Group_3__4 : rule__RelativeNamespace_Impl__Group_3__4__Impl ; public final void rule__RelativeNamespace_Impl__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9447:1: ( rule__RelativeNamespace_Impl__Group_3__4__Impl ) - // InternalRos.g:9448:2: rule__RelativeNamespace_Impl__Group_3__4__Impl + // InternalRos.g:9555:1: ( rule__RelativeNamespace_Impl__Group_3__4__Impl ) + // InternalRos.g:9556:2: rule__RelativeNamespace_Impl__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3__4__Impl(); @@ -28752,17 +29099,17 @@ public final void rule__RelativeNamespace_Impl__Group_3__4() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__4__Impl" - // InternalRos.g:9454:1: rule__RelativeNamespace_Impl__Group_3__4__Impl : ( '}' ) ; + // InternalRos.g:9562:1: rule__RelativeNamespace_Impl__Group_3__4__Impl : ( '}' ) ; public final void rule__RelativeNamespace_Impl__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9458:1: ( ( '}' ) ) - // InternalRos.g:9459:1: ( '}' ) + // InternalRos.g:9566:1: ( ( '}' ) ) + // InternalRos.g:9567:1: ( '}' ) { - // InternalRos.g:9459:1: ( '}' ) - // InternalRos.g:9460:2: '}' + // InternalRos.g:9567:1: ( '}' ) + // InternalRos.g:9568:2: '}' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_3_4()); match(input,42,FOLLOW_2); @@ -28789,14 +29136,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__4__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__0" - // InternalRos.g:9470:1: rule__RelativeNamespace_Impl__Group_3_3__0 : rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ; + // InternalRos.g:9578:1: rule__RelativeNamespace_Impl__Group_3_3__0 : rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ; public final void rule__RelativeNamespace_Impl__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9474:1: ( rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ) - // InternalRos.g:9475:2: rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 + // InternalRos.g:9582:1: ( rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ) + // InternalRos.g:9583:2: rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 { pushFollow(FOLLOW_44); rule__RelativeNamespace_Impl__Group_3_3__0__Impl(); @@ -28827,17 +29174,17 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__0() throws Recognitio // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__0__Impl" - // InternalRos.g:9482:1: rule__RelativeNamespace_Impl__Group_3_3__0__Impl : ( ',' ) ; + // InternalRos.g:9590:1: rule__RelativeNamespace_Impl__Group_3_3__0__Impl : ( ',' ) ; public final void rule__RelativeNamespace_Impl__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9486:1: ( ( ',' ) ) - // InternalRos.g:9487:1: ( ',' ) + // InternalRos.g:9594:1: ( ( ',' ) ) + // InternalRos.g:9595:1: ( ',' ) { - // InternalRos.g:9487:1: ( ',' ) - // InternalRos.g:9488:2: ',' + // InternalRos.g:9595:1: ( ',' ) + // InternalRos.g:9596:2: ',' { before(grammarAccess.getRelativeNamespace_ImplAccess().getCommaKeyword_3_3_0()); match(input,43,FOLLOW_2); @@ -28864,14 +29211,14 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__0__Impl() throws Reco // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__1" - // InternalRos.g:9497:1: rule__RelativeNamespace_Impl__Group_3_3__1 : rule__RelativeNamespace_Impl__Group_3_3__1__Impl ; + // InternalRos.g:9605:1: rule__RelativeNamespace_Impl__Group_3_3__1 : rule__RelativeNamespace_Impl__Group_3_3__1__Impl ; public final void rule__RelativeNamespace_Impl__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9501:1: ( rule__RelativeNamespace_Impl__Group_3_3__1__Impl ) - // InternalRos.g:9502:2: rule__RelativeNamespace_Impl__Group_3_3__1__Impl + // InternalRos.g:9609:1: ( rule__RelativeNamespace_Impl__Group_3_3__1__Impl ) + // InternalRos.g:9610:2: rule__RelativeNamespace_Impl__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3_3__1__Impl(); @@ -28897,21 +29244,21 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__1() throws Recognitio // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__1__Impl" - // InternalRos.g:9508:1: rule__RelativeNamespace_Impl__Group_3_3__1__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ; + // InternalRos.g:9616:1: rule__RelativeNamespace_Impl__Group_3_3__1__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ; public final void rule__RelativeNamespace_Impl__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9512:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ) - // InternalRos.g:9513:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) + // InternalRos.g:9620:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ) + // InternalRos.g:9621:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) { - // InternalRos.g:9513:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) - // InternalRos.g:9514:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) + // InternalRos.g:9621:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) + // InternalRos.g:9622:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsAssignment_3_3_1()); - // InternalRos.g:9515:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) - // InternalRos.g:9515:3: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 + // InternalRos.g:9623:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) + // InternalRos.g:9623:3: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__PartsAssignment_3_3_1(); @@ -28944,14 +29291,14 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__1__Impl() throws Reco // $ANTLR start "rule__PrivateNamespace__Group__0" - // InternalRos.g:9524:1: rule__PrivateNamespace__Group__0 : rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ; + // InternalRos.g:9632:1: rule__PrivateNamespace__Group__0 : rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ; public final void rule__PrivateNamespace__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9528:1: ( rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ) - // InternalRos.g:9529:2: rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 + // InternalRos.g:9636:1: ( rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ) + // InternalRos.g:9637:2: rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 { pushFollow(FOLLOW_39); rule__PrivateNamespace__Group__0__Impl(); @@ -28982,21 +29329,21 @@ public final void rule__PrivateNamespace__Group__0() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__0__Impl" - // InternalRos.g:9536:1: rule__PrivateNamespace__Group__0__Impl : ( () ) ; + // InternalRos.g:9644:1: rule__PrivateNamespace__Group__0__Impl : ( () ) ; public final void rule__PrivateNamespace__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9540:1: ( ( () ) ) - // InternalRos.g:9541:1: ( () ) + // InternalRos.g:9648:1: ( ( () ) ) + // InternalRos.g:9649:1: ( () ) { - // InternalRos.g:9541:1: ( () ) - // InternalRos.g:9542:2: () + // InternalRos.g:9649:1: ( () ) + // InternalRos.g:9650:2: () { before(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceAction_0()); - // InternalRos.g:9543:2: () - // InternalRos.g:9543:3: + // InternalRos.g:9651:2: () + // InternalRos.g:9651:3: { } @@ -29019,14 +29366,14 @@ public final void rule__PrivateNamespace__Group__0__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__1" - // InternalRos.g:9551:1: rule__PrivateNamespace__Group__1 : rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ; + // InternalRos.g:9659:1: rule__PrivateNamespace__Group__1 : rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ; public final void rule__PrivateNamespace__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9555:1: ( rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ) - // InternalRos.g:9556:2: rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 + // InternalRos.g:9663:1: ( rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ) + // InternalRos.g:9664:2: rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 { pushFollow(FOLLOW_4); rule__PrivateNamespace__Group__1__Impl(); @@ -29057,17 +29404,17 @@ public final void rule__PrivateNamespace__Group__1() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__1__Impl" - // InternalRos.g:9563:1: rule__PrivateNamespace__Group__1__Impl : ( 'PrivateNamespace' ) ; + // InternalRos.g:9671:1: rule__PrivateNamespace__Group__1__Impl : ( 'PrivateNamespace' ) ; public final void rule__PrivateNamespace__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9567:1: ( ( 'PrivateNamespace' ) ) - // InternalRos.g:9568:1: ( 'PrivateNamespace' ) + // InternalRos.g:9675:1: ( ( 'PrivateNamespace' ) ) + // InternalRos.g:9676:1: ( 'PrivateNamespace' ) { - // InternalRos.g:9568:1: ( 'PrivateNamespace' ) - // InternalRos.g:9569:2: 'PrivateNamespace' + // InternalRos.g:9676:1: ( 'PrivateNamespace' ) + // InternalRos.g:9677:2: 'PrivateNamespace' { before(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceKeyword_1()); match(input,74,FOLLOW_2); @@ -29094,14 +29441,14 @@ public final void rule__PrivateNamespace__Group__1__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__2" - // InternalRos.g:9578:1: rule__PrivateNamespace__Group__2 : rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ; + // InternalRos.g:9686:1: rule__PrivateNamespace__Group__2 : rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ; public final void rule__PrivateNamespace__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9582:1: ( rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ) - // InternalRos.g:9583:2: rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 + // InternalRos.g:9690:1: ( rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ) + // InternalRos.g:9691:2: rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 { pushFollow(FOLLOW_43); rule__PrivateNamespace__Group__2__Impl(); @@ -29132,17 +29479,17 @@ public final void rule__PrivateNamespace__Group__2() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__2__Impl" - // InternalRos.g:9590:1: rule__PrivateNamespace__Group__2__Impl : ( '{' ) ; + // InternalRos.g:9698:1: rule__PrivateNamespace__Group__2__Impl : ( '{' ) ; public final void rule__PrivateNamespace__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9594:1: ( ( '{' ) ) - // InternalRos.g:9595:1: ( '{' ) + // InternalRos.g:9702:1: ( ( '{' ) ) + // InternalRos.g:9703:1: ( '{' ) { - // InternalRos.g:9595:1: ( '{' ) - // InternalRos.g:9596:2: '{' + // InternalRos.g:9703:1: ( '{' ) + // InternalRos.g:9704:2: '{' { before(grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -29169,14 +29516,14 @@ public final void rule__PrivateNamespace__Group__2__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__3" - // InternalRos.g:9605:1: rule__PrivateNamespace__Group__3 : rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ; + // InternalRos.g:9713:1: rule__PrivateNamespace__Group__3 : rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ; public final void rule__PrivateNamespace__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9609:1: ( rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ) - // InternalRos.g:9610:2: rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 + // InternalRos.g:9717:1: ( rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ) + // InternalRos.g:9718:2: rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 { pushFollow(FOLLOW_43); rule__PrivateNamespace__Group__3__Impl(); @@ -29207,29 +29554,29 @@ public final void rule__PrivateNamespace__Group__3() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__3__Impl" - // InternalRos.g:9617:1: rule__PrivateNamespace__Group__3__Impl : ( ( rule__PrivateNamespace__Group_3__0 )? ) ; + // InternalRos.g:9725:1: rule__PrivateNamespace__Group__3__Impl : ( ( rule__PrivateNamespace__Group_3__0 )? ) ; public final void rule__PrivateNamespace__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9621:1: ( ( ( rule__PrivateNamespace__Group_3__0 )? ) ) - // InternalRos.g:9622:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) + // InternalRos.g:9729:1: ( ( ( rule__PrivateNamespace__Group_3__0 )? ) ) + // InternalRos.g:9730:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) { - // InternalRos.g:9622:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) - // InternalRos.g:9623:2: ( rule__PrivateNamespace__Group_3__0 )? + // InternalRos.g:9730:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) + // InternalRos.g:9731:2: ( rule__PrivateNamespace__Group_3__0 )? { before(grammarAccess.getPrivateNamespaceAccess().getGroup_3()); - // InternalRos.g:9624:2: ( rule__PrivateNamespace__Group_3__0 )? - int alt58=2; - int LA58_0 = input.LA(1); + // InternalRos.g:9732:2: ( rule__PrivateNamespace__Group_3__0 )? + int alt60=2; + int LA60_0 = input.LA(1); - if ( (LA58_0==72) ) { - alt58=1; + if ( (LA60_0==72) ) { + alt60=1; } - switch (alt58) { + switch (alt60) { case 1 : - // InternalRos.g:9624:3: rule__PrivateNamespace__Group_3__0 + // InternalRos.g:9732:3: rule__PrivateNamespace__Group_3__0 { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3__0(); @@ -29265,14 +29612,14 @@ public final void rule__PrivateNamespace__Group__3__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__4" - // InternalRos.g:9632:1: rule__PrivateNamespace__Group__4 : rule__PrivateNamespace__Group__4__Impl ; + // InternalRos.g:9740:1: rule__PrivateNamespace__Group__4 : rule__PrivateNamespace__Group__4__Impl ; public final void rule__PrivateNamespace__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9636:1: ( rule__PrivateNamespace__Group__4__Impl ) - // InternalRos.g:9637:2: rule__PrivateNamespace__Group__4__Impl + // InternalRos.g:9744:1: ( rule__PrivateNamespace__Group__4__Impl ) + // InternalRos.g:9745:2: rule__PrivateNamespace__Group__4__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group__4__Impl(); @@ -29298,17 +29645,17 @@ public final void rule__PrivateNamespace__Group__4() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__4__Impl" - // InternalRos.g:9643:1: rule__PrivateNamespace__Group__4__Impl : ( '}' ) ; + // InternalRos.g:9751:1: rule__PrivateNamespace__Group__4__Impl : ( '}' ) ; public final void rule__PrivateNamespace__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9647:1: ( ( '}' ) ) - // InternalRos.g:9648:1: ( '}' ) + // InternalRos.g:9755:1: ( ( '}' ) ) + // InternalRos.g:9756:1: ( '}' ) { - // InternalRos.g:9648:1: ( '}' ) - // InternalRos.g:9649:2: '}' + // InternalRos.g:9756:1: ( '}' ) + // InternalRos.g:9757:2: '}' { before(grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -29335,14 +29682,14 @@ public final void rule__PrivateNamespace__Group__4__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group_3__0" - // InternalRos.g:9659:1: rule__PrivateNamespace__Group_3__0 : rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ; + // InternalRos.g:9767:1: rule__PrivateNamespace__Group_3__0 : rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ; public final void rule__PrivateNamespace__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9663:1: ( rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ) - // InternalRos.g:9664:2: rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 + // InternalRos.g:9771:1: ( rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ) + // InternalRos.g:9772:2: rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 { pushFollow(FOLLOW_4); rule__PrivateNamespace__Group_3__0__Impl(); @@ -29373,17 +29720,17 @@ public final void rule__PrivateNamespace__Group_3__0() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__0__Impl" - // InternalRos.g:9671:1: rule__PrivateNamespace__Group_3__0__Impl : ( 'parts' ) ; + // InternalRos.g:9779:1: rule__PrivateNamespace__Group_3__0__Impl : ( 'parts' ) ; public final void rule__PrivateNamespace__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9675:1: ( ( 'parts' ) ) - // InternalRos.g:9676:1: ( 'parts' ) + // InternalRos.g:9783:1: ( ( 'parts' ) ) + // InternalRos.g:9784:1: ( 'parts' ) { - // InternalRos.g:9676:1: ( 'parts' ) - // InternalRos.g:9677:2: 'parts' + // InternalRos.g:9784:1: ( 'parts' ) + // InternalRos.g:9785:2: 'parts' { before(grammarAccess.getPrivateNamespaceAccess().getPartsKeyword_3_0()); match(input,72,FOLLOW_2); @@ -29410,14 +29757,14 @@ public final void rule__PrivateNamespace__Group_3__0__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__1" - // InternalRos.g:9686:1: rule__PrivateNamespace__Group_3__1 : rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ; + // InternalRos.g:9794:1: rule__PrivateNamespace__Group_3__1 : rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ; public final void rule__PrivateNamespace__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9690:1: ( rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ) - // InternalRos.g:9691:2: rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 + // InternalRos.g:9798:1: ( rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ) + // InternalRos.g:9799:2: rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 { pushFollow(FOLLOW_44); rule__PrivateNamespace__Group_3__1__Impl(); @@ -29448,17 +29795,17 @@ public final void rule__PrivateNamespace__Group_3__1() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__1__Impl" - // InternalRos.g:9698:1: rule__PrivateNamespace__Group_3__1__Impl : ( '{' ) ; + // InternalRos.g:9806:1: rule__PrivateNamespace__Group_3__1__Impl : ( '{' ) ; public final void rule__PrivateNamespace__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9702:1: ( ( '{' ) ) - // InternalRos.g:9703:1: ( '{' ) + // InternalRos.g:9810:1: ( ( '{' ) ) + // InternalRos.g:9811:1: ( '{' ) { - // InternalRos.g:9703:1: ( '{' ) - // InternalRos.g:9704:2: '{' + // InternalRos.g:9811:1: ( '{' ) + // InternalRos.g:9812:2: '{' { before(grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); match(input,41,FOLLOW_2); @@ -29485,14 +29832,14 @@ public final void rule__PrivateNamespace__Group_3__1__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__2" - // InternalRos.g:9713:1: rule__PrivateNamespace__Group_3__2 : rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ; + // InternalRos.g:9821:1: rule__PrivateNamespace__Group_3__2 : rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ; public final void rule__PrivateNamespace__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9717:1: ( rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ) - // InternalRos.g:9718:2: rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 + // InternalRos.g:9825:1: ( rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ) + // InternalRos.g:9826:2: rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 { pushFollow(FOLLOW_13); rule__PrivateNamespace__Group_3__2__Impl(); @@ -29523,21 +29870,21 @@ public final void rule__PrivateNamespace__Group_3__2() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__2__Impl" - // InternalRos.g:9725:1: rule__PrivateNamespace__Group_3__2__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ; + // InternalRos.g:9833:1: rule__PrivateNamespace__Group_3__2__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ; public final void rule__PrivateNamespace__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9729:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ) - // InternalRos.g:9730:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:9837:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ) + // InternalRos.g:9838:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) { - // InternalRos.g:9730:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) - // InternalRos.g:9731:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) + // InternalRos.g:9838:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:9839:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) { before(grammarAccess.getPrivateNamespaceAccess().getPartsAssignment_3_2()); - // InternalRos.g:9732:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) - // InternalRos.g:9732:3: rule__PrivateNamespace__PartsAssignment_3_2 + // InternalRos.g:9840:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) + // InternalRos.g:9840:3: rule__PrivateNamespace__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__PrivateNamespace__PartsAssignment_3_2(); @@ -29570,14 +29917,14 @@ public final void rule__PrivateNamespace__Group_3__2__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__3" - // InternalRos.g:9740:1: rule__PrivateNamespace__Group_3__3 : rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ; + // InternalRos.g:9848:1: rule__PrivateNamespace__Group_3__3 : rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ; public final void rule__PrivateNamespace__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9744:1: ( rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ) - // InternalRos.g:9745:2: rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 + // InternalRos.g:9852:1: ( rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ) + // InternalRos.g:9853:2: rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 { pushFollow(FOLLOW_13); rule__PrivateNamespace__Group_3__3__Impl(); @@ -29608,33 +29955,33 @@ public final void rule__PrivateNamespace__Group_3__3() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__3__Impl" - // InternalRos.g:9752:1: rule__PrivateNamespace__Group_3__3__Impl : ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ; + // InternalRos.g:9860:1: rule__PrivateNamespace__Group_3__3__Impl : ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ; public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9756:1: ( ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ) - // InternalRos.g:9757:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) + // InternalRos.g:9864:1: ( ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ) + // InternalRos.g:9865:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) { - // InternalRos.g:9757:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) - // InternalRos.g:9758:2: ( rule__PrivateNamespace__Group_3_3__0 )* + // InternalRos.g:9865:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) + // InternalRos.g:9866:2: ( rule__PrivateNamespace__Group_3_3__0 )* { before(grammarAccess.getPrivateNamespaceAccess().getGroup_3_3()); - // InternalRos.g:9759:2: ( rule__PrivateNamespace__Group_3_3__0 )* - loop59: + // InternalRos.g:9867:2: ( rule__PrivateNamespace__Group_3_3__0 )* + loop61: do { - int alt59=2; - int LA59_0 = input.LA(1); + int alt61=2; + int LA61_0 = input.LA(1); - if ( (LA59_0==43) ) { - alt59=1; + if ( (LA61_0==43) ) { + alt61=1; } - switch (alt59) { + switch (alt61) { case 1 : - // InternalRos.g:9759:3: rule__PrivateNamespace__Group_3_3__0 + // InternalRos.g:9867:3: rule__PrivateNamespace__Group_3_3__0 { pushFollow(FOLLOW_7); rule__PrivateNamespace__Group_3_3__0(); @@ -29646,7 +29993,7 @@ public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionE break; default : - break loop59; + break loop61; } } while (true); @@ -29673,14 +30020,14 @@ public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__4" - // InternalRos.g:9767:1: rule__PrivateNamespace__Group_3__4 : rule__PrivateNamespace__Group_3__4__Impl ; + // InternalRos.g:9875:1: rule__PrivateNamespace__Group_3__4 : rule__PrivateNamespace__Group_3__4__Impl ; public final void rule__PrivateNamespace__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9771:1: ( rule__PrivateNamespace__Group_3__4__Impl ) - // InternalRos.g:9772:2: rule__PrivateNamespace__Group_3__4__Impl + // InternalRos.g:9879:1: ( rule__PrivateNamespace__Group_3__4__Impl ) + // InternalRos.g:9880:2: rule__PrivateNamespace__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3__4__Impl(); @@ -29706,17 +30053,17 @@ public final void rule__PrivateNamespace__Group_3__4() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__4__Impl" - // InternalRos.g:9778:1: rule__PrivateNamespace__Group_3__4__Impl : ( '}' ) ; + // InternalRos.g:9886:1: rule__PrivateNamespace__Group_3__4__Impl : ( '}' ) ; public final void rule__PrivateNamespace__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9782:1: ( ( '}' ) ) - // InternalRos.g:9783:1: ( '}' ) + // InternalRos.g:9890:1: ( ( '}' ) ) + // InternalRos.g:9891:1: ( '}' ) { - // InternalRos.g:9783:1: ( '}' ) - // InternalRos.g:9784:2: '}' + // InternalRos.g:9891:1: ( '}' ) + // InternalRos.g:9892:2: '}' { before(grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_3_4()); match(input,42,FOLLOW_2); @@ -29743,14 +30090,14 @@ public final void rule__PrivateNamespace__Group_3__4__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3_3__0" - // InternalRos.g:9794:1: rule__PrivateNamespace__Group_3_3__0 : rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ; + // InternalRos.g:9902:1: rule__PrivateNamespace__Group_3_3__0 : rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ; public final void rule__PrivateNamespace__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9798:1: ( rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ) - // InternalRos.g:9799:2: rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 + // InternalRos.g:9906:1: ( rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ) + // InternalRos.g:9907:2: rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 { pushFollow(FOLLOW_44); rule__PrivateNamespace__Group_3_3__0__Impl(); @@ -29781,17 +30128,17 @@ public final void rule__PrivateNamespace__Group_3_3__0() throws RecognitionExcep // $ANTLR start "rule__PrivateNamespace__Group_3_3__0__Impl" - // InternalRos.g:9806:1: rule__PrivateNamespace__Group_3_3__0__Impl : ( ',' ) ; + // InternalRos.g:9914:1: rule__PrivateNamespace__Group_3_3__0__Impl : ( ',' ) ; public final void rule__PrivateNamespace__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9810:1: ( ( ',' ) ) - // InternalRos.g:9811:1: ( ',' ) + // InternalRos.g:9918:1: ( ( ',' ) ) + // InternalRos.g:9919:1: ( ',' ) { - // InternalRos.g:9811:1: ( ',' ) - // InternalRos.g:9812:2: ',' + // InternalRos.g:9919:1: ( ',' ) + // InternalRos.g:9920:2: ',' { before(grammarAccess.getPrivateNamespaceAccess().getCommaKeyword_3_3_0()); match(input,43,FOLLOW_2); @@ -29818,14 +30165,14 @@ public final void rule__PrivateNamespace__Group_3_3__0__Impl() throws Recognitio // $ANTLR start "rule__PrivateNamespace__Group_3_3__1" - // InternalRos.g:9821:1: rule__PrivateNamespace__Group_3_3__1 : rule__PrivateNamespace__Group_3_3__1__Impl ; + // InternalRos.g:9929:1: rule__PrivateNamespace__Group_3_3__1 : rule__PrivateNamespace__Group_3_3__1__Impl ; public final void rule__PrivateNamespace__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9825:1: ( rule__PrivateNamespace__Group_3_3__1__Impl ) - // InternalRos.g:9826:2: rule__PrivateNamespace__Group_3_3__1__Impl + // InternalRos.g:9933:1: ( rule__PrivateNamespace__Group_3_3__1__Impl ) + // InternalRos.g:9934:2: rule__PrivateNamespace__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3_3__1__Impl(); @@ -29851,21 +30198,21 @@ public final void rule__PrivateNamespace__Group_3_3__1() throws RecognitionExcep // $ANTLR start "rule__PrivateNamespace__Group_3_3__1__Impl" - // InternalRos.g:9832:1: rule__PrivateNamespace__Group_3_3__1__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ; + // InternalRos.g:9940:1: rule__PrivateNamespace__Group_3_3__1__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ; public final void rule__PrivateNamespace__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9836:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ) - // InternalRos.g:9837:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:9944:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ) + // InternalRos.g:9945:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) { - // InternalRos.g:9837:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) - // InternalRos.g:9838:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:9945:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:9946:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) { before(grammarAccess.getPrivateNamespaceAccess().getPartsAssignment_3_3_1()); - // InternalRos.g:9839:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) - // InternalRos.g:9839:3: rule__PrivateNamespace__PartsAssignment_3_3_1 + // InternalRos.g:9947:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:9947:3: rule__PrivateNamespace__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__PrivateNamespace__PartsAssignment_3_3_1(); @@ -29898,14 +30245,14 @@ public final void rule__PrivateNamespace__Group_3_3__1__Impl() throws Recognitio // $ANTLR start "rule__Parameter__Group__0" - // InternalRos.g:9848:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; + // InternalRos.g:9956:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; public final void rule__Parameter__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9852:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) - // InternalRos.g:9853:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 + // InternalRos.g:9960:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) + // InternalRos.g:9961:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 { pushFollow(FOLLOW_4); rule__Parameter__Group__0__Impl(); @@ -29936,17 +30283,17 @@ public final void rule__Parameter__Group__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__0__Impl" - // InternalRos.g:9860:1: rule__Parameter__Group__0__Impl : ( 'Parameter' ) ; + // InternalRos.g:9968:1: rule__Parameter__Group__0__Impl : ( 'Parameter' ) ; public final void rule__Parameter__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9864:1: ( ( 'Parameter' ) ) - // InternalRos.g:9865:1: ( 'Parameter' ) + // InternalRos.g:9972:1: ( ( 'Parameter' ) ) + // InternalRos.g:9973:1: ( 'Parameter' ) { - // InternalRos.g:9865:1: ( 'Parameter' ) - // InternalRos.g:9866:2: 'Parameter' + // InternalRos.g:9973:1: ( 'Parameter' ) + // InternalRos.g:9974:2: 'Parameter' { before(grammarAccess.getParameterAccess().getParameterKeyword_0()); match(input,75,FOLLOW_2); @@ -29973,14 +30320,14 @@ public final void rule__Parameter__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__1" - // InternalRos.g:9875:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ; + // InternalRos.g:9983:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ; public final void rule__Parameter__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9879:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ) - // InternalRos.g:9880:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2 + // InternalRos.g:9987:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ) + // InternalRos.g:9988:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2 { pushFollow(FOLLOW_28); rule__Parameter__Group__1__Impl(); @@ -30011,17 +30358,17 @@ public final void rule__Parameter__Group__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__1__Impl" - // InternalRos.g:9887:1: rule__Parameter__Group__1__Impl : ( '{' ) ; + // InternalRos.g:9995:1: rule__Parameter__Group__1__Impl : ( '{' ) ; public final void rule__Parameter__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9891:1: ( ( '{' ) ) - // InternalRos.g:9892:1: ( '{' ) + // InternalRos.g:9999:1: ( ( '{' ) ) + // InternalRos.g:10000:1: ( '{' ) { - // InternalRos.g:9892:1: ( '{' ) - // InternalRos.g:9893:2: '{' + // InternalRos.g:10000:1: ( '{' ) + // InternalRos.g:10001:2: '{' { before(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -30048,14 +30395,14 @@ public final void rule__Parameter__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__2" - // InternalRos.g:9902:1: rule__Parameter__Group__2 : rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ; + // InternalRos.g:10010:1: rule__Parameter__Group__2 : rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ; public final void rule__Parameter__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9906:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ) - // InternalRos.g:9907:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3 + // InternalRos.g:10014:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ) + // InternalRos.g:10015:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3 { pushFollow(FOLLOW_10); rule__Parameter__Group__2__Impl(); @@ -30086,17 +30433,17 @@ public final void rule__Parameter__Group__2() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__2__Impl" - // InternalRos.g:9914:1: rule__Parameter__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:10022:1: rule__Parameter__Group__2__Impl : ( 'name' ) ; public final void rule__Parameter__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9918:1: ( ( 'name' ) ) - // InternalRos.g:9919:1: ( 'name' ) + // InternalRos.g:10026:1: ( ( 'name' ) ) + // InternalRos.g:10027:1: ( 'name' ) { - // InternalRos.g:9919:1: ( 'name' ) - // InternalRos.g:9920:2: 'name' + // InternalRos.g:10027:1: ( 'name' ) + // InternalRos.g:10028:2: 'name' { before(grammarAccess.getParameterAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -30123,14 +30470,14 @@ public final void rule__Parameter__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__3" - // InternalRos.g:9929:1: rule__Parameter__Group__3 : rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ; + // InternalRos.g:10037:1: rule__Parameter__Group__3 : rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ; public final void rule__Parameter__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9933:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ) - // InternalRos.g:9934:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4 + // InternalRos.g:10041:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ) + // InternalRos.g:10042:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4 { pushFollow(FOLLOW_46); rule__Parameter__Group__3__Impl(); @@ -30161,21 +30508,21 @@ public final void rule__Parameter__Group__3() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__3__Impl" - // InternalRos.g:9941:1: rule__Parameter__Group__3__Impl : ( ( rule__Parameter__NameAssignment_3 ) ) ; + // InternalRos.g:10049:1: rule__Parameter__Group__3__Impl : ( ( rule__Parameter__NameAssignment_3 ) ) ; public final void rule__Parameter__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9945:1: ( ( ( rule__Parameter__NameAssignment_3 ) ) ) - // InternalRos.g:9946:1: ( ( rule__Parameter__NameAssignment_3 ) ) + // InternalRos.g:10053:1: ( ( ( rule__Parameter__NameAssignment_3 ) ) ) + // InternalRos.g:10054:1: ( ( rule__Parameter__NameAssignment_3 ) ) { - // InternalRos.g:9946:1: ( ( rule__Parameter__NameAssignment_3 ) ) - // InternalRos.g:9947:2: ( rule__Parameter__NameAssignment_3 ) + // InternalRos.g:10054:1: ( ( rule__Parameter__NameAssignment_3 ) ) + // InternalRos.g:10055:2: ( rule__Parameter__NameAssignment_3 ) { before(grammarAccess.getParameterAccess().getNameAssignment_3()); - // InternalRos.g:9948:2: ( rule__Parameter__NameAssignment_3 ) - // InternalRos.g:9948:3: rule__Parameter__NameAssignment_3 + // InternalRos.g:10056:2: ( rule__Parameter__NameAssignment_3 ) + // InternalRos.g:10056:3: rule__Parameter__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Parameter__NameAssignment_3(); @@ -30208,14 +30555,14 @@ public final void rule__Parameter__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__4" - // InternalRos.g:9956:1: rule__Parameter__Group__4 : rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ; + // InternalRos.g:10064:1: rule__Parameter__Group__4 : rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ; public final void rule__Parameter__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9960:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ) - // InternalRos.g:9961:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5 + // InternalRos.g:10068:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ) + // InternalRos.g:10069:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5 { pushFollow(FOLLOW_46); rule__Parameter__Group__4__Impl(); @@ -30246,29 +30593,29 @@ public final void rule__Parameter__Group__4() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__4__Impl" - // InternalRos.g:9968:1: rule__Parameter__Group__4__Impl : ( ( rule__Parameter__Group_4__0 )? ) ; + // InternalRos.g:10076:1: rule__Parameter__Group__4__Impl : ( ( rule__Parameter__Group_4__0 )? ) ; public final void rule__Parameter__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9972:1: ( ( ( rule__Parameter__Group_4__0 )? ) ) - // InternalRos.g:9973:1: ( ( rule__Parameter__Group_4__0 )? ) + // InternalRos.g:10080:1: ( ( ( rule__Parameter__Group_4__0 )? ) ) + // InternalRos.g:10081:1: ( ( rule__Parameter__Group_4__0 )? ) { - // InternalRos.g:9973:1: ( ( rule__Parameter__Group_4__0 )? ) - // InternalRos.g:9974:2: ( rule__Parameter__Group_4__0 )? + // InternalRos.g:10081:1: ( ( rule__Parameter__Group_4__0 )? ) + // InternalRos.g:10082:2: ( rule__Parameter__Group_4__0 )? { before(grammarAccess.getParameterAccess().getGroup_4()); - // InternalRos.g:9975:2: ( rule__Parameter__Group_4__0 )? - int alt60=2; - int LA60_0 = input.LA(1); + // InternalRos.g:10083:2: ( rule__Parameter__Group_4__0 )? + int alt62=2; + int LA62_0 = input.LA(1); - if ( (LA60_0==63) ) { - alt60=1; + if ( (LA62_0==64) ) { + alt62=1; } - switch (alt60) { + switch (alt62) { case 1 : - // InternalRos.g:9975:3: rule__Parameter__Group_4__0 + // InternalRos.g:10083:3: rule__Parameter__Group_4__0 { pushFollow(FOLLOW_2); rule__Parameter__Group_4__0(); @@ -30304,14 +30651,14 @@ public final void rule__Parameter__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__5" - // InternalRos.g:9983:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ; + // InternalRos.g:10091:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ; public final void rule__Parameter__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9987:1: ( rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ) - // InternalRos.g:9988:2: rule__Parameter__Group__5__Impl rule__Parameter__Group__6 + // InternalRos.g:10095:1: ( rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ) + // InternalRos.g:10096:2: rule__Parameter__Group__5__Impl rule__Parameter__Group__6 { pushFollow(FOLLOW_47); rule__Parameter__Group__5__Impl(); @@ -30342,17 +30689,17 @@ public final void rule__Parameter__Group__5() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__5__Impl" - // InternalRos.g:9995:1: rule__Parameter__Group__5__Impl : ( 'type' ) ; + // InternalRos.g:10103:1: rule__Parameter__Group__5__Impl : ( 'type' ) ; public final void rule__Parameter__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9999:1: ( ( 'type' ) ) - // InternalRos.g:10000:1: ( 'type' ) + // InternalRos.g:10107:1: ( ( 'type' ) ) + // InternalRos.g:10108:1: ( 'type' ) { - // InternalRos.g:10000:1: ( 'type' ) - // InternalRos.g:10001:2: 'type' + // InternalRos.g:10108:1: ( 'type' ) + // InternalRos.g:10109:2: 'type' { before(grammarAccess.getParameterAccess().getTypeKeyword_5()); match(input,36,FOLLOW_2); @@ -30379,14 +30726,14 @@ public final void rule__Parameter__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__6" - // InternalRos.g:10010:1: rule__Parameter__Group__6 : rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ; + // InternalRos.g:10118:1: rule__Parameter__Group__6 : rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ; public final void rule__Parameter__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10014:1: ( rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ) - // InternalRos.g:10015:2: rule__Parameter__Group__6__Impl rule__Parameter__Group__7 + // InternalRos.g:10122:1: ( rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ) + // InternalRos.g:10123:2: rule__Parameter__Group__6__Impl rule__Parameter__Group__7 { pushFollow(FOLLOW_48); rule__Parameter__Group__6__Impl(); @@ -30417,21 +30764,21 @@ public final void rule__Parameter__Group__6() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__6__Impl" - // InternalRos.g:10022:1: rule__Parameter__Group__6__Impl : ( ( rule__Parameter__TypeAssignment_6 ) ) ; + // InternalRos.g:10130:1: rule__Parameter__Group__6__Impl : ( ( rule__Parameter__TypeAssignment_6 ) ) ; public final void rule__Parameter__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10026:1: ( ( ( rule__Parameter__TypeAssignment_6 ) ) ) - // InternalRos.g:10027:1: ( ( rule__Parameter__TypeAssignment_6 ) ) + // InternalRos.g:10134:1: ( ( ( rule__Parameter__TypeAssignment_6 ) ) ) + // InternalRos.g:10135:1: ( ( rule__Parameter__TypeAssignment_6 ) ) { - // InternalRos.g:10027:1: ( ( rule__Parameter__TypeAssignment_6 ) ) - // InternalRos.g:10028:2: ( rule__Parameter__TypeAssignment_6 ) + // InternalRos.g:10135:1: ( ( rule__Parameter__TypeAssignment_6 ) ) + // InternalRos.g:10136:2: ( rule__Parameter__TypeAssignment_6 ) { before(grammarAccess.getParameterAccess().getTypeAssignment_6()); - // InternalRos.g:10029:2: ( rule__Parameter__TypeAssignment_6 ) - // InternalRos.g:10029:3: rule__Parameter__TypeAssignment_6 + // InternalRos.g:10137:2: ( rule__Parameter__TypeAssignment_6 ) + // InternalRos.g:10137:3: rule__Parameter__TypeAssignment_6 { pushFollow(FOLLOW_2); rule__Parameter__TypeAssignment_6(); @@ -30464,14 +30811,14 @@ public final void rule__Parameter__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__7" - // InternalRos.g:10037:1: rule__Parameter__Group__7 : rule__Parameter__Group__7__Impl ; + // InternalRos.g:10145:1: rule__Parameter__Group__7 : rule__Parameter__Group__7__Impl ; public final void rule__Parameter__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10041:1: ( rule__Parameter__Group__7__Impl ) - // InternalRos.g:10042:2: rule__Parameter__Group__7__Impl + // InternalRos.g:10149:1: ( rule__Parameter__Group__7__Impl ) + // InternalRos.g:10150:2: rule__Parameter__Group__7__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group__7__Impl(); @@ -30497,17 +30844,17 @@ public final void rule__Parameter__Group__7() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__7__Impl" - // InternalRos.g:10048:1: rule__Parameter__Group__7__Impl : ( '}' ) ; + // InternalRos.g:10156:1: rule__Parameter__Group__7__Impl : ( '}' ) ; public final void rule__Parameter__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10052:1: ( ( '}' ) ) - // InternalRos.g:10053:1: ( '}' ) + // InternalRos.g:10160:1: ( ( '}' ) ) + // InternalRos.g:10161:1: ( '}' ) { - // InternalRos.g:10053:1: ( '}' ) - // InternalRos.g:10054:2: '}' + // InternalRos.g:10161:1: ( '}' ) + // InternalRos.g:10162:2: '}' { before(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -30534,14 +30881,14 @@ public final void rule__Parameter__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group_4__0" - // InternalRos.g:10064:1: rule__Parameter__Group_4__0 : rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ; + // InternalRos.g:10172:1: rule__Parameter__Group_4__0 : rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ; public final void rule__Parameter__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10068:1: ( rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ) - // InternalRos.g:10069:2: rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 + // InternalRos.g:10176:1: ( rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ) + // InternalRos.g:10177:2: rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 { pushFollow(FOLLOW_39); rule__Parameter__Group_4__0__Impl(); @@ -30572,20 +30919,20 @@ public final void rule__Parameter__Group_4__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_4__0__Impl" - // InternalRos.g:10076:1: rule__Parameter__Group_4__0__Impl : ( 'namespace' ) ; + // InternalRos.g:10184:1: rule__Parameter__Group_4__0__Impl : ( 'namespace' ) ; public final void rule__Parameter__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10080:1: ( ( 'namespace' ) ) - // InternalRos.g:10081:1: ( 'namespace' ) + // InternalRos.g:10188:1: ( ( 'namespace' ) ) + // InternalRos.g:10189:1: ( 'namespace' ) { - // InternalRos.g:10081:1: ( 'namespace' ) - // InternalRos.g:10082:2: 'namespace' + // InternalRos.g:10189:1: ( 'namespace' ) + // InternalRos.g:10190:2: 'namespace' { before(grammarAccess.getParameterAccess().getNamespaceKeyword_4_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getParameterAccess().getNamespaceKeyword_4_0()); } @@ -30609,14 +30956,14 @@ public final void rule__Parameter__Group_4__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Parameter__Group_4__1" - // InternalRos.g:10091:1: rule__Parameter__Group_4__1 : rule__Parameter__Group_4__1__Impl ; + // InternalRos.g:10199:1: rule__Parameter__Group_4__1 : rule__Parameter__Group_4__1__Impl ; public final void rule__Parameter__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10095:1: ( rule__Parameter__Group_4__1__Impl ) - // InternalRos.g:10096:2: rule__Parameter__Group_4__1__Impl + // InternalRos.g:10203:1: ( rule__Parameter__Group_4__1__Impl ) + // InternalRos.g:10204:2: rule__Parameter__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group_4__1__Impl(); @@ -30642,21 +30989,21 @@ public final void rule__Parameter__Group_4__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_4__1__Impl" - // InternalRos.g:10102:1: rule__Parameter__Group_4__1__Impl : ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ; + // InternalRos.g:10210:1: rule__Parameter__Group_4__1__Impl : ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ; public final void rule__Parameter__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10106:1: ( ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ) - // InternalRos.g:10107:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) + // InternalRos.g:10214:1: ( ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ) + // InternalRos.g:10215:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) { - // InternalRos.g:10107:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) - // InternalRos.g:10108:2: ( rule__Parameter__NamespaceAssignment_4_1 ) + // InternalRos.g:10215:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) + // InternalRos.g:10216:2: ( rule__Parameter__NamespaceAssignment_4_1 ) { before(grammarAccess.getParameterAccess().getNamespaceAssignment_4_1()); - // InternalRos.g:10109:2: ( rule__Parameter__NamespaceAssignment_4_1 ) - // InternalRos.g:10109:3: rule__Parameter__NamespaceAssignment_4_1 + // InternalRos.g:10217:2: ( rule__Parameter__NamespaceAssignment_4_1 ) + // InternalRos.g:10217:3: rule__Parameter__NamespaceAssignment_4_1 { pushFollow(FOLLOW_2); rule__Parameter__NamespaceAssignment_4_1(); @@ -30689,14 +31036,14 @@ public final void rule__Parameter__Group_4__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__0" - // InternalRos.g:10118:1: rule__ParameterListType__Group__0 : rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ; + // InternalRos.g:10226:1: rule__ParameterListType__Group__0 : rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ; public final void rule__ParameterListType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10122:1: ( rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ) - // InternalRos.g:10123:2: rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 + // InternalRos.g:10230:1: ( rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ) + // InternalRos.g:10231:2: rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 { pushFollow(FOLLOW_49); rule__ParameterListType__Group__0__Impl(); @@ -30727,21 +31074,21 @@ public final void rule__ParameterListType__Group__0() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__0__Impl" - // InternalRos.g:10130:1: rule__ParameterListType__Group__0__Impl : ( () ) ; + // InternalRos.g:10238:1: rule__ParameterListType__Group__0__Impl : ( () ) ; public final void rule__ParameterListType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10134:1: ( ( () ) ) - // InternalRos.g:10135:1: ( () ) + // InternalRos.g:10242:1: ( ( () ) ) + // InternalRos.g:10243:1: ( () ) { - // InternalRos.g:10135:1: ( () ) - // InternalRos.g:10136:2: () + // InternalRos.g:10243:1: ( () ) + // InternalRos.g:10244:2: () { before(grammarAccess.getParameterListTypeAccess().getParameterListTypeAction_0()); - // InternalRos.g:10137:2: () - // InternalRos.g:10137:3: + // InternalRos.g:10245:2: () + // InternalRos.g:10245:3: { } @@ -30764,14 +31111,14 @@ public final void rule__ParameterListType__Group__0__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__1" - // InternalRos.g:10145:1: rule__ParameterListType__Group__1 : rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ; + // InternalRos.g:10253:1: rule__ParameterListType__Group__1 : rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ; public final void rule__ParameterListType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10149:1: ( rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ) - // InternalRos.g:10150:2: rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 + // InternalRos.g:10257:1: ( rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ) + // InternalRos.g:10258:2: rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 { pushFollow(FOLLOW_4); rule__ParameterListType__Group__1__Impl(); @@ -30802,17 +31149,17 @@ public final void rule__ParameterListType__Group__1() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__1__Impl" - // InternalRos.g:10157:1: rule__ParameterListType__Group__1__Impl : ( 'List' ) ; + // InternalRos.g:10265:1: rule__ParameterListType__Group__1__Impl : ( 'List' ) ; public final void rule__ParameterListType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10161:1: ( ( 'List' ) ) - // InternalRos.g:10162:1: ( 'List' ) + // InternalRos.g:10269:1: ( ( 'List' ) ) + // InternalRos.g:10270:1: ( 'List' ) { - // InternalRos.g:10162:1: ( 'List' ) - // InternalRos.g:10163:2: 'List' + // InternalRos.g:10270:1: ( 'List' ) + // InternalRos.g:10271:2: 'List' { before(grammarAccess.getParameterListTypeAccess().getListKeyword_1()); match(input,76,FOLLOW_2); @@ -30839,14 +31186,14 @@ public final void rule__ParameterListType__Group__1__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__2" - // InternalRos.g:10172:1: rule__ParameterListType__Group__2 : rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ; + // InternalRos.g:10280:1: rule__ParameterListType__Group__2 : rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ; public final void rule__ParameterListType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10176:1: ( rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ) - // InternalRos.g:10177:2: rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 + // InternalRos.g:10284:1: ( rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ) + // InternalRos.g:10285:2: rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 { pushFollow(FOLLOW_47); rule__ParameterListType__Group__2__Impl(); @@ -30877,17 +31224,17 @@ public final void rule__ParameterListType__Group__2() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__2__Impl" - // InternalRos.g:10184:1: rule__ParameterListType__Group__2__Impl : ( '{' ) ; + // InternalRos.g:10292:1: rule__ParameterListType__Group__2__Impl : ( '{' ) ; public final void rule__ParameterListType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10188:1: ( ( '{' ) ) - // InternalRos.g:10189:1: ( '{' ) + // InternalRos.g:10296:1: ( ( '{' ) ) + // InternalRos.g:10297:1: ( '{' ) { - // InternalRos.g:10189:1: ( '{' ) - // InternalRos.g:10190:2: '{' + // InternalRos.g:10297:1: ( '{' ) + // InternalRos.g:10298:2: '{' { before(grammarAccess.getParameterListTypeAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -30914,14 +31261,14 @@ public final void rule__ParameterListType__Group__2__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__3" - // InternalRos.g:10199:1: rule__ParameterListType__Group__3 : rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ; + // InternalRos.g:10307:1: rule__ParameterListType__Group__3 : rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ; public final void rule__ParameterListType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10203:1: ( rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ) - // InternalRos.g:10204:2: rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 + // InternalRos.g:10311:1: ( rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ) + // InternalRos.g:10312:2: rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 { pushFollow(FOLLOW_13); rule__ParameterListType__Group__3__Impl(); @@ -30952,21 +31299,21 @@ public final void rule__ParameterListType__Group__3() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__3__Impl" - // InternalRos.g:10211:1: rule__ParameterListType__Group__3__Impl : ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ; + // InternalRos.g:10319:1: rule__ParameterListType__Group__3__Impl : ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ; public final void rule__ParameterListType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10215:1: ( ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ) - // InternalRos.g:10216:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) + // InternalRos.g:10323:1: ( ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ) + // InternalRos.g:10324:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) { - // InternalRos.g:10216:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) - // InternalRos.g:10217:2: ( rule__ParameterListType__SequenceAssignment_3 ) + // InternalRos.g:10324:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) + // InternalRos.g:10325:2: ( rule__ParameterListType__SequenceAssignment_3 ) { before(grammarAccess.getParameterListTypeAccess().getSequenceAssignment_3()); - // InternalRos.g:10218:2: ( rule__ParameterListType__SequenceAssignment_3 ) - // InternalRos.g:10218:3: rule__ParameterListType__SequenceAssignment_3 + // InternalRos.g:10326:2: ( rule__ParameterListType__SequenceAssignment_3 ) + // InternalRos.g:10326:3: rule__ParameterListType__SequenceAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterListType__SequenceAssignment_3(); @@ -30999,14 +31346,14 @@ public final void rule__ParameterListType__Group__3__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__4" - // InternalRos.g:10226:1: rule__ParameterListType__Group__4 : rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ; + // InternalRos.g:10334:1: rule__ParameterListType__Group__4 : rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ; public final void rule__ParameterListType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10230:1: ( rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ) - // InternalRos.g:10231:2: rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 + // InternalRos.g:10338:1: ( rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ) + // InternalRos.g:10339:2: rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 { pushFollow(FOLLOW_13); rule__ParameterListType__Group__4__Impl(); @@ -31037,33 +31384,33 @@ public final void rule__ParameterListType__Group__4() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__4__Impl" - // InternalRos.g:10238:1: rule__ParameterListType__Group__4__Impl : ( ( rule__ParameterListType__Group_4__0 )* ) ; + // InternalRos.g:10346:1: rule__ParameterListType__Group__4__Impl : ( ( rule__ParameterListType__Group_4__0 )* ) ; public final void rule__ParameterListType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10242:1: ( ( ( rule__ParameterListType__Group_4__0 )* ) ) - // InternalRos.g:10243:1: ( ( rule__ParameterListType__Group_4__0 )* ) + // InternalRos.g:10350:1: ( ( ( rule__ParameterListType__Group_4__0 )* ) ) + // InternalRos.g:10351:1: ( ( rule__ParameterListType__Group_4__0 )* ) { - // InternalRos.g:10243:1: ( ( rule__ParameterListType__Group_4__0 )* ) - // InternalRos.g:10244:2: ( rule__ParameterListType__Group_4__0 )* + // InternalRos.g:10351:1: ( ( rule__ParameterListType__Group_4__0 )* ) + // InternalRos.g:10352:2: ( rule__ParameterListType__Group_4__0 )* { before(grammarAccess.getParameterListTypeAccess().getGroup_4()); - // InternalRos.g:10245:2: ( rule__ParameterListType__Group_4__0 )* - loop61: + // InternalRos.g:10353:2: ( rule__ParameterListType__Group_4__0 )* + loop63: do { - int alt61=2; - int LA61_0 = input.LA(1); + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA61_0==43) ) { - alt61=1; + if ( (LA63_0==43) ) { + alt63=1; } - switch (alt61) { + switch (alt63) { case 1 : - // InternalRos.g:10245:3: rule__ParameterListType__Group_4__0 + // InternalRos.g:10353:3: rule__ParameterListType__Group_4__0 { pushFollow(FOLLOW_7); rule__ParameterListType__Group_4__0(); @@ -31075,7 +31422,7 @@ public final void rule__ParameterListType__Group__4__Impl() throws RecognitionEx break; default : - break loop61; + break loop63; } } while (true); @@ -31102,14 +31449,14 @@ public final void rule__ParameterListType__Group__4__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__5" - // InternalRos.g:10253:1: rule__ParameterListType__Group__5 : rule__ParameterListType__Group__5__Impl ; + // InternalRos.g:10361:1: rule__ParameterListType__Group__5 : rule__ParameterListType__Group__5__Impl ; public final void rule__ParameterListType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10257:1: ( rule__ParameterListType__Group__5__Impl ) - // InternalRos.g:10258:2: rule__ParameterListType__Group__5__Impl + // InternalRos.g:10365:1: ( rule__ParameterListType__Group__5__Impl ) + // InternalRos.g:10366:2: rule__ParameterListType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterListType__Group__5__Impl(); @@ -31135,17 +31482,17 @@ public final void rule__ParameterListType__Group__5() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__5__Impl" - // InternalRos.g:10264:1: rule__ParameterListType__Group__5__Impl : ( '}' ) ; + // InternalRos.g:10372:1: rule__ParameterListType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterListType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10268:1: ( ( '}' ) ) - // InternalRos.g:10269:1: ( '}' ) + // InternalRos.g:10376:1: ( ( '}' ) ) + // InternalRos.g:10377:1: ( '}' ) { - // InternalRos.g:10269:1: ( '}' ) - // InternalRos.g:10270:2: '}' + // InternalRos.g:10377:1: ( '}' ) + // InternalRos.g:10378:2: '}' { before(grammarAccess.getParameterListTypeAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -31172,14 +31519,14 @@ public final void rule__ParameterListType__Group__5__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group_4__0" - // InternalRos.g:10280:1: rule__ParameterListType__Group_4__0 : rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ; + // InternalRos.g:10388:1: rule__ParameterListType__Group_4__0 : rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ; public final void rule__ParameterListType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10284:1: ( rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ) - // InternalRos.g:10285:2: rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 + // InternalRos.g:10392:1: ( rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ) + // InternalRos.g:10393:2: rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 { pushFollow(FOLLOW_47); rule__ParameterListType__Group_4__0__Impl(); @@ -31210,17 +31557,17 @@ public final void rule__ParameterListType__Group_4__0() throws RecognitionExcept // $ANTLR start "rule__ParameterListType__Group_4__0__Impl" - // InternalRos.g:10292:1: rule__ParameterListType__Group_4__0__Impl : ( ',' ) ; + // InternalRos.g:10400:1: rule__ParameterListType__Group_4__0__Impl : ( ',' ) ; public final void rule__ParameterListType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10296:1: ( ( ',' ) ) - // InternalRos.g:10297:1: ( ',' ) + // InternalRos.g:10404:1: ( ( ',' ) ) + // InternalRos.g:10405:1: ( ',' ) { - // InternalRos.g:10297:1: ( ',' ) - // InternalRos.g:10298:2: ',' + // InternalRos.g:10405:1: ( ',' ) + // InternalRos.g:10406:2: ',' { before(grammarAccess.getParameterListTypeAccess().getCommaKeyword_4_0()); match(input,43,FOLLOW_2); @@ -31247,14 +31594,14 @@ public final void rule__ParameterListType__Group_4__0__Impl() throws Recognition // $ANTLR start "rule__ParameterListType__Group_4__1" - // InternalRos.g:10307:1: rule__ParameterListType__Group_4__1 : rule__ParameterListType__Group_4__1__Impl ; + // InternalRos.g:10415:1: rule__ParameterListType__Group_4__1 : rule__ParameterListType__Group_4__1__Impl ; public final void rule__ParameterListType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10311:1: ( rule__ParameterListType__Group_4__1__Impl ) - // InternalRos.g:10312:2: rule__ParameterListType__Group_4__1__Impl + // InternalRos.g:10419:1: ( rule__ParameterListType__Group_4__1__Impl ) + // InternalRos.g:10420:2: rule__ParameterListType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterListType__Group_4__1__Impl(); @@ -31280,21 +31627,21 @@ public final void rule__ParameterListType__Group_4__1() throws RecognitionExcept // $ANTLR start "rule__ParameterListType__Group_4__1__Impl" - // InternalRos.g:10318:1: rule__ParameterListType__Group_4__1__Impl : ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ; + // InternalRos.g:10426:1: rule__ParameterListType__Group_4__1__Impl : ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ; public final void rule__ParameterListType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10322:1: ( ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ) - // InternalRos.g:10323:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) + // InternalRos.g:10430:1: ( ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ) + // InternalRos.g:10431:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) { - // InternalRos.g:10323:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) - // InternalRos.g:10324:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) + // InternalRos.g:10431:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) + // InternalRos.g:10432:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) { before(grammarAccess.getParameterListTypeAccess().getSequenceAssignment_4_1()); - // InternalRos.g:10325:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) - // InternalRos.g:10325:3: rule__ParameterListType__SequenceAssignment_4_1 + // InternalRos.g:10433:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) + // InternalRos.g:10433:3: rule__ParameterListType__SequenceAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterListType__SequenceAssignment_4_1(); @@ -31327,14 +31674,14 @@ public final void rule__ParameterListType__Group_4__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__0" - // InternalRos.g:10334:1: rule__ParameterStructType__Group__0 : rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ; + // InternalRos.g:10442:1: rule__ParameterStructType__Group__0 : rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ; public final void rule__ParameterStructType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10338:1: ( rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ) - // InternalRos.g:10339:2: rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 + // InternalRos.g:10446:1: ( rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ) + // InternalRos.g:10447:2: rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 { pushFollow(FOLLOW_50); rule__ParameterStructType__Group__0__Impl(); @@ -31365,21 +31712,21 @@ public final void rule__ParameterStructType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__0__Impl" - // InternalRos.g:10346:1: rule__ParameterStructType__Group__0__Impl : ( () ) ; + // InternalRos.g:10454:1: rule__ParameterStructType__Group__0__Impl : ( () ) ; public final void rule__ParameterStructType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10350:1: ( ( () ) ) - // InternalRos.g:10351:1: ( () ) + // InternalRos.g:10458:1: ( ( () ) ) + // InternalRos.g:10459:1: ( () ) { - // InternalRos.g:10351:1: ( () ) - // InternalRos.g:10352:2: () + // InternalRos.g:10459:1: ( () ) + // InternalRos.g:10460:2: () { before(grammarAccess.getParameterStructTypeAccess().getParameterStructTypeAction_0()); - // InternalRos.g:10353:2: () - // InternalRos.g:10353:3: + // InternalRos.g:10461:2: () + // InternalRos.g:10461:3: { } @@ -31402,14 +31749,14 @@ public final void rule__ParameterStructType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__1" - // InternalRos.g:10361:1: rule__ParameterStructType__Group__1 : rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ; + // InternalRos.g:10469:1: rule__ParameterStructType__Group__1 : rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ; public final void rule__ParameterStructType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10365:1: ( rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ) - // InternalRos.g:10366:2: rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 + // InternalRos.g:10473:1: ( rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ) + // InternalRos.g:10474:2: rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 { pushFollow(FOLLOW_4); rule__ParameterStructType__Group__1__Impl(); @@ -31440,17 +31787,17 @@ public final void rule__ParameterStructType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__1__Impl" - // InternalRos.g:10373:1: rule__ParameterStructType__Group__1__Impl : ( 'Struct' ) ; + // InternalRos.g:10481:1: rule__ParameterStructType__Group__1__Impl : ( 'Struct' ) ; public final void rule__ParameterStructType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10377:1: ( ( 'Struct' ) ) - // InternalRos.g:10378:1: ( 'Struct' ) + // InternalRos.g:10485:1: ( ( 'Struct' ) ) + // InternalRos.g:10486:1: ( 'Struct' ) { - // InternalRos.g:10378:1: ( 'Struct' ) - // InternalRos.g:10379:2: 'Struct' + // InternalRos.g:10486:1: ( 'Struct' ) + // InternalRos.g:10487:2: 'Struct' { before(grammarAccess.getParameterStructTypeAccess().getStructKeyword_1()); match(input,77,FOLLOW_2); @@ -31477,14 +31824,14 @@ public final void rule__ParameterStructType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__2" - // InternalRos.g:10388:1: rule__ParameterStructType__Group__2 : rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ; + // InternalRos.g:10496:1: rule__ParameterStructType__Group__2 : rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ; public final void rule__ParameterStructType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10392:1: ( rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ) - // InternalRos.g:10393:2: rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 + // InternalRos.g:10500:1: ( rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ) + // InternalRos.g:10501:2: rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 { pushFollow(FOLLOW_10); rule__ParameterStructType__Group__2__Impl(); @@ -31515,17 +31862,17 @@ public final void rule__ParameterStructType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__2__Impl" - // InternalRos.g:10400:1: rule__ParameterStructType__Group__2__Impl : ( '{' ) ; + // InternalRos.g:10508:1: rule__ParameterStructType__Group__2__Impl : ( '{' ) ; public final void rule__ParameterStructType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10404:1: ( ( '{' ) ) - // InternalRos.g:10405:1: ( '{' ) + // InternalRos.g:10512:1: ( ( '{' ) ) + // InternalRos.g:10513:1: ( '{' ) { - // InternalRos.g:10405:1: ( '{' ) - // InternalRos.g:10406:2: '{' + // InternalRos.g:10513:1: ( '{' ) + // InternalRos.g:10514:2: '{' { before(grammarAccess.getParameterStructTypeAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -31552,14 +31899,14 @@ public final void rule__ParameterStructType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__3" - // InternalRos.g:10415:1: rule__ParameterStructType__Group__3 : rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ; + // InternalRos.g:10523:1: rule__ParameterStructType__Group__3 : rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ; public final void rule__ParameterStructType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10419:1: ( rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ) - // InternalRos.g:10420:2: rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 + // InternalRos.g:10527:1: ( rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ) + // InternalRos.g:10528:2: rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 { pushFollow(FOLLOW_13); rule__ParameterStructType__Group__3__Impl(); @@ -31590,21 +31937,21 @@ public final void rule__ParameterStructType__Group__3() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__3__Impl" - // InternalRos.g:10427:1: rule__ParameterStructType__Group__3__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ; + // InternalRos.g:10535:1: rule__ParameterStructType__Group__3__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ; public final void rule__ParameterStructType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10431:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ) - // InternalRos.g:10432:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) + // InternalRos.g:10539:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ) + // InternalRos.g:10540:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) { - // InternalRos.g:10432:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) - // InternalRos.g:10433:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) + // InternalRos.g:10540:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) + // InternalRos.g:10541:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberAssignment_3()); - // InternalRos.g:10434:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) - // InternalRos.g:10434:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 + // InternalRos.g:10542:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) + // InternalRos.g:10542:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterStructType__ParameterstructypetmemberAssignment_3(); @@ -31637,14 +31984,14 @@ public final void rule__ParameterStructType__Group__3__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__4" - // InternalRos.g:10442:1: rule__ParameterStructType__Group__4 : rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ; + // InternalRos.g:10550:1: rule__ParameterStructType__Group__4 : rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ; public final void rule__ParameterStructType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10446:1: ( rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ) - // InternalRos.g:10447:2: rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 + // InternalRos.g:10554:1: ( rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ) + // InternalRos.g:10555:2: rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 { pushFollow(FOLLOW_13); rule__ParameterStructType__Group__4__Impl(); @@ -31675,33 +32022,33 @@ public final void rule__ParameterStructType__Group__4() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__4__Impl" - // InternalRos.g:10454:1: rule__ParameterStructType__Group__4__Impl : ( ( rule__ParameterStructType__Group_4__0 )* ) ; + // InternalRos.g:10562:1: rule__ParameterStructType__Group__4__Impl : ( ( rule__ParameterStructType__Group_4__0 )* ) ; public final void rule__ParameterStructType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10458:1: ( ( ( rule__ParameterStructType__Group_4__0 )* ) ) - // InternalRos.g:10459:1: ( ( rule__ParameterStructType__Group_4__0 )* ) + // InternalRos.g:10566:1: ( ( ( rule__ParameterStructType__Group_4__0 )* ) ) + // InternalRos.g:10567:1: ( ( rule__ParameterStructType__Group_4__0 )* ) { - // InternalRos.g:10459:1: ( ( rule__ParameterStructType__Group_4__0 )* ) - // InternalRos.g:10460:2: ( rule__ParameterStructType__Group_4__0 )* + // InternalRos.g:10567:1: ( ( rule__ParameterStructType__Group_4__0 )* ) + // InternalRos.g:10568:2: ( rule__ParameterStructType__Group_4__0 )* { before(grammarAccess.getParameterStructTypeAccess().getGroup_4()); - // InternalRos.g:10461:2: ( rule__ParameterStructType__Group_4__0 )* - loop62: + // InternalRos.g:10569:2: ( rule__ParameterStructType__Group_4__0 )* + loop64: do { - int alt62=2; - int LA62_0 = input.LA(1); + int alt64=2; + int LA64_0 = input.LA(1); - if ( (LA62_0==43) ) { - alt62=1; + if ( (LA64_0==43) ) { + alt64=1; } - switch (alt62) { + switch (alt64) { case 1 : - // InternalRos.g:10461:3: rule__ParameterStructType__Group_4__0 + // InternalRos.g:10569:3: rule__ParameterStructType__Group_4__0 { pushFollow(FOLLOW_7); rule__ParameterStructType__Group_4__0(); @@ -31713,7 +32060,7 @@ public final void rule__ParameterStructType__Group__4__Impl() throws Recognition break; default : - break loop62; + break loop64; } } while (true); @@ -31740,14 +32087,14 @@ public final void rule__ParameterStructType__Group__4__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__5" - // InternalRos.g:10469:1: rule__ParameterStructType__Group__5 : rule__ParameterStructType__Group__5__Impl ; + // InternalRos.g:10577:1: rule__ParameterStructType__Group__5 : rule__ParameterStructType__Group__5__Impl ; public final void rule__ParameterStructType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10473:1: ( rule__ParameterStructType__Group__5__Impl ) - // InternalRos.g:10474:2: rule__ParameterStructType__Group__5__Impl + // InternalRos.g:10581:1: ( rule__ParameterStructType__Group__5__Impl ) + // InternalRos.g:10582:2: rule__ParameterStructType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterStructType__Group__5__Impl(); @@ -31773,17 +32120,17 @@ public final void rule__ParameterStructType__Group__5() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__5__Impl" - // InternalRos.g:10480:1: rule__ParameterStructType__Group__5__Impl : ( '}' ) ; + // InternalRos.g:10588:1: rule__ParameterStructType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterStructType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10484:1: ( ( '}' ) ) - // InternalRos.g:10485:1: ( '}' ) + // InternalRos.g:10592:1: ( ( '}' ) ) + // InternalRos.g:10593:1: ( '}' ) { - // InternalRos.g:10485:1: ( '}' ) - // InternalRos.g:10486:2: '}' + // InternalRos.g:10593:1: ( '}' ) + // InternalRos.g:10594:2: '}' { before(grammarAccess.getParameterStructTypeAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -31810,14 +32157,14 @@ public final void rule__ParameterStructType__Group__5__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group_4__0" - // InternalRos.g:10496:1: rule__ParameterStructType__Group_4__0 : rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ; + // InternalRos.g:10604:1: rule__ParameterStructType__Group_4__0 : rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ; public final void rule__ParameterStructType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10500:1: ( rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ) - // InternalRos.g:10501:2: rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 + // InternalRos.g:10608:1: ( rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ) + // InternalRos.g:10609:2: rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 { pushFollow(FOLLOW_10); rule__ParameterStructType__Group_4__0__Impl(); @@ -31848,17 +32195,17 @@ public final void rule__ParameterStructType__Group_4__0() throws RecognitionExce // $ANTLR start "rule__ParameterStructType__Group_4__0__Impl" - // InternalRos.g:10508:1: rule__ParameterStructType__Group_4__0__Impl : ( ',' ) ; + // InternalRos.g:10616:1: rule__ParameterStructType__Group_4__0__Impl : ( ',' ) ; public final void rule__ParameterStructType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10512:1: ( ( ',' ) ) - // InternalRos.g:10513:1: ( ',' ) + // InternalRos.g:10620:1: ( ( ',' ) ) + // InternalRos.g:10621:1: ( ',' ) { - // InternalRos.g:10513:1: ( ',' ) - // InternalRos.g:10514:2: ',' + // InternalRos.g:10621:1: ( ',' ) + // InternalRos.g:10622:2: ',' { before(grammarAccess.getParameterStructTypeAccess().getCommaKeyword_4_0()); match(input,43,FOLLOW_2); @@ -31885,14 +32232,14 @@ public final void rule__ParameterStructType__Group_4__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructType__Group_4__1" - // InternalRos.g:10523:1: rule__ParameterStructType__Group_4__1 : rule__ParameterStructType__Group_4__1__Impl ; + // InternalRos.g:10631:1: rule__ParameterStructType__Group_4__1 : rule__ParameterStructType__Group_4__1__Impl ; public final void rule__ParameterStructType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10527:1: ( rule__ParameterStructType__Group_4__1__Impl ) - // InternalRos.g:10528:2: rule__ParameterStructType__Group_4__1__Impl + // InternalRos.g:10635:1: ( rule__ParameterStructType__Group_4__1__Impl ) + // InternalRos.g:10636:2: rule__ParameterStructType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStructType__Group_4__1__Impl(); @@ -31918,21 +32265,21 @@ public final void rule__ParameterStructType__Group_4__1() throws RecognitionExce // $ANTLR start "rule__ParameterStructType__Group_4__1__Impl" - // InternalRos.g:10534:1: rule__ParameterStructType__Group_4__1__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ; + // InternalRos.g:10642:1: rule__ParameterStructType__Group_4__1__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ; public final void rule__ParameterStructType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10538:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ) - // InternalRos.g:10539:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) + // InternalRos.g:10646:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ) + // InternalRos.g:10647:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) { - // InternalRos.g:10539:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) - // InternalRos.g:10540:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) + // InternalRos.g:10647:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) + // InternalRos.g:10648:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberAssignment_4_1()); - // InternalRos.g:10541:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) - // InternalRos.g:10541:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 + // InternalRos.g:10649:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) + // InternalRos.g:10649:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1(); @@ -31965,14 +32312,14 @@ public final void rule__ParameterStructType__Group_4__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterIntegerType__Group__0" - // InternalRos.g:10550:1: rule__ParameterIntegerType__Group__0 : rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ; + // InternalRos.g:10658:1: rule__ParameterIntegerType__Group__0 : rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ; public final void rule__ParameterIntegerType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10554:1: ( rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ) - // InternalRos.g:10555:2: rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 + // InternalRos.g:10662:1: ( rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ) + // InternalRos.g:10663:2: rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 { pushFollow(FOLLOW_51); rule__ParameterIntegerType__Group__0__Impl(); @@ -32003,21 +32350,21 @@ public final void rule__ParameterIntegerType__Group__0() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__0__Impl" - // InternalRos.g:10562:1: rule__ParameterIntegerType__Group__0__Impl : ( () ) ; + // InternalRos.g:10670:1: rule__ParameterIntegerType__Group__0__Impl : ( () ) ; public final void rule__ParameterIntegerType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10566:1: ( ( () ) ) - // InternalRos.g:10567:1: ( () ) + // InternalRos.g:10674:1: ( ( () ) ) + // InternalRos.g:10675:1: ( () ) { - // InternalRos.g:10567:1: ( () ) - // InternalRos.g:10568:2: () + // InternalRos.g:10675:1: ( () ) + // InternalRos.g:10676:2: () { before(grammarAccess.getParameterIntegerTypeAccess().getParameterIntegerTypeAction_0()); - // InternalRos.g:10569:2: () - // InternalRos.g:10569:3: + // InternalRos.g:10677:2: () + // InternalRos.g:10677:3: { } @@ -32040,14 +32387,14 @@ public final void rule__ParameterIntegerType__Group__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group__1" - // InternalRos.g:10577:1: rule__ParameterIntegerType__Group__1 : rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ; + // InternalRos.g:10685:1: rule__ParameterIntegerType__Group__1 : rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ; public final void rule__ParameterIntegerType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10581:1: ( rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ) - // InternalRos.g:10582:2: rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 + // InternalRos.g:10689:1: ( rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ) + // InternalRos.g:10690:2: rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 { pushFollow(FOLLOW_52); rule__ParameterIntegerType__Group__1__Impl(); @@ -32078,17 +32425,17 @@ public final void rule__ParameterIntegerType__Group__1() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__1__Impl" - // InternalRos.g:10589:1: rule__ParameterIntegerType__Group__1__Impl : ( 'Integer' ) ; + // InternalRos.g:10697:1: rule__ParameterIntegerType__Group__1__Impl : ( 'Integer' ) ; public final void rule__ParameterIntegerType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10593:1: ( ( 'Integer' ) ) - // InternalRos.g:10594:1: ( 'Integer' ) + // InternalRos.g:10701:1: ( ( 'Integer' ) ) + // InternalRos.g:10702:1: ( 'Integer' ) { - // InternalRos.g:10594:1: ( 'Integer' ) - // InternalRos.g:10595:2: 'Integer' + // InternalRos.g:10702:1: ( 'Integer' ) + // InternalRos.g:10703:2: 'Integer' { before(grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); match(input,78,FOLLOW_2); @@ -32115,14 +32462,14 @@ public final void rule__ParameterIntegerType__Group__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group__2" - // InternalRos.g:10604:1: rule__ParameterIntegerType__Group__2 : rule__ParameterIntegerType__Group__2__Impl ; + // InternalRos.g:10712:1: rule__ParameterIntegerType__Group__2 : rule__ParameterIntegerType__Group__2__Impl ; public final void rule__ParameterIntegerType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10608:1: ( rule__ParameterIntegerType__Group__2__Impl ) - // InternalRos.g:10609:2: rule__ParameterIntegerType__Group__2__Impl + // InternalRos.g:10716:1: ( rule__ParameterIntegerType__Group__2__Impl ) + // InternalRos.g:10717:2: rule__ParameterIntegerType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group__2__Impl(); @@ -32148,33 +32495,33 @@ public final void rule__ParameterIntegerType__Group__2() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__2__Impl" - // InternalRos.g:10615:1: rule__ParameterIntegerType__Group__2__Impl : ( ( rule__ParameterIntegerType__Group_2__0 )? ) ; + // InternalRos.g:10723:1: rule__ParameterIntegerType__Group__2__Impl : ( ( rule__ParameterIntegerType__Group_2__0 )? ) ; public final void rule__ParameterIntegerType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10619:1: ( ( ( rule__ParameterIntegerType__Group_2__0 )? ) ) - // InternalRos.g:10620:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) + // InternalRos.g:10727:1: ( ( ( rule__ParameterIntegerType__Group_2__0 )? ) ) + // InternalRos.g:10728:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) { - // InternalRos.g:10620:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) - // InternalRos.g:10621:2: ( rule__ParameterIntegerType__Group_2__0 )? + // InternalRos.g:10728:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) + // InternalRos.g:10729:2: ( rule__ParameterIntegerType__Group_2__0 )? { before(grammarAccess.getParameterIntegerTypeAccess().getGroup_2()); - // InternalRos.g:10622:2: ( rule__ParameterIntegerType__Group_2__0 )? - int alt63=2; - int LA63_0 = input.LA(1); + // InternalRos.g:10730:2: ( rule__ParameterIntegerType__Group_2__0 )? + int alt65=2; + int LA65_0 = input.LA(1); - if ( (LA63_0==79) ) { - int LA63_1 = input.LA(2); + if ( (LA65_0==79) ) { + int LA65_1 = input.LA(2); - if ( (LA63_1==RULE_DECINT) ) { - alt63=1; + if ( (LA65_1==RULE_DECINT) ) { + alt65=1; } } - switch (alt63) { + switch (alt65) { case 1 : - // InternalRos.g:10622:3: rule__ParameterIntegerType__Group_2__0 + // InternalRos.g:10730:3: rule__ParameterIntegerType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group_2__0(); @@ -32210,14 +32557,14 @@ public final void rule__ParameterIntegerType__Group__2__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group_2__0" - // InternalRos.g:10631:1: rule__ParameterIntegerType__Group_2__0 : rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ; + // InternalRos.g:10739:1: rule__ParameterIntegerType__Group_2__0 : rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ; public final void rule__ParameterIntegerType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10635:1: ( rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ) - // InternalRos.g:10636:2: rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 + // InternalRos.g:10743:1: ( rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ) + // InternalRos.g:10744:2: rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 { pushFollow(FOLLOW_53); rule__ParameterIntegerType__Group_2__0__Impl(); @@ -32248,17 +32595,17 @@ public final void rule__ParameterIntegerType__Group_2__0() throws RecognitionExc // $ANTLR start "rule__ParameterIntegerType__Group_2__0__Impl" - // InternalRos.g:10643:1: rule__ParameterIntegerType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:10751:1: rule__ParameterIntegerType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterIntegerType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10647:1: ( ( 'default' ) ) - // InternalRos.g:10648:1: ( 'default' ) + // InternalRos.g:10755:1: ( ( 'default' ) ) + // InternalRos.g:10756:1: ( 'default' ) { - // InternalRos.g:10648:1: ( 'default' ) - // InternalRos.g:10649:2: 'default' + // InternalRos.g:10756:1: ( 'default' ) + // InternalRos.g:10757:2: 'default' { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); match(input,79,FOLLOW_2); @@ -32285,14 +32632,14 @@ public final void rule__ParameterIntegerType__Group_2__0__Impl() throws Recognit // $ANTLR start "rule__ParameterIntegerType__Group_2__1" - // InternalRos.g:10658:1: rule__ParameterIntegerType__Group_2__1 : rule__ParameterIntegerType__Group_2__1__Impl ; + // InternalRos.g:10766:1: rule__ParameterIntegerType__Group_2__1 : rule__ParameterIntegerType__Group_2__1__Impl ; public final void rule__ParameterIntegerType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10662:1: ( rule__ParameterIntegerType__Group_2__1__Impl ) - // InternalRos.g:10663:2: rule__ParameterIntegerType__Group_2__1__Impl + // InternalRos.g:10770:1: ( rule__ParameterIntegerType__Group_2__1__Impl ) + // InternalRos.g:10771:2: rule__ParameterIntegerType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group_2__1__Impl(); @@ -32318,21 +32665,21 @@ public final void rule__ParameterIntegerType__Group_2__1() throws RecognitionExc // $ANTLR start "rule__ParameterIntegerType__Group_2__1__Impl" - // InternalRos.g:10669:1: rule__ParameterIntegerType__Group_2__1__Impl : ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:10777:1: rule__ParameterIntegerType__Group_2__1__Impl : ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterIntegerType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10673:1: ( ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:10674:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) + // InternalRos.g:10781:1: ( ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:10782:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:10674:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) - // InternalRos.g:10675:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) + // InternalRos.g:10782:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) + // InternalRos.g:10783:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:10676:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) - // InternalRos.g:10676:3: rule__ParameterIntegerType__DefaultAssignment_2_1 + // InternalRos.g:10784:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) + // InternalRos.g:10784:3: rule__ParameterIntegerType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__DefaultAssignment_2_1(); @@ -32365,14 +32712,14 @@ public final void rule__ParameterIntegerType__Group_2__1__Impl() throws Recognit // $ANTLR start "rule__ParameterStringType__Group__0" - // InternalRos.g:10685:1: rule__ParameterStringType__Group__0 : rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ; + // InternalRos.g:10793:1: rule__ParameterStringType__Group__0 : rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ; public final void rule__ParameterStringType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10689:1: ( rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ) - // InternalRos.g:10690:2: rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 + // InternalRos.g:10797:1: ( rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ) + // InternalRos.g:10798:2: rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 { pushFollow(FOLLOW_54); rule__ParameterStringType__Group__0__Impl(); @@ -32403,21 +32750,21 @@ public final void rule__ParameterStringType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__0__Impl" - // InternalRos.g:10697:1: rule__ParameterStringType__Group__0__Impl : ( () ) ; + // InternalRos.g:10805:1: rule__ParameterStringType__Group__0__Impl : ( () ) ; public final void rule__ParameterStringType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10701:1: ( ( () ) ) - // InternalRos.g:10702:1: ( () ) + // InternalRos.g:10809:1: ( ( () ) ) + // InternalRos.g:10810:1: ( () ) { - // InternalRos.g:10702:1: ( () ) - // InternalRos.g:10703:2: () + // InternalRos.g:10810:1: ( () ) + // InternalRos.g:10811:2: () { before(grammarAccess.getParameterStringTypeAccess().getParameterStringTypeAction_0()); - // InternalRos.g:10704:2: () - // InternalRos.g:10704:3: + // InternalRos.g:10812:2: () + // InternalRos.g:10812:3: { } @@ -32440,14 +32787,14 @@ public final void rule__ParameterStringType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group__1" - // InternalRos.g:10712:1: rule__ParameterStringType__Group__1 : rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ; + // InternalRos.g:10820:1: rule__ParameterStringType__Group__1 : rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ; public final void rule__ParameterStringType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10716:1: ( rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ) - // InternalRos.g:10717:2: rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 + // InternalRos.g:10824:1: ( rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ) + // InternalRos.g:10825:2: rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 { pushFollow(FOLLOW_52); rule__ParameterStringType__Group__1__Impl(); @@ -32478,17 +32825,17 @@ public final void rule__ParameterStringType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__1__Impl" - // InternalRos.g:10724:1: rule__ParameterStringType__Group__1__Impl : ( 'String' ) ; + // InternalRos.g:10832:1: rule__ParameterStringType__Group__1__Impl : ( 'String' ) ; public final void rule__ParameterStringType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10728:1: ( ( 'String' ) ) - // InternalRos.g:10729:1: ( 'String' ) + // InternalRos.g:10836:1: ( ( 'String' ) ) + // InternalRos.g:10837:1: ( 'String' ) { - // InternalRos.g:10729:1: ( 'String' ) - // InternalRos.g:10730:2: 'String' + // InternalRos.g:10837:1: ( 'String' ) + // InternalRos.g:10838:2: 'String' { before(grammarAccess.getParameterStringTypeAccess().getStringKeyword_1()); match(input,28,FOLLOW_2); @@ -32515,14 +32862,14 @@ public final void rule__ParameterStringType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group__2" - // InternalRos.g:10739:1: rule__ParameterStringType__Group__2 : rule__ParameterStringType__Group__2__Impl ; + // InternalRos.g:10847:1: rule__ParameterStringType__Group__2 : rule__ParameterStringType__Group__2__Impl ; public final void rule__ParameterStringType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10743:1: ( rule__ParameterStringType__Group__2__Impl ) - // InternalRos.g:10744:2: rule__ParameterStringType__Group__2__Impl + // InternalRos.g:10851:1: ( rule__ParameterStringType__Group__2__Impl ) + // InternalRos.g:10852:2: rule__ParameterStringType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterStringType__Group__2__Impl(); @@ -32548,33 +32895,33 @@ public final void rule__ParameterStringType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__2__Impl" - // InternalRos.g:10750:1: rule__ParameterStringType__Group__2__Impl : ( ( rule__ParameterStringType__Group_2__0 )? ) ; + // InternalRos.g:10858:1: rule__ParameterStringType__Group__2__Impl : ( ( rule__ParameterStringType__Group_2__0 )? ) ; public final void rule__ParameterStringType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10754:1: ( ( ( rule__ParameterStringType__Group_2__0 )? ) ) - // InternalRos.g:10755:1: ( ( rule__ParameterStringType__Group_2__0 )? ) + // InternalRos.g:10862:1: ( ( ( rule__ParameterStringType__Group_2__0 )? ) ) + // InternalRos.g:10863:1: ( ( rule__ParameterStringType__Group_2__0 )? ) { - // InternalRos.g:10755:1: ( ( rule__ParameterStringType__Group_2__0 )? ) - // InternalRos.g:10756:2: ( rule__ParameterStringType__Group_2__0 )? + // InternalRos.g:10863:1: ( ( rule__ParameterStringType__Group_2__0 )? ) + // InternalRos.g:10864:2: ( rule__ParameterStringType__Group_2__0 )? { before(grammarAccess.getParameterStringTypeAccess().getGroup_2()); - // InternalRos.g:10757:2: ( rule__ParameterStringType__Group_2__0 )? - int alt64=2; - int LA64_0 = input.LA(1); + // InternalRos.g:10865:2: ( rule__ParameterStringType__Group_2__0 )? + int alt66=2; + int LA66_0 = input.LA(1); - if ( (LA64_0==79) ) { - int LA64_1 = input.LA(2); + if ( (LA66_0==79) ) { + int LA66_1 = input.LA(2); - if ( ((LA64_1>=RULE_STRING && LA64_1<=RULE_ID)) ) { - alt64=1; + if ( ((LA66_1>=RULE_STRING && LA66_1<=RULE_ID)) ) { + alt66=1; } } - switch (alt64) { + switch (alt66) { case 1 : - // InternalRos.g:10757:3: rule__ParameterStringType__Group_2__0 + // InternalRos.g:10865:3: rule__ParameterStringType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterStringType__Group_2__0(); @@ -32610,14 +32957,14 @@ public final void rule__ParameterStringType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group_2__0" - // InternalRos.g:10766:1: rule__ParameterStringType__Group_2__0 : rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ; + // InternalRos.g:10874:1: rule__ParameterStringType__Group_2__0 : rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ; public final void rule__ParameterStringType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10770:1: ( rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ) - // InternalRos.g:10771:2: rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 + // InternalRos.g:10878:1: ( rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ) + // InternalRos.g:10879:2: rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 { pushFollow(FOLLOW_10); rule__ParameterStringType__Group_2__0__Impl(); @@ -32648,17 +32995,17 @@ public final void rule__ParameterStringType__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterStringType__Group_2__0__Impl" - // InternalRos.g:10778:1: rule__ParameterStringType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:10886:1: rule__ParameterStringType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterStringType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10782:1: ( ( 'default' ) ) - // InternalRos.g:10783:1: ( 'default' ) + // InternalRos.g:10890:1: ( ( 'default' ) ) + // InternalRos.g:10891:1: ( 'default' ) { - // InternalRos.g:10783:1: ( 'default' ) - // InternalRos.g:10784:2: 'default' + // InternalRos.g:10891:1: ( 'default' ) + // InternalRos.g:10892:2: 'default' { before(grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); match(input,79,FOLLOW_2); @@ -32685,14 +33032,14 @@ public final void rule__ParameterStringType__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStringType__Group_2__1" - // InternalRos.g:10793:1: rule__ParameterStringType__Group_2__1 : rule__ParameterStringType__Group_2__1__Impl ; + // InternalRos.g:10901:1: rule__ParameterStringType__Group_2__1 : rule__ParameterStringType__Group_2__1__Impl ; public final void rule__ParameterStringType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10797:1: ( rule__ParameterStringType__Group_2__1__Impl ) - // InternalRos.g:10798:2: rule__ParameterStringType__Group_2__1__Impl + // InternalRos.g:10905:1: ( rule__ParameterStringType__Group_2__1__Impl ) + // InternalRos.g:10906:2: rule__ParameterStringType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStringType__Group_2__1__Impl(); @@ -32718,21 +33065,21 @@ public final void rule__ParameterStringType__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterStringType__Group_2__1__Impl" - // InternalRos.g:10804:1: rule__ParameterStringType__Group_2__1__Impl : ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:10912:1: rule__ParameterStringType__Group_2__1__Impl : ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterStringType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10808:1: ( ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:10809:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) + // InternalRos.g:10916:1: ( ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:10917:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:10809:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) - // InternalRos.g:10810:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) + // InternalRos.g:10917:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) + // InternalRos.g:10918:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterStringTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:10811:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) - // InternalRos.g:10811:3: rule__ParameterStringType__DefaultAssignment_2_1 + // InternalRos.g:10919:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) + // InternalRos.g:10919:3: rule__ParameterStringType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterStringType__DefaultAssignment_2_1(); @@ -32765,14 +33112,14 @@ public final void rule__ParameterStringType__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterDoubleType__Group__0" - // InternalRos.g:10820:1: rule__ParameterDoubleType__Group__0 : rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ; + // InternalRos.g:10928:1: rule__ParameterDoubleType__Group__0 : rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ; public final void rule__ParameterDoubleType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10824:1: ( rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ) - // InternalRos.g:10825:2: rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 + // InternalRos.g:10932:1: ( rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ) + // InternalRos.g:10933:2: rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 { pushFollow(FOLLOW_55); rule__ParameterDoubleType__Group__0__Impl(); @@ -32803,21 +33150,21 @@ public final void rule__ParameterDoubleType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__0__Impl" - // InternalRos.g:10832:1: rule__ParameterDoubleType__Group__0__Impl : ( () ) ; + // InternalRos.g:10940:1: rule__ParameterDoubleType__Group__0__Impl : ( () ) ; public final void rule__ParameterDoubleType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10836:1: ( ( () ) ) - // InternalRos.g:10837:1: ( () ) + // InternalRos.g:10944:1: ( ( () ) ) + // InternalRos.g:10945:1: ( () ) { - // InternalRos.g:10837:1: ( () ) - // InternalRos.g:10838:2: () + // InternalRos.g:10945:1: ( () ) + // InternalRos.g:10946:2: () { before(grammarAccess.getParameterDoubleTypeAccess().getParameterDoubleTypeAction_0()); - // InternalRos.g:10839:2: () - // InternalRos.g:10839:3: + // InternalRos.g:10947:2: () + // InternalRos.g:10947:3: { } @@ -32840,14 +33187,14 @@ public final void rule__ParameterDoubleType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group__1" - // InternalRos.g:10847:1: rule__ParameterDoubleType__Group__1 : rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ; + // InternalRos.g:10955:1: rule__ParameterDoubleType__Group__1 : rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ; public final void rule__ParameterDoubleType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10851:1: ( rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ) - // InternalRos.g:10852:2: rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 + // InternalRos.g:10959:1: ( rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ) + // InternalRos.g:10960:2: rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 { pushFollow(FOLLOW_52); rule__ParameterDoubleType__Group__1__Impl(); @@ -32878,17 +33225,17 @@ public final void rule__ParameterDoubleType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__1__Impl" - // InternalRos.g:10859:1: rule__ParameterDoubleType__Group__1__Impl : ( 'Double' ) ; + // InternalRos.g:10967:1: rule__ParameterDoubleType__Group__1__Impl : ( 'Double' ) ; public final void rule__ParameterDoubleType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10863:1: ( ( 'Double' ) ) - // InternalRos.g:10864:1: ( 'Double' ) + // InternalRos.g:10971:1: ( ( 'Double' ) ) + // InternalRos.g:10972:1: ( 'Double' ) { - // InternalRos.g:10864:1: ( 'Double' ) - // InternalRos.g:10865:2: 'Double' + // InternalRos.g:10972:1: ( 'Double' ) + // InternalRos.g:10973:2: 'Double' { before(grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); match(input,80,FOLLOW_2); @@ -32915,14 +33262,14 @@ public final void rule__ParameterDoubleType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group__2" - // InternalRos.g:10874:1: rule__ParameterDoubleType__Group__2 : rule__ParameterDoubleType__Group__2__Impl ; + // InternalRos.g:10982:1: rule__ParameterDoubleType__Group__2 : rule__ParameterDoubleType__Group__2__Impl ; public final void rule__ParameterDoubleType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10878:1: ( rule__ParameterDoubleType__Group__2__Impl ) - // InternalRos.g:10879:2: rule__ParameterDoubleType__Group__2__Impl + // InternalRos.g:10986:1: ( rule__ParameterDoubleType__Group__2__Impl ) + // InternalRos.g:10987:2: rule__ParameterDoubleType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group__2__Impl(); @@ -32948,33 +33295,33 @@ public final void rule__ParameterDoubleType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__2__Impl" - // InternalRos.g:10885:1: rule__ParameterDoubleType__Group__2__Impl : ( ( rule__ParameterDoubleType__Group_2__0 )? ) ; + // InternalRos.g:10993:1: rule__ParameterDoubleType__Group__2__Impl : ( ( rule__ParameterDoubleType__Group_2__0 )? ) ; public final void rule__ParameterDoubleType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10889:1: ( ( ( rule__ParameterDoubleType__Group_2__0 )? ) ) - // InternalRos.g:10890:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) + // InternalRos.g:10997:1: ( ( ( rule__ParameterDoubleType__Group_2__0 )? ) ) + // InternalRos.g:10998:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) { - // InternalRos.g:10890:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) - // InternalRos.g:10891:2: ( rule__ParameterDoubleType__Group_2__0 )? + // InternalRos.g:10998:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) + // InternalRos.g:10999:2: ( rule__ParameterDoubleType__Group_2__0 )? { before(grammarAccess.getParameterDoubleTypeAccess().getGroup_2()); - // InternalRos.g:10892:2: ( rule__ParameterDoubleType__Group_2__0 )? - int alt65=2; - int LA65_0 = input.LA(1); + // InternalRos.g:11000:2: ( rule__ParameterDoubleType__Group_2__0 )? + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA65_0==79) ) { - int LA65_1 = input.LA(2); + if ( (LA67_0==79) ) { + int LA67_1 = input.LA(2); - if ( (LA65_1==RULE_DOUBLE) ) { - alt65=1; + if ( (LA67_1==RULE_DOUBLE) ) { + alt67=1; } } - switch (alt65) { + switch (alt67) { case 1 : - // InternalRos.g:10892:3: rule__ParameterDoubleType__Group_2__0 + // InternalRos.g:11000:3: rule__ParameterDoubleType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group_2__0(); @@ -33010,14 +33357,14 @@ public final void rule__ParameterDoubleType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group_2__0" - // InternalRos.g:10901:1: rule__ParameterDoubleType__Group_2__0 : rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ; + // InternalRos.g:11009:1: rule__ParameterDoubleType__Group_2__0 : rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ; public final void rule__ParameterDoubleType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10905:1: ( rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ) - // InternalRos.g:10906:2: rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 + // InternalRos.g:11013:1: ( rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ) + // InternalRos.g:11014:2: rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 { pushFollow(FOLLOW_56); rule__ParameterDoubleType__Group_2__0__Impl(); @@ -33048,17 +33395,17 @@ public final void rule__ParameterDoubleType__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterDoubleType__Group_2__0__Impl" - // InternalRos.g:10913:1: rule__ParameterDoubleType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:11021:1: rule__ParameterDoubleType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterDoubleType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10917:1: ( ( 'default' ) ) - // InternalRos.g:10918:1: ( 'default' ) + // InternalRos.g:11025:1: ( ( 'default' ) ) + // InternalRos.g:11026:1: ( 'default' ) { - // InternalRos.g:10918:1: ( 'default' ) - // InternalRos.g:10919:2: 'default' + // InternalRos.g:11026:1: ( 'default' ) + // InternalRos.g:11027:2: 'default' { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); match(input,79,FOLLOW_2); @@ -33085,14 +33432,14 @@ public final void rule__ParameterDoubleType__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterDoubleType__Group_2__1" - // InternalRos.g:10928:1: rule__ParameterDoubleType__Group_2__1 : rule__ParameterDoubleType__Group_2__1__Impl ; + // InternalRos.g:11036:1: rule__ParameterDoubleType__Group_2__1 : rule__ParameterDoubleType__Group_2__1__Impl ; public final void rule__ParameterDoubleType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10932:1: ( rule__ParameterDoubleType__Group_2__1__Impl ) - // InternalRos.g:10933:2: rule__ParameterDoubleType__Group_2__1__Impl + // InternalRos.g:11040:1: ( rule__ParameterDoubleType__Group_2__1__Impl ) + // InternalRos.g:11041:2: rule__ParameterDoubleType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group_2__1__Impl(); @@ -33118,21 +33465,21 @@ public final void rule__ParameterDoubleType__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterDoubleType__Group_2__1__Impl" - // InternalRos.g:10939:1: rule__ParameterDoubleType__Group_2__1__Impl : ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:11047:1: rule__ParameterDoubleType__Group_2__1__Impl : ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterDoubleType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10943:1: ( ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:10944:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11051:1: ( ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:11052:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:10944:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) - // InternalRos.g:10945:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) + // InternalRos.g:11052:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11053:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:10946:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) - // InternalRos.g:10946:3: rule__ParameterDoubleType__DefaultAssignment_2_1 + // InternalRos.g:11054:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) + // InternalRos.g:11054:3: rule__ParameterDoubleType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__DefaultAssignment_2_1(); @@ -33165,14 +33512,14 @@ public final void rule__ParameterDoubleType__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterBooleanType__Group__0" - // InternalRos.g:10955:1: rule__ParameterBooleanType__Group__0 : rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ; + // InternalRos.g:11063:1: rule__ParameterBooleanType__Group__0 : rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ; public final void rule__ParameterBooleanType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10959:1: ( rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ) - // InternalRos.g:10960:2: rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 + // InternalRos.g:11067:1: ( rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ) + // InternalRos.g:11068:2: rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 { pushFollow(FOLLOW_57); rule__ParameterBooleanType__Group__0__Impl(); @@ -33203,21 +33550,21 @@ public final void rule__ParameterBooleanType__Group__0() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__0__Impl" - // InternalRos.g:10967:1: rule__ParameterBooleanType__Group__0__Impl : ( () ) ; + // InternalRos.g:11075:1: rule__ParameterBooleanType__Group__0__Impl : ( () ) ; public final void rule__ParameterBooleanType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10971:1: ( ( () ) ) - // InternalRos.g:10972:1: ( () ) + // InternalRos.g:11079:1: ( ( () ) ) + // InternalRos.g:11080:1: ( () ) { - // InternalRos.g:10972:1: ( () ) - // InternalRos.g:10973:2: () + // InternalRos.g:11080:1: ( () ) + // InternalRos.g:11081:2: () { before(grammarAccess.getParameterBooleanTypeAccess().getParameterBooleanTypeAction_0()); - // InternalRos.g:10974:2: () - // InternalRos.g:10974:3: + // InternalRos.g:11082:2: () + // InternalRos.g:11082:3: { } @@ -33240,14 +33587,14 @@ public final void rule__ParameterBooleanType__Group__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group__1" - // InternalRos.g:10982:1: rule__ParameterBooleanType__Group__1 : rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ; + // InternalRos.g:11090:1: rule__ParameterBooleanType__Group__1 : rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ; public final void rule__ParameterBooleanType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10986:1: ( rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ) - // InternalRos.g:10987:2: rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 + // InternalRos.g:11094:1: ( rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ) + // InternalRos.g:11095:2: rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 { pushFollow(FOLLOW_52); rule__ParameterBooleanType__Group__1__Impl(); @@ -33278,17 +33625,17 @@ public final void rule__ParameterBooleanType__Group__1() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__1__Impl" - // InternalRos.g:10994:1: rule__ParameterBooleanType__Group__1__Impl : ( 'Boolean' ) ; + // InternalRos.g:11102:1: rule__ParameterBooleanType__Group__1__Impl : ( 'Boolean' ) ; public final void rule__ParameterBooleanType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10998:1: ( ( 'Boolean' ) ) - // InternalRos.g:10999:1: ( 'Boolean' ) + // InternalRos.g:11106:1: ( ( 'Boolean' ) ) + // InternalRos.g:11107:1: ( 'Boolean' ) { - // InternalRos.g:10999:1: ( 'Boolean' ) - // InternalRos.g:11000:2: 'Boolean' + // InternalRos.g:11107:1: ( 'Boolean' ) + // InternalRos.g:11108:2: 'Boolean' { before(grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); match(input,81,FOLLOW_2); @@ -33315,14 +33662,14 @@ public final void rule__ParameterBooleanType__Group__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group__2" - // InternalRos.g:11009:1: rule__ParameterBooleanType__Group__2 : rule__ParameterBooleanType__Group__2__Impl ; + // InternalRos.g:11117:1: rule__ParameterBooleanType__Group__2 : rule__ParameterBooleanType__Group__2__Impl ; public final void rule__ParameterBooleanType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11013:1: ( rule__ParameterBooleanType__Group__2__Impl ) - // InternalRos.g:11014:2: rule__ParameterBooleanType__Group__2__Impl + // InternalRos.g:11121:1: ( rule__ParameterBooleanType__Group__2__Impl ) + // InternalRos.g:11122:2: rule__ParameterBooleanType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group__2__Impl(); @@ -33348,33 +33695,33 @@ public final void rule__ParameterBooleanType__Group__2() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__2__Impl" - // InternalRos.g:11020:1: rule__ParameterBooleanType__Group__2__Impl : ( ( rule__ParameterBooleanType__Group_2__0 )? ) ; + // InternalRos.g:11128:1: rule__ParameterBooleanType__Group__2__Impl : ( ( rule__ParameterBooleanType__Group_2__0 )? ) ; public final void rule__ParameterBooleanType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11024:1: ( ( ( rule__ParameterBooleanType__Group_2__0 )? ) ) - // InternalRos.g:11025:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) + // InternalRos.g:11132:1: ( ( ( rule__ParameterBooleanType__Group_2__0 )? ) ) + // InternalRos.g:11133:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) { - // InternalRos.g:11025:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) - // InternalRos.g:11026:2: ( rule__ParameterBooleanType__Group_2__0 )? + // InternalRos.g:11133:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) + // InternalRos.g:11134:2: ( rule__ParameterBooleanType__Group_2__0 )? { before(grammarAccess.getParameterBooleanTypeAccess().getGroup_2()); - // InternalRos.g:11027:2: ( rule__ParameterBooleanType__Group_2__0 )? - int alt66=2; - int LA66_0 = input.LA(1); + // InternalRos.g:11135:2: ( rule__ParameterBooleanType__Group_2__0 )? + int alt68=2; + int LA68_0 = input.LA(1); - if ( (LA66_0==79) ) { - int LA66_1 = input.LA(2); + if ( (LA68_0==79) ) { + int LA68_1 = input.LA(2); - if ( (LA66_1==RULE_BOOLEAN) ) { - alt66=1; + if ( (LA68_1==RULE_BOOLEAN) ) { + alt68=1; } } - switch (alt66) { + switch (alt68) { case 1 : - // InternalRos.g:11027:3: rule__ParameterBooleanType__Group_2__0 + // InternalRos.g:11135:3: rule__ParameterBooleanType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group_2__0(); @@ -33410,14 +33757,14 @@ public final void rule__ParameterBooleanType__Group__2__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group_2__0" - // InternalRos.g:11036:1: rule__ParameterBooleanType__Group_2__0 : rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ; + // InternalRos.g:11144:1: rule__ParameterBooleanType__Group_2__0 : rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ; public final void rule__ParameterBooleanType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11040:1: ( rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ) - // InternalRos.g:11041:2: rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 + // InternalRos.g:11148:1: ( rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ) + // InternalRos.g:11149:2: rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 { pushFollow(FOLLOW_58); rule__ParameterBooleanType__Group_2__0__Impl(); @@ -33448,17 +33795,17 @@ public final void rule__ParameterBooleanType__Group_2__0() throws RecognitionExc // $ANTLR start "rule__ParameterBooleanType__Group_2__0__Impl" - // InternalRos.g:11048:1: rule__ParameterBooleanType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:11156:1: rule__ParameterBooleanType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterBooleanType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11052:1: ( ( 'default' ) ) - // InternalRos.g:11053:1: ( 'default' ) + // InternalRos.g:11160:1: ( ( 'default' ) ) + // InternalRos.g:11161:1: ( 'default' ) { - // InternalRos.g:11053:1: ( 'default' ) - // InternalRos.g:11054:2: 'default' + // InternalRos.g:11161:1: ( 'default' ) + // InternalRos.g:11162:2: 'default' { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); match(input,79,FOLLOW_2); @@ -33485,14 +33832,14 @@ public final void rule__ParameterBooleanType__Group_2__0__Impl() throws Recognit // $ANTLR start "rule__ParameterBooleanType__Group_2__1" - // InternalRos.g:11063:1: rule__ParameterBooleanType__Group_2__1 : rule__ParameterBooleanType__Group_2__1__Impl ; + // InternalRos.g:11171:1: rule__ParameterBooleanType__Group_2__1 : rule__ParameterBooleanType__Group_2__1__Impl ; public final void rule__ParameterBooleanType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11067:1: ( rule__ParameterBooleanType__Group_2__1__Impl ) - // InternalRos.g:11068:2: rule__ParameterBooleanType__Group_2__1__Impl + // InternalRos.g:11175:1: ( rule__ParameterBooleanType__Group_2__1__Impl ) + // InternalRos.g:11176:2: rule__ParameterBooleanType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group_2__1__Impl(); @@ -33518,21 +33865,21 @@ public final void rule__ParameterBooleanType__Group_2__1() throws RecognitionExc // $ANTLR start "rule__ParameterBooleanType__Group_2__1__Impl" - // InternalRos.g:11074:1: rule__ParameterBooleanType__Group_2__1__Impl : ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:11182:1: rule__ParameterBooleanType__Group_2__1__Impl : ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterBooleanType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11078:1: ( ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:11079:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11186:1: ( ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:11187:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:11079:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) - // InternalRos.g:11080:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) + // InternalRos.g:11187:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11188:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:11081:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) - // InternalRos.g:11081:3: rule__ParameterBooleanType__DefaultAssignment_2_1 + // InternalRos.g:11189:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) + // InternalRos.g:11189:3: rule__ParameterBooleanType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__DefaultAssignment_2_1(); @@ -33565,14 +33912,14 @@ public final void rule__ParameterBooleanType__Group_2__1__Impl() throws Recognit // $ANTLR start "rule__ParameterBase64Type__Group__0" - // InternalRos.g:11090:1: rule__ParameterBase64Type__Group__0 : rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ; + // InternalRos.g:11198:1: rule__ParameterBase64Type__Group__0 : rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ; public final void rule__ParameterBase64Type__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11094:1: ( rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ) - // InternalRos.g:11095:2: rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 + // InternalRos.g:11202:1: ( rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ) + // InternalRos.g:11203:2: rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 { pushFollow(FOLLOW_59); rule__ParameterBase64Type__Group__0__Impl(); @@ -33603,21 +33950,21 @@ public final void rule__ParameterBase64Type__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__0__Impl" - // InternalRos.g:11102:1: rule__ParameterBase64Type__Group__0__Impl : ( () ) ; + // InternalRos.g:11210:1: rule__ParameterBase64Type__Group__0__Impl : ( () ) ; public final void rule__ParameterBase64Type__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11106:1: ( ( () ) ) - // InternalRos.g:11107:1: ( () ) + // InternalRos.g:11214:1: ( ( () ) ) + // InternalRos.g:11215:1: ( () ) { - // InternalRos.g:11107:1: ( () ) - // InternalRos.g:11108:2: () + // InternalRos.g:11215:1: ( () ) + // InternalRos.g:11216:2: () { before(grammarAccess.getParameterBase64TypeAccess().getParameterBase64TypeAction_0()); - // InternalRos.g:11109:2: () - // InternalRos.g:11109:3: + // InternalRos.g:11217:2: () + // InternalRos.g:11217:3: { } @@ -33640,14 +33987,14 @@ public final void rule__ParameterBase64Type__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group__1" - // InternalRos.g:11117:1: rule__ParameterBase64Type__Group__1 : rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ; + // InternalRos.g:11225:1: rule__ParameterBase64Type__Group__1 : rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ; public final void rule__ParameterBase64Type__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11121:1: ( rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ) - // InternalRos.g:11122:2: rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 + // InternalRos.g:11229:1: ( rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ) + // InternalRos.g:11230:2: rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 { pushFollow(FOLLOW_52); rule__ParameterBase64Type__Group__1__Impl(); @@ -33678,17 +34025,17 @@ public final void rule__ParameterBase64Type__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__1__Impl" - // InternalRos.g:11129:1: rule__ParameterBase64Type__Group__1__Impl : ( 'Base64' ) ; + // InternalRos.g:11237:1: rule__ParameterBase64Type__Group__1__Impl : ( 'Base64' ) ; public final void rule__ParameterBase64Type__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11133:1: ( ( 'Base64' ) ) - // InternalRos.g:11134:1: ( 'Base64' ) + // InternalRos.g:11241:1: ( ( 'Base64' ) ) + // InternalRos.g:11242:1: ( 'Base64' ) { - // InternalRos.g:11134:1: ( 'Base64' ) - // InternalRos.g:11135:2: 'Base64' + // InternalRos.g:11242:1: ( 'Base64' ) + // InternalRos.g:11243:2: 'Base64' { before(grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); match(input,82,FOLLOW_2); @@ -33715,14 +34062,14 @@ public final void rule__ParameterBase64Type__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group__2" - // InternalRos.g:11144:1: rule__ParameterBase64Type__Group__2 : rule__ParameterBase64Type__Group__2__Impl ; + // InternalRos.g:11252:1: rule__ParameterBase64Type__Group__2 : rule__ParameterBase64Type__Group__2__Impl ; public final void rule__ParameterBase64Type__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11148:1: ( rule__ParameterBase64Type__Group__2__Impl ) - // InternalRos.g:11149:2: rule__ParameterBase64Type__Group__2__Impl + // InternalRos.g:11256:1: ( rule__ParameterBase64Type__Group__2__Impl ) + // InternalRos.g:11257:2: rule__ParameterBase64Type__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group__2__Impl(); @@ -33748,33 +34095,33 @@ public final void rule__ParameterBase64Type__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__2__Impl" - // InternalRos.g:11155:1: rule__ParameterBase64Type__Group__2__Impl : ( ( rule__ParameterBase64Type__Group_2__0 )? ) ; + // InternalRos.g:11263:1: rule__ParameterBase64Type__Group__2__Impl : ( ( rule__ParameterBase64Type__Group_2__0 )? ) ; public final void rule__ParameterBase64Type__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11159:1: ( ( ( rule__ParameterBase64Type__Group_2__0 )? ) ) - // InternalRos.g:11160:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) + // InternalRos.g:11267:1: ( ( ( rule__ParameterBase64Type__Group_2__0 )? ) ) + // InternalRos.g:11268:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) { - // InternalRos.g:11160:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) - // InternalRos.g:11161:2: ( rule__ParameterBase64Type__Group_2__0 )? + // InternalRos.g:11268:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) + // InternalRos.g:11269:2: ( rule__ParameterBase64Type__Group_2__0 )? { before(grammarAccess.getParameterBase64TypeAccess().getGroup_2()); - // InternalRos.g:11162:2: ( rule__ParameterBase64Type__Group_2__0 )? - int alt67=2; - int LA67_0 = input.LA(1); + // InternalRos.g:11270:2: ( rule__ParameterBase64Type__Group_2__0 )? + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA67_0==79) ) { - int LA67_1 = input.LA(2); + if ( (LA69_0==79) ) { + int LA69_1 = input.LA(2); - if ( (LA67_1==RULE_BINARY) ) { - alt67=1; + if ( (LA69_1==RULE_BINARY) ) { + alt69=1; } } - switch (alt67) { + switch (alt69) { case 1 : - // InternalRos.g:11162:3: rule__ParameterBase64Type__Group_2__0 + // InternalRos.g:11270:3: rule__ParameterBase64Type__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group_2__0(); @@ -33810,14 +34157,14 @@ public final void rule__ParameterBase64Type__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group_2__0" - // InternalRos.g:11171:1: rule__ParameterBase64Type__Group_2__0 : rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ; + // InternalRos.g:11279:1: rule__ParameterBase64Type__Group_2__0 : rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ; public final void rule__ParameterBase64Type__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11175:1: ( rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ) - // InternalRos.g:11176:2: rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 + // InternalRos.g:11283:1: ( rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ) + // InternalRos.g:11284:2: rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 { pushFollow(FOLLOW_60); rule__ParameterBase64Type__Group_2__0__Impl(); @@ -33848,17 +34195,17 @@ public final void rule__ParameterBase64Type__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterBase64Type__Group_2__0__Impl" - // InternalRos.g:11183:1: rule__ParameterBase64Type__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:11291:1: rule__ParameterBase64Type__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterBase64Type__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11187:1: ( ( 'default' ) ) - // InternalRos.g:11188:1: ( 'default' ) + // InternalRos.g:11295:1: ( ( 'default' ) ) + // InternalRos.g:11296:1: ( 'default' ) { - // InternalRos.g:11188:1: ( 'default' ) - // InternalRos.g:11189:2: 'default' + // InternalRos.g:11296:1: ( 'default' ) + // InternalRos.g:11297:2: 'default' { before(grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); match(input,79,FOLLOW_2); @@ -33885,14 +34232,14 @@ public final void rule__ParameterBase64Type__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterBase64Type__Group_2__1" - // InternalRos.g:11198:1: rule__ParameterBase64Type__Group_2__1 : rule__ParameterBase64Type__Group_2__1__Impl ; + // InternalRos.g:11306:1: rule__ParameterBase64Type__Group_2__1 : rule__ParameterBase64Type__Group_2__1__Impl ; public final void rule__ParameterBase64Type__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11202:1: ( rule__ParameterBase64Type__Group_2__1__Impl ) - // InternalRos.g:11203:2: rule__ParameterBase64Type__Group_2__1__Impl + // InternalRos.g:11310:1: ( rule__ParameterBase64Type__Group_2__1__Impl ) + // InternalRos.g:11311:2: rule__ParameterBase64Type__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group_2__1__Impl(); @@ -33918,21 +34265,21 @@ public final void rule__ParameterBase64Type__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterBase64Type__Group_2__1__Impl" - // InternalRos.g:11209:1: rule__ParameterBase64Type__Group_2__1__Impl : ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:11317:1: rule__ParameterBase64Type__Group_2__1__Impl : ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterBase64Type__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11213:1: ( ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:11214:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) + // InternalRos.g:11321:1: ( ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:11322:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) { - // InternalRos.g:11214:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) - // InternalRos.g:11215:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) + // InternalRos.g:11322:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) + // InternalRos.g:11323:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterBase64TypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:11216:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) - // InternalRos.g:11216:3: rule__ParameterBase64Type__DefaultAssignment_2_1 + // InternalRos.g:11324:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) + // InternalRos.g:11324:3: rule__ParameterBase64Type__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__DefaultAssignment_2_1(); @@ -33965,14 +34312,14 @@ public final void rule__ParameterBase64Type__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterArrayType__Group__0" - // InternalRos.g:11225:1: rule__ParameterArrayType__Group__0 : rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ; + // InternalRos.g:11333:1: rule__ParameterArrayType__Group__0 : rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ; public final void rule__ParameterArrayType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11229:1: ( rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ) - // InternalRos.g:11230:2: rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 + // InternalRos.g:11337:1: ( rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ) + // InternalRos.g:11338:2: rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 { pushFollow(FOLLOW_4); rule__ParameterArrayType__Group__0__Impl(); @@ -34003,17 +34350,17 @@ public final void rule__ParameterArrayType__Group__0() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__0__Impl" - // InternalRos.g:11237:1: rule__ParameterArrayType__Group__0__Impl : ( 'Array' ) ; + // InternalRos.g:11345:1: rule__ParameterArrayType__Group__0__Impl : ( 'Array' ) ; public final void rule__ParameterArrayType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11241:1: ( ( 'Array' ) ) - // InternalRos.g:11242:1: ( 'Array' ) + // InternalRos.g:11349:1: ( ( 'Array' ) ) + // InternalRos.g:11350:1: ( 'Array' ) { - // InternalRos.g:11242:1: ( 'Array' ) - // InternalRos.g:11243:2: 'Array' + // InternalRos.g:11350:1: ( 'Array' ) + // InternalRos.g:11351:2: 'Array' { before(grammarAccess.getParameterArrayTypeAccess().getArrayKeyword_0()); match(input,83,FOLLOW_2); @@ -34040,14 +34387,14 @@ public final void rule__ParameterArrayType__Group__0__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__1" - // InternalRos.g:11252:1: rule__ParameterArrayType__Group__1 : rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ; + // InternalRos.g:11360:1: rule__ParameterArrayType__Group__1 : rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ; public final void rule__ParameterArrayType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11256:1: ( rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ) - // InternalRos.g:11257:2: rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 + // InternalRos.g:11364:1: ( rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ) + // InternalRos.g:11365:2: rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 { pushFollow(FOLLOW_61); rule__ParameterArrayType__Group__1__Impl(); @@ -34078,17 +34425,17 @@ public final void rule__ParameterArrayType__Group__1() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__1__Impl" - // InternalRos.g:11264:1: rule__ParameterArrayType__Group__1__Impl : ( '{' ) ; + // InternalRos.g:11372:1: rule__ParameterArrayType__Group__1__Impl : ( '{' ) ; public final void rule__ParameterArrayType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11268:1: ( ( '{' ) ) - // InternalRos.g:11269:1: ( '{' ) + // InternalRos.g:11376:1: ( ( '{' ) ) + // InternalRos.g:11377:1: ( '{' ) { - // InternalRos.g:11269:1: ( '{' ) - // InternalRos.g:11270:2: '{' + // InternalRos.g:11377:1: ( '{' ) + // InternalRos.g:11378:2: '{' { before(grammarAccess.getParameterArrayTypeAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -34115,14 +34462,14 @@ public final void rule__ParameterArrayType__Group__1__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__2" - // InternalRos.g:11279:1: rule__ParameterArrayType__Group__2 : rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ; + // InternalRos.g:11387:1: rule__ParameterArrayType__Group__2 : rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ; public final void rule__ParameterArrayType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11283:1: ( rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ) - // InternalRos.g:11284:2: rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 + // InternalRos.g:11391:1: ( rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ) + // InternalRos.g:11392:2: rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 { pushFollow(FOLLOW_47); rule__ParameterArrayType__Group__2__Impl(); @@ -34153,17 +34500,17 @@ public final void rule__ParameterArrayType__Group__2() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__2__Impl" - // InternalRos.g:11291:1: rule__ParameterArrayType__Group__2__Impl : ( 'type' ) ; + // InternalRos.g:11399:1: rule__ParameterArrayType__Group__2__Impl : ( 'type' ) ; public final void rule__ParameterArrayType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11295:1: ( ( 'type' ) ) - // InternalRos.g:11296:1: ( 'type' ) + // InternalRos.g:11403:1: ( ( 'type' ) ) + // InternalRos.g:11404:1: ( 'type' ) { - // InternalRos.g:11296:1: ( 'type' ) - // InternalRos.g:11297:2: 'type' + // InternalRos.g:11404:1: ( 'type' ) + // InternalRos.g:11405:2: 'type' { before(grammarAccess.getParameterArrayTypeAccess().getTypeKeyword_2()); match(input,36,FOLLOW_2); @@ -34190,14 +34537,14 @@ public final void rule__ParameterArrayType__Group__2__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__3" - // InternalRos.g:11306:1: rule__ParameterArrayType__Group__3 : rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ; + // InternalRos.g:11414:1: rule__ParameterArrayType__Group__3 : rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ; public final void rule__ParameterArrayType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11310:1: ( rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ) - // InternalRos.g:11311:2: rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 + // InternalRos.g:11418:1: ( rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ) + // InternalRos.g:11419:2: rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 { pushFollow(FOLLOW_62); rule__ParameterArrayType__Group__3__Impl(); @@ -34228,21 +34575,21 @@ public final void rule__ParameterArrayType__Group__3() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__3__Impl" - // InternalRos.g:11318:1: rule__ParameterArrayType__Group__3__Impl : ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ; + // InternalRos.g:11426:1: rule__ParameterArrayType__Group__3__Impl : ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ; public final void rule__ParameterArrayType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11322:1: ( ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ) - // InternalRos.g:11323:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) + // InternalRos.g:11430:1: ( ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ) + // InternalRos.g:11431:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) { - // InternalRos.g:11323:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) - // InternalRos.g:11324:2: ( rule__ParameterArrayType__TypeAssignment_3 ) + // InternalRos.g:11431:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) + // InternalRos.g:11432:2: ( rule__ParameterArrayType__TypeAssignment_3 ) { before(grammarAccess.getParameterArrayTypeAccess().getTypeAssignment_3()); - // InternalRos.g:11325:2: ( rule__ParameterArrayType__TypeAssignment_3 ) - // InternalRos.g:11325:3: rule__ParameterArrayType__TypeAssignment_3 + // InternalRos.g:11433:2: ( rule__ParameterArrayType__TypeAssignment_3 ) + // InternalRos.g:11433:3: rule__ParameterArrayType__TypeAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterArrayType__TypeAssignment_3(); @@ -34275,14 +34622,14 @@ public final void rule__ParameterArrayType__Group__3__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__4" - // InternalRos.g:11333:1: rule__ParameterArrayType__Group__4 : rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ; + // InternalRos.g:11441:1: rule__ParameterArrayType__Group__4 : rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ; public final void rule__ParameterArrayType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11337:1: ( rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ) - // InternalRos.g:11338:2: rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 + // InternalRos.g:11445:1: ( rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ) + // InternalRos.g:11446:2: rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 { pushFollow(FOLLOW_62); rule__ParameterArrayType__Group__4__Impl(); @@ -34313,29 +34660,29 @@ public final void rule__ParameterArrayType__Group__4() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__4__Impl" - // InternalRos.g:11345:1: rule__ParameterArrayType__Group__4__Impl : ( ( rule__ParameterArrayType__Group_4__0 )? ) ; + // InternalRos.g:11453:1: rule__ParameterArrayType__Group__4__Impl : ( ( rule__ParameterArrayType__Group_4__0 )? ) ; public final void rule__ParameterArrayType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11349:1: ( ( ( rule__ParameterArrayType__Group_4__0 )? ) ) - // InternalRos.g:11350:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) + // InternalRos.g:11457:1: ( ( ( rule__ParameterArrayType__Group_4__0 )? ) ) + // InternalRos.g:11458:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) { - // InternalRos.g:11350:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) - // InternalRos.g:11351:2: ( rule__ParameterArrayType__Group_4__0 )? + // InternalRos.g:11458:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) + // InternalRos.g:11459:2: ( rule__ParameterArrayType__Group_4__0 )? { before(grammarAccess.getParameterArrayTypeAccess().getGroup_4()); - // InternalRos.g:11352:2: ( rule__ParameterArrayType__Group_4__0 )? - int alt68=2; - int LA68_0 = input.LA(1); + // InternalRos.g:11460:2: ( rule__ParameterArrayType__Group_4__0 )? + int alt70=2; + int LA70_0 = input.LA(1); - if ( (LA68_0==79) ) { - alt68=1; + if ( (LA70_0==79) ) { + alt70=1; } - switch (alt68) { + switch (alt70) { case 1 : - // InternalRos.g:11352:3: rule__ParameterArrayType__Group_4__0 + // InternalRos.g:11460:3: rule__ParameterArrayType__Group_4__0 { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group_4__0(); @@ -34371,14 +34718,14 @@ public final void rule__ParameterArrayType__Group__4__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__5" - // InternalRos.g:11360:1: rule__ParameterArrayType__Group__5 : rule__ParameterArrayType__Group__5__Impl ; + // InternalRos.g:11468:1: rule__ParameterArrayType__Group__5 : rule__ParameterArrayType__Group__5__Impl ; public final void rule__ParameterArrayType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11364:1: ( rule__ParameterArrayType__Group__5__Impl ) - // InternalRos.g:11365:2: rule__ParameterArrayType__Group__5__Impl + // InternalRos.g:11472:1: ( rule__ParameterArrayType__Group__5__Impl ) + // InternalRos.g:11473:2: rule__ParameterArrayType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group__5__Impl(); @@ -34404,17 +34751,17 @@ public final void rule__ParameterArrayType__Group__5() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__5__Impl" - // InternalRos.g:11371:1: rule__ParameterArrayType__Group__5__Impl : ( '}' ) ; + // InternalRos.g:11479:1: rule__ParameterArrayType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterArrayType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11375:1: ( ( '}' ) ) - // InternalRos.g:11376:1: ( '}' ) + // InternalRos.g:11483:1: ( ( '}' ) ) + // InternalRos.g:11484:1: ( '}' ) { - // InternalRos.g:11376:1: ( '}' ) - // InternalRos.g:11377:2: '}' + // InternalRos.g:11484:1: ( '}' ) + // InternalRos.g:11485:2: '}' { before(grammarAccess.getParameterArrayTypeAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -34441,14 +34788,14 @@ public final void rule__ParameterArrayType__Group__5__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group_4__0" - // InternalRos.g:11387:1: rule__ParameterArrayType__Group_4__0 : rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ; + // InternalRos.g:11495:1: rule__ParameterArrayType__Group_4__0 : rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ; public final void rule__ParameterArrayType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11391:1: ( rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ) - // InternalRos.g:11392:2: rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 + // InternalRos.g:11499:1: ( rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ) + // InternalRos.g:11500:2: rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 { pushFollow(FOLLOW_4); rule__ParameterArrayType__Group_4__0__Impl(); @@ -34479,17 +34826,17 @@ public final void rule__ParameterArrayType__Group_4__0() throws RecognitionExcep // $ANTLR start "rule__ParameterArrayType__Group_4__0__Impl" - // InternalRos.g:11399:1: rule__ParameterArrayType__Group_4__0__Impl : ( 'default' ) ; + // InternalRos.g:11507:1: rule__ParameterArrayType__Group_4__0__Impl : ( 'default' ) ; public final void rule__ParameterArrayType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11403:1: ( ( 'default' ) ) - // InternalRos.g:11404:1: ( 'default' ) + // InternalRos.g:11511:1: ( ( 'default' ) ) + // InternalRos.g:11512:1: ( 'default' ) { - // InternalRos.g:11404:1: ( 'default' ) - // InternalRos.g:11405:2: 'default' + // InternalRos.g:11512:1: ( 'default' ) + // InternalRos.g:11513:2: 'default' { before(grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); match(input,79,FOLLOW_2); @@ -34516,14 +34863,14 @@ public final void rule__ParameterArrayType__Group_4__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterArrayType__Group_4__1" - // InternalRos.g:11414:1: rule__ParameterArrayType__Group_4__1 : rule__ParameterArrayType__Group_4__1__Impl ; + // InternalRos.g:11522:1: rule__ParameterArrayType__Group_4__1 : rule__ParameterArrayType__Group_4__1__Impl ; public final void rule__ParameterArrayType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11418:1: ( rule__ParameterArrayType__Group_4__1__Impl ) - // InternalRos.g:11419:2: rule__ParameterArrayType__Group_4__1__Impl + // InternalRos.g:11526:1: ( rule__ParameterArrayType__Group_4__1__Impl ) + // InternalRos.g:11527:2: rule__ParameterArrayType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group_4__1__Impl(); @@ -34549,21 +34896,21 @@ public final void rule__ParameterArrayType__Group_4__1() throws RecognitionExcep // $ANTLR start "rule__ParameterArrayType__Group_4__1__Impl" - // InternalRos.g:11425:1: rule__ParameterArrayType__Group_4__1__Impl : ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ; + // InternalRos.g:11533:1: rule__ParameterArrayType__Group_4__1__Impl : ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ; public final void rule__ParameterArrayType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11429:1: ( ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ) - // InternalRos.g:11430:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) + // InternalRos.g:11537:1: ( ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ) + // InternalRos.g:11538:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) { - // InternalRos.g:11430:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) - // InternalRos.g:11431:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) + // InternalRos.g:11538:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) + // InternalRos.g:11539:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) { before(grammarAccess.getParameterArrayTypeAccess().getDefaultAssignment_4_1()); - // InternalRos.g:11432:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) - // InternalRos.g:11432:3: rule__ParameterArrayType__DefaultAssignment_4_1 + // InternalRos.g:11540:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) + // InternalRos.g:11540:3: rule__ParameterArrayType__DefaultAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterArrayType__DefaultAssignment_4_1(); @@ -34596,14 +34943,14 @@ public final void rule__ParameterArrayType__Group_4__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterList__Group__0" - // InternalRos.g:11441:1: rule__ParameterList__Group__0 : rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ; + // InternalRos.g:11549:1: rule__ParameterList__Group__0 : rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ; public final void rule__ParameterList__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11445:1: ( rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ) - // InternalRos.g:11446:2: rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 + // InternalRos.g:11553:1: ( rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ) + // InternalRos.g:11554:2: rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 { pushFollow(FOLLOW_4); rule__ParameterList__Group__0__Impl(); @@ -34634,21 +34981,21 @@ public final void rule__ParameterList__Group__0() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__0__Impl" - // InternalRos.g:11453:1: rule__ParameterList__Group__0__Impl : ( () ) ; + // InternalRos.g:11561:1: rule__ParameterList__Group__0__Impl : ( () ) ; public final void rule__ParameterList__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11457:1: ( ( () ) ) - // InternalRos.g:11458:1: ( () ) + // InternalRos.g:11565:1: ( ( () ) ) + // InternalRos.g:11566:1: ( () ) { - // InternalRos.g:11458:1: ( () ) - // InternalRos.g:11459:2: () + // InternalRos.g:11566:1: ( () ) + // InternalRos.g:11567:2: () { before(grammarAccess.getParameterListAccess().getParameterSequenceAction_0()); - // InternalRos.g:11460:2: () - // InternalRos.g:11460:3: + // InternalRos.g:11568:2: () + // InternalRos.g:11568:3: { } @@ -34671,14 +35018,14 @@ public final void rule__ParameterList__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__1" - // InternalRos.g:11468:1: rule__ParameterList__Group__1 : rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ; + // InternalRos.g:11576:1: rule__ParameterList__Group__1 : rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ; public final void rule__ParameterList__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11472:1: ( rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ) - // InternalRos.g:11473:2: rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 + // InternalRos.g:11580:1: ( rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ) + // InternalRos.g:11581:2: rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 { pushFollow(FOLLOW_63); rule__ParameterList__Group__1__Impl(); @@ -34709,17 +35056,17 @@ public final void rule__ParameterList__Group__1() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__1__Impl" - // InternalRos.g:11480:1: rule__ParameterList__Group__1__Impl : ( '{' ) ; + // InternalRos.g:11588:1: rule__ParameterList__Group__1__Impl : ( '{' ) ; public final void rule__ParameterList__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11484:1: ( ( '{' ) ) - // InternalRos.g:11485:1: ( '{' ) + // InternalRos.g:11592:1: ( ( '{' ) ) + // InternalRos.g:11593:1: ( '{' ) { - // InternalRos.g:11485:1: ( '{' ) - // InternalRos.g:11486:2: '{' + // InternalRos.g:11593:1: ( '{' ) + // InternalRos.g:11594:2: '{' { before(grammarAccess.getParameterListAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -34746,14 +35093,14 @@ public final void rule__ParameterList__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__2" - // InternalRos.g:11495:1: rule__ParameterList__Group__2 : rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ; + // InternalRos.g:11603:1: rule__ParameterList__Group__2 : rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ; public final void rule__ParameterList__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11499:1: ( rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ) - // InternalRos.g:11500:2: rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 + // InternalRos.g:11607:1: ( rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ) + // InternalRos.g:11608:2: rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 { pushFollow(FOLLOW_13); rule__ParameterList__Group__2__Impl(); @@ -34784,21 +35131,21 @@ public final void rule__ParameterList__Group__2() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__2__Impl" - // InternalRos.g:11507:1: rule__ParameterList__Group__2__Impl : ( ( rule__ParameterList__ValueAssignment_2 ) ) ; + // InternalRos.g:11615:1: rule__ParameterList__Group__2__Impl : ( ( rule__ParameterList__ValueAssignment_2 ) ) ; public final void rule__ParameterList__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11511:1: ( ( ( rule__ParameterList__ValueAssignment_2 ) ) ) - // InternalRos.g:11512:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) + // InternalRos.g:11619:1: ( ( ( rule__ParameterList__ValueAssignment_2 ) ) ) + // InternalRos.g:11620:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) { - // InternalRos.g:11512:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) - // InternalRos.g:11513:2: ( rule__ParameterList__ValueAssignment_2 ) + // InternalRos.g:11620:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) + // InternalRos.g:11621:2: ( rule__ParameterList__ValueAssignment_2 ) { before(grammarAccess.getParameterListAccess().getValueAssignment_2()); - // InternalRos.g:11514:2: ( rule__ParameterList__ValueAssignment_2 ) - // InternalRos.g:11514:3: rule__ParameterList__ValueAssignment_2 + // InternalRos.g:11622:2: ( rule__ParameterList__ValueAssignment_2 ) + // InternalRos.g:11622:3: rule__ParameterList__ValueAssignment_2 { pushFollow(FOLLOW_2); rule__ParameterList__ValueAssignment_2(); @@ -34831,14 +35178,14 @@ public final void rule__ParameterList__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__3" - // InternalRos.g:11522:1: rule__ParameterList__Group__3 : rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ; + // InternalRos.g:11630:1: rule__ParameterList__Group__3 : rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ; public final void rule__ParameterList__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11526:1: ( rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ) - // InternalRos.g:11527:2: rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 + // InternalRos.g:11634:1: ( rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ) + // InternalRos.g:11635:2: rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 { pushFollow(FOLLOW_13); rule__ParameterList__Group__3__Impl(); @@ -34869,33 +35216,33 @@ public final void rule__ParameterList__Group__3() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__3__Impl" - // InternalRos.g:11534:1: rule__ParameterList__Group__3__Impl : ( ( rule__ParameterList__Group_3__0 )* ) ; + // InternalRos.g:11642:1: rule__ParameterList__Group__3__Impl : ( ( rule__ParameterList__Group_3__0 )* ) ; public final void rule__ParameterList__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11538:1: ( ( ( rule__ParameterList__Group_3__0 )* ) ) - // InternalRos.g:11539:1: ( ( rule__ParameterList__Group_3__0 )* ) + // InternalRos.g:11646:1: ( ( ( rule__ParameterList__Group_3__0 )* ) ) + // InternalRos.g:11647:1: ( ( rule__ParameterList__Group_3__0 )* ) { - // InternalRos.g:11539:1: ( ( rule__ParameterList__Group_3__0 )* ) - // InternalRos.g:11540:2: ( rule__ParameterList__Group_3__0 )* + // InternalRos.g:11647:1: ( ( rule__ParameterList__Group_3__0 )* ) + // InternalRos.g:11648:2: ( rule__ParameterList__Group_3__0 )* { before(grammarAccess.getParameterListAccess().getGroup_3()); - // InternalRos.g:11541:2: ( rule__ParameterList__Group_3__0 )* - loop69: + // InternalRos.g:11649:2: ( rule__ParameterList__Group_3__0 )* + loop71: do { - int alt69=2; - int LA69_0 = input.LA(1); + int alt71=2; + int LA71_0 = input.LA(1); - if ( (LA69_0==43) ) { - alt69=1; + if ( (LA71_0==43) ) { + alt71=1; } - switch (alt69) { + switch (alt71) { case 1 : - // InternalRos.g:11541:3: rule__ParameterList__Group_3__0 + // InternalRos.g:11649:3: rule__ParameterList__Group_3__0 { pushFollow(FOLLOW_7); rule__ParameterList__Group_3__0(); @@ -34907,7 +35254,7 @@ public final void rule__ParameterList__Group__3__Impl() throws RecognitionExcept break; default : - break loop69; + break loop71; } } while (true); @@ -34934,14 +35281,14 @@ public final void rule__ParameterList__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__4" - // InternalRos.g:11549:1: rule__ParameterList__Group__4 : rule__ParameterList__Group__4__Impl ; + // InternalRos.g:11657:1: rule__ParameterList__Group__4 : rule__ParameterList__Group__4__Impl ; public final void rule__ParameterList__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11553:1: ( rule__ParameterList__Group__4__Impl ) - // InternalRos.g:11554:2: rule__ParameterList__Group__4__Impl + // InternalRos.g:11661:1: ( rule__ParameterList__Group__4__Impl ) + // InternalRos.g:11662:2: rule__ParameterList__Group__4__Impl { pushFollow(FOLLOW_2); rule__ParameterList__Group__4__Impl(); @@ -34967,17 +35314,17 @@ public final void rule__ParameterList__Group__4() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__4__Impl" - // InternalRos.g:11560:1: rule__ParameterList__Group__4__Impl : ( '}' ) ; + // InternalRos.g:11668:1: rule__ParameterList__Group__4__Impl : ( '}' ) ; public final void rule__ParameterList__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11564:1: ( ( '}' ) ) - // InternalRos.g:11565:1: ( '}' ) + // InternalRos.g:11672:1: ( ( '}' ) ) + // InternalRos.g:11673:1: ( '}' ) { - // InternalRos.g:11565:1: ( '}' ) - // InternalRos.g:11566:2: '}' + // InternalRos.g:11673:1: ( '}' ) + // InternalRos.g:11674:2: '}' { before(grammarAccess.getParameterListAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -35004,14 +35351,14 @@ public final void rule__ParameterList__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group_3__0" - // InternalRos.g:11576:1: rule__ParameterList__Group_3__0 : rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ; + // InternalRos.g:11684:1: rule__ParameterList__Group_3__0 : rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ; public final void rule__ParameterList__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11580:1: ( rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ) - // InternalRos.g:11581:2: rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 + // InternalRos.g:11688:1: ( rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ) + // InternalRos.g:11689:2: rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 { pushFollow(FOLLOW_63); rule__ParameterList__Group_3__0__Impl(); @@ -35042,17 +35389,17 @@ public final void rule__ParameterList__Group_3__0() throws RecognitionException // $ANTLR start "rule__ParameterList__Group_3__0__Impl" - // InternalRos.g:11588:1: rule__ParameterList__Group_3__0__Impl : ( ',' ) ; + // InternalRos.g:11696:1: rule__ParameterList__Group_3__0__Impl : ( ',' ) ; public final void rule__ParameterList__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11592:1: ( ( ',' ) ) - // InternalRos.g:11593:1: ( ',' ) + // InternalRos.g:11700:1: ( ( ',' ) ) + // InternalRos.g:11701:1: ( ',' ) { - // InternalRos.g:11593:1: ( ',' ) - // InternalRos.g:11594:2: ',' + // InternalRos.g:11701:1: ( ',' ) + // InternalRos.g:11702:2: ',' { before(grammarAccess.getParameterListAccess().getCommaKeyword_3_0()); match(input,43,FOLLOW_2); @@ -35079,14 +35426,14 @@ public final void rule__ParameterList__Group_3__0__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterList__Group_3__1" - // InternalRos.g:11603:1: rule__ParameterList__Group_3__1 : rule__ParameterList__Group_3__1__Impl ; + // InternalRos.g:11711:1: rule__ParameterList__Group_3__1 : rule__ParameterList__Group_3__1__Impl ; public final void rule__ParameterList__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11607:1: ( rule__ParameterList__Group_3__1__Impl ) - // InternalRos.g:11608:2: rule__ParameterList__Group_3__1__Impl + // InternalRos.g:11715:1: ( rule__ParameterList__Group_3__1__Impl ) + // InternalRos.g:11716:2: rule__ParameterList__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__ParameterList__Group_3__1__Impl(); @@ -35112,21 +35459,21 @@ public final void rule__ParameterList__Group_3__1() throws RecognitionException // $ANTLR start "rule__ParameterList__Group_3__1__Impl" - // InternalRos.g:11614:1: rule__ParameterList__Group_3__1__Impl : ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ; + // InternalRos.g:11722:1: rule__ParameterList__Group_3__1__Impl : ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ; public final void rule__ParameterList__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11618:1: ( ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ) - // InternalRos.g:11619:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) + // InternalRos.g:11726:1: ( ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ) + // InternalRos.g:11727:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) { - // InternalRos.g:11619:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) - // InternalRos.g:11620:2: ( rule__ParameterList__ValueAssignment_3_1 ) + // InternalRos.g:11727:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) + // InternalRos.g:11728:2: ( rule__ParameterList__ValueAssignment_3_1 ) { before(grammarAccess.getParameterListAccess().getValueAssignment_3_1()); - // InternalRos.g:11621:2: ( rule__ParameterList__ValueAssignment_3_1 ) - // InternalRos.g:11621:3: rule__ParameterList__ValueAssignment_3_1 + // InternalRos.g:11729:2: ( rule__ParameterList__ValueAssignment_3_1 ) + // InternalRos.g:11729:3: rule__ParameterList__ValueAssignment_3_1 { pushFollow(FOLLOW_2); rule__ParameterList__ValueAssignment_3_1(); @@ -35159,14 +35506,14 @@ public final void rule__ParameterList__Group_3__1__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterAny__Group__0" - // InternalRos.g:11630:1: rule__ParameterAny__Group__0 : rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ; + // InternalRos.g:11738:1: rule__ParameterAny__Group__0 : rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ; public final void rule__ParameterAny__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11634:1: ( rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ) - // InternalRos.g:11635:2: rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 + // InternalRos.g:11742:1: ( rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ) + // InternalRos.g:11743:2: rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 { pushFollow(FOLLOW_64); rule__ParameterAny__Group__0__Impl(); @@ -35197,21 +35544,21 @@ public final void rule__ParameterAny__Group__0() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__0__Impl" - // InternalRos.g:11642:1: rule__ParameterAny__Group__0__Impl : ( () ) ; + // InternalRos.g:11750:1: rule__ParameterAny__Group__0__Impl : ( () ) ; public final void rule__ParameterAny__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11646:1: ( ( () ) ) - // InternalRos.g:11647:1: ( () ) + // InternalRos.g:11754:1: ( ( () ) ) + // InternalRos.g:11755:1: ( () ) { - // InternalRos.g:11647:1: ( () ) - // InternalRos.g:11648:2: () + // InternalRos.g:11755:1: ( () ) + // InternalRos.g:11756:2: () { before(grammarAccess.getParameterAnyAccess().getParameterAnyAction_0()); - // InternalRos.g:11649:2: () - // InternalRos.g:11649:3: + // InternalRos.g:11757:2: () + // InternalRos.g:11757:3: { } @@ -35234,14 +35581,14 @@ public final void rule__ParameterAny__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__1" - // InternalRos.g:11657:1: rule__ParameterAny__Group__1 : rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ; + // InternalRos.g:11765:1: rule__ParameterAny__Group__1 : rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ; public final void rule__ParameterAny__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11661:1: ( rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ) - // InternalRos.g:11662:2: rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 + // InternalRos.g:11769:1: ( rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ) + // InternalRos.g:11770:2: rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 { pushFollow(FOLLOW_4); rule__ParameterAny__Group__1__Impl(); @@ -35272,17 +35619,17 @@ public final void rule__ParameterAny__Group__1() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__1__Impl" - // InternalRos.g:11669:1: rule__ParameterAny__Group__1__Impl : ( 'ParameterAny' ) ; + // InternalRos.g:11777:1: rule__ParameterAny__Group__1__Impl : ( 'ParameterAny' ) ; public final void rule__ParameterAny__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11673:1: ( ( 'ParameterAny' ) ) - // InternalRos.g:11674:1: ( 'ParameterAny' ) + // InternalRos.g:11781:1: ( ( 'ParameterAny' ) ) + // InternalRos.g:11782:1: ( 'ParameterAny' ) { - // InternalRos.g:11674:1: ( 'ParameterAny' ) - // InternalRos.g:11675:2: 'ParameterAny' + // InternalRos.g:11782:1: ( 'ParameterAny' ) + // InternalRos.g:11783:2: 'ParameterAny' { before(grammarAccess.getParameterAnyAccess().getParameterAnyKeyword_1()); match(input,84,FOLLOW_2); @@ -35309,14 +35656,14 @@ public final void rule__ParameterAny__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__2" - // InternalRos.g:11684:1: rule__ParameterAny__Group__2 : rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ; + // InternalRos.g:11792:1: rule__ParameterAny__Group__2 : rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ; public final void rule__ParameterAny__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11688:1: ( rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ) - // InternalRos.g:11689:2: rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 + // InternalRos.g:11796:1: ( rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ) + // InternalRos.g:11797:2: rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 { pushFollow(FOLLOW_65); rule__ParameterAny__Group__2__Impl(); @@ -35347,17 +35694,17 @@ public final void rule__ParameterAny__Group__2() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__2__Impl" - // InternalRos.g:11696:1: rule__ParameterAny__Group__2__Impl : ( '{' ) ; + // InternalRos.g:11804:1: rule__ParameterAny__Group__2__Impl : ( '{' ) ; public final void rule__ParameterAny__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11700:1: ( ( '{' ) ) - // InternalRos.g:11701:1: ( '{' ) + // InternalRos.g:11808:1: ( ( '{' ) ) + // InternalRos.g:11809:1: ( '{' ) { - // InternalRos.g:11701:1: ( '{' ) - // InternalRos.g:11702:2: '{' + // InternalRos.g:11809:1: ( '{' ) + // InternalRos.g:11810:2: '{' { before(grammarAccess.getParameterAnyAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -35384,14 +35731,14 @@ public final void rule__ParameterAny__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__3" - // InternalRos.g:11711:1: rule__ParameterAny__Group__3 : rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ; + // InternalRos.g:11819:1: rule__ParameterAny__Group__3 : rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ; public final void rule__ParameterAny__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11715:1: ( rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ) - // InternalRos.g:11716:2: rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 + // InternalRos.g:11823:1: ( rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ) + // InternalRos.g:11824:2: rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 { pushFollow(FOLLOW_65); rule__ParameterAny__Group__3__Impl(); @@ -35422,29 +35769,29 @@ public final void rule__ParameterAny__Group__3() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__3__Impl" - // InternalRos.g:11723:1: rule__ParameterAny__Group__3__Impl : ( ( rule__ParameterAny__Group_3__0 )? ) ; + // InternalRos.g:11831:1: rule__ParameterAny__Group__3__Impl : ( ( rule__ParameterAny__Group_3__0 )? ) ; public final void rule__ParameterAny__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11727:1: ( ( ( rule__ParameterAny__Group_3__0 )? ) ) - // InternalRos.g:11728:1: ( ( rule__ParameterAny__Group_3__0 )? ) + // InternalRos.g:11835:1: ( ( ( rule__ParameterAny__Group_3__0 )? ) ) + // InternalRos.g:11836:1: ( ( rule__ParameterAny__Group_3__0 )? ) { - // InternalRos.g:11728:1: ( ( rule__ParameterAny__Group_3__0 )? ) - // InternalRos.g:11729:2: ( rule__ParameterAny__Group_3__0 )? + // InternalRos.g:11836:1: ( ( rule__ParameterAny__Group_3__0 )? ) + // InternalRos.g:11837:2: ( rule__ParameterAny__Group_3__0 )? { before(grammarAccess.getParameterAnyAccess().getGroup_3()); - // InternalRos.g:11730:2: ( rule__ParameterAny__Group_3__0 )? - int alt70=2; - int LA70_0 = input.LA(1); + // InternalRos.g:11838:2: ( rule__ParameterAny__Group_3__0 )? + int alt72=2; + int LA72_0 = input.LA(1); - if ( (LA70_0==34) ) { - alt70=1; + if ( (LA72_0==34) ) { + alt72=1; } - switch (alt70) { + switch (alt72) { case 1 : - // InternalRos.g:11730:3: rule__ParameterAny__Group_3__0 + // InternalRos.g:11838:3: rule__ParameterAny__Group_3__0 { pushFollow(FOLLOW_2); rule__ParameterAny__Group_3__0(); @@ -35480,14 +35827,14 @@ public final void rule__ParameterAny__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__4" - // InternalRos.g:11738:1: rule__ParameterAny__Group__4 : rule__ParameterAny__Group__4__Impl ; + // InternalRos.g:11846:1: rule__ParameterAny__Group__4 : rule__ParameterAny__Group__4__Impl ; public final void rule__ParameterAny__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11742:1: ( rule__ParameterAny__Group__4__Impl ) - // InternalRos.g:11743:2: rule__ParameterAny__Group__4__Impl + // InternalRos.g:11850:1: ( rule__ParameterAny__Group__4__Impl ) + // InternalRos.g:11851:2: rule__ParameterAny__Group__4__Impl { pushFollow(FOLLOW_2); rule__ParameterAny__Group__4__Impl(); @@ -35513,17 +35860,17 @@ public final void rule__ParameterAny__Group__4() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__4__Impl" - // InternalRos.g:11749:1: rule__ParameterAny__Group__4__Impl : ( '}' ) ; + // InternalRos.g:11857:1: rule__ParameterAny__Group__4__Impl : ( '}' ) ; public final void rule__ParameterAny__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11753:1: ( ( '}' ) ) - // InternalRos.g:11754:1: ( '}' ) + // InternalRos.g:11861:1: ( ( '}' ) ) + // InternalRos.g:11862:1: ( '}' ) { - // InternalRos.g:11754:1: ( '}' ) - // InternalRos.g:11755:2: '}' + // InternalRos.g:11862:1: ( '}' ) + // InternalRos.g:11863:2: '}' { before(grammarAccess.getParameterAnyAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -35550,14 +35897,14 @@ public final void rule__ParameterAny__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group_3__0" - // InternalRos.g:11765:1: rule__ParameterAny__Group_3__0 : rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ; + // InternalRos.g:11873:1: rule__ParameterAny__Group_3__0 : rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ; public final void rule__ParameterAny__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11769:1: ( rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ) - // InternalRos.g:11770:2: rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 + // InternalRos.g:11877:1: ( rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ) + // InternalRos.g:11878:2: rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 { pushFollow(FOLLOW_10); rule__ParameterAny__Group_3__0__Impl(); @@ -35588,17 +35935,17 @@ public final void rule__ParameterAny__Group_3__0() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group_3__0__Impl" - // InternalRos.g:11777:1: rule__ParameterAny__Group_3__0__Impl : ( 'value' ) ; + // InternalRos.g:11885:1: rule__ParameterAny__Group_3__0__Impl : ( 'value' ) ; public final void rule__ParameterAny__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11781:1: ( ( 'value' ) ) - // InternalRos.g:11782:1: ( 'value' ) + // InternalRos.g:11889:1: ( ( 'value' ) ) + // InternalRos.g:11890:1: ( 'value' ) { - // InternalRos.g:11782:1: ( 'value' ) - // InternalRos.g:11783:2: 'value' + // InternalRos.g:11890:1: ( 'value' ) + // InternalRos.g:11891:2: 'value' { before(grammarAccess.getParameterAnyAccess().getValueKeyword_3_0()); match(input,34,FOLLOW_2); @@ -35625,14 +35972,14 @@ public final void rule__ParameterAny__Group_3__0__Impl() throws RecognitionExcep // $ANTLR start "rule__ParameterAny__Group_3__1" - // InternalRos.g:11792:1: rule__ParameterAny__Group_3__1 : rule__ParameterAny__Group_3__1__Impl ; + // InternalRos.g:11900:1: rule__ParameterAny__Group_3__1 : rule__ParameterAny__Group_3__1__Impl ; public final void rule__ParameterAny__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11796:1: ( rule__ParameterAny__Group_3__1__Impl ) - // InternalRos.g:11797:2: rule__ParameterAny__Group_3__1__Impl + // InternalRos.g:11904:1: ( rule__ParameterAny__Group_3__1__Impl ) + // InternalRos.g:11905:2: rule__ParameterAny__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__ParameterAny__Group_3__1__Impl(); @@ -35658,21 +36005,21 @@ public final void rule__ParameterAny__Group_3__1() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group_3__1__Impl" - // InternalRos.g:11803:1: rule__ParameterAny__Group_3__1__Impl : ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ; + // InternalRos.g:11911:1: rule__ParameterAny__Group_3__1__Impl : ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ; public final void rule__ParameterAny__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11807:1: ( ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ) - // InternalRos.g:11808:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) + // InternalRos.g:11915:1: ( ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ) + // InternalRos.g:11916:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) { - // InternalRos.g:11808:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) - // InternalRos.g:11809:2: ( rule__ParameterAny__ValueAssignment_3_1 ) + // InternalRos.g:11916:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) + // InternalRos.g:11917:2: ( rule__ParameterAny__ValueAssignment_3_1 ) { before(grammarAccess.getParameterAnyAccess().getValueAssignment_3_1()); - // InternalRos.g:11810:2: ( rule__ParameterAny__ValueAssignment_3_1 ) - // InternalRos.g:11810:3: rule__ParameterAny__ValueAssignment_3_1 + // InternalRos.g:11918:2: ( rule__ParameterAny__ValueAssignment_3_1 ) + // InternalRos.g:11918:3: rule__ParameterAny__ValueAssignment_3_1 { pushFollow(FOLLOW_2); rule__ParameterAny__ValueAssignment_3_1(); @@ -35705,14 +36052,14 @@ public final void rule__ParameterAny__Group_3__1__Impl() throws RecognitionExcep // $ANTLR start "rule__ParameterStruct__Group__0" - // InternalRos.g:11819:1: rule__ParameterStruct__Group__0 : rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ; + // InternalRos.g:11927:1: rule__ParameterStruct__Group__0 : rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ; public final void rule__ParameterStruct__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11823:1: ( rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ) - // InternalRos.g:11824:2: rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 + // InternalRos.g:11931:1: ( rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ) + // InternalRos.g:11932:2: rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 { pushFollow(FOLLOW_63); rule__ParameterStruct__Group__0__Impl(); @@ -35743,21 +36090,21 @@ public final void rule__ParameterStruct__Group__0() throws RecognitionException // $ANTLR start "rule__ParameterStruct__Group__0__Impl" - // InternalRos.g:11831:1: rule__ParameterStruct__Group__0__Impl : ( () ) ; + // InternalRos.g:11939:1: rule__ParameterStruct__Group__0__Impl : ( () ) ; public final void rule__ParameterStruct__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11835:1: ( ( () ) ) - // InternalRos.g:11836:1: ( () ) + // InternalRos.g:11943:1: ( ( () ) ) + // InternalRos.g:11944:1: ( () ) { - // InternalRos.g:11836:1: ( () ) - // InternalRos.g:11837:2: () + // InternalRos.g:11944:1: ( () ) + // InternalRos.g:11945:2: () { before(grammarAccess.getParameterStructAccess().getParameterStructAction_0()); - // InternalRos.g:11838:2: () - // InternalRos.g:11838:3: + // InternalRos.g:11946:2: () + // InternalRos.g:11946:3: { } @@ -35780,14 +36127,14 @@ public final void rule__ParameterStruct__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterStruct__Group__1" - // InternalRos.g:11846:1: rule__ParameterStruct__Group__1 : rule__ParameterStruct__Group__1__Impl ; + // InternalRos.g:11954:1: rule__ParameterStruct__Group__1 : rule__ParameterStruct__Group__1__Impl ; public final void rule__ParameterStruct__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11850:1: ( rule__ParameterStruct__Group__1__Impl ) - // InternalRos.g:11851:2: rule__ParameterStruct__Group__1__Impl + // InternalRos.g:11958:1: ( rule__ParameterStruct__Group__1__Impl ) + // InternalRos.g:11959:2: rule__ParameterStruct__Group__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group__1__Impl(); @@ -35813,29 +36160,29 @@ public final void rule__ParameterStruct__Group__1() throws RecognitionException // $ANTLR start "rule__ParameterStruct__Group__1__Impl" - // InternalRos.g:11857:1: rule__ParameterStruct__Group__1__Impl : ( ( rule__ParameterStruct__Group_1__0 )? ) ; + // InternalRos.g:11965:1: rule__ParameterStruct__Group__1__Impl : ( ( rule__ParameterStruct__Group_1__0 )? ) ; public final void rule__ParameterStruct__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11861:1: ( ( ( rule__ParameterStruct__Group_1__0 )? ) ) - // InternalRos.g:11862:1: ( ( rule__ParameterStruct__Group_1__0 )? ) + // InternalRos.g:11969:1: ( ( ( rule__ParameterStruct__Group_1__0 )? ) ) + // InternalRos.g:11970:1: ( ( rule__ParameterStruct__Group_1__0 )? ) { - // InternalRos.g:11862:1: ( ( rule__ParameterStruct__Group_1__0 )? ) - // InternalRos.g:11863:2: ( rule__ParameterStruct__Group_1__0 )? + // InternalRos.g:11970:1: ( ( rule__ParameterStruct__Group_1__0 )? ) + // InternalRos.g:11971:2: ( rule__ParameterStruct__Group_1__0 )? { before(grammarAccess.getParameterStructAccess().getGroup_1()); - // InternalRos.g:11864:2: ( rule__ParameterStruct__Group_1__0 )? - int alt71=2; - int LA71_0 = input.LA(1); + // InternalRos.g:11972:2: ( rule__ParameterStruct__Group_1__0 )? + int alt73=2; + int LA73_0 = input.LA(1); - if ( (LA71_0==41) ) { - alt71=1; + if ( (LA73_0==41) ) { + alt73=1; } - switch (alt71) { + switch (alt73) { case 1 : - // InternalRos.g:11864:3: rule__ParameterStruct__Group_1__0 + // InternalRos.g:11972:3: rule__ParameterStruct__Group_1__0 { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1__0(); @@ -35871,14 +36218,14 @@ public final void rule__ParameterStruct__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterStruct__Group_1__0" - // InternalRos.g:11873:1: rule__ParameterStruct__Group_1__0 : rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ; + // InternalRos.g:11981:1: rule__ParameterStruct__Group_1__0 : rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ; public final void rule__ParameterStruct__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11877:1: ( rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ) - // InternalRos.g:11878:2: rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 + // InternalRos.g:11985:1: ( rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ) + // InternalRos.g:11986:2: rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 { pushFollow(FOLLOW_66); rule__ParameterStruct__Group_1__0__Impl(); @@ -35909,17 +36256,17 @@ public final void rule__ParameterStruct__Group_1__0() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__0__Impl" - // InternalRos.g:11885:1: rule__ParameterStruct__Group_1__0__Impl : ( '{' ) ; + // InternalRos.g:11993:1: rule__ParameterStruct__Group_1__0__Impl : ( '{' ) ; public final void rule__ParameterStruct__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11889:1: ( ( '{' ) ) - // InternalRos.g:11890:1: ( '{' ) + // InternalRos.g:11997:1: ( ( '{' ) ) + // InternalRos.g:11998:1: ( '{' ) { - // InternalRos.g:11890:1: ( '{' ) - // InternalRos.g:11891:2: '{' + // InternalRos.g:11998:1: ( '{' ) + // InternalRos.g:11999:2: '{' { before(grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_0()); match(input,41,FOLLOW_2); @@ -35946,14 +36293,14 @@ public final void rule__ParameterStruct__Group_1__0__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__1" - // InternalRos.g:11900:1: rule__ParameterStruct__Group_1__1 : rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ; + // InternalRos.g:12008:1: rule__ParameterStruct__Group_1__1 : rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ; public final void rule__ParameterStruct__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11904:1: ( rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ) - // InternalRos.g:11905:2: rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 + // InternalRos.g:12012:1: ( rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ) + // InternalRos.g:12013:2: rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 { pushFollow(FOLLOW_13); rule__ParameterStruct__Group_1__1__Impl(); @@ -35984,21 +36331,21 @@ public final void rule__ParameterStruct__Group_1__1() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__1__Impl" - // InternalRos.g:11912:1: rule__ParameterStruct__Group_1__1__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ; + // InternalRos.g:12020:1: rule__ParameterStruct__Group_1__1__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ; public final void rule__ParameterStruct__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11916:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ) - // InternalRos.g:11917:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) + // InternalRos.g:12024:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ) + // InternalRos.g:12025:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) { - // InternalRos.g:11917:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) - // InternalRos.g:11918:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) + // InternalRos.g:12025:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) + // InternalRos.g:12026:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) { before(grammarAccess.getParameterStructAccess().getValueAssignment_1_1()); - // InternalRos.g:11919:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) - // InternalRos.g:11919:3: rule__ParameterStruct__ValueAssignment_1_1 + // InternalRos.g:12027:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) + // InternalRos.g:12027:3: rule__ParameterStruct__ValueAssignment_1_1 { pushFollow(FOLLOW_2); rule__ParameterStruct__ValueAssignment_1_1(); @@ -36031,14 +36378,14 @@ public final void rule__ParameterStruct__Group_1__1__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__2" - // InternalRos.g:11927:1: rule__ParameterStruct__Group_1__2 : rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ; + // InternalRos.g:12035:1: rule__ParameterStruct__Group_1__2 : rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ; public final void rule__ParameterStruct__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11931:1: ( rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ) - // InternalRos.g:11932:2: rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 + // InternalRos.g:12039:1: ( rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ) + // InternalRos.g:12040:2: rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 { pushFollow(FOLLOW_13); rule__ParameterStruct__Group_1__2__Impl(); @@ -36069,33 +36416,33 @@ public final void rule__ParameterStruct__Group_1__2() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__2__Impl" - // InternalRos.g:11939:1: rule__ParameterStruct__Group_1__2__Impl : ( ( rule__ParameterStruct__Group_1_2__0 )* ) ; + // InternalRos.g:12047:1: rule__ParameterStruct__Group_1__2__Impl : ( ( rule__ParameterStruct__Group_1_2__0 )* ) ; public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11943:1: ( ( ( rule__ParameterStruct__Group_1_2__0 )* ) ) - // InternalRos.g:11944:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) + // InternalRos.g:12051:1: ( ( ( rule__ParameterStruct__Group_1_2__0 )* ) ) + // InternalRos.g:12052:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) { - // InternalRos.g:11944:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) - // InternalRos.g:11945:2: ( rule__ParameterStruct__Group_1_2__0 )* + // InternalRos.g:12052:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) + // InternalRos.g:12053:2: ( rule__ParameterStruct__Group_1_2__0 )* { before(grammarAccess.getParameterStructAccess().getGroup_1_2()); - // InternalRos.g:11946:2: ( rule__ParameterStruct__Group_1_2__0 )* - loop72: + // InternalRos.g:12054:2: ( rule__ParameterStruct__Group_1_2__0 )* + loop74: do { - int alt72=2; - int LA72_0 = input.LA(1); + int alt74=2; + int LA74_0 = input.LA(1); - if ( (LA72_0==43) ) { - alt72=1; + if ( (LA74_0==43) ) { + alt74=1; } - switch (alt72) { + switch (alt74) { case 1 : - // InternalRos.g:11946:3: rule__ParameterStruct__Group_1_2__0 + // InternalRos.g:12054:3: rule__ParameterStruct__Group_1_2__0 { pushFollow(FOLLOW_7); rule__ParameterStruct__Group_1_2__0(); @@ -36107,7 +36454,7 @@ public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionEx break; default : - break loop72; + break loop74; } } while (true); @@ -36134,14 +36481,14 @@ public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__3" - // InternalRos.g:11954:1: rule__ParameterStruct__Group_1__3 : rule__ParameterStruct__Group_1__3__Impl ; + // InternalRos.g:12062:1: rule__ParameterStruct__Group_1__3 : rule__ParameterStruct__Group_1__3__Impl ; public final void rule__ParameterStruct__Group_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11958:1: ( rule__ParameterStruct__Group_1__3__Impl ) - // InternalRos.g:11959:2: rule__ParameterStruct__Group_1__3__Impl + // InternalRos.g:12066:1: ( rule__ParameterStruct__Group_1__3__Impl ) + // InternalRos.g:12067:2: rule__ParameterStruct__Group_1__3__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1__3__Impl(); @@ -36167,17 +36514,17 @@ public final void rule__ParameterStruct__Group_1__3() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__3__Impl" - // InternalRos.g:11965:1: rule__ParameterStruct__Group_1__3__Impl : ( '}' ) ; + // InternalRos.g:12073:1: rule__ParameterStruct__Group_1__3__Impl : ( '}' ) ; public final void rule__ParameterStruct__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11969:1: ( ( '}' ) ) - // InternalRos.g:11970:1: ( '}' ) + // InternalRos.g:12077:1: ( ( '}' ) ) + // InternalRos.g:12078:1: ( '}' ) { - // InternalRos.g:11970:1: ( '}' ) - // InternalRos.g:11971:2: '}' + // InternalRos.g:12078:1: ( '}' ) + // InternalRos.g:12079:2: '}' { before(grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_3()); match(input,42,FOLLOW_2); @@ -36204,14 +36551,14 @@ public final void rule__ParameterStruct__Group_1__3__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1_2__0" - // InternalRos.g:11981:1: rule__ParameterStruct__Group_1_2__0 : rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ; + // InternalRos.g:12089:1: rule__ParameterStruct__Group_1_2__0 : rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ; public final void rule__ParameterStruct__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11985:1: ( rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ) - // InternalRos.g:11986:2: rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 + // InternalRos.g:12093:1: ( rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ) + // InternalRos.g:12094:2: rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 { pushFollow(FOLLOW_4); rule__ParameterStruct__Group_1_2__0__Impl(); @@ -36242,17 +36589,17 @@ public final void rule__ParameterStruct__Group_1_2__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__0__Impl" - // InternalRos.g:11993:1: rule__ParameterStruct__Group_1_2__0__Impl : ( ',' ) ; + // InternalRos.g:12101:1: rule__ParameterStruct__Group_1_2__0__Impl : ( ',' ) ; public final void rule__ParameterStruct__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11997:1: ( ( ',' ) ) - // InternalRos.g:11998:1: ( ',' ) + // InternalRos.g:12105:1: ( ( ',' ) ) + // InternalRos.g:12106:1: ( ',' ) { - // InternalRos.g:11998:1: ( ',' ) - // InternalRos.g:11999:2: ',' + // InternalRos.g:12106:1: ( ',' ) + // InternalRos.g:12107:2: ',' { before(grammarAccess.getParameterStructAccess().getCommaKeyword_1_2_0()); match(input,43,FOLLOW_2); @@ -36279,14 +36626,14 @@ public final void rule__ParameterStruct__Group_1_2__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__1" - // InternalRos.g:12008:1: rule__ParameterStruct__Group_1_2__1 : rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ; + // InternalRos.g:12116:1: rule__ParameterStruct__Group_1_2__1 : rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ; public final void rule__ParameterStruct__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12012:1: ( rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ) - // InternalRos.g:12013:2: rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 + // InternalRos.g:12120:1: ( rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ) + // InternalRos.g:12121:2: rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 { pushFollow(FOLLOW_66); rule__ParameterStruct__Group_1_2__1__Impl(); @@ -36317,17 +36664,17 @@ public final void rule__ParameterStruct__Group_1_2__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__1__Impl" - // InternalRos.g:12020:1: rule__ParameterStruct__Group_1_2__1__Impl : ( '{' ) ; + // InternalRos.g:12128:1: rule__ParameterStruct__Group_1_2__1__Impl : ( '{' ) ; public final void rule__ParameterStruct__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12024:1: ( ( '{' ) ) - // InternalRos.g:12025:1: ( '{' ) + // InternalRos.g:12132:1: ( ( '{' ) ) + // InternalRos.g:12133:1: ( '{' ) { - // InternalRos.g:12025:1: ( '{' ) - // InternalRos.g:12026:2: '{' + // InternalRos.g:12133:1: ( '{' ) + // InternalRos.g:12134:2: '{' { before(grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_2_1()); match(input,41,FOLLOW_2); @@ -36354,14 +36701,14 @@ public final void rule__ParameterStruct__Group_1_2__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__2" - // InternalRos.g:12035:1: rule__ParameterStruct__Group_1_2__2 : rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ; + // InternalRos.g:12143:1: rule__ParameterStruct__Group_1_2__2 : rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ; public final void rule__ParameterStruct__Group_1_2__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12039:1: ( rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ) - // InternalRos.g:12040:2: rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 + // InternalRos.g:12147:1: ( rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ) + // InternalRos.g:12148:2: rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 { pushFollow(FOLLOW_48); rule__ParameterStruct__Group_1_2__2__Impl(); @@ -36392,21 +36739,21 @@ public final void rule__ParameterStruct__Group_1_2__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__2__Impl" - // InternalRos.g:12047:1: rule__ParameterStruct__Group_1_2__2__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ; + // InternalRos.g:12155:1: rule__ParameterStruct__Group_1_2__2__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ; public final void rule__ParameterStruct__Group_1_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12051:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ) - // InternalRos.g:12052:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) + // InternalRos.g:12159:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ) + // InternalRos.g:12160:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) { - // InternalRos.g:12052:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) - // InternalRos.g:12053:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) + // InternalRos.g:12160:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) + // InternalRos.g:12161:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) { before(grammarAccess.getParameterStructAccess().getValueAssignment_1_2_2()); - // InternalRos.g:12054:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) - // InternalRos.g:12054:3: rule__ParameterStruct__ValueAssignment_1_2_2 + // InternalRos.g:12162:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) + // InternalRos.g:12162:3: rule__ParameterStruct__ValueAssignment_1_2_2 { pushFollow(FOLLOW_2); rule__ParameterStruct__ValueAssignment_1_2_2(); @@ -36439,14 +36786,14 @@ public final void rule__ParameterStruct__Group_1_2__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__3" - // InternalRos.g:12062:1: rule__ParameterStruct__Group_1_2__3 : rule__ParameterStruct__Group_1_2__3__Impl ; + // InternalRos.g:12170:1: rule__ParameterStruct__Group_1_2__3 : rule__ParameterStruct__Group_1_2__3__Impl ; public final void rule__ParameterStruct__Group_1_2__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12066:1: ( rule__ParameterStruct__Group_1_2__3__Impl ) - // InternalRos.g:12067:2: rule__ParameterStruct__Group_1_2__3__Impl + // InternalRos.g:12174:1: ( rule__ParameterStruct__Group_1_2__3__Impl ) + // InternalRos.g:12175:2: rule__ParameterStruct__Group_1_2__3__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1_2__3__Impl(); @@ -36472,17 +36819,17 @@ public final void rule__ParameterStruct__Group_1_2__3() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__3__Impl" - // InternalRos.g:12073:1: rule__ParameterStruct__Group_1_2__3__Impl : ( '}' ) ; + // InternalRos.g:12181:1: rule__ParameterStruct__Group_1_2__3__Impl : ( '}' ) ; public final void rule__ParameterStruct__Group_1_2__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12077:1: ( ( '}' ) ) - // InternalRos.g:12078:1: ( '}' ) + // InternalRos.g:12185:1: ( ( '}' ) ) + // InternalRos.g:12186:1: ( '}' ) { - // InternalRos.g:12078:1: ( '}' ) - // InternalRos.g:12079:2: '}' + // InternalRos.g:12186:1: ( '}' ) + // InternalRos.g:12187:2: '}' { before(grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_2_3()); match(input,42,FOLLOW_2); @@ -36509,14 +36856,14 @@ public final void rule__ParameterStruct__Group_1_2__3__Impl() throws Recognition // $ANTLR start "rule__ParameterStructMember__Group__0" - // InternalRos.g:12089:1: rule__ParameterStructMember__Group__0 : rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ; + // InternalRos.g:12197:1: rule__ParameterStructMember__Group__0 : rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ; public final void rule__ParameterStructMember__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12093:1: ( rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ) - // InternalRos.g:12094:2: rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 + // InternalRos.g:12201:1: ( rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ) + // InternalRos.g:12202:2: rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 { pushFollow(FOLLOW_10); rule__ParameterStructMember__Group__0__Impl(); @@ -36547,17 +36894,17 @@ public final void rule__ParameterStructMember__Group__0() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__0__Impl" - // InternalRos.g:12101:1: rule__ParameterStructMember__Group__0__Impl : ( 'ParameterStructMember' ) ; + // InternalRos.g:12209:1: rule__ParameterStructMember__Group__0__Impl : ( 'ParameterStructMember' ) ; public final void rule__ParameterStructMember__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12105:1: ( ( 'ParameterStructMember' ) ) - // InternalRos.g:12106:1: ( 'ParameterStructMember' ) + // InternalRos.g:12213:1: ( ( 'ParameterStructMember' ) ) + // InternalRos.g:12214:1: ( 'ParameterStructMember' ) { - // InternalRos.g:12106:1: ( 'ParameterStructMember' ) - // InternalRos.g:12107:2: 'ParameterStructMember' + // InternalRos.g:12214:1: ( 'ParameterStructMember' ) + // InternalRos.g:12215:2: 'ParameterStructMember' { before(grammarAccess.getParameterStructMemberAccess().getParameterStructMemberKeyword_0()); match(input,85,FOLLOW_2); @@ -36584,14 +36931,14 @@ public final void rule__ParameterStructMember__Group__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__1" - // InternalRos.g:12116:1: rule__ParameterStructMember__Group__1 : rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ; + // InternalRos.g:12224:1: rule__ParameterStructMember__Group__1 : rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ; public final void rule__ParameterStructMember__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12120:1: ( rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ) - // InternalRos.g:12121:2: rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 + // InternalRos.g:12228:1: ( rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ) + // InternalRos.g:12229:2: rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 { pushFollow(FOLLOW_4); rule__ParameterStructMember__Group__1__Impl(); @@ -36622,21 +36969,21 @@ public final void rule__ParameterStructMember__Group__1() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__1__Impl" - // InternalRos.g:12128:1: rule__ParameterStructMember__Group__1__Impl : ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ; + // InternalRos.g:12236:1: rule__ParameterStructMember__Group__1__Impl : ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ; public final void rule__ParameterStructMember__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12132:1: ( ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ) - // InternalRos.g:12133:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) + // InternalRos.g:12240:1: ( ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ) + // InternalRos.g:12241:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) { - // InternalRos.g:12133:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) - // InternalRos.g:12134:2: ( rule__ParameterStructMember__NameAssignment_1 ) + // InternalRos.g:12241:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) + // InternalRos.g:12242:2: ( rule__ParameterStructMember__NameAssignment_1 ) { before(grammarAccess.getParameterStructMemberAccess().getNameAssignment_1()); - // InternalRos.g:12135:2: ( rule__ParameterStructMember__NameAssignment_1 ) - // InternalRos.g:12135:3: rule__ParameterStructMember__NameAssignment_1 + // InternalRos.g:12243:2: ( rule__ParameterStructMember__NameAssignment_1 ) + // InternalRos.g:12243:3: rule__ParameterStructMember__NameAssignment_1 { pushFollow(FOLLOW_2); rule__ParameterStructMember__NameAssignment_1(); @@ -36669,14 +37016,14 @@ public final void rule__ParameterStructMember__Group__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__2" - // InternalRos.g:12143:1: rule__ParameterStructMember__Group__2 : rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ; + // InternalRos.g:12251:1: rule__ParameterStructMember__Group__2 : rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ; public final void rule__ParameterStructMember__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12147:1: ( rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ) - // InternalRos.g:12148:2: rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 + // InternalRos.g:12255:1: ( rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ) + // InternalRos.g:12256:2: rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 { pushFollow(FOLLOW_67); rule__ParameterStructMember__Group__2__Impl(); @@ -36707,17 +37054,17 @@ public final void rule__ParameterStructMember__Group__2() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__2__Impl" - // InternalRos.g:12155:1: rule__ParameterStructMember__Group__2__Impl : ( '{' ) ; + // InternalRos.g:12263:1: rule__ParameterStructMember__Group__2__Impl : ( '{' ) ; public final void rule__ParameterStructMember__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12159:1: ( ( '{' ) ) - // InternalRos.g:12160:1: ( '{' ) + // InternalRos.g:12267:1: ( ( '{' ) ) + // InternalRos.g:12268:1: ( '{' ) { - // InternalRos.g:12160:1: ( '{' ) - // InternalRos.g:12161:2: '{' + // InternalRos.g:12268:1: ( '{' ) + // InternalRos.g:12269:2: '{' { before(grammarAccess.getParameterStructMemberAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -36744,14 +37091,14 @@ public final void rule__ParameterStructMember__Group__2__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__3" - // InternalRos.g:12170:1: rule__ParameterStructMember__Group__3 : rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ; + // InternalRos.g:12278:1: rule__ParameterStructMember__Group__3 : rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ; public final void rule__ParameterStructMember__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12174:1: ( rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ) - // InternalRos.g:12175:2: rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 + // InternalRos.g:12282:1: ( rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ) + // InternalRos.g:12283:2: rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 { pushFollow(FOLLOW_63); rule__ParameterStructMember__Group__3__Impl(); @@ -36782,17 +37129,17 @@ public final void rule__ParameterStructMember__Group__3() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__3__Impl" - // InternalRos.g:12182:1: rule__ParameterStructMember__Group__3__Impl : ( 'value' ) ; + // InternalRos.g:12290:1: rule__ParameterStructMember__Group__3__Impl : ( 'value' ) ; public final void rule__ParameterStructMember__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12186:1: ( ( 'value' ) ) - // InternalRos.g:12187:1: ( 'value' ) + // InternalRos.g:12294:1: ( ( 'value' ) ) + // InternalRos.g:12295:1: ( 'value' ) { - // InternalRos.g:12187:1: ( 'value' ) - // InternalRos.g:12188:2: 'value' + // InternalRos.g:12295:1: ( 'value' ) + // InternalRos.g:12296:2: 'value' { before(grammarAccess.getParameterStructMemberAccess().getValueKeyword_3()); match(input,34,FOLLOW_2); @@ -36819,14 +37166,14 @@ public final void rule__ParameterStructMember__Group__3__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__4" - // InternalRos.g:12197:1: rule__ParameterStructMember__Group__4 : rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ; + // InternalRos.g:12305:1: rule__ParameterStructMember__Group__4 : rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ; public final void rule__ParameterStructMember__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12201:1: ( rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ) - // InternalRos.g:12202:2: rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 + // InternalRos.g:12309:1: ( rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ) + // InternalRos.g:12310:2: rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 { pushFollow(FOLLOW_48); rule__ParameterStructMember__Group__4__Impl(); @@ -36857,21 +37204,21 @@ public final void rule__ParameterStructMember__Group__4() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__4__Impl" - // InternalRos.g:12209:1: rule__ParameterStructMember__Group__4__Impl : ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ; + // InternalRos.g:12317:1: rule__ParameterStructMember__Group__4__Impl : ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ; public final void rule__ParameterStructMember__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12213:1: ( ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ) - // InternalRos.g:12214:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) + // InternalRos.g:12321:1: ( ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ) + // InternalRos.g:12322:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) { - // InternalRos.g:12214:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) - // InternalRos.g:12215:2: ( rule__ParameterStructMember__ValueAssignment_4 ) + // InternalRos.g:12322:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) + // InternalRos.g:12323:2: ( rule__ParameterStructMember__ValueAssignment_4 ) { before(grammarAccess.getParameterStructMemberAccess().getValueAssignment_4()); - // InternalRos.g:12216:2: ( rule__ParameterStructMember__ValueAssignment_4 ) - // InternalRos.g:12216:3: rule__ParameterStructMember__ValueAssignment_4 + // InternalRos.g:12324:2: ( rule__ParameterStructMember__ValueAssignment_4 ) + // InternalRos.g:12324:3: rule__ParameterStructMember__ValueAssignment_4 { pushFollow(FOLLOW_2); rule__ParameterStructMember__ValueAssignment_4(); @@ -36904,14 +37251,14 @@ public final void rule__ParameterStructMember__Group__4__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__5" - // InternalRos.g:12224:1: rule__ParameterStructMember__Group__5 : rule__ParameterStructMember__Group__5__Impl ; + // InternalRos.g:12332:1: rule__ParameterStructMember__Group__5 : rule__ParameterStructMember__Group__5__Impl ; public final void rule__ParameterStructMember__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12228:1: ( rule__ParameterStructMember__Group__5__Impl ) - // InternalRos.g:12229:2: rule__ParameterStructMember__Group__5__Impl + // InternalRos.g:12336:1: ( rule__ParameterStructMember__Group__5__Impl ) + // InternalRos.g:12337:2: rule__ParameterStructMember__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterStructMember__Group__5__Impl(); @@ -36937,17 +37284,17 @@ public final void rule__ParameterStructMember__Group__5() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__5__Impl" - // InternalRos.g:12235:1: rule__ParameterStructMember__Group__5__Impl : ( '}' ) ; + // InternalRos.g:12343:1: rule__ParameterStructMember__Group__5__Impl : ( '}' ) ; public final void rule__ParameterStructMember__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12239:1: ( ( '}' ) ) - // InternalRos.g:12240:1: ( '}' ) + // InternalRos.g:12347:1: ( ( '}' ) ) + // InternalRos.g:12348:1: ( '}' ) { - // InternalRos.g:12240:1: ( '}' ) - // InternalRos.g:12241:2: '}' + // InternalRos.g:12348:1: ( '}' ) + // InternalRos.g:12349:2: '}' { before(grammarAccess.getParameterStructMemberAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -36974,14 +37321,14 @@ public final void rule__ParameterStructMember__Group__5__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructTypeMember__Group__0" - // InternalRos.g:12251:1: rule__ParameterStructTypeMember__Group__0 : rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ; + // InternalRos.g:12359:1: rule__ParameterStructTypeMember__Group__0 : rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ; public final void rule__ParameterStructTypeMember__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12255:1: ( rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ) - // InternalRos.g:12256:2: rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 + // InternalRos.g:12363:1: ( rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ) + // InternalRos.g:12364:2: rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 { pushFollow(FOLLOW_47); rule__ParameterStructTypeMember__Group__0__Impl(); @@ -37012,21 +37359,21 @@ public final void rule__ParameterStructTypeMember__Group__0() throws Recognition // $ANTLR start "rule__ParameterStructTypeMember__Group__0__Impl" - // InternalRos.g:12263:1: rule__ParameterStructTypeMember__Group__0__Impl : ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ; + // InternalRos.g:12371:1: rule__ParameterStructTypeMember__Group__0__Impl : ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ; public final void rule__ParameterStructTypeMember__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12267:1: ( ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ) - // InternalRos.g:12268:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) + // InternalRos.g:12375:1: ( ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ) + // InternalRos.g:12376:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) { - // InternalRos.g:12268:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) - // InternalRos.g:12269:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) + // InternalRos.g:12376:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) + // InternalRos.g:12377:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getNameAssignment_0()); - // InternalRos.g:12270:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) - // InternalRos.g:12270:3: rule__ParameterStructTypeMember__NameAssignment_0 + // InternalRos.g:12378:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) + // InternalRos.g:12378:3: rule__ParameterStructTypeMember__NameAssignment_0 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__NameAssignment_0(); @@ -37059,14 +37406,14 @@ public final void rule__ParameterStructTypeMember__Group__0__Impl() throws Recog // $ANTLR start "rule__ParameterStructTypeMember__Group__1" - // InternalRos.g:12278:1: rule__ParameterStructTypeMember__Group__1 : rule__ParameterStructTypeMember__Group__1__Impl ; + // InternalRos.g:12386:1: rule__ParameterStructTypeMember__Group__1 : rule__ParameterStructTypeMember__Group__1__Impl ; public final void rule__ParameterStructTypeMember__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12282:1: ( rule__ParameterStructTypeMember__Group__1__Impl ) - // InternalRos.g:12283:2: rule__ParameterStructTypeMember__Group__1__Impl + // InternalRos.g:12390:1: ( rule__ParameterStructTypeMember__Group__1__Impl ) + // InternalRos.g:12391:2: rule__ParameterStructTypeMember__Group__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__Group__1__Impl(); @@ -37092,21 +37439,21 @@ public final void rule__ParameterStructTypeMember__Group__1() throws Recognition // $ANTLR start "rule__ParameterStructTypeMember__Group__1__Impl" - // InternalRos.g:12289:1: rule__ParameterStructTypeMember__Group__1__Impl : ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ; + // InternalRos.g:12397:1: rule__ParameterStructTypeMember__Group__1__Impl : ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ; public final void rule__ParameterStructTypeMember__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12293:1: ( ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ) - // InternalRos.g:12294:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) + // InternalRos.g:12401:1: ( ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ) + // InternalRos.g:12402:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) { - // InternalRos.g:12294:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) - // InternalRos.g:12295:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) + // InternalRos.g:12402:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) + // InternalRos.g:12403:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getTypeAssignment_1()); - // InternalRos.g:12296:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) - // InternalRos.g:12296:3: rule__ParameterStructTypeMember__TypeAssignment_1 + // InternalRos.g:12404:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) + // InternalRos.g:12404:3: rule__ParameterStructTypeMember__TypeAssignment_1 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__TypeAssignment_1(); @@ -37139,14 +37486,14 @@ public final void rule__ParameterStructTypeMember__Group__1__Impl() throws Recog // $ANTLR start "rule__MessagePart__Group__0" - // InternalRos.g:12305:1: rule__MessagePart__Group__0 : rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ; + // InternalRos.g:12413:1: rule__MessagePart__Group__0 : rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ; public final void rule__MessagePart__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12309:1: ( rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ) - // InternalRos.g:12310:2: rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 + // InternalRos.g:12417:1: ( rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ) + // InternalRos.g:12418:2: rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 { pushFollow(FOLLOW_68); rule__MessagePart__Group__0__Impl(); @@ -37177,21 +37524,21 @@ public final void rule__MessagePart__Group__0() throws RecognitionException { // $ANTLR start "rule__MessagePart__Group__0__Impl" - // InternalRos.g:12317:1: rule__MessagePart__Group__0__Impl : ( ( rule__MessagePart__TypeAssignment_0 ) ) ; + // InternalRos.g:12425:1: rule__MessagePart__Group__0__Impl : ( ( rule__MessagePart__TypeAssignment_0 ) ) ; public final void rule__MessagePart__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12321:1: ( ( ( rule__MessagePart__TypeAssignment_0 ) ) ) - // InternalRos.g:12322:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) + // InternalRos.g:12429:1: ( ( ( rule__MessagePart__TypeAssignment_0 ) ) ) + // InternalRos.g:12430:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) { - // InternalRos.g:12322:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) - // InternalRos.g:12323:2: ( rule__MessagePart__TypeAssignment_0 ) + // InternalRos.g:12430:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) + // InternalRos.g:12431:2: ( rule__MessagePart__TypeAssignment_0 ) { before(grammarAccess.getMessagePartAccess().getTypeAssignment_0()); - // InternalRos.g:12324:2: ( rule__MessagePart__TypeAssignment_0 ) - // InternalRos.g:12324:3: rule__MessagePart__TypeAssignment_0 + // InternalRos.g:12432:2: ( rule__MessagePart__TypeAssignment_0 ) + // InternalRos.g:12432:3: rule__MessagePart__TypeAssignment_0 { pushFollow(FOLLOW_2); rule__MessagePart__TypeAssignment_0(); @@ -37224,14 +37571,14 @@ public final void rule__MessagePart__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__MessagePart__Group__1" - // InternalRos.g:12332:1: rule__MessagePart__Group__1 : rule__MessagePart__Group__1__Impl ; + // InternalRos.g:12440:1: rule__MessagePart__Group__1 : rule__MessagePart__Group__1__Impl ; public final void rule__MessagePart__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12336:1: ( rule__MessagePart__Group__1__Impl ) - // InternalRos.g:12337:2: rule__MessagePart__Group__1__Impl + // InternalRos.g:12444:1: ( rule__MessagePart__Group__1__Impl ) + // InternalRos.g:12445:2: rule__MessagePart__Group__1__Impl { pushFollow(FOLLOW_2); rule__MessagePart__Group__1__Impl(); @@ -37257,21 +37604,21 @@ public final void rule__MessagePart__Group__1() throws RecognitionException { // $ANTLR start "rule__MessagePart__Group__1__Impl" - // InternalRos.g:12343:1: rule__MessagePart__Group__1__Impl : ( ( rule__MessagePart__DataAssignment_1 ) ) ; + // InternalRos.g:12451:1: rule__MessagePart__Group__1__Impl : ( ( rule__MessagePart__DataAssignment_1 ) ) ; public final void rule__MessagePart__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12347:1: ( ( ( rule__MessagePart__DataAssignment_1 ) ) ) - // InternalRos.g:12348:1: ( ( rule__MessagePart__DataAssignment_1 ) ) + // InternalRos.g:12455:1: ( ( ( rule__MessagePart__DataAssignment_1 ) ) ) + // InternalRos.g:12456:1: ( ( rule__MessagePart__DataAssignment_1 ) ) { - // InternalRos.g:12348:1: ( ( rule__MessagePart__DataAssignment_1 ) ) - // InternalRos.g:12349:2: ( rule__MessagePart__DataAssignment_1 ) + // InternalRos.g:12456:1: ( ( rule__MessagePart__DataAssignment_1 ) ) + // InternalRos.g:12457:2: ( rule__MessagePart__DataAssignment_1 ) { before(grammarAccess.getMessagePartAccess().getDataAssignment_1()); - // InternalRos.g:12350:2: ( rule__MessagePart__DataAssignment_1 ) - // InternalRos.g:12350:3: rule__MessagePart__DataAssignment_1 + // InternalRos.g:12458:2: ( rule__MessagePart__DataAssignment_1 ) + // InternalRos.g:12458:3: rule__MessagePart__DataAssignment_1 { pushFollow(FOLLOW_2); rule__MessagePart__DataAssignment_1(); @@ -37304,14 +37651,14 @@ public final void rule__MessagePart__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Bool__Group__0" - // InternalRos.g:12359:1: rule__Bool__Group__0 : rule__Bool__Group__0__Impl rule__Bool__Group__1 ; + // InternalRos.g:12467:1: rule__Bool__Group__0 : rule__Bool__Group__0__Impl rule__Bool__Group__1 ; public final void rule__Bool__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12363:1: ( rule__Bool__Group__0__Impl rule__Bool__Group__1 ) - // InternalRos.g:12364:2: rule__Bool__Group__0__Impl rule__Bool__Group__1 + // InternalRos.g:12471:1: ( rule__Bool__Group__0__Impl rule__Bool__Group__1 ) + // InternalRos.g:12472:2: rule__Bool__Group__0__Impl rule__Bool__Group__1 { pushFollow(FOLLOW_69); rule__Bool__Group__0__Impl(); @@ -37342,21 +37689,21 @@ public final void rule__Bool__Group__0() throws RecognitionException { // $ANTLR start "rule__Bool__Group__0__Impl" - // InternalRos.g:12371:1: rule__Bool__Group__0__Impl : ( () ) ; + // InternalRos.g:12479:1: rule__Bool__Group__0__Impl : ( () ) ; public final void rule__Bool__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12375:1: ( ( () ) ) - // InternalRos.g:12376:1: ( () ) + // InternalRos.g:12483:1: ( ( () ) ) + // InternalRos.g:12484:1: ( () ) { - // InternalRos.g:12376:1: ( () ) - // InternalRos.g:12377:2: () + // InternalRos.g:12484:1: ( () ) + // InternalRos.g:12485:2: () { before(grammarAccess.getBoolAccess().getBoolAction_0()); - // InternalRos.g:12378:2: () - // InternalRos.g:12378:3: + // InternalRos.g:12486:2: () + // InternalRos.g:12486:3: { } @@ -37379,14 +37726,14 @@ public final void rule__Bool__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Bool__Group__1" - // InternalRos.g:12386:1: rule__Bool__Group__1 : rule__Bool__Group__1__Impl ; + // InternalRos.g:12494:1: rule__Bool__Group__1 : rule__Bool__Group__1__Impl ; public final void rule__Bool__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12390:1: ( rule__Bool__Group__1__Impl ) - // InternalRos.g:12391:2: rule__Bool__Group__1__Impl + // InternalRos.g:12498:1: ( rule__Bool__Group__1__Impl ) + // InternalRos.g:12499:2: rule__Bool__Group__1__Impl { pushFollow(FOLLOW_2); rule__Bool__Group__1__Impl(); @@ -37412,17 +37759,17 @@ public final void rule__Bool__Group__1() throws RecognitionException { // $ANTLR start "rule__Bool__Group__1__Impl" - // InternalRos.g:12397:1: rule__Bool__Group__1__Impl : ( 'bool' ) ; + // InternalRos.g:12505:1: rule__Bool__Group__1__Impl : ( 'bool' ) ; public final void rule__Bool__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12401:1: ( ( 'bool' ) ) - // InternalRos.g:12402:1: ( 'bool' ) + // InternalRos.g:12509:1: ( ( 'bool' ) ) + // InternalRos.g:12510:1: ( 'bool' ) { - // InternalRos.g:12402:1: ( 'bool' ) - // InternalRos.g:12403:2: 'bool' + // InternalRos.g:12510:1: ( 'bool' ) + // InternalRos.g:12511:2: 'bool' { before(grammarAccess.getBoolAccess().getBoolKeyword_1()); match(input,86,FOLLOW_2); @@ -37449,14 +37796,14 @@ public final void rule__Bool__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int8__Group__0" - // InternalRos.g:12413:1: rule__Int8__Group__0 : rule__Int8__Group__0__Impl rule__Int8__Group__1 ; + // InternalRos.g:12521:1: rule__Int8__Group__0 : rule__Int8__Group__0__Impl rule__Int8__Group__1 ; public final void rule__Int8__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12417:1: ( rule__Int8__Group__0__Impl rule__Int8__Group__1 ) - // InternalRos.g:12418:2: rule__Int8__Group__0__Impl rule__Int8__Group__1 + // InternalRos.g:12525:1: ( rule__Int8__Group__0__Impl rule__Int8__Group__1 ) + // InternalRos.g:12526:2: rule__Int8__Group__0__Impl rule__Int8__Group__1 { pushFollow(FOLLOW_70); rule__Int8__Group__0__Impl(); @@ -37487,21 +37834,21 @@ public final void rule__Int8__Group__0() throws RecognitionException { // $ANTLR start "rule__Int8__Group__0__Impl" - // InternalRos.g:12425:1: rule__Int8__Group__0__Impl : ( () ) ; + // InternalRos.g:12533:1: rule__Int8__Group__0__Impl : ( () ) ; public final void rule__Int8__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12429:1: ( ( () ) ) - // InternalRos.g:12430:1: ( () ) + // InternalRos.g:12537:1: ( ( () ) ) + // InternalRos.g:12538:1: ( () ) { - // InternalRos.g:12430:1: ( () ) - // InternalRos.g:12431:2: () + // InternalRos.g:12538:1: ( () ) + // InternalRos.g:12539:2: () { before(grammarAccess.getInt8Access().getInt8Action_0()); - // InternalRos.g:12432:2: () - // InternalRos.g:12432:3: + // InternalRos.g:12540:2: () + // InternalRos.g:12540:3: { } @@ -37524,14 +37871,14 @@ public final void rule__Int8__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int8__Group__1" - // InternalRos.g:12440:1: rule__Int8__Group__1 : rule__Int8__Group__1__Impl ; + // InternalRos.g:12548:1: rule__Int8__Group__1 : rule__Int8__Group__1__Impl ; public final void rule__Int8__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12444:1: ( rule__Int8__Group__1__Impl ) - // InternalRos.g:12445:2: rule__Int8__Group__1__Impl + // InternalRos.g:12552:1: ( rule__Int8__Group__1__Impl ) + // InternalRos.g:12553:2: rule__Int8__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int8__Group__1__Impl(); @@ -37557,17 +37904,17 @@ public final void rule__Int8__Group__1() throws RecognitionException { // $ANTLR start "rule__Int8__Group__1__Impl" - // InternalRos.g:12451:1: rule__Int8__Group__1__Impl : ( 'int8' ) ; + // InternalRos.g:12559:1: rule__Int8__Group__1__Impl : ( 'int8' ) ; public final void rule__Int8__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12455:1: ( ( 'int8' ) ) - // InternalRos.g:12456:1: ( 'int8' ) + // InternalRos.g:12563:1: ( ( 'int8' ) ) + // InternalRos.g:12564:1: ( 'int8' ) { - // InternalRos.g:12456:1: ( 'int8' ) - // InternalRos.g:12457:2: 'int8' + // InternalRos.g:12564:1: ( 'int8' ) + // InternalRos.g:12565:2: 'int8' { before(grammarAccess.getInt8Access().getInt8Keyword_1()); match(input,87,FOLLOW_2); @@ -37594,14 +37941,14 @@ public final void rule__Int8__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__0" - // InternalRos.g:12467:1: rule__Uint8__Group__0 : rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ; + // InternalRos.g:12575:1: rule__Uint8__Group__0 : rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ; public final void rule__Uint8__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12471:1: ( rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ) - // InternalRos.g:12472:2: rule__Uint8__Group__0__Impl rule__Uint8__Group__1 + // InternalRos.g:12579:1: ( rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ) + // InternalRos.g:12580:2: rule__Uint8__Group__0__Impl rule__Uint8__Group__1 { pushFollow(FOLLOW_71); rule__Uint8__Group__0__Impl(); @@ -37632,21 +37979,21 @@ public final void rule__Uint8__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__0__Impl" - // InternalRos.g:12479:1: rule__Uint8__Group__0__Impl : ( () ) ; + // InternalRos.g:12587:1: rule__Uint8__Group__0__Impl : ( () ) ; public final void rule__Uint8__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12483:1: ( ( () ) ) - // InternalRos.g:12484:1: ( () ) + // InternalRos.g:12591:1: ( ( () ) ) + // InternalRos.g:12592:1: ( () ) { - // InternalRos.g:12484:1: ( () ) - // InternalRos.g:12485:2: () + // InternalRos.g:12592:1: ( () ) + // InternalRos.g:12593:2: () { before(grammarAccess.getUint8Access().getUint8Action_0()); - // InternalRos.g:12486:2: () - // InternalRos.g:12486:3: + // InternalRos.g:12594:2: () + // InternalRos.g:12594:3: { } @@ -37669,14 +38016,14 @@ public final void rule__Uint8__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__1" - // InternalRos.g:12494:1: rule__Uint8__Group__1 : rule__Uint8__Group__1__Impl ; + // InternalRos.g:12602:1: rule__Uint8__Group__1 : rule__Uint8__Group__1__Impl ; public final void rule__Uint8__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12498:1: ( rule__Uint8__Group__1__Impl ) - // InternalRos.g:12499:2: rule__Uint8__Group__1__Impl + // InternalRos.g:12606:1: ( rule__Uint8__Group__1__Impl ) + // InternalRos.g:12607:2: rule__Uint8__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint8__Group__1__Impl(); @@ -37702,17 +38049,17 @@ public final void rule__Uint8__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__1__Impl" - // InternalRos.g:12505:1: rule__Uint8__Group__1__Impl : ( 'uint8' ) ; + // InternalRos.g:12613:1: rule__Uint8__Group__1__Impl : ( 'uint8' ) ; public final void rule__Uint8__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12509:1: ( ( 'uint8' ) ) - // InternalRos.g:12510:1: ( 'uint8' ) + // InternalRos.g:12617:1: ( ( 'uint8' ) ) + // InternalRos.g:12618:1: ( 'uint8' ) { - // InternalRos.g:12510:1: ( 'uint8' ) - // InternalRos.g:12511:2: 'uint8' + // InternalRos.g:12618:1: ( 'uint8' ) + // InternalRos.g:12619:2: 'uint8' { before(grammarAccess.getUint8Access().getUint8Keyword_1()); match(input,88,FOLLOW_2); @@ -37739,14 +38086,14 @@ public final void rule__Uint8__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int16__Group__0" - // InternalRos.g:12521:1: rule__Int16__Group__0 : rule__Int16__Group__0__Impl rule__Int16__Group__1 ; + // InternalRos.g:12629:1: rule__Int16__Group__0 : rule__Int16__Group__0__Impl rule__Int16__Group__1 ; public final void rule__Int16__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12525:1: ( rule__Int16__Group__0__Impl rule__Int16__Group__1 ) - // InternalRos.g:12526:2: rule__Int16__Group__0__Impl rule__Int16__Group__1 + // InternalRos.g:12633:1: ( rule__Int16__Group__0__Impl rule__Int16__Group__1 ) + // InternalRos.g:12634:2: rule__Int16__Group__0__Impl rule__Int16__Group__1 { pushFollow(FOLLOW_72); rule__Int16__Group__0__Impl(); @@ -37777,21 +38124,21 @@ public final void rule__Int16__Group__0() throws RecognitionException { // $ANTLR start "rule__Int16__Group__0__Impl" - // InternalRos.g:12533:1: rule__Int16__Group__0__Impl : ( () ) ; + // InternalRos.g:12641:1: rule__Int16__Group__0__Impl : ( () ) ; public final void rule__Int16__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12537:1: ( ( () ) ) - // InternalRos.g:12538:1: ( () ) + // InternalRos.g:12645:1: ( ( () ) ) + // InternalRos.g:12646:1: ( () ) { - // InternalRos.g:12538:1: ( () ) - // InternalRos.g:12539:2: () + // InternalRos.g:12646:1: ( () ) + // InternalRos.g:12647:2: () { before(grammarAccess.getInt16Access().getInt16Action_0()); - // InternalRos.g:12540:2: () - // InternalRos.g:12540:3: + // InternalRos.g:12648:2: () + // InternalRos.g:12648:3: { } @@ -37814,14 +38161,14 @@ public final void rule__Int16__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int16__Group__1" - // InternalRos.g:12548:1: rule__Int16__Group__1 : rule__Int16__Group__1__Impl ; + // InternalRos.g:12656:1: rule__Int16__Group__1 : rule__Int16__Group__1__Impl ; public final void rule__Int16__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12552:1: ( rule__Int16__Group__1__Impl ) - // InternalRos.g:12553:2: rule__Int16__Group__1__Impl + // InternalRos.g:12660:1: ( rule__Int16__Group__1__Impl ) + // InternalRos.g:12661:2: rule__Int16__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int16__Group__1__Impl(); @@ -37847,17 +38194,17 @@ public final void rule__Int16__Group__1() throws RecognitionException { // $ANTLR start "rule__Int16__Group__1__Impl" - // InternalRos.g:12559:1: rule__Int16__Group__1__Impl : ( 'int16' ) ; + // InternalRos.g:12667:1: rule__Int16__Group__1__Impl : ( 'int16' ) ; public final void rule__Int16__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12563:1: ( ( 'int16' ) ) - // InternalRos.g:12564:1: ( 'int16' ) + // InternalRos.g:12671:1: ( ( 'int16' ) ) + // InternalRos.g:12672:1: ( 'int16' ) { - // InternalRos.g:12564:1: ( 'int16' ) - // InternalRos.g:12565:2: 'int16' + // InternalRos.g:12672:1: ( 'int16' ) + // InternalRos.g:12673:2: 'int16' { before(grammarAccess.getInt16Access().getInt16Keyword_1()); match(input,89,FOLLOW_2); @@ -37884,14 +38231,14 @@ public final void rule__Int16__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__0" - // InternalRos.g:12575:1: rule__Uint16__Group__0 : rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ; + // InternalRos.g:12683:1: rule__Uint16__Group__0 : rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ; public final void rule__Uint16__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12579:1: ( rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ) - // InternalRos.g:12580:2: rule__Uint16__Group__0__Impl rule__Uint16__Group__1 + // InternalRos.g:12687:1: ( rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ) + // InternalRos.g:12688:2: rule__Uint16__Group__0__Impl rule__Uint16__Group__1 { pushFollow(FOLLOW_73); rule__Uint16__Group__0__Impl(); @@ -37922,21 +38269,21 @@ public final void rule__Uint16__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__0__Impl" - // InternalRos.g:12587:1: rule__Uint16__Group__0__Impl : ( () ) ; + // InternalRos.g:12695:1: rule__Uint16__Group__0__Impl : ( () ) ; public final void rule__Uint16__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12591:1: ( ( () ) ) - // InternalRos.g:12592:1: ( () ) + // InternalRos.g:12699:1: ( ( () ) ) + // InternalRos.g:12700:1: ( () ) { - // InternalRos.g:12592:1: ( () ) - // InternalRos.g:12593:2: () + // InternalRos.g:12700:1: ( () ) + // InternalRos.g:12701:2: () { before(grammarAccess.getUint16Access().getUint16Action_0()); - // InternalRos.g:12594:2: () - // InternalRos.g:12594:3: + // InternalRos.g:12702:2: () + // InternalRos.g:12702:3: { } @@ -37959,14 +38306,14 @@ public final void rule__Uint16__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__1" - // InternalRos.g:12602:1: rule__Uint16__Group__1 : rule__Uint16__Group__1__Impl ; + // InternalRos.g:12710:1: rule__Uint16__Group__1 : rule__Uint16__Group__1__Impl ; public final void rule__Uint16__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12606:1: ( rule__Uint16__Group__1__Impl ) - // InternalRos.g:12607:2: rule__Uint16__Group__1__Impl + // InternalRos.g:12714:1: ( rule__Uint16__Group__1__Impl ) + // InternalRos.g:12715:2: rule__Uint16__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint16__Group__1__Impl(); @@ -37992,17 +38339,17 @@ public final void rule__Uint16__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__1__Impl" - // InternalRos.g:12613:1: rule__Uint16__Group__1__Impl : ( 'uint16' ) ; + // InternalRos.g:12721:1: rule__Uint16__Group__1__Impl : ( 'uint16' ) ; public final void rule__Uint16__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12617:1: ( ( 'uint16' ) ) - // InternalRos.g:12618:1: ( 'uint16' ) + // InternalRos.g:12725:1: ( ( 'uint16' ) ) + // InternalRos.g:12726:1: ( 'uint16' ) { - // InternalRos.g:12618:1: ( 'uint16' ) - // InternalRos.g:12619:2: 'uint16' + // InternalRos.g:12726:1: ( 'uint16' ) + // InternalRos.g:12727:2: 'uint16' { before(grammarAccess.getUint16Access().getUint16Keyword_1()); match(input,90,FOLLOW_2); @@ -38029,14 +38376,14 @@ public final void rule__Uint16__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int32__Group__0" - // InternalRos.g:12629:1: rule__Int32__Group__0 : rule__Int32__Group__0__Impl rule__Int32__Group__1 ; + // InternalRos.g:12737:1: rule__Int32__Group__0 : rule__Int32__Group__0__Impl rule__Int32__Group__1 ; public final void rule__Int32__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12633:1: ( rule__Int32__Group__0__Impl rule__Int32__Group__1 ) - // InternalRos.g:12634:2: rule__Int32__Group__0__Impl rule__Int32__Group__1 + // InternalRos.g:12741:1: ( rule__Int32__Group__0__Impl rule__Int32__Group__1 ) + // InternalRos.g:12742:2: rule__Int32__Group__0__Impl rule__Int32__Group__1 { pushFollow(FOLLOW_74); rule__Int32__Group__0__Impl(); @@ -38067,21 +38414,21 @@ public final void rule__Int32__Group__0() throws RecognitionException { // $ANTLR start "rule__Int32__Group__0__Impl" - // InternalRos.g:12641:1: rule__Int32__Group__0__Impl : ( () ) ; + // InternalRos.g:12749:1: rule__Int32__Group__0__Impl : ( () ) ; public final void rule__Int32__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12645:1: ( ( () ) ) - // InternalRos.g:12646:1: ( () ) + // InternalRos.g:12753:1: ( ( () ) ) + // InternalRos.g:12754:1: ( () ) { - // InternalRos.g:12646:1: ( () ) - // InternalRos.g:12647:2: () + // InternalRos.g:12754:1: ( () ) + // InternalRos.g:12755:2: () { before(grammarAccess.getInt32Access().getInt32Action_0()); - // InternalRos.g:12648:2: () - // InternalRos.g:12648:3: + // InternalRos.g:12756:2: () + // InternalRos.g:12756:3: { } @@ -38104,14 +38451,14 @@ public final void rule__Int32__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int32__Group__1" - // InternalRos.g:12656:1: rule__Int32__Group__1 : rule__Int32__Group__1__Impl ; + // InternalRos.g:12764:1: rule__Int32__Group__1 : rule__Int32__Group__1__Impl ; public final void rule__Int32__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12660:1: ( rule__Int32__Group__1__Impl ) - // InternalRos.g:12661:2: rule__Int32__Group__1__Impl + // InternalRos.g:12768:1: ( rule__Int32__Group__1__Impl ) + // InternalRos.g:12769:2: rule__Int32__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int32__Group__1__Impl(); @@ -38137,17 +38484,17 @@ public final void rule__Int32__Group__1() throws RecognitionException { // $ANTLR start "rule__Int32__Group__1__Impl" - // InternalRos.g:12667:1: rule__Int32__Group__1__Impl : ( 'int32' ) ; + // InternalRos.g:12775:1: rule__Int32__Group__1__Impl : ( 'int32' ) ; public final void rule__Int32__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12671:1: ( ( 'int32' ) ) - // InternalRos.g:12672:1: ( 'int32' ) + // InternalRos.g:12779:1: ( ( 'int32' ) ) + // InternalRos.g:12780:1: ( 'int32' ) { - // InternalRos.g:12672:1: ( 'int32' ) - // InternalRos.g:12673:2: 'int32' + // InternalRos.g:12780:1: ( 'int32' ) + // InternalRos.g:12781:2: 'int32' { before(grammarAccess.getInt32Access().getInt32Keyword_1()); match(input,91,FOLLOW_2); @@ -38174,14 +38521,14 @@ public final void rule__Int32__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__0" - // InternalRos.g:12683:1: rule__Uint32__Group__0 : rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ; + // InternalRos.g:12791:1: rule__Uint32__Group__0 : rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ; public final void rule__Uint32__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12687:1: ( rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ) - // InternalRos.g:12688:2: rule__Uint32__Group__0__Impl rule__Uint32__Group__1 + // InternalRos.g:12795:1: ( rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ) + // InternalRos.g:12796:2: rule__Uint32__Group__0__Impl rule__Uint32__Group__1 { pushFollow(FOLLOW_75); rule__Uint32__Group__0__Impl(); @@ -38212,21 +38559,21 @@ public final void rule__Uint32__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__0__Impl" - // InternalRos.g:12695:1: rule__Uint32__Group__0__Impl : ( () ) ; + // InternalRos.g:12803:1: rule__Uint32__Group__0__Impl : ( () ) ; public final void rule__Uint32__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12699:1: ( ( () ) ) - // InternalRos.g:12700:1: ( () ) + // InternalRos.g:12807:1: ( ( () ) ) + // InternalRos.g:12808:1: ( () ) { - // InternalRos.g:12700:1: ( () ) - // InternalRos.g:12701:2: () + // InternalRos.g:12808:1: ( () ) + // InternalRos.g:12809:2: () { before(grammarAccess.getUint32Access().getUint32Action_0()); - // InternalRos.g:12702:2: () - // InternalRos.g:12702:3: + // InternalRos.g:12810:2: () + // InternalRos.g:12810:3: { } @@ -38249,14 +38596,14 @@ public final void rule__Uint32__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__1" - // InternalRos.g:12710:1: rule__Uint32__Group__1 : rule__Uint32__Group__1__Impl ; + // InternalRos.g:12818:1: rule__Uint32__Group__1 : rule__Uint32__Group__1__Impl ; public final void rule__Uint32__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12714:1: ( rule__Uint32__Group__1__Impl ) - // InternalRos.g:12715:2: rule__Uint32__Group__1__Impl + // InternalRos.g:12822:1: ( rule__Uint32__Group__1__Impl ) + // InternalRos.g:12823:2: rule__Uint32__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint32__Group__1__Impl(); @@ -38282,17 +38629,17 @@ public final void rule__Uint32__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__1__Impl" - // InternalRos.g:12721:1: rule__Uint32__Group__1__Impl : ( 'uint32' ) ; + // InternalRos.g:12829:1: rule__Uint32__Group__1__Impl : ( 'uint32' ) ; public final void rule__Uint32__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12725:1: ( ( 'uint32' ) ) - // InternalRos.g:12726:1: ( 'uint32' ) + // InternalRos.g:12833:1: ( ( 'uint32' ) ) + // InternalRos.g:12834:1: ( 'uint32' ) { - // InternalRos.g:12726:1: ( 'uint32' ) - // InternalRos.g:12727:2: 'uint32' + // InternalRos.g:12834:1: ( 'uint32' ) + // InternalRos.g:12835:2: 'uint32' { before(grammarAccess.getUint32Access().getUint32Keyword_1()); match(input,92,FOLLOW_2); @@ -38319,14 +38666,14 @@ public final void rule__Uint32__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int64__Group__0" - // InternalRos.g:12737:1: rule__Int64__Group__0 : rule__Int64__Group__0__Impl rule__Int64__Group__1 ; + // InternalRos.g:12845:1: rule__Int64__Group__0 : rule__Int64__Group__0__Impl rule__Int64__Group__1 ; public final void rule__Int64__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12741:1: ( rule__Int64__Group__0__Impl rule__Int64__Group__1 ) - // InternalRos.g:12742:2: rule__Int64__Group__0__Impl rule__Int64__Group__1 + // InternalRos.g:12849:1: ( rule__Int64__Group__0__Impl rule__Int64__Group__1 ) + // InternalRos.g:12850:2: rule__Int64__Group__0__Impl rule__Int64__Group__1 { pushFollow(FOLLOW_76); rule__Int64__Group__0__Impl(); @@ -38357,21 +38704,21 @@ public final void rule__Int64__Group__0() throws RecognitionException { // $ANTLR start "rule__Int64__Group__0__Impl" - // InternalRos.g:12749:1: rule__Int64__Group__0__Impl : ( () ) ; + // InternalRos.g:12857:1: rule__Int64__Group__0__Impl : ( () ) ; public final void rule__Int64__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12753:1: ( ( () ) ) - // InternalRos.g:12754:1: ( () ) + // InternalRos.g:12861:1: ( ( () ) ) + // InternalRos.g:12862:1: ( () ) { - // InternalRos.g:12754:1: ( () ) - // InternalRos.g:12755:2: () + // InternalRos.g:12862:1: ( () ) + // InternalRos.g:12863:2: () { before(grammarAccess.getInt64Access().getInt64Action_0()); - // InternalRos.g:12756:2: () - // InternalRos.g:12756:3: + // InternalRos.g:12864:2: () + // InternalRos.g:12864:3: { } @@ -38394,14 +38741,14 @@ public final void rule__Int64__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int64__Group__1" - // InternalRos.g:12764:1: rule__Int64__Group__1 : rule__Int64__Group__1__Impl ; + // InternalRos.g:12872:1: rule__Int64__Group__1 : rule__Int64__Group__1__Impl ; public final void rule__Int64__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12768:1: ( rule__Int64__Group__1__Impl ) - // InternalRos.g:12769:2: rule__Int64__Group__1__Impl + // InternalRos.g:12876:1: ( rule__Int64__Group__1__Impl ) + // InternalRos.g:12877:2: rule__Int64__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int64__Group__1__Impl(); @@ -38427,17 +38774,17 @@ public final void rule__Int64__Group__1() throws RecognitionException { // $ANTLR start "rule__Int64__Group__1__Impl" - // InternalRos.g:12775:1: rule__Int64__Group__1__Impl : ( 'int64' ) ; + // InternalRos.g:12883:1: rule__Int64__Group__1__Impl : ( 'int64' ) ; public final void rule__Int64__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12779:1: ( ( 'int64' ) ) - // InternalRos.g:12780:1: ( 'int64' ) + // InternalRos.g:12887:1: ( ( 'int64' ) ) + // InternalRos.g:12888:1: ( 'int64' ) { - // InternalRos.g:12780:1: ( 'int64' ) - // InternalRos.g:12781:2: 'int64' + // InternalRos.g:12888:1: ( 'int64' ) + // InternalRos.g:12889:2: 'int64' { before(grammarAccess.getInt64Access().getInt64Keyword_1()); match(input,93,FOLLOW_2); @@ -38464,14 +38811,14 @@ public final void rule__Int64__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__0" - // InternalRos.g:12791:1: rule__Uint64__Group__0 : rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ; + // InternalRos.g:12899:1: rule__Uint64__Group__0 : rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ; public final void rule__Uint64__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12795:1: ( rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ) - // InternalRos.g:12796:2: rule__Uint64__Group__0__Impl rule__Uint64__Group__1 + // InternalRos.g:12903:1: ( rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ) + // InternalRos.g:12904:2: rule__Uint64__Group__0__Impl rule__Uint64__Group__1 { pushFollow(FOLLOW_77); rule__Uint64__Group__0__Impl(); @@ -38502,21 +38849,21 @@ public final void rule__Uint64__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__0__Impl" - // InternalRos.g:12803:1: rule__Uint64__Group__0__Impl : ( () ) ; + // InternalRos.g:12911:1: rule__Uint64__Group__0__Impl : ( () ) ; public final void rule__Uint64__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12807:1: ( ( () ) ) - // InternalRos.g:12808:1: ( () ) + // InternalRos.g:12915:1: ( ( () ) ) + // InternalRos.g:12916:1: ( () ) { - // InternalRos.g:12808:1: ( () ) - // InternalRos.g:12809:2: () + // InternalRos.g:12916:1: ( () ) + // InternalRos.g:12917:2: () { before(grammarAccess.getUint64Access().getUint64Action_0()); - // InternalRos.g:12810:2: () - // InternalRos.g:12810:3: + // InternalRos.g:12918:2: () + // InternalRos.g:12918:3: { } @@ -38539,14 +38886,14 @@ public final void rule__Uint64__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__1" - // InternalRos.g:12818:1: rule__Uint64__Group__1 : rule__Uint64__Group__1__Impl ; + // InternalRos.g:12926:1: rule__Uint64__Group__1 : rule__Uint64__Group__1__Impl ; public final void rule__Uint64__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12822:1: ( rule__Uint64__Group__1__Impl ) - // InternalRos.g:12823:2: rule__Uint64__Group__1__Impl + // InternalRos.g:12930:1: ( rule__Uint64__Group__1__Impl ) + // InternalRos.g:12931:2: rule__Uint64__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint64__Group__1__Impl(); @@ -38572,17 +38919,17 @@ public final void rule__Uint64__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__1__Impl" - // InternalRos.g:12829:1: rule__Uint64__Group__1__Impl : ( 'uint64' ) ; + // InternalRos.g:12937:1: rule__Uint64__Group__1__Impl : ( 'uint64' ) ; public final void rule__Uint64__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12833:1: ( ( 'uint64' ) ) - // InternalRos.g:12834:1: ( 'uint64' ) + // InternalRos.g:12941:1: ( ( 'uint64' ) ) + // InternalRos.g:12942:1: ( 'uint64' ) { - // InternalRos.g:12834:1: ( 'uint64' ) - // InternalRos.g:12835:2: 'uint64' + // InternalRos.g:12942:1: ( 'uint64' ) + // InternalRos.g:12943:2: 'uint64' { before(grammarAccess.getUint64Access().getUint64Keyword_1()); match(input,94,FOLLOW_2); @@ -38609,14 +38956,14 @@ public final void rule__Uint64__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Float32__Group__0" - // InternalRos.g:12845:1: rule__Float32__Group__0 : rule__Float32__Group__0__Impl rule__Float32__Group__1 ; + // InternalRos.g:12953:1: rule__Float32__Group__0 : rule__Float32__Group__0__Impl rule__Float32__Group__1 ; public final void rule__Float32__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12849:1: ( rule__Float32__Group__0__Impl rule__Float32__Group__1 ) - // InternalRos.g:12850:2: rule__Float32__Group__0__Impl rule__Float32__Group__1 + // InternalRos.g:12957:1: ( rule__Float32__Group__0__Impl rule__Float32__Group__1 ) + // InternalRos.g:12958:2: rule__Float32__Group__0__Impl rule__Float32__Group__1 { pushFollow(FOLLOW_78); rule__Float32__Group__0__Impl(); @@ -38647,21 +38994,21 @@ public final void rule__Float32__Group__0() throws RecognitionException { // $ANTLR start "rule__Float32__Group__0__Impl" - // InternalRos.g:12857:1: rule__Float32__Group__0__Impl : ( () ) ; + // InternalRos.g:12965:1: rule__Float32__Group__0__Impl : ( () ) ; public final void rule__Float32__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12861:1: ( ( () ) ) - // InternalRos.g:12862:1: ( () ) + // InternalRos.g:12969:1: ( ( () ) ) + // InternalRos.g:12970:1: ( () ) { - // InternalRos.g:12862:1: ( () ) - // InternalRos.g:12863:2: () + // InternalRos.g:12970:1: ( () ) + // InternalRos.g:12971:2: () { before(grammarAccess.getFloat32Access().getFloat32Action_0()); - // InternalRos.g:12864:2: () - // InternalRos.g:12864:3: + // InternalRos.g:12972:2: () + // InternalRos.g:12972:3: { } @@ -38684,14 +39031,14 @@ public final void rule__Float32__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Float32__Group__1" - // InternalRos.g:12872:1: rule__Float32__Group__1 : rule__Float32__Group__1__Impl ; + // InternalRos.g:12980:1: rule__Float32__Group__1 : rule__Float32__Group__1__Impl ; public final void rule__Float32__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12876:1: ( rule__Float32__Group__1__Impl ) - // InternalRos.g:12877:2: rule__Float32__Group__1__Impl + // InternalRos.g:12984:1: ( rule__Float32__Group__1__Impl ) + // InternalRos.g:12985:2: rule__Float32__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float32__Group__1__Impl(); @@ -38717,17 +39064,17 @@ public final void rule__Float32__Group__1() throws RecognitionException { // $ANTLR start "rule__Float32__Group__1__Impl" - // InternalRos.g:12883:1: rule__Float32__Group__1__Impl : ( 'float32' ) ; + // InternalRos.g:12991:1: rule__Float32__Group__1__Impl : ( 'float32' ) ; public final void rule__Float32__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12887:1: ( ( 'float32' ) ) - // InternalRos.g:12888:1: ( 'float32' ) + // InternalRos.g:12995:1: ( ( 'float32' ) ) + // InternalRos.g:12996:1: ( 'float32' ) { - // InternalRos.g:12888:1: ( 'float32' ) - // InternalRos.g:12889:2: 'float32' + // InternalRos.g:12996:1: ( 'float32' ) + // InternalRos.g:12997:2: 'float32' { before(grammarAccess.getFloat32Access().getFloat32Keyword_1()); match(input,95,FOLLOW_2); @@ -38754,14 +39101,14 @@ public final void rule__Float32__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Float64__Group__0" - // InternalRos.g:12899:1: rule__Float64__Group__0 : rule__Float64__Group__0__Impl rule__Float64__Group__1 ; + // InternalRos.g:13007:1: rule__Float64__Group__0 : rule__Float64__Group__0__Impl rule__Float64__Group__1 ; public final void rule__Float64__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12903:1: ( rule__Float64__Group__0__Impl rule__Float64__Group__1 ) - // InternalRos.g:12904:2: rule__Float64__Group__0__Impl rule__Float64__Group__1 + // InternalRos.g:13011:1: ( rule__Float64__Group__0__Impl rule__Float64__Group__1 ) + // InternalRos.g:13012:2: rule__Float64__Group__0__Impl rule__Float64__Group__1 { pushFollow(FOLLOW_79); rule__Float64__Group__0__Impl(); @@ -38792,21 +39139,21 @@ public final void rule__Float64__Group__0() throws RecognitionException { // $ANTLR start "rule__Float64__Group__0__Impl" - // InternalRos.g:12911:1: rule__Float64__Group__0__Impl : ( () ) ; + // InternalRos.g:13019:1: rule__Float64__Group__0__Impl : ( () ) ; public final void rule__Float64__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12915:1: ( ( () ) ) - // InternalRos.g:12916:1: ( () ) + // InternalRos.g:13023:1: ( ( () ) ) + // InternalRos.g:13024:1: ( () ) { - // InternalRos.g:12916:1: ( () ) - // InternalRos.g:12917:2: () + // InternalRos.g:13024:1: ( () ) + // InternalRos.g:13025:2: () { before(grammarAccess.getFloat64Access().getFloat64Action_0()); - // InternalRos.g:12918:2: () - // InternalRos.g:12918:3: + // InternalRos.g:13026:2: () + // InternalRos.g:13026:3: { } @@ -38829,14 +39176,14 @@ public final void rule__Float64__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Float64__Group__1" - // InternalRos.g:12926:1: rule__Float64__Group__1 : rule__Float64__Group__1__Impl ; + // InternalRos.g:13034:1: rule__Float64__Group__1 : rule__Float64__Group__1__Impl ; public final void rule__Float64__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12930:1: ( rule__Float64__Group__1__Impl ) - // InternalRos.g:12931:2: rule__Float64__Group__1__Impl + // InternalRos.g:13038:1: ( rule__Float64__Group__1__Impl ) + // InternalRos.g:13039:2: rule__Float64__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float64__Group__1__Impl(); @@ -38862,17 +39209,17 @@ public final void rule__Float64__Group__1() throws RecognitionException { // $ANTLR start "rule__Float64__Group__1__Impl" - // InternalRos.g:12937:1: rule__Float64__Group__1__Impl : ( 'float64' ) ; + // InternalRos.g:13045:1: rule__Float64__Group__1__Impl : ( 'float64' ) ; public final void rule__Float64__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12941:1: ( ( 'float64' ) ) - // InternalRos.g:12942:1: ( 'float64' ) + // InternalRos.g:13049:1: ( ( 'float64' ) ) + // InternalRos.g:13050:1: ( 'float64' ) { - // InternalRos.g:12942:1: ( 'float64' ) - // InternalRos.g:12943:2: 'float64' + // InternalRos.g:13050:1: ( 'float64' ) + // InternalRos.g:13051:2: 'float64' { before(grammarAccess.getFloat64Access().getFloat64Keyword_1()); match(input,96,FOLLOW_2); @@ -38899,14 +39246,14 @@ public final void rule__Float64__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__String0__Group__0" - // InternalRos.g:12953:1: rule__String0__Group__0 : rule__String0__Group__0__Impl rule__String0__Group__1 ; + // InternalRos.g:13061:1: rule__String0__Group__0 : rule__String0__Group__0__Impl rule__String0__Group__1 ; public final void rule__String0__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12957:1: ( rule__String0__Group__0__Impl rule__String0__Group__1 ) - // InternalRos.g:12958:2: rule__String0__Group__0__Impl rule__String0__Group__1 + // InternalRos.g:13065:1: ( rule__String0__Group__0__Impl rule__String0__Group__1 ) + // InternalRos.g:13066:2: rule__String0__Group__0__Impl rule__String0__Group__1 { pushFollow(FOLLOW_80); rule__String0__Group__0__Impl(); @@ -38937,21 +39284,21 @@ public final void rule__String0__Group__0() throws RecognitionException { // $ANTLR start "rule__String0__Group__0__Impl" - // InternalRos.g:12965:1: rule__String0__Group__0__Impl : ( () ) ; + // InternalRos.g:13073:1: rule__String0__Group__0__Impl : ( () ) ; public final void rule__String0__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12969:1: ( ( () ) ) - // InternalRos.g:12970:1: ( () ) + // InternalRos.g:13077:1: ( ( () ) ) + // InternalRos.g:13078:1: ( () ) { - // InternalRos.g:12970:1: ( () ) - // InternalRos.g:12971:2: () + // InternalRos.g:13078:1: ( () ) + // InternalRos.g:13079:2: () { before(grammarAccess.getString0Access().getStringAction_0()); - // InternalRos.g:12972:2: () - // InternalRos.g:12972:3: + // InternalRos.g:13080:2: () + // InternalRos.g:13080:3: { } @@ -38974,14 +39321,14 @@ public final void rule__String0__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__String0__Group__1" - // InternalRos.g:12980:1: rule__String0__Group__1 : rule__String0__Group__1__Impl ; + // InternalRos.g:13088:1: rule__String0__Group__1 : rule__String0__Group__1__Impl ; public final void rule__String0__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12984:1: ( rule__String0__Group__1__Impl ) - // InternalRos.g:12985:2: rule__String0__Group__1__Impl + // InternalRos.g:13092:1: ( rule__String0__Group__1__Impl ) + // InternalRos.g:13093:2: rule__String0__Group__1__Impl { pushFollow(FOLLOW_2); rule__String0__Group__1__Impl(); @@ -39007,17 +39354,17 @@ public final void rule__String0__Group__1() throws RecognitionException { // $ANTLR start "rule__String0__Group__1__Impl" - // InternalRos.g:12991:1: rule__String0__Group__1__Impl : ( 'string' ) ; + // InternalRos.g:13099:1: rule__String0__Group__1__Impl : ( 'string' ) ; public final void rule__String0__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12995:1: ( ( 'string' ) ) - // InternalRos.g:12996:1: ( 'string' ) + // InternalRos.g:13103:1: ( ( 'string' ) ) + // InternalRos.g:13104:1: ( 'string' ) { - // InternalRos.g:12996:1: ( 'string' ) - // InternalRos.g:12997:2: 'string' + // InternalRos.g:13104:1: ( 'string' ) + // InternalRos.g:13105:2: 'string' { before(grammarAccess.getString0Access().getStringKeyword_1()); match(input,97,FOLLOW_2); @@ -39044,14 +39391,14 @@ public final void rule__String0__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Byte__Group__0" - // InternalRos.g:13007:1: rule__Byte__Group__0 : rule__Byte__Group__0__Impl rule__Byte__Group__1 ; + // InternalRos.g:13115:1: rule__Byte__Group__0 : rule__Byte__Group__0__Impl rule__Byte__Group__1 ; public final void rule__Byte__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13011:1: ( rule__Byte__Group__0__Impl rule__Byte__Group__1 ) - // InternalRos.g:13012:2: rule__Byte__Group__0__Impl rule__Byte__Group__1 + // InternalRos.g:13119:1: ( rule__Byte__Group__0__Impl rule__Byte__Group__1 ) + // InternalRos.g:13120:2: rule__Byte__Group__0__Impl rule__Byte__Group__1 { pushFollow(FOLLOW_81); rule__Byte__Group__0__Impl(); @@ -39082,21 +39429,21 @@ public final void rule__Byte__Group__0() throws RecognitionException { // $ANTLR start "rule__Byte__Group__0__Impl" - // InternalRos.g:13019:1: rule__Byte__Group__0__Impl : ( () ) ; + // InternalRos.g:13127:1: rule__Byte__Group__0__Impl : ( () ) ; public final void rule__Byte__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13023:1: ( ( () ) ) - // InternalRos.g:13024:1: ( () ) + // InternalRos.g:13131:1: ( ( () ) ) + // InternalRos.g:13132:1: ( () ) { - // InternalRos.g:13024:1: ( () ) - // InternalRos.g:13025:2: () + // InternalRos.g:13132:1: ( () ) + // InternalRos.g:13133:2: () { before(grammarAccess.getByteAccess().getByteAction_0()); - // InternalRos.g:13026:2: () - // InternalRos.g:13026:3: + // InternalRos.g:13134:2: () + // InternalRos.g:13134:3: { } @@ -39119,14 +39466,14 @@ public final void rule__Byte__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Byte__Group__1" - // InternalRos.g:13034:1: rule__Byte__Group__1 : rule__Byte__Group__1__Impl ; + // InternalRos.g:13142:1: rule__Byte__Group__1 : rule__Byte__Group__1__Impl ; public final void rule__Byte__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13038:1: ( rule__Byte__Group__1__Impl ) - // InternalRos.g:13039:2: rule__Byte__Group__1__Impl + // InternalRos.g:13146:1: ( rule__Byte__Group__1__Impl ) + // InternalRos.g:13147:2: rule__Byte__Group__1__Impl { pushFollow(FOLLOW_2); rule__Byte__Group__1__Impl(); @@ -39152,17 +39499,17 @@ public final void rule__Byte__Group__1() throws RecognitionException { // $ANTLR start "rule__Byte__Group__1__Impl" - // InternalRos.g:13045:1: rule__Byte__Group__1__Impl : ( 'byte' ) ; + // InternalRos.g:13153:1: rule__Byte__Group__1__Impl : ( 'byte' ) ; public final void rule__Byte__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13049:1: ( ( 'byte' ) ) - // InternalRos.g:13050:1: ( 'byte' ) + // InternalRos.g:13157:1: ( ( 'byte' ) ) + // InternalRos.g:13158:1: ( 'byte' ) { - // InternalRos.g:13050:1: ( 'byte' ) - // InternalRos.g:13051:2: 'byte' + // InternalRos.g:13158:1: ( 'byte' ) + // InternalRos.g:13159:2: 'byte' { before(grammarAccess.getByteAccess().getByteKeyword_1()); match(input,98,FOLLOW_2); @@ -39189,14 +39536,14 @@ public final void rule__Byte__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Time__Group__0" - // InternalRos.g:13061:1: rule__Time__Group__0 : rule__Time__Group__0__Impl rule__Time__Group__1 ; + // InternalRos.g:13169:1: rule__Time__Group__0 : rule__Time__Group__0__Impl rule__Time__Group__1 ; public final void rule__Time__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13065:1: ( rule__Time__Group__0__Impl rule__Time__Group__1 ) - // InternalRos.g:13066:2: rule__Time__Group__0__Impl rule__Time__Group__1 + // InternalRos.g:13173:1: ( rule__Time__Group__0__Impl rule__Time__Group__1 ) + // InternalRos.g:13174:2: rule__Time__Group__0__Impl rule__Time__Group__1 { pushFollow(FOLLOW_82); rule__Time__Group__0__Impl(); @@ -39227,21 +39574,21 @@ public final void rule__Time__Group__0() throws RecognitionException { // $ANTLR start "rule__Time__Group__0__Impl" - // InternalRos.g:13073:1: rule__Time__Group__0__Impl : ( () ) ; + // InternalRos.g:13181:1: rule__Time__Group__0__Impl : ( () ) ; public final void rule__Time__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13077:1: ( ( () ) ) - // InternalRos.g:13078:1: ( () ) + // InternalRos.g:13185:1: ( ( () ) ) + // InternalRos.g:13186:1: ( () ) { - // InternalRos.g:13078:1: ( () ) - // InternalRos.g:13079:2: () + // InternalRos.g:13186:1: ( () ) + // InternalRos.g:13187:2: () { before(grammarAccess.getTimeAccess().getTimeAction_0()); - // InternalRos.g:13080:2: () - // InternalRos.g:13080:3: + // InternalRos.g:13188:2: () + // InternalRos.g:13188:3: { } @@ -39264,14 +39611,14 @@ public final void rule__Time__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Time__Group__1" - // InternalRos.g:13088:1: rule__Time__Group__1 : rule__Time__Group__1__Impl ; + // InternalRos.g:13196:1: rule__Time__Group__1 : rule__Time__Group__1__Impl ; public final void rule__Time__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13092:1: ( rule__Time__Group__1__Impl ) - // InternalRos.g:13093:2: rule__Time__Group__1__Impl + // InternalRos.g:13200:1: ( rule__Time__Group__1__Impl ) + // InternalRos.g:13201:2: rule__Time__Group__1__Impl { pushFollow(FOLLOW_2); rule__Time__Group__1__Impl(); @@ -39297,17 +39644,17 @@ public final void rule__Time__Group__1() throws RecognitionException { // $ANTLR start "rule__Time__Group__1__Impl" - // InternalRos.g:13099:1: rule__Time__Group__1__Impl : ( 'time' ) ; + // InternalRos.g:13207:1: rule__Time__Group__1__Impl : ( 'time' ) ; public final void rule__Time__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13103:1: ( ( 'time' ) ) - // InternalRos.g:13104:1: ( 'time' ) + // InternalRos.g:13211:1: ( ( 'time' ) ) + // InternalRos.g:13212:1: ( 'time' ) { - // InternalRos.g:13104:1: ( 'time' ) - // InternalRos.g:13105:2: 'time' + // InternalRos.g:13212:1: ( 'time' ) + // InternalRos.g:13213:2: 'time' { before(grammarAccess.getTimeAccess().getTimeKeyword_1()); match(input,39,FOLLOW_2); @@ -39334,14 +39681,14 @@ public final void rule__Time__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Duration__Group__0" - // InternalRos.g:13115:1: rule__Duration__Group__0 : rule__Duration__Group__0__Impl rule__Duration__Group__1 ; + // InternalRos.g:13223:1: rule__Duration__Group__0 : rule__Duration__Group__0__Impl rule__Duration__Group__1 ; public final void rule__Duration__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13119:1: ( rule__Duration__Group__0__Impl rule__Duration__Group__1 ) - // InternalRos.g:13120:2: rule__Duration__Group__0__Impl rule__Duration__Group__1 + // InternalRos.g:13227:1: ( rule__Duration__Group__0__Impl rule__Duration__Group__1 ) + // InternalRos.g:13228:2: rule__Duration__Group__0__Impl rule__Duration__Group__1 { pushFollow(FOLLOW_83); rule__Duration__Group__0__Impl(); @@ -39372,21 +39719,21 @@ public final void rule__Duration__Group__0() throws RecognitionException { // $ANTLR start "rule__Duration__Group__0__Impl" - // InternalRos.g:13127:1: rule__Duration__Group__0__Impl : ( () ) ; + // InternalRos.g:13235:1: rule__Duration__Group__0__Impl : ( () ) ; public final void rule__Duration__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13131:1: ( ( () ) ) - // InternalRos.g:13132:1: ( () ) + // InternalRos.g:13239:1: ( ( () ) ) + // InternalRos.g:13240:1: ( () ) { - // InternalRos.g:13132:1: ( () ) - // InternalRos.g:13133:2: () + // InternalRos.g:13240:1: ( () ) + // InternalRos.g:13241:2: () { before(grammarAccess.getDurationAccess().getDurationAction_0()); - // InternalRos.g:13134:2: () - // InternalRos.g:13134:3: + // InternalRos.g:13242:2: () + // InternalRos.g:13242:3: { } @@ -39409,14 +39756,14 @@ public final void rule__Duration__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Duration__Group__1" - // InternalRos.g:13142:1: rule__Duration__Group__1 : rule__Duration__Group__1__Impl ; + // InternalRos.g:13250:1: rule__Duration__Group__1 : rule__Duration__Group__1__Impl ; public final void rule__Duration__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13146:1: ( rule__Duration__Group__1__Impl ) - // InternalRos.g:13147:2: rule__Duration__Group__1__Impl + // InternalRos.g:13254:1: ( rule__Duration__Group__1__Impl ) + // InternalRos.g:13255:2: rule__Duration__Group__1__Impl { pushFollow(FOLLOW_2); rule__Duration__Group__1__Impl(); @@ -39442,17 +39789,17 @@ public final void rule__Duration__Group__1() throws RecognitionException { // $ANTLR start "rule__Duration__Group__1__Impl" - // InternalRos.g:13153:1: rule__Duration__Group__1__Impl : ( 'duration' ) ; + // InternalRos.g:13261:1: rule__Duration__Group__1__Impl : ( 'duration' ) ; public final void rule__Duration__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13157:1: ( ( 'duration' ) ) - // InternalRos.g:13158:1: ( 'duration' ) + // InternalRos.g:13265:1: ( ( 'duration' ) ) + // InternalRos.g:13266:1: ( 'duration' ) { - // InternalRos.g:13158:1: ( 'duration' ) - // InternalRos.g:13159:2: 'duration' + // InternalRos.g:13266:1: ( 'duration' ) + // InternalRos.g:13267:2: 'duration' { before(grammarAccess.getDurationAccess().getDurationKeyword_1()); match(input,38,FOLLOW_2); @@ -39479,14 +39826,14 @@ public final void rule__Duration__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__BoolArray__Group__0" - // InternalRos.g:13169:1: rule__BoolArray__Group__0 : rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ; + // InternalRos.g:13277:1: rule__BoolArray__Group__0 : rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ; public final void rule__BoolArray__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13173:1: ( rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ) - // InternalRos.g:13174:2: rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 + // InternalRos.g:13281:1: ( rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ) + // InternalRos.g:13282:2: rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 { pushFollow(FOLLOW_84); rule__BoolArray__Group__0__Impl(); @@ -39517,21 +39864,21 @@ public final void rule__BoolArray__Group__0() throws RecognitionException { // $ANTLR start "rule__BoolArray__Group__0__Impl" - // InternalRos.g:13181:1: rule__BoolArray__Group__0__Impl : ( () ) ; + // InternalRos.g:13289:1: rule__BoolArray__Group__0__Impl : ( () ) ; public final void rule__BoolArray__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13185:1: ( ( () ) ) - // InternalRos.g:13186:1: ( () ) + // InternalRos.g:13293:1: ( ( () ) ) + // InternalRos.g:13294:1: ( () ) { - // InternalRos.g:13186:1: ( () ) - // InternalRos.g:13187:2: () + // InternalRos.g:13294:1: ( () ) + // InternalRos.g:13295:2: () { before(grammarAccess.getBoolArrayAccess().getBoolArrayAction_0()); - // InternalRos.g:13188:2: () - // InternalRos.g:13188:3: + // InternalRos.g:13296:2: () + // InternalRos.g:13296:3: { } @@ -39554,14 +39901,14 @@ public final void rule__BoolArray__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__BoolArray__Group__1" - // InternalRos.g:13196:1: rule__BoolArray__Group__1 : rule__BoolArray__Group__1__Impl ; + // InternalRos.g:13304:1: rule__BoolArray__Group__1 : rule__BoolArray__Group__1__Impl ; public final void rule__BoolArray__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13200:1: ( rule__BoolArray__Group__1__Impl ) - // InternalRos.g:13201:2: rule__BoolArray__Group__1__Impl + // InternalRos.g:13308:1: ( rule__BoolArray__Group__1__Impl ) + // InternalRos.g:13309:2: rule__BoolArray__Group__1__Impl { pushFollow(FOLLOW_2); rule__BoolArray__Group__1__Impl(); @@ -39587,17 +39934,17 @@ public final void rule__BoolArray__Group__1() throws RecognitionException { // $ANTLR start "rule__BoolArray__Group__1__Impl" - // InternalRos.g:13207:1: rule__BoolArray__Group__1__Impl : ( 'bool[]' ) ; + // InternalRos.g:13315:1: rule__BoolArray__Group__1__Impl : ( 'bool[]' ) ; public final void rule__BoolArray__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13211:1: ( ( 'bool[]' ) ) - // InternalRos.g:13212:1: ( 'bool[]' ) + // InternalRos.g:13319:1: ( ( 'bool[]' ) ) + // InternalRos.g:13320:1: ( 'bool[]' ) { - // InternalRos.g:13212:1: ( 'bool[]' ) - // InternalRos.g:13213:2: 'bool[]' + // InternalRos.g:13320:1: ( 'bool[]' ) + // InternalRos.g:13321:2: 'bool[]' { before(grammarAccess.getBoolArrayAccess().getBoolKeyword_1()); match(input,99,FOLLOW_2); @@ -39624,14 +39971,14 @@ public final void rule__BoolArray__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Int8Array__Group__0" - // InternalRos.g:13223:1: rule__Int8Array__Group__0 : rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ; + // InternalRos.g:13331:1: rule__Int8Array__Group__0 : rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ; public final void rule__Int8Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13227:1: ( rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ) - // InternalRos.g:13228:2: rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 + // InternalRos.g:13335:1: ( rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ) + // InternalRos.g:13336:2: rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 { pushFollow(FOLLOW_85); rule__Int8Array__Group__0__Impl(); @@ -39662,21 +40009,21 @@ public final void rule__Int8Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int8Array__Group__0__Impl" - // InternalRos.g:13235:1: rule__Int8Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13343:1: rule__Int8Array__Group__0__Impl : ( () ) ; public final void rule__Int8Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13239:1: ( ( () ) ) - // InternalRos.g:13240:1: ( () ) + // InternalRos.g:13347:1: ( ( () ) ) + // InternalRos.g:13348:1: ( () ) { - // InternalRos.g:13240:1: ( () ) - // InternalRos.g:13241:2: () + // InternalRos.g:13348:1: ( () ) + // InternalRos.g:13349:2: () { before(grammarAccess.getInt8ArrayAccess().getInt8ArrayAction_0()); - // InternalRos.g:13242:2: () - // InternalRos.g:13242:3: + // InternalRos.g:13350:2: () + // InternalRos.g:13350:3: { } @@ -39699,14 +40046,14 @@ public final void rule__Int8Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int8Array__Group__1" - // InternalRos.g:13250:1: rule__Int8Array__Group__1 : rule__Int8Array__Group__1__Impl ; + // InternalRos.g:13358:1: rule__Int8Array__Group__1 : rule__Int8Array__Group__1__Impl ; public final void rule__Int8Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13254:1: ( rule__Int8Array__Group__1__Impl ) - // InternalRos.g:13255:2: rule__Int8Array__Group__1__Impl + // InternalRos.g:13362:1: ( rule__Int8Array__Group__1__Impl ) + // InternalRos.g:13363:2: rule__Int8Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int8Array__Group__1__Impl(); @@ -39732,17 +40079,17 @@ public final void rule__Int8Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int8Array__Group__1__Impl" - // InternalRos.g:13261:1: rule__Int8Array__Group__1__Impl : ( 'int8[]' ) ; + // InternalRos.g:13369:1: rule__Int8Array__Group__1__Impl : ( 'int8[]' ) ; public final void rule__Int8Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13265:1: ( ( 'int8[]' ) ) - // InternalRos.g:13266:1: ( 'int8[]' ) + // InternalRos.g:13373:1: ( ( 'int8[]' ) ) + // InternalRos.g:13374:1: ( 'int8[]' ) { - // InternalRos.g:13266:1: ( 'int8[]' ) - // InternalRos.g:13267:2: 'int8[]' + // InternalRos.g:13374:1: ( 'int8[]' ) + // InternalRos.g:13375:2: 'int8[]' { before(grammarAccess.getInt8ArrayAccess().getInt8Keyword_1()); match(input,100,FOLLOW_2); @@ -39769,14 +40116,14 @@ public final void rule__Int8Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint8Array__Group__0" - // InternalRos.g:13277:1: rule__Uint8Array__Group__0 : rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ; + // InternalRos.g:13385:1: rule__Uint8Array__Group__0 : rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ; public final void rule__Uint8Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13281:1: ( rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ) - // InternalRos.g:13282:2: rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 + // InternalRos.g:13389:1: ( rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ) + // InternalRos.g:13390:2: rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 { pushFollow(FOLLOW_86); rule__Uint8Array__Group__0__Impl(); @@ -39807,21 +40154,21 @@ public final void rule__Uint8Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint8Array__Group__0__Impl" - // InternalRos.g:13289:1: rule__Uint8Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13397:1: rule__Uint8Array__Group__0__Impl : ( () ) ; public final void rule__Uint8Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13293:1: ( ( () ) ) - // InternalRos.g:13294:1: ( () ) + // InternalRos.g:13401:1: ( ( () ) ) + // InternalRos.g:13402:1: ( () ) { - // InternalRos.g:13294:1: ( () ) - // InternalRos.g:13295:2: () + // InternalRos.g:13402:1: ( () ) + // InternalRos.g:13403:2: () { before(grammarAccess.getUint8ArrayAccess().getUint8ArrayAction_0()); - // InternalRos.g:13296:2: () - // InternalRos.g:13296:3: + // InternalRos.g:13404:2: () + // InternalRos.g:13404:3: { } @@ -39844,14 +40191,14 @@ public final void rule__Uint8Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Uint8Array__Group__1" - // InternalRos.g:13304:1: rule__Uint8Array__Group__1 : rule__Uint8Array__Group__1__Impl ; + // InternalRos.g:13412:1: rule__Uint8Array__Group__1 : rule__Uint8Array__Group__1__Impl ; public final void rule__Uint8Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13308:1: ( rule__Uint8Array__Group__1__Impl ) - // InternalRos.g:13309:2: rule__Uint8Array__Group__1__Impl + // InternalRos.g:13416:1: ( rule__Uint8Array__Group__1__Impl ) + // InternalRos.g:13417:2: rule__Uint8Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint8Array__Group__1__Impl(); @@ -39877,17 +40224,17 @@ public final void rule__Uint8Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint8Array__Group__1__Impl" - // InternalRos.g:13315:1: rule__Uint8Array__Group__1__Impl : ( 'uint8[]' ) ; + // InternalRos.g:13423:1: rule__Uint8Array__Group__1__Impl : ( 'uint8[]' ) ; public final void rule__Uint8Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13319:1: ( ( 'uint8[]' ) ) - // InternalRos.g:13320:1: ( 'uint8[]' ) + // InternalRos.g:13427:1: ( ( 'uint8[]' ) ) + // InternalRos.g:13428:1: ( 'uint8[]' ) { - // InternalRos.g:13320:1: ( 'uint8[]' ) - // InternalRos.g:13321:2: 'uint8[]' + // InternalRos.g:13428:1: ( 'uint8[]' ) + // InternalRos.g:13429:2: 'uint8[]' { before(grammarAccess.getUint8ArrayAccess().getUint8Keyword_1()); match(input,101,FOLLOW_2); @@ -39914,14 +40261,14 @@ public final void rule__Uint8Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Int16Array__Group__0" - // InternalRos.g:13331:1: rule__Int16Array__Group__0 : rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ; + // InternalRos.g:13439:1: rule__Int16Array__Group__0 : rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ; public final void rule__Int16Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13335:1: ( rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ) - // InternalRos.g:13336:2: rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 + // InternalRos.g:13443:1: ( rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ) + // InternalRos.g:13444:2: rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 { pushFollow(FOLLOW_87); rule__Int16Array__Group__0__Impl(); @@ -39952,21 +40299,21 @@ public final void rule__Int16Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int16Array__Group__0__Impl" - // InternalRos.g:13343:1: rule__Int16Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13451:1: rule__Int16Array__Group__0__Impl : ( () ) ; public final void rule__Int16Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13347:1: ( ( () ) ) - // InternalRos.g:13348:1: ( () ) + // InternalRos.g:13455:1: ( ( () ) ) + // InternalRos.g:13456:1: ( () ) { - // InternalRos.g:13348:1: ( () ) - // InternalRos.g:13349:2: () + // InternalRos.g:13456:1: ( () ) + // InternalRos.g:13457:2: () { before(grammarAccess.getInt16ArrayAccess().getInt16ArrayAction_0()); - // InternalRos.g:13350:2: () - // InternalRos.g:13350:3: + // InternalRos.g:13458:2: () + // InternalRos.g:13458:3: { } @@ -39989,14 +40336,14 @@ public final void rule__Int16Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int16Array__Group__1" - // InternalRos.g:13358:1: rule__Int16Array__Group__1 : rule__Int16Array__Group__1__Impl ; + // InternalRos.g:13466:1: rule__Int16Array__Group__1 : rule__Int16Array__Group__1__Impl ; public final void rule__Int16Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13362:1: ( rule__Int16Array__Group__1__Impl ) - // InternalRos.g:13363:2: rule__Int16Array__Group__1__Impl + // InternalRos.g:13470:1: ( rule__Int16Array__Group__1__Impl ) + // InternalRos.g:13471:2: rule__Int16Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int16Array__Group__1__Impl(); @@ -40022,17 +40369,17 @@ public final void rule__Int16Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int16Array__Group__1__Impl" - // InternalRos.g:13369:1: rule__Int16Array__Group__1__Impl : ( 'int16[]' ) ; + // InternalRos.g:13477:1: rule__Int16Array__Group__1__Impl : ( 'int16[]' ) ; public final void rule__Int16Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13373:1: ( ( 'int16[]' ) ) - // InternalRos.g:13374:1: ( 'int16[]' ) + // InternalRos.g:13481:1: ( ( 'int16[]' ) ) + // InternalRos.g:13482:1: ( 'int16[]' ) { - // InternalRos.g:13374:1: ( 'int16[]' ) - // InternalRos.g:13375:2: 'int16[]' + // InternalRos.g:13482:1: ( 'int16[]' ) + // InternalRos.g:13483:2: 'int16[]' { before(grammarAccess.getInt16ArrayAccess().getInt16Keyword_1()); match(input,102,FOLLOW_2); @@ -40059,14 +40406,14 @@ public final void rule__Int16Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint16Array__Group__0" - // InternalRos.g:13385:1: rule__Uint16Array__Group__0 : rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ; + // InternalRos.g:13493:1: rule__Uint16Array__Group__0 : rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ; public final void rule__Uint16Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13389:1: ( rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ) - // InternalRos.g:13390:2: rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 + // InternalRos.g:13497:1: ( rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ) + // InternalRos.g:13498:2: rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 { pushFollow(FOLLOW_88); rule__Uint16Array__Group__0__Impl(); @@ -40097,21 +40444,21 @@ public final void rule__Uint16Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint16Array__Group__0__Impl" - // InternalRos.g:13397:1: rule__Uint16Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13505:1: rule__Uint16Array__Group__0__Impl : ( () ) ; public final void rule__Uint16Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13401:1: ( ( () ) ) - // InternalRos.g:13402:1: ( () ) + // InternalRos.g:13509:1: ( ( () ) ) + // InternalRos.g:13510:1: ( () ) { - // InternalRos.g:13402:1: ( () ) - // InternalRos.g:13403:2: () + // InternalRos.g:13510:1: ( () ) + // InternalRos.g:13511:2: () { before(grammarAccess.getUint16ArrayAccess().getUint16ArrayAction_0()); - // InternalRos.g:13404:2: () - // InternalRos.g:13404:3: + // InternalRos.g:13512:2: () + // InternalRos.g:13512:3: { } @@ -40134,14 +40481,14 @@ public final void rule__Uint16Array__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Uint16Array__Group__1" - // InternalRos.g:13412:1: rule__Uint16Array__Group__1 : rule__Uint16Array__Group__1__Impl ; + // InternalRos.g:13520:1: rule__Uint16Array__Group__1 : rule__Uint16Array__Group__1__Impl ; public final void rule__Uint16Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13416:1: ( rule__Uint16Array__Group__1__Impl ) - // InternalRos.g:13417:2: rule__Uint16Array__Group__1__Impl + // InternalRos.g:13524:1: ( rule__Uint16Array__Group__1__Impl ) + // InternalRos.g:13525:2: rule__Uint16Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint16Array__Group__1__Impl(); @@ -40167,17 +40514,17 @@ public final void rule__Uint16Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint16Array__Group__1__Impl" - // InternalRos.g:13423:1: rule__Uint16Array__Group__1__Impl : ( 'uint16[]' ) ; + // InternalRos.g:13531:1: rule__Uint16Array__Group__1__Impl : ( 'uint16[]' ) ; public final void rule__Uint16Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13427:1: ( ( 'uint16[]' ) ) - // InternalRos.g:13428:1: ( 'uint16[]' ) + // InternalRos.g:13535:1: ( ( 'uint16[]' ) ) + // InternalRos.g:13536:1: ( 'uint16[]' ) { - // InternalRos.g:13428:1: ( 'uint16[]' ) - // InternalRos.g:13429:2: 'uint16[]' + // InternalRos.g:13536:1: ( 'uint16[]' ) + // InternalRos.g:13537:2: 'uint16[]' { before(grammarAccess.getUint16ArrayAccess().getUint16Keyword_1()); match(input,103,FOLLOW_2); @@ -40204,14 +40551,14 @@ public final void rule__Uint16Array__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Int32Array__Group__0" - // InternalRos.g:13439:1: rule__Int32Array__Group__0 : rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ; + // InternalRos.g:13547:1: rule__Int32Array__Group__0 : rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ; public final void rule__Int32Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13443:1: ( rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ) - // InternalRos.g:13444:2: rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 + // InternalRos.g:13551:1: ( rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ) + // InternalRos.g:13552:2: rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 { pushFollow(FOLLOW_89); rule__Int32Array__Group__0__Impl(); @@ -40242,21 +40589,21 @@ public final void rule__Int32Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int32Array__Group__0__Impl" - // InternalRos.g:13451:1: rule__Int32Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13559:1: rule__Int32Array__Group__0__Impl : ( () ) ; public final void rule__Int32Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13455:1: ( ( () ) ) - // InternalRos.g:13456:1: ( () ) + // InternalRos.g:13563:1: ( ( () ) ) + // InternalRos.g:13564:1: ( () ) { - // InternalRos.g:13456:1: ( () ) - // InternalRos.g:13457:2: () + // InternalRos.g:13564:1: ( () ) + // InternalRos.g:13565:2: () { before(grammarAccess.getInt32ArrayAccess().getInt32ArrayAction_0()); - // InternalRos.g:13458:2: () - // InternalRos.g:13458:3: + // InternalRos.g:13566:2: () + // InternalRos.g:13566:3: { } @@ -40279,14 +40626,14 @@ public final void rule__Int32Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int32Array__Group__1" - // InternalRos.g:13466:1: rule__Int32Array__Group__1 : rule__Int32Array__Group__1__Impl ; + // InternalRos.g:13574:1: rule__Int32Array__Group__1 : rule__Int32Array__Group__1__Impl ; public final void rule__Int32Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13470:1: ( rule__Int32Array__Group__1__Impl ) - // InternalRos.g:13471:2: rule__Int32Array__Group__1__Impl + // InternalRos.g:13578:1: ( rule__Int32Array__Group__1__Impl ) + // InternalRos.g:13579:2: rule__Int32Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int32Array__Group__1__Impl(); @@ -40312,17 +40659,17 @@ public final void rule__Int32Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int32Array__Group__1__Impl" - // InternalRos.g:13477:1: rule__Int32Array__Group__1__Impl : ( 'int32[]' ) ; + // InternalRos.g:13585:1: rule__Int32Array__Group__1__Impl : ( 'int32[]' ) ; public final void rule__Int32Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13481:1: ( ( 'int32[]' ) ) - // InternalRos.g:13482:1: ( 'int32[]' ) + // InternalRos.g:13589:1: ( ( 'int32[]' ) ) + // InternalRos.g:13590:1: ( 'int32[]' ) { - // InternalRos.g:13482:1: ( 'int32[]' ) - // InternalRos.g:13483:2: 'int32[]' + // InternalRos.g:13590:1: ( 'int32[]' ) + // InternalRos.g:13591:2: 'int32[]' { before(grammarAccess.getInt32ArrayAccess().getInt32Keyword_1()); match(input,104,FOLLOW_2); @@ -40349,14 +40696,14 @@ public final void rule__Int32Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint32Array__Group__0" - // InternalRos.g:13493:1: rule__Uint32Array__Group__0 : rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ; + // InternalRos.g:13601:1: rule__Uint32Array__Group__0 : rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ; public final void rule__Uint32Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13497:1: ( rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ) - // InternalRos.g:13498:2: rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 + // InternalRos.g:13605:1: ( rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ) + // InternalRos.g:13606:2: rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 { pushFollow(FOLLOW_90); rule__Uint32Array__Group__0__Impl(); @@ -40387,21 +40734,21 @@ public final void rule__Uint32Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint32Array__Group__0__Impl" - // InternalRos.g:13505:1: rule__Uint32Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13613:1: rule__Uint32Array__Group__0__Impl : ( () ) ; public final void rule__Uint32Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13509:1: ( ( () ) ) - // InternalRos.g:13510:1: ( () ) + // InternalRos.g:13617:1: ( ( () ) ) + // InternalRos.g:13618:1: ( () ) { - // InternalRos.g:13510:1: ( () ) - // InternalRos.g:13511:2: () + // InternalRos.g:13618:1: ( () ) + // InternalRos.g:13619:2: () { before(grammarAccess.getUint32ArrayAccess().getUint32ArrayAction_0()); - // InternalRos.g:13512:2: () - // InternalRos.g:13512:3: + // InternalRos.g:13620:2: () + // InternalRos.g:13620:3: { } @@ -40424,14 +40771,14 @@ public final void rule__Uint32Array__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Uint32Array__Group__1" - // InternalRos.g:13520:1: rule__Uint32Array__Group__1 : rule__Uint32Array__Group__1__Impl ; + // InternalRos.g:13628:1: rule__Uint32Array__Group__1 : rule__Uint32Array__Group__1__Impl ; public final void rule__Uint32Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13524:1: ( rule__Uint32Array__Group__1__Impl ) - // InternalRos.g:13525:2: rule__Uint32Array__Group__1__Impl + // InternalRos.g:13632:1: ( rule__Uint32Array__Group__1__Impl ) + // InternalRos.g:13633:2: rule__Uint32Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint32Array__Group__1__Impl(); @@ -40457,17 +40804,17 @@ public final void rule__Uint32Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint32Array__Group__1__Impl" - // InternalRos.g:13531:1: rule__Uint32Array__Group__1__Impl : ( 'uint32[]' ) ; + // InternalRos.g:13639:1: rule__Uint32Array__Group__1__Impl : ( 'uint32[]' ) ; public final void rule__Uint32Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13535:1: ( ( 'uint32[]' ) ) - // InternalRos.g:13536:1: ( 'uint32[]' ) + // InternalRos.g:13643:1: ( ( 'uint32[]' ) ) + // InternalRos.g:13644:1: ( 'uint32[]' ) { - // InternalRos.g:13536:1: ( 'uint32[]' ) - // InternalRos.g:13537:2: 'uint32[]' + // InternalRos.g:13644:1: ( 'uint32[]' ) + // InternalRos.g:13645:2: 'uint32[]' { before(grammarAccess.getUint32ArrayAccess().getUint32Keyword_1()); match(input,105,FOLLOW_2); @@ -40494,14 +40841,14 @@ public final void rule__Uint32Array__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Int64Array__Group__0" - // InternalRos.g:13547:1: rule__Int64Array__Group__0 : rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ; + // InternalRos.g:13655:1: rule__Int64Array__Group__0 : rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ; public final void rule__Int64Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13551:1: ( rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ) - // InternalRos.g:13552:2: rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 + // InternalRos.g:13659:1: ( rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ) + // InternalRos.g:13660:2: rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 { pushFollow(FOLLOW_91); rule__Int64Array__Group__0__Impl(); @@ -40532,21 +40879,21 @@ public final void rule__Int64Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int64Array__Group__0__Impl" - // InternalRos.g:13559:1: rule__Int64Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13667:1: rule__Int64Array__Group__0__Impl : ( () ) ; public final void rule__Int64Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13563:1: ( ( () ) ) - // InternalRos.g:13564:1: ( () ) + // InternalRos.g:13671:1: ( ( () ) ) + // InternalRos.g:13672:1: ( () ) { - // InternalRos.g:13564:1: ( () ) - // InternalRos.g:13565:2: () + // InternalRos.g:13672:1: ( () ) + // InternalRos.g:13673:2: () { before(grammarAccess.getInt64ArrayAccess().getInt64ArrayAction_0()); - // InternalRos.g:13566:2: () - // InternalRos.g:13566:3: + // InternalRos.g:13674:2: () + // InternalRos.g:13674:3: { } @@ -40569,14 +40916,14 @@ public final void rule__Int64Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int64Array__Group__1" - // InternalRos.g:13574:1: rule__Int64Array__Group__1 : rule__Int64Array__Group__1__Impl ; + // InternalRos.g:13682:1: rule__Int64Array__Group__1 : rule__Int64Array__Group__1__Impl ; public final void rule__Int64Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13578:1: ( rule__Int64Array__Group__1__Impl ) - // InternalRos.g:13579:2: rule__Int64Array__Group__1__Impl + // InternalRos.g:13686:1: ( rule__Int64Array__Group__1__Impl ) + // InternalRos.g:13687:2: rule__Int64Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int64Array__Group__1__Impl(); @@ -40602,17 +40949,17 @@ public final void rule__Int64Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int64Array__Group__1__Impl" - // InternalRos.g:13585:1: rule__Int64Array__Group__1__Impl : ( 'int64[]' ) ; + // InternalRos.g:13693:1: rule__Int64Array__Group__1__Impl : ( 'int64[]' ) ; public final void rule__Int64Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13589:1: ( ( 'int64[]' ) ) - // InternalRos.g:13590:1: ( 'int64[]' ) + // InternalRos.g:13697:1: ( ( 'int64[]' ) ) + // InternalRos.g:13698:1: ( 'int64[]' ) { - // InternalRos.g:13590:1: ( 'int64[]' ) - // InternalRos.g:13591:2: 'int64[]' + // InternalRos.g:13698:1: ( 'int64[]' ) + // InternalRos.g:13699:2: 'int64[]' { before(grammarAccess.getInt64ArrayAccess().getInt64Keyword_1()); match(input,106,FOLLOW_2); @@ -40639,14 +40986,14 @@ public final void rule__Int64Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint64Array__Group__0" - // InternalRos.g:13601:1: rule__Uint64Array__Group__0 : rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ; + // InternalRos.g:13709:1: rule__Uint64Array__Group__0 : rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ; public final void rule__Uint64Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13605:1: ( rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ) - // InternalRos.g:13606:2: rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 + // InternalRos.g:13713:1: ( rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ) + // InternalRos.g:13714:2: rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 { pushFollow(FOLLOW_92); rule__Uint64Array__Group__0__Impl(); @@ -40677,21 +41024,21 @@ public final void rule__Uint64Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint64Array__Group__0__Impl" - // InternalRos.g:13613:1: rule__Uint64Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13721:1: rule__Uint64Array__Group__0__Impl : ( () ) ; public final void rule__Uint64Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13617:1: ( ( () ) ) - // InternalRos.g:13618:1: ( () ) + // InternalRos.g:13725:1: ( ( () ) ) + // InternalRos.g:13726:1: ( () ) { - // InternalRos.g:13618:1: ( () ) - // InternalRos.g:13619:2: () + // InternalRos.g:13726:1: ( () ) + // InternalRos.g:13727:2: () { before(grammarAccess.getUint64ArrayAccess().getUint64ArrayAction_0()); - // InternalRos.g:13620:2: () - // InternalRos.g:13620:3: + // InternalRos.g:13728:2: () + // InternalRos.g:13728:3: { } @@ -40714,14 +41061,14 @@ public final void rule__Uint64Array__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Uint64Array__Group__1" - // InternalRos.g:13628:1: rule__Uint64Array__Group__1 : rule__Uint64Array__Group__1__Impl ; + // InternalRos.g:13736:1: rule__Uint64Array__Group__1 : rule__Uint64Array__Group__1__Impl ; public final void rule__Uint64Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13632:1: ( rule__Uint64Array__Group__1__Impl ) - // InternalRos.g:13633:2: rule__Uint64Array__Group__1__Impl + // InternalRos.g:13740:1: ( rule__Uint64Array__Group__1__Impl ) + // InternalRos.g:13741:2: rule__Uint64Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint64Array__Group__1__Impl(); @@ -40747,17 +41094,17 @@ public final void rule__Uint64Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint64Array__Group__1__Impl" - // InternalRos.g:13639:1: rule__Uint64Array__Group__1__Impl : ( 'uint64[]' ) ; + // InternalRos.g:13747:1: rule__Uint64Array__Group__1__Impl : ( 'uint64[]' ) ; public final void rule__Uint64Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13643:1: ( ( 'uint64[]' ) ) - // InternalRos.g:13644:1: ( 'uint64[]' ) + // InternalRos.g:13751:1: ( ( 'uint64[]' ) ) + // InternalRos.g:13752:1: ( 'uint64[]' ) { - // InternalRos.g:13644:1: ( 'uint64[]' ) - // InternalRos.g:13645:2: 'uint64[]' + // InternalRos.g:13752:1: ( 'uint64[]' ) + // InternalRos.g:13753:2: 'uint64[]' { before(grammarAccess.getUint64ArrayAccess().getUint64Keyword_1()); match(input,107,FOLLOW_2); @@ -40784,14 +41131,14 @@ public final void rule__Uint64Array__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Float32Array__Group__0" - // InternalRos.g:13655:1: rule__Float32Array__Group__0 : rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ; + // InternalRos.g:13763:1: rule__Float32Array__Group__0 : rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ; public final void rule__Float32Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13659:1: ( rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ) - // InternalRos.g:13660:2: rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 + // InternalRos.g:13767:1: ( rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ) + // InternalRos.g:13768:2: rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 { pushFollow(FOLLOW_93); rule__Float32Array__Group__0__Impl(); @@ -40822,21 +41169,21 @@ public final void rule__Float32Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Float32Array__Group__0__Impl" - // InternalRos.g:13667:1: rule__Float32Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13775:1: rule__Float32Array__Group__0__Impl : ( () ) ; public final void rule__Float32Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13671:1: ( ( () ) ) - // InternalRos.g:13672:1: ( () ) + // InternalRos.g:13779:1: ( ( () ) ) + // InternalRos.g:13780:1: ( () ) { - // InternalRos.g:13672:1: ( () ) - // InternalRos.g:13673:2: () + // InternalRos.g:13780:1: ( () ) + // InternalRos.g:13781:2: () { before(grammarAccess.getFloat32ArrayAccess().getFloat32ArrayAction_0()); - // InternalRos.g:13674:2: () - // InternalRos.g:13674:3: + // InternalRos.g:13782:2: () + // InternalRos.g:13782:3: { } @@ -40859,14 +41206,14 @@ public final void rule__Float32Array__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__Float32Array__Group__1" - // InternalRos.g:13682:1: rule__Float32Array__Group__1 : rule__Float32Array__Group__1__Impl ; + // InternalRos.g:13790:1: rule__Float32Array__Group__1 : rule__Float32Array__Group__1__Impl ; public final void rule__Float32Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13686:1: ( rule__Float32Array__Group__1__Impl ) - // InternalRos.g:13687:2: rule__Float32Array__Group__1__Impl + // InternalRos.g:13794:1: ( rule__Float32Array__Group__1__Impl ) + // InternalRos.g:13795:2: rule__Float32Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float32Array__Group__1__Impl(); @@ -40892,17 +41239,17 @@ public final void rule__Float32Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Float32Array__Group__1__Impl" - // InternalRos.g:13693:1: rule__Float32Array__Group__1__Impl : ( 'float32[]' ) ; + // InternalRos.g:13801:1: rule__Float32Array__Group__1__Impl : ( 'float32[]' ) ; public final void rule__Float32Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13697:1: ( ( 'float32[]' ) ) - // InternalRos.g:13698:1: ( 'float32[]' ) + // InternalRos.g:13805:1: ( ( 'float32[]' ) ) + // InternalRos.g:13806:1: ( 'float32[]' ) { - // InternalRos.g:13698:1: ( 'float32[]' ) - // InternalRos.g:13699:2: 'float32[]' + // InternalRos.g:13806:1: ( 'float32[]' ) + // InternalRos.g:13807:2: 'float32[]' { before(grammarAccess.getFloat32ArrayAccess().getFloat32Keyword_1()); match(input,108,FOLLOW_2); @@ -40929,14 +41276,14 @@ public final void rule__Float32Array__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__Float64Array__Group__0" - // InternalRos.g:13709:1: rule__Float64Array__Group__0 : rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ; + // InternalRos.g:13817:1: rule__Float64Array__Group__0 : rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ; public final void rule__Float64Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13713:1: ( rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ) - // InternalRos.g:13714:2: rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 + // InternalRos.g:13821:1: ( rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ) + // InternalRos.g:13822:2: rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 { pushFollow(FOLLOW_94); rule__Float64Array__Group__0__Impl(); @@ -40967,21 +41314,21 @@ public final void rule__Float64Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Float64Array__Group__0__Impl" - // InternalRos.g:13721:1: rule__Float64Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13829:1: rule__Float64Array__Group__0__Impl : ( () ) ; public final void rule__Float64Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13725:1: ( ( () ) ) - // InternalRos.g:13726:1: ( () ) + // InternalRos.g:13833:1: ( ( () ) ) + // InternalRos.g:13834:1: ( () ) { - // InternalRos.g:13726:1: ( () ) - // InternalRos.g:13727:2: () + // InternalRos.g:13834:1: ( () ) + // InternalRos.g:13835:2: () { before(grammarAccess.getFloat64ArrayAccess().getFloat64ArrayAction_0()); - // InternalRos.g:13728:2: () - // InternalRos.g:13728:3: + // InternalRos.g:13836:2: () + // InternalRos.g:13836:3: { } @@ -41004,14 +41351,14 @@ public final void rule__Float64Array__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__Float64Array__Group__1" - // InternalRos.g:13736:1: rule__Float64Array__Group__1 : rule__Float64Array__Group__1__Impl ; + // InternalRos.g:13844:1: rule__Float64Array__Group__1 : rule__Float64Array__Group__1__Impl ; public final void rule__Float64Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13740:1: ( rule__Float64Array__Group__1__Impl ) - // InternalRos.g:13741:2: rule__Float64Array__Group__1__Impl + // InternalRos.g:13848:1: ( rule__Float64Array__Group__1__Impl ) + // InternalRos.g:13849:2: rule__Float64Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float64Array__Group__1__Impl(); @@ -41037,17 +41384,17 @@ public final void rule__Float64Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Float64Array__Group__1__Impl" - // InternalRos.g:13747:1: rule__Float64Array__Group__1__Impl : ( 'float64[]' ) ; + // InternalRos.g:13855:1: rule__Float64Array__Group__1__Impl : ( 'float64[]' ) ; public final void rule__Float64Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13751:1: ( ( 'float64[]' ) ) - // InternalRos.g:13752:1: ( 'float64[]' ) + // InternalRos.g:13859:1: ( ( 'float64[]' ) ) + // InternalRos.g:13860:1: ( 'float64[]' ) { - // InternalRos.g:13752:1: ( 'float64[]' ) - // InternalRos.g:13753:2: 'float64[]' + // InternalRos.g:13860:1: ( 'float64[]' ) + // InternalRos.g:13861:2: 'float64[]' { before(grammarAccess.getFloat64ArrayAccess().getFloat64Keyword_1()); match(input,109,FOLLOW_2); @@ -41074,14 +41421,14 @@ public final void rule__Float64Array__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__String0Array__Group__0" - // InternalRos.g:13763:1: rule__String0Array__Group__0 : rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ; + // InternalRos.g:13871:1: rule__String0Array__Group__0 : rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ; public final void rule__String0Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13767:1: ( rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ) - // InternalRos.g:13768:2: rule__String0Array__Group__0__Impl rule__String0Array__Group__1 + // InternalRos.g:13875:1: ( rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ) + // InternalRos.g:13876:2: rule__String0Array__Group__0__Impl rule__String0Array__Group__1 { pushFollow(FOLLOW_95); rule__String0Array__Group__0__Impl(); @@ -41112,21 +41459,21 @@ public final void rule__String0Array__Group__0() throws RecognitionException { // $ANTLR start "rule__String0Array__Group__0__Impl" - // InternalRos.g:13775:1: rule__String0Array__Group__0__Impl : ( () ) ; + // InternalRos.g:13883:1: rule__String0Array__Group__0__Impl : ( () ) ; public final void rule__String0Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13779:1: ( ( () ) ) - // InternalRos.g:13780:1: ( () ) + // InternalRos.g:13887:1: ( ( () ) ) + // InternalRos.g:13888:1: ( () ) { - // InternalRos.g:13780:1: ( () ) - // InternalRos.g:13781:2: () + // InternalRos.g:13888:1: ( () ) + // InternalRos.g:13889:2: () { before(grammarAccess.getString0ArrayAccess().getStringArrayAction_0()); - // InternalRos.g:13782:2: () - // InternalRos.g:13782:3: + // InternalRos.g:13890:2: () + // InternalRos.g:13890:3: { } @@ -41149,14 +41496,14 @@ public final void rule__String0Array__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__String0Array__Group__1" - // InternalRos.g:13790:1: rule__String0Array__Group__1 : rule__String0Array__Group__1__Impl ; + // InternalRos.g:13898:1: rule__String0Array__Group__1 : rule__String0Array__Group__1__Impl ; public final void rule__String0Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13794:1: ( rule__String0Array__Group__1__Impl ) - // InternalRos.g:13795:2: rule__String0Array__Group__1__Impl + // InternalRos.g:13902:1: ( rule__String0Array__Group__1__Impl ) + // InternalRos.g:13903:2: rule__String0Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__String0Array__Group__1__Impl(); @@ -41182,17 +41529,17 @@ public final void rule__String0Array__Group__1() throws RecognitionException { // $ANTLR start "rule__String0Array__Group__1__Impl" - // InternalRos.g:13801:1: rule__String0Array__Group__1__Impl : ( 'string[]' ) ; + // InternalRos.g:13909:1: rule__String0Array__Group__1__Impl : ( 'string[]' ) ; public final void rule__String0Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13805:1: ( ( 'string[]' ) ) - // InternalRos.g:13806:1: ( 'string[]' ) + // InternalRos.g:13913:1: ( ( 'string[]' ) ) + // InternalRos.g:13914:1: ( 'string[]' ) { - // InternalRos.g:13806:1: ( 'string[]' ) - // InternalRos.g:13807:2: 'string[]' + // InternalRos.g:13914:1: ( 'string[]' ) + // InternalRos.g:13915:2: 'string[]' { before(grammarAccess.getString0ArrayAccess().getStringKeyword_1()); match(input,110,FOLLOW_2); @@ -41219,14 +41566,14 @@ public final void rule__String0Array__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ByteArray__Group__0" - // InternalRos.g:13817:1: rule__ByteArray__Group__0 : rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ; + // InternalRos.g:13925:1: rule__ByteArray__Group__0 : rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ; public final void rule__ByteArray__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13821:1: ( rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ) - // InternalRos.g:13822:2: rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 + // InternalRos.g:13929:1: ( rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ) + // InternalRos.g:13930:2: rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 { pushFollow(FOLLOW_96); rule__ByteArray__Group__0__Impl(); @@ -41257,21 +41604,21 @@ public final void rule__ByteArray__Group__0() throws RecognitionException { // $ANTLR start "rule__ByteArray__Group__0__Impl" - // InternalRos.g:13829:1: rule__ByteArray__Group__0__Impl : ( () ) ; + // InternalRos.g:13937:1: rule__ByteArray__Group__0__Impl : ( () ) ; public final void rule__ByteArray__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13833:1: ( ( () ) ) - // InternalRos.g:13834:1: ( () ) + // InternalRos.g:13941:1: ( ( () ) ) + // InternalRos.g:13942:1: ( () ) { - // InternalRos.g:13834:1: ( () ) - // InternalRos.g:13835:2: () + // InternalRos.g:13942:1: ( () ) + // InternalRos.g:13943:2: () { before(grammarAccess.getByteArrayAccess().getByteArrayAction_0()); - // InternalRos.g:13836:2: () - // InternalRos.g:13836:3: + // InternalRos.g:13944:2: () + // InternalRos.g:13944:3: { } @@ -41294,14 +41641,14 @@ public final void rule__ByteArray__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__ByteArray__Group__1" - // InternalRos.g:13844:1: rule__ByteArray__Group__1 : rule__ByteArray__Group__1__Impl ; + // InternalRos.g:13952:1: rule__ByteArray__Group__1 : rule__ByteArray__Group__1__Impl ; public final void rule__ByteArray__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13848:1: ( rule__ByteArray__Group__1__Impl ) - // InternalRos.g:13849:2: rule__ByteArray__Group__1__Impl + // InternalRos.g:13956:1: ( rule__ByteArray__Group__1__Impl ) + // InternalRos.g:13957:2: rule__ByteArray__Group__1__Impl { pushFollow(FOLLOW_2); rule__ByteArray__Group__1__Impl(); @@ -41327,17 +41674,17 @@ public final void rule__ByteArray__Group__1() throws RecognitionException { // $ANTLR start "rule__ByteArray__Group__1__Impl" - // InternalRos.g:13855:1: rule__ByteArray__Group__1__Impl : ( 'byte[]' ) ; + // InternalRos.g:13963:1: rule__ByteArray__Group__1__Impl : ( 'byte[]' ) ; public final void rule__ByteArray__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13859:1: ( ( 'byte[]' ) ) - // InternalRos.g:13860:1: ( 'byte[]' ) + // InternalRos.g:13967:1: ( ( 'byte[]' ) ) + // InternalRos.g:13968:1: ( 'byte[]' ) { - // InternalRos.g:13860:1: ( 'byte[]' ) - // InternalRos.g:13861:2: 'byte[]' + // InternalRos.g:13968:1: ( 'byte[]' ) + // InternalRos.g:13969:2: 'byte[]' { before(grammarAccess.getByteArrayAccess().getByteKeyword_1()); match(input,111,FOLLOW_2); @@ -41364,14 +41711,14 @@ public final void rule__ByteArray__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Header__Group__0" - // InternalRos.g:13871:1: rule__Header__Group__0 : rule__Header__Group__0__Impl rule__Header__Group__1 ; + // InternalRos.g:13979:1: rule__Header__Group__0 : rule__Header__Group__0__Impl rule__Header__Group__1 ; public final void rule__Header__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13875:1: ( rule__Header__Group__0__Impl rule__Header__Group__1 ) - // InternalRos.g:13876:2: rule__Header__Group__0__Impl rule__Header__Group__1 + // InternalRos.g:13983:1: ( rule__Header__Group__0__Impl rule__Header__Group__1 ) + // InternalRos.g:13984:2: rule__Header__Group__0__Impl rule__Header__Group__1 { pushFollow(FOLLOW_97); rule__Header__Group__0__Impl(); @@ -41402,21 +41749,21 @@ public final void rule__Header__Group__0() throws RecognitionException { // $ANTLR start "rule__Header__Group__0__Impl" - // InternalRos.g:13883:1: rule__Header__Group__0__Impl : ( () ) ; + // InternalRos.g:13991:1: rule__Header__Group__0__Impl : ( () ) ; public final void rule__Header__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13887:1: ( ( () ) ) - // InternalRos.g:13888:1: ( () ) + // InternalRos.g:13995:1: ( ( () ) ) + // InternalRos.g:13996:1: ( () ) { - // InternalRos.g:13888:1: ( () ) - // InternalRos.g:13889:2: () + // InternalRos.g:13996:1: ( () ) + // InternalRos.g:13997:2: () { before(grammarAccess.getHeaderAccess().getHeaderAction_0()); - // InternalRos.g:13890:2: () - // InternalRos.g:13890:3: + // InternalRos.g:13998:2: () + // InternalRos.g:13998:3: { } @@ -41439,14 +41786,14 @@ public final void rule__Header__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Header__Group__1" - // InternalRos.g:13898:1: rule__Header__Group__1 : rule__Header__Group__1__Impl ; + // InternalRos.g:14006:1: rule__Header__Group__1 : rule__Header__Group__1__Impl ; public final void rule__Header__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13902:1: ( rule__Header__Group__1__Impl ) - // InternalRos.g:13903:2: rule__Header__Group__1__Impl + // InternalRos.g:14010:1: ( rule__Header__Group__1__Impl ) + // InternalRos.g:14011:2: rule__Header__Group__1__Impl { pushFollow(FOLLOW_2); rule__Header__Group__1__Impl(); @@ -41472,17 +41819,17 @@ public final void rule__Header__Group__1() throws RecognitionException { // $ANTLR start "rule__Header__Group__1__Impl" - // InternalRos.g:13909:1: rule__Header__Group__1__Impl : ( 'Header' ) ; + // InternalRos.g:14017:1: rule__Header__Group__1__Impl : ( 'Header' ) ; public final void rule__Header__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13913:1: ( ( 'Header' ) ) - // InternalRos.g:13914:1: ( 'Header' ) + // InternalRos.g:14021:1: ( ( 'Header' ) ) + // InternalRos.g:14022:1: ( 'Header' ) { - // InternalRos.g:13914:1: ( 'Header' ) - // InternalRos.g:13915:2: 'Header' + // InternalRos.g:14022:1: ( 'Header' ) + // InternalRos.g:14023:2: 'Header' { before(grammarAccess.getHeaderAccess().getHeaderKeyword_1()); match(input,27,FOLLOW_2); @@ -41509,14 +41856,14 @@ public final void rule__Header__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__ArrayTopicSpecRef__Group__0" - // InternalRos.g:13925:1: rule__ArrayTopicSpecRef__Group__0 : rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ; + // InternalRos.g:14033:1: rule__ArrayTopicSpecRef__Group__0 : rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ; public final void rule__ArrayTopicSpecRef__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13929:1: ( rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ) - // InternalRos.g:13930:2: rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 + // InternalRos.g:14037:1: ( rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ) + // InternalRos.g:14038:2: rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 { pushFollow(FOLLOW_98); rule__ArrayTopicSpecRef__Group__0__Impl(); @@ -41547,21 +41894,21 @@ public final void rule__ArrayTopicSpecRef__Group__0() throws RecognitionExceptio // $ANTLR start "rule__ArrayTopicSpecRef__Group__0__Impl" - // InternalRos.g:13937:1: rule__ArrayTopicSpecRef__Group__0__Impl : ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ; + // InternalRos.g:14045:1: rule__ArrayTopicSpecRef__Group__0__Impl : ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ; public final void rule__ArrayTopicSpecRef__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13941:1: ( ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ) - // InternalRos.g:13942:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) + // InternalRos.g:14049:1: ( ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ) + // InternalRos.g:14050:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) { - // InternalRos.g:13942:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) - // InternalRos.g:13943:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) + // InternalRos.g:14050:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) + // InternalRos.g:14051:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) { before(grammarAccess.getArrayTopicSpecRefAccess().getTopicSpecAssignment_0()); - // InternalRos.g:13944:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) - // InternalRos.g:13944:3: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 + // InternalRos.g:14052:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) + // InternalRos.g:14052:3: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 { pushFollow(FOLLOW_2); rule__ArrayTopicSpecRef__TopicSpecAssignment_0(); @@ -41594,14 +41941,14 @@ public final void rule__ArrayTopicSpecRef__Group__0__Impl() throws RecognitionEx // $ANTLR start "rule__ArrayTopicSpecRef__Group__1" - // InternalRos.g:13952:1: rule__ArrayTopicSpecRef__Group__1 : rule__ArrayTopicSpecRef__Group__1__Impl ; + // InternalRos.g:14060:1: rule__ArrayTopicSpecRef__Group__1 : rule__ArrayTopicSpecRef__Group__1__Impl ; public final void rule__ArrayTopicSpecRef__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13956:1: ( rule__ArrayTopicSpecRef__Group__1__Impl ) - // InternalRos.g:13957:2: rule__ArrayTopicSpecRef__Group__1__Impl + // InternalRos.g:14064:1: ( rule__ArrayTopicSpecRef__Group__1__Impl ) + // InternalRos.g:14065:2: rule__ArrayTopicSpecRef__Group__1__Impl { pushFollow(FOLLOW_2); rule__ArrayTopicSpecRef__Group__1__Impl(); @@ -41627,17 +41974,17 @@ public final void rule__ArrayTopicSpecRef__Group__1() throws RecognitionExceptio // $ANTLR start "rule__ArrayTopicSpecRef__Group__1__Impl" - // InternalRos.g:13963:1: rule__ArrayTopicSpecRef__Group__1__Impl : ( '[]' ) ; + // InternalRos.g:14071:1: rule__ArrayTopicSpecRef__Group__1__Impl : ( '[]' ) ; public final void rule__ArrayTopicSpecRef__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13967:1: ( ( '[]' ) ) - // InternalRos.g:13968:1: ( '[]' ) + // InternalRos.g:14075:1: ( ( '[]' ) ) + // InternalRos.g:14076:1: ( '[]' ) { - // InternalRos.g:13968:1: ( '[]' ) - // InternalRos.g:13969:2: '[]' + // InternalRos.g:14076:1: ( '[]' ) + // InternalRos.g:14077:2: '[]' { before(grammarAccess.getArrayTopicSpecRefAccess().getLeftSquareBracketRightSquareBracketKeyword_1()); match(input,112,FOLLOW_2); @@ -41664,17 +42011,17 @@ public final void rule__ArrayTopicSpecRef__Group__1__Impl() throws RecognitionEx // $ANTLR start "rule__PackageSet__PackageAssignment_3_0" - // InternalRos.g:13979:1: rule__PackageSet__PackageAssignment_3_0 : ( rulePackage ) ; + // InternalRos.g:14087:1: rule__PackageSet__PackageAssignment_3_0 : ( rulePackage ) ; public final void rule__PackageSet__PackageAssignment_3_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13983:1: ( ( rulePackage ) ) - // InternalRos.g:13984:2: ( rulePackage ) + // InternalRos.g:14091:1: ( ( rulePackage ) ) + // InternalRos.g:14092:2: ( rulePackage ) { - // InternalRos.g:13984:2: ( rulePackage ) - // InternalRos.g:13985:3: rulePackage + // InternalRos.g:14092:2: ( rulePackage ) + // InternalRos.g:14093:3: rulePackage { before(grammarAccess.getPackageSetAccess().getPackagePackageParserRuleCall_3_0_0()); pushFollow(FOLLOW_2); @@ -41705,17 +42052,17 @@ public final void rule__PackageSet__PackageAssignment_3_0() throws RecognitionEx // $ANTLR start "rule__PackageSet__PackageAssignment_3_1_1" - // InternalRos.g:13994:1: rule__PackageSet__PackageAssignment_3_1_1 : ( rulePackage ) ; + // InternalRos.g:14102:1: rule__PackageSet__PackageAssignment_3_1_1 : ( rulePackage ) ; public final void rule__PackageSet__PackageAssignment_3_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13998:1: ( ( rulePackage ) ) - // InternalRos.g:13999:2: ( rulePackage ) + // InternalRos.g:14106:1: ( ( rulePackage ) ) + // InternalRos.g:14107:2: ( rulePackage ) { - // InternalRos.g:13999:2: ( rulePackage ) - // InternalRos.g:14000:3: rulePackage + // InternalRos.g:14107:2: ( rulePackage ) + // InternalRos.g:14108:3: rulePackage { before(grammarAccess.getPackageSetAccess().getPackagePackageParserRuleCall_3_1_1_0()); pushFollow(FOLLOW_2); @@ -41746,17 +42093,17 @@ public final void rule__PackageSet__PackageAssignment_3_1_1() throws Recognition // $ANTLR start "rule__Package_Impl__NameAssignment_2" - // InternalRos.g:14009:1: rule__Package_Impl__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:14117:1: rule__Package_Impl__NameAssignment_2 : ( ruleEString ) ; public final void rule__Package_Impl__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14013:1: ( ( ruleEString ) ) - // InternalRos.g:14014:2: ( ruleEString ) + // InternalRos.g:14121:1: ( ( ruleEString ) ) + // InternalRos.g:14122:2: ( ruleEString ) { - // InternalRos.g:14014:2: ( ruleEString ) - // InternalRos.g:14015:3: ruleEString + // InternalRos.g:14122:2: ( ruleEString ) + // InternalRos.g:14123:3: ruleEString { before(grammarAccess.getPackage_ImplAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -41786,26 +42133,67 @@ public final void rule__Package_Impl__NameAssignment_2() throws RecognitionExcep // $ANTLR end "rule__Package_Impl__NameAssignment_2" - // $ANTLR start "rule__Package_Impl__SpecAssignment_4_2" - // InternalRos.g:14024:1: rule__Package_Impl__SpecAssignment_4_2 : ( ruleSpecBase ) ; - public final void rule__Package_Impl__SpecAssignment_4_2() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__FromGitRepoAssignment_4_1" + // InternalRos.g:14132:1: rule__Package_Impl__FromGitRepoAssignment_4_1 : ( ruleEString ) ; + public final void rule__Package_Impl__FromGitRepoAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14028:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14029:2: ( ruleSpecBase ) + // InternalRos.g:14136:1: ( ( ruleEString ) ) + // InternalRos.g:14137:2: ( ruleEString ) { - // InternalRos.g:14029:2: ( ruleSpecBase ) - // InternalRos.g:14030:3: ruleSpecBase + // InternalRos.g:14137:2: ( ruleEString ) + // InternalRos.g:14138:3: ruleEString { - before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); + before(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Package_Impl__FromGitRepoAssignment_4_1" + + + // $ANTLR start "rule__Package_Impl__SpecAssignment_5_2" + // InternalRos.g:14147:1: rule__Package_Impl__SpecAssignment_5_2 : ( ruleSpecBase ) ; + public final void rule__Package_Impl__SpecAssignment_5_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:14151:1: ( ( ruleSpecBase ) ) + // InternalRos.g:14152:2: ( ruleSpecBase ) + { + // InternalRos.g:14152:2: ( ruleSpecBase ) + // InternalRos.g:14153:3: ruleSpecBase + { + before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); pushFollow(FOLLOW_2); ruleSpecBase(); state._fsp--; - after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); + after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); } @@ -41824,29 +42212,29 @@ public final void rule__Package_Impl__SpecAssignment_4_2() throws RecognitionExc } return ; } - // $ANTLR end "rule__Package_Impl__SpecAssignment_4_2" + // $ANTLR end "rule__Package_Impl__SpecAssignment_5_2" - // $ANTLR start "rule__Package_Impl__SpecAssignment_4_3_1" - // InternalRos.g:14039:1: rule__Package_Impl__SpecAssignment_4_3_1 : ( ruleSpecBase ) ; - public final void rule__Package_Impl__SpecAssignment_4_3_1() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__SpecAssignment_5_3_1" + // InternalRos.g:14162:1: rule__Package_Impl__SpecAssignment_5_3_1 : ( ruleSpecBase ) ; + public final void rule__Package_Impl__SpecAssignment_5_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14043:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14044:2: ( ruleSpecBase ) + // InternalRos.g:14166:1: ( ( ruleSpecBase ) ) + // InternalRos.g:14167:2: ( ruleSpecBase ) { - // InternalRos.g:14044:2: ( ruleSpecBase ) - // InternalRos.g:14045:3: ruleSpecBase + // InternalRos.g:14167:2: ( ruleSpecBase ) + // InternalRos.g:14168:3: ruleSpecBase { - before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); + before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_2); ruleSpecBase(); state._fsp--; - after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); + after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); } @@ -41865,29 +42253,29 @@ public final void rule__Package_Impl__SpecAssignment_4_3_1() throws RecognitionE } return ; } - // $ANTLR end "rule__Package_Impl__SpecAssignment_4_3_1" + // $ANTLR end "rule__Package_Impl__SpecAssignment_5_3_1" - // $ANTLR start "rule__Package_Impl__ArtifactAssignment_5_0" - // InternalRos.g:14054:1: rule__Package_Impl__ArtifactAssignment_5_0 : ( ruleArtifact ) ; - public final void rule__Package_Impl__ArtifactAssignment_5_0() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__ArtifactAssignment_6_0" + // InternalRos.g:14177:1: rule__Package_Impl__ArtifactAssignment_6_0 : ( ruleArtifact ) ; + public final void rule__Package_Impl__ArtifactAssignment_6_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14058:1: ( ( ruleArtifact ) ) - // InternalRos.g:14059:2: ( ruleArtifact ) + // InternalRos.g:14181:1: ( ( ruleArtifact ) ) + // InternalRos.g:14182:2: ( ruleArtifact ) { - // InternalRos.g:14059:2: ( ruleArtifact ) - // InternalRos.g:14060:3: ruleArtifact + // InternalRos.g:14182:2: ( ruleArtifact ) + // InternalRos.g:14183:3: ruleArtifact { - before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); + before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); pushFollow(FOLLOW_2); ruleArtifact(); state._fsp--; - after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); + after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); } @@ -41906,29 +42294,29 @@ public final void rule__Package_Impl__ArtifactAssignment_5_0() throws Recognitio } return ; } - // $ANTLR end "rule__Package_Impl__ArtifactAssignment_5_0" + // $ANTLR end "rule__Package_Impl__ArtifactAssignment_6_0" - // $ANTLR start "rule__Package_Impl__ArtifactAssignment_5_1_1" - // InternalRos.g:14069:1: rule__Package_Impl__ArtifactAssignment_5_1_1 : ( ruleArtifact ) ; - public final void rule__Package_Impl__ArtifactAssignment_5_1_1() throws RecognitionException { + // $ANTLR start "rule__Package_Impl__ArtifactAssignment_6_1_1" + // InternalRos.g:14192:1: rule__Package_Impl__ArtifactAssignment_6_1_1 : ( ruleArtifact ) ; + public final void rule__Package_Impl__ArtifactAssignment_6_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14073:1: ( ( ruleArtifact ) ) - // InternalRos.g:14074:2: ( ruleArtifact ) + // InternalRos.g:14196:1: ( ( ruleArtifact ) ) + // InternalRos.g:14197:2: ( ruleArtifact ) { - // InternalRos.g:14074:2: ( ruleArtifact ) - // InternalRos.g:14075:3: ruleArtifact + // InternalRos.g:14197:2: ( ruleArtifact ) + // InternalRos.g:14198:3: ruleArtifact { - before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); + before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); pushFollow(FOLLOW_2); ruleArtifact(); state._fsp--; - after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); + after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); } @@ -41947,21 +42335,21 @@ public final void rule__Package_Impl__ArtifactAssignment_5_1_1() throws Recognit } return ; } - // $ANTLR end "rule__Package_Impl__ArtifactAssignment_5_1_1" + // $ANTLR end "rule__Package_Impl__ArtifactAssignment_6_1_1" // $ANTLR start "rule__Artifact__NameAssignment_2" - // InternalRos.g:14084:1: rule__Artifact__NameAssignment_2 : ( ruleRosNames ) ; + // InternalRos.g:14207:1: rule__Artifact__NameAssignment_2 : ( ruleRosNames ) ; public final void rule__Artifact__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14088:1: ( ( ruleRosNames ) ) - // InternalRos.g:14089:2: ( ruleRosNames ) + // InternalRos.g:14211:1: ( ( ruleRosNames ) ) + // InternalRos.g:14212:2: ( ruleRosNames ) { - // InternalRos.g:14089:2: ( ruleRosNames ) - // InternalRos.g:14090:3: ruleRosNames + // InternalRos.g:14212:2: ( ruleRosNames ) + // InternalRos.g:14213:3: ruleRosNames { before(grammarAccess.getArtifactAccess().getNameRosNamesParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -41992,17 +42380,17 @@ public final void rule__Artifact__NameAssignment_2() throws RecognitionException // $ANTLR start "rule__Artifact__NodeAssignment_4" - // InternalRos.g:14099:1: rule__Artifact__NodeAssignment_4 : ( ruleNode ) ; + // InternalRos.g:14222:1: rule__Artifact__NodeAssignment_4 : ( ruleNode ) ; public final void rule__Artifact__NodeAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14103:1: ( ( ruleNode ) ) - // InternalRos.g:14104:2: ( ruleNode ) + // InternalRos.g:14226:1: ( ( ruleNode ) ) + // InternalRos.g:14227:2: ( ruleNode ) { - // InternalRos.g:14104:2: ( ruleNode ) - // InternalRos.g:14105:3: ruleNode + // InternalRos.g:14227:2: ( ruleNode ) + // InternalRos.g:14228:3: ruleNode { before(grammarAccess.getArtifactAccess().getNodeNodeParserRuleCall_4_0()); pushFollow(FOLLOW_2); @@ -42033,17 +42421,17 @@ public final void rule__Artifact__NodeAssignment_4() throws RecognitionException // $ANTLR start "rule__CatkinPackage__NameAssignment_2" - // InternalRos.g:14114:1: rule__CatkinPackage__NameAssignment_2 : ( ruleRosNames ) ; + // InternalRos.g:14237:1: rule__CatkinPackage__NameAssignment_2 : ( ruleRosNames ) ; public final void rule__CatkinPackage__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14118:1: ( ( ruleRosNames ) ) - // InternalRos.g:14119:2: ( ruleRosNames ) + // InternalRos.g:14241:1: ( ( ruleRosNames ) ) + // InternalRos.g:14242:2: ( ruleRosNames ) { - // InternalRos.g:14119:2: ( ruleRosNames ) - // InternalRos.g:14120:3: ruleRosNames + // InternalRos.g:14242:2: ( ruleRosNames ) + // InternalRos.g:14243:3: ruleRosNames { before(grammarAccess.getCatkinPackageAccess().getNameRosNamesParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -42073,26 +42461,26 @@ public final void rule__CatkinPackage__NameAssignment_2() throws RecognitionExce // $ANTLR end "rule__CatkinPackage__NameAssignment_2" - // $ANTLR start "rule__CatkinPackage__SpecAssignment_4_2" - // InternalRos.g:14129:1: rule__CatkinPackage__SpecAssignment_4_2 : ( ruleSpecBase ) ; - public final void rule__CatkinPackage__SpecAssignment_4_2() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__FromGitRepoAssignment_4_1" + // InternalRos.g:14252:1: rule__CatkinPackage__FromGitRepoAssignment_4_1 : ( ruleEString ) ; + public final void rule__CatkinPackage__FromGitRepoAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14133:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14134:2: ( ruleSpecBase ) + // InternalRos.g:14256:1: ( ( ruleEString ) ) + // InternalRos.g:14257:2: ( ruleEString ) { - // InternalRos.g:14134:2: ( ruleSpecBase ) - // InternalRos.g:14135:3: ruleSpecBase + // InternalRos.g:14257:2: ( ruleEString ) + // InternalRos.g:14258:3: ruleEString { - before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); + before(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); - ruleSpecBase(); + ruleEString(); state._fsp--; - after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); + after(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } @@ -42111,29 +42499,29 @@ public final void rule__CatkinPackage__SpecAssignment_4_2() throws RecognitionEx } return ; } - // $ANTLR end "rule__CatkinPackage__SpecAssignment_4_2" + // $ANTLR end "rule__CatkinPackage__FromGitRepoAssignment_4_1" - // $ANTLR start "rule__CatkinPackage__SpecAssignment_4_3_1" - // InternalRos.g:14144:1: rule__CatkinPackage__SpecAssignment_4_3_1 : ( ruleSpecBase ) ; - public final void rule__CatkinPackage__SpecAssignment_4_3_1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__DependencyAssignment_5_2" + // InternalRos.g:14267:1: rule__CatkinPackage__DependencyAssignment_5_2 : ( ruleDependency ) ; + public final void rule__CatkinPackage__DependencyAssignment_5_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14148:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14149:2: ( ruleSpecBase ) + // InternalRos.g:14271:1: ( ( ruleDependency ) ) + // InternalRos.g:14272:2: ( ruleDependency ) { - // InternalRos.g:14149:2: ( ruleSpecBase ) - // InternalRos.g:14150:3: ruleSpecBase + // InternalRos.g:14272:2: ( ruleDependency ) + // InternalRos.g:14273:3: ruleDependency { - before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); + before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); pushFollow(FOLLOW_2); - ruleSpecBase(); + ruleDependency(); state._fsp--; - after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); + after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } @@ -42152,29 +42540,29 @@ public final void rule__CatkinPackage__SpecAssignment_4_3_1() throws Recognition } return ; } - // $ANTLR end "rule__CatkinPackage__SpecAssignment_4_3_1" + // $ANTLR end "rule__CatkinPackage__DependencyAssignment_5_2" - // $ANTLR start "rule__CatkinPackage__ArtifactAssignment_5_0" - // InternalRos.g:14159:1: rule__CatkinPackage__ArtifactAssignment_5_0 : ( ruleArtifact ) ; - public final void rule__CatkinPackage__ArtifactAssignment_5_0() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__DependencyAssignment_5_3_1" + // InternalRos.g:14282:1: rule__CatkinPackage__DependencyAssignment_5_3_1 : ( ruleDependency ) ; + public final void rule__CatkinPackage__DependencyAssignment_5_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14163:1: ( ( ruleArtifact ) ) - // InternalRos.g:14164:2: ( ruleArtifact ) + // InternalRos.g:14286:1: ( ( ruleDependency ) ) + // InternalRos.g:14287:2: ( ruleDependency ) { - // InternalRos.g:14164:2: ( ruleArtifact ) - // InternalRos.g:14165:3: ruleArtifact + // InternalRos.g:14287:2: ( ruleDependency ) + // InternalRos.g:14288:3: ruleDependency { - before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); + before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_2); - ruleArtifact(); + ruleDependency(); state._fsp--; - after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); + after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } @@ -42193,29 +42581,29 @@ public final void rule__CatkinPackage__ArtifactAssignment_5_0() throws Recogniti } return ; } - // $ANTLR end "rule__CatkinPackage__ArtifactAssignment_5_0" + // $ANTLR end "rule__CatkinPackage__DependencyAssignment_5_3_1" - // $ANTLR start "rule__CatkinPackage__ArtifactAssignment_5_1_1" - // InternalRos.g:14174:1: rule__CatkinPackage__ArtifactAssignment_5_1_1 : ( ruleArtifact ) ; - public final void rule__CatkinPackage__ArtifactAssignment_5_1_1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__SpecAssignment_6_2" + // InternalRos.g:14297:1: rule__CatkinPackage__SpecAssignment_6_2 : ( ruleSpecBase ) ; + public final void rule__CatkinPackage__SpecAssignment_6_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14178:1: ( ( ruleArtifact ) ) - // InternalRos.g:14179:2: ( ruleArtifact ) + // InternalRos.g:14301:1: ( ( ruleSpecBase ) ) + // InternalRos.g:14302:2: ( ruleSpecBase ) { - // InternalRos.g:14179:2: ( ruleArtifact ) - // InternalRos.g:14180:3: ruleArtifact + // InternalRos.g:14302:2: ( ruleSpecBase ) + // InternalRos.g:14303:3: ruleSpecBase { - before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); + before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); pushFollow(FOLLOW_2); - ruleArtifact(); + ruleSpecBase(); state._fsp--; - after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); + after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } @@ -42234,29 +42622,29 @@ public final void rule__CatkinPackage__ArtifactAssignment_5_1_1() throws Recogni } return ; } - // $ANTLR end "rule__CatkinPackage__ArtifactAssignment_5_1_1" + // $ANTLR end "rule__CatkinPackage__SpecAssignment_6_2" - // $ANTLR start "rule__CatkinPackage__DependencyAssignment_6_2" - // InternalRos.g:14189:1: rule__CatkinPackage__DependencyAssignment_6_2 : ( ruleDependency ) ; - public final void rule__CatkinPackage__DependencyAssignment_6_2() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__SpecAssignment_6_3_1" + // InternalRos.g:14312:1: rule__CatkinPackage__SpecAssignment_6_3_1 : ( ruleSpecBase ) ; + public final void rule__CatkinPackage__SpecAssignment_6_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14193:1: ( ( ruleDependency ) ) - // InternalRos.g:14194:2: ( ruleDependency ) + // InternalRos.g:14316:1: ( ( ruleSpecBase ) ) + // InternalRos.g:14317:2: ( ruleSpecBase ) { - // InternalRos.g:14194:2: ( ruleDependency ) - // InternalRos.g:14195:3: ruleDependency + // InternalRos.g:14317:2: ( ruleSpecBase ) + // InternalRos.g:14318:3: ruleSpecBase { - before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); + before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); pushFollow(FOLLOW_2); - ruleDependency(); + ruleSpecBase(); state._fsp--; - after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); + after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } @@ -42275,29 +42663,70 @@ public final void rule__CatkinPackage__DependencyAssignment_6_2() throws Recogni } return ; } - // $ANTLR end "rule__CatkinPackage__DependencyAssignment_6_2" + // $ANTLR end "rule__CatkinPackage__SpecAssignment_6_3_1" - // $ANTLR start "rule__CatkinPackage__DependencyAssignment_6_3_1" - // InternalRos.g:14204:1: rule__CatkinPackage__DependencyAssignment_6_3_1 : ( ruleDependency ) ; - public final void rule__CatkinPackage__DependencyAssignment_6_3_1() throws RecognitionException { + // $ANTLR start "rule__CatkinPackage__ArtifactAssignment_7_0" + // InternalRos.g:14327:1: rule__CatkinPackage__ArtifactAssignment_7_0 : ( ruleArtifact ) ; + public final void rule__CatkinPackage__ArtifactAssignment_7_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14208:1: ( ( ruleDependency ) ) - // InternalRos.g:14209:2: ( ruleDependency ) + // InternalRos.g:14331:1: ( ( ruleArtifact ) ) + // InternalRos.g:14332:2: ( ruleArtifact ) { - // InternalRos.g:14209:2: ( ruleDependency ) - // InternalRos.g:14210:3: ruleDependency + // InternalRos.g:14332:2: ( ruleArtifact ) + // InternalRos.g:14333:3: ruleArtifact { - before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); + before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); pushFollow(FOLLOW_2); - ruleDependency(); + ruleArtifact(); + + state._fsp--; + + after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CatkinPackage__ArtifactAssignment_7_0" + + + // $ANTLR start "rule__CatkinPackage__ArtifactAssignment_7_1_1" + // InternalRos.g:14342:1: rule__CatkinPackage__ArtifactAssignment_7_1_1 : ( ruleArtifact ) ; + public final void rule__CatkinPackage__ArtifactAssignment_7_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:14346:1: ( ( ruleArtifact ) ) + // InternalRos.g:14347:2: ( ruleArtifact ) + { + // InternalRos.g:14347:2: ( ruleArtifact ) + // InternalRos.g:14348:3: ruleArtifact + { + before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); + pushFollow(FOLLOW_2); + ruleArtifact(); state._fsp--; - after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); + after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } @@ -42316,21 +42745,21 @@ public final void rule__CatkinPackage__DependencyAssignment_6_3_1() throws Recog } return ; } - // $ANTLR end "rule__CatkinPackage__DependencyAssignment_6_3_1" + // $ANTLR end "rule__CatkinPackage__ArtifactAssignment_7_1_1" // $ANTLR start "rule__ServiceSpec__NameAssignment_2" - // InternalRos.g:14219:1: rule__ServiceSpec__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:14357:1: rule__ServiceSpec__NameAssignment_2 : ( ruleEString ) ; public final void rule__ServiceSpec__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14223:1: ( ( ruleEString ) ) - // InternalRos.g:14224:2: ( ruleEString ) + // InternalRos.g:14361:1: ( ( ruleEString ) ) + // InternalRos.g:14362:2: ( ruleEString ) { - // InternalRos.g:14224:2: ( ruleEString ) - // InternalRos.g:14225:3: ruleEString + // InternalRos.g:14362:2: ( ruleEString ) + // InternalRos.g:14363:3: ruleEString { before(grammarAccess.getServiceSpecAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -42361,17 +42790,17 @@ public final void rule__ServiceSpec__NameAssignment_2() throws RecognitionExcept // $ANTLR start "rule__ServiceSpec__RequestAssignment_4_1" - // InternalRos.g:14234:1: rule__ServiceSpec__RequestAssignment_4_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:14372:1: rule__ServiceSpec__RequestAssignment_4_1 : ( ruleMessageDefinition ) ; public final void rule__ServiceSpec__RequestAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14238:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14239:2: ( ruleMessageDefinition ) + // InternalRos.g:14376:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:14377:2: ( ruleMessageDefinition ) { - // InternalRos.g:14239:2: ( ruleMessageDefinition ) - // InternalRos.g:14240:3: ruleMessageDefinition + // InternalRos.g:14377:2: ( ruleMessageDefinition ) + // InternalRos.g:14378:3: ruleMessageDefinition { before(grammarAccess.getServiceSpecAccess().getRequestMessageDefinitionParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -42402,17 +42831,17 @@ public final void rule__ServiceSpec__RequestAssignment_4_1() throws RecognitionE // $ANTLR start "rule__ServiceSpec__ResponseAssignment_5_1" - // InternalRos.g:14249:1: rule__ServiceSpec__ResponseAssignment_5_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:14387:1: rule__ServiceSpec__ResponseAssignment_5_1 : ( ruleMessageDefinition ) ; public final void rule__ServiceSpec__ResponseAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14253:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14254:2: ( ruleMessageDefinition ) + // InternalRos.g:14391:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:14392:2: ( ruleMessageDefinition ) { - // InternalRos.g:14254:2: ( ruleMessageDefinition ) - // InternalRos.g:14255:3: ruleMessageDefinition + // InternalRos.g:14392:2: ( ruleMessageDefinition ) + // InternalRos.g:14393:3: ruleMessageDefinition { before(grammarAccess.getServiceSpecAccess().getResponseMessageDefinitionParserRuleCall_5_1_0()); pushFollow(FOLLOW_2); @@ -42443,21 +42872,21 @@ public final void rule__ServiceSpec__ResponseAssignment_5_1() throws Recognition // $ANTLR start "rule__TopicSpec__NameAssignment_2" - // InternalRos.g:14264:1: rule__TopicSpec__NameAssignment_2 : ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ; + // InternalRos.g:14402:1: rule__TopicSpec__NameAssignment_2 : ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ; public final void rule__TopicSpec__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14268:1: ( ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ) - // InternalRos.g:14269:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) + // InternalRos.g:14406:1: ( ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ) + // InternalRos.g:14407:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) { - // InternalRos.g:14269:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) - // InternalRos.g:14270:3: ( rule__TopicSpec__NameAlternatives_2_0 ) + // InternalRos.g:14407:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) + // InternalRos.g:14408:3: ( rule__TopicSpec__NameAlternatives_2_0 ) { before(grammarAccess.getTopicSpecAccess().getNameAlternatives_2_0()); - // InternalRos.g:14271:3: ( rule__TopicSpec__NameAlternatives_2_0 ) - // InternalRos.g:14271:4: rule__TopicSpec__NameAlternatives_2_0 + // InternalRos.g:14409:3: ( rule__TopicSpec__NameAlternatives_2_0 ) + // InternalRos.g:14409:4: rule__TopicSpec__NameAlternatives_2_0 { pushFollow(FOLLOW_2); rule__TopicSpec__NameAlternatives_2_0(); @@ -42490,17 +42919,17 @@ public final void rule__TopicSpec__NameAssignment_2() throws RecognitionExceptio // $ANTLR start "rule__TopicSpec__MessageAssignment_4_1" - // InternalRos.g:14279:1: rule__TopicSpec__MessageAssignment_4_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:14417:1: rule__TopicSpec__MessageAssignment_4_1 : ( ruleMessageDefinition ) ; public final void rule__TopicSpec__MessageAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14283:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14284:2: ( ruleMessageDefinition ) + // InternalRos.g:14421:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:14422:2: ( ruleMessageDefinition ) { - // InternalRos.g:14284:2: ( ruleMessageDefinition ) - // InternalRos.g:14285:3: ruleMessageDefinition + // InternalRos.g:14422:2: ( ruleMessageDefinition ) + // InternalRos.g:14423:3: ruleMessageDefinition { before(grammarAccess.getTopicSpecAccess().getMessageMessageDefinitionParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -42531,17 +42960,17 @@ public final void rule__TopicSpec__MessageAssignment_4_1() throws RecognitionExc // $ANTLR start "rule__ActionSpec__NameAssignment_2" - // InternalRos.g:14294:1: rule__ActionSpec__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:14432:1: rule__ActionSpec__NameAssignment_2 : ( ruleEString ) ; public final void rule__ActionSpec__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14298:1: ( ( ruleEString ) ) - // InternalRos.g:14299:2: ( ruleEString ) + // InternalRos.g:14436:1: ( ( ruleEString ) ) + // InternalRos.g:14437:2: ( ruleEString ) { - // InternalRos.g:14299:2: ( ruleEString ) - // InternalRos.g:14300:3: ruleEString + // InternalRos.g:14437:2: ( ruleEString ) + // InternalRos.g:14438:3: ruleEString { before(grammarAccess.getActionSpecAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -42572,17 +43001,17 @@ public final void rule__ActionSpec__NameAssignment_2() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__GoalAssignment_4_1" - // InternalRos.g:14309:1: rule__ActionSpec__GoalAssignment_4_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:14447:1: rule__ActionSpec__GoalAssignment_4_1 : ( ruleMessageDefinition ) ; public final void rule__ActionSpec__GoalAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14313:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14314:2: ( ruleMessageDefinition ) + // InternalRos.g:14451:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:14452:2: ( ruleMessageDefinition ) { - // InternalRos.g:14314:2: ( ruleMessageDefinition ) - // InternalRos.g:14315:3: ruleMessageDefinition + // InternalRos.g:14452:2: ( ruleMessageDefinition ) + // InternalRos.g:14453:3: ruleMessageDefinition { before(grammarAccess.getActionSpecAccess().getGoalMessageDefinitionParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -42613,17 +43042,17 @@ public final void rule__ActionSpec__GoalAssignment_4_1() throws RecognitionExcep // $ANTLR start "rule__ActionSpec__ResultAssignment_5_1" - // InternalRos.g:14324:1: rule__ActionSpec__ResultAssignment_5_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:14462:1: rule__ActionSpec__ResultAssignment_5_1 : ( ruleMessageDefinition ) ; public final void rule__ActionSpec__ResultAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14328:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14329:2: ( ruleMessageDefinition ) + // InternalRos.g:14466:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:14467:2: ( ruleMessageDefinition ) { - // InternalRos.g:14329:2: ( ruleMessageDefinition ) - // InternalRos.g:14330:3: ruleMessageDefinition + // InternalRos.g:14467:2: ( ruleMessageDefinition ) + // InternalRos.g:14468:3: ruleMessageDefinition { before(grammarAccess.getActionSpecAccess().getResultMessageDefinitionParserRuleCall_5_1_0()); pushFollow(FOLLOW_2); @@ -42654,17 +43083,17 @@ public final void rule__ActionSpec__ResultAssignment_5_1() throws RecognitionExc // $ANTLR start "rule__ActionSpec__FeedbackAssignment_6_1" - // InternalRos.g:14339:1: rule__ActionSpec__FeedbackAssignment_6_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:14477:1: rule__ActionSpec__FeedbackAssignment_6_1 : ( ruleMessageDefinition ) ; public final void rule__ActionSpec__FeedbackAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14343:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14344:2: ( ruleMessageDefinition ) + // InternalRos.g:14481:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:14482:2: ( ruleMessageDefinition ) { - // InternalRos.g:14344:2: ( ruleMessageDefinition ) - // InternalRos.g:14345:3: ruleMessageDefinition + // InternalRos.g:14482:2: ( ruleMessageDefinition ) + // InternalRos.g:14483:3: ruleMessageDefinition { before(grammarAccess.getActionSpecAccess().getFeedbackMessageDefinitionParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -42695,17 +43124,17 @@ public final void rule__ActionSpec__FeedbackAssignment_6_1() throws RecognitionE // $ANTLR start "rule__MessageDefinition__MessagePartAssignment_2_0" - // InternalRos.g:14354:1: rule__MessageDefinition__MessagePartAssignment_2_0 : ( ruleMessagePart ) ; + // InternalRos.g:14492:1: rule__MessageDefinition__MessagePartAssignment_2_0 : ( ruleMessagePart ) ; public final void rule__MessageDefinition__MessagePartAssignment_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14358:1: ( ( ruleMessagePart ) ) - // InternalRos.g:14359:2: ( ruleMessagePart ) + // InternalRos.g:14496:1: ( ( ruleMessagePart ) ) + // InternalRos.g:14497:2: ( ruleMessagePart ) { - // InternalRos.g:14359:2: ( ruleMessagePart ) - // InternalRos.g:14360:3: ruleMessagePart + // InternalRos.g:14497:2: ( ruleMessagePart ) + // InternalRos.g:14498:3: ruleMessagePart { before(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_0_0()); pushFollow(FOLLOW_2); @@ -42736,17 +43165,17 @@ public final void rule__MessageDefinition__MessagePartAssignment_2_0() throws Re // $ANTLR start "rule__MessageDefinition__MessagePartAssignment_2_1" - // InternalRos.g:14369:1: rule__MessageDefinition__MessagePartAssignment_2_1 : ( ruleMessagePart ) ; + // InternalRos.g:14507:1: rule__MessageDefinition__MessagePartAssignment_2_1 : ( ruleMessagePart ) ; public final void rule__MessageDefinition__MessagePartAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14373:1: ( ( ruleMessagePart ) ) - // InternalRos.g:14374:2: ( ruleMessagePart ) + // InternalRos.g:14511:1: ( ( ruleMessagePart ) ) + // InternalRos.g:14512:2: ( ruleMessagePart ) { - // InternalRos.g:14374:2: ( ruleMessagePart ) - // InternalRos.g:14375:3: ruleMessagePart + // InternalRos.g:14512:2: ( ruleMessagePart ) + // InternalRos.g:14513:3: ruleMessagePart { before(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -42777,17 +43206,17 @@ public final void rule__MessageDefinition__MessagePartAssignment_2_1() throws Re // $ANTLR start "rule__Node__NameAssignment_3" - // InternalRos.g:14384:1: rule__Node__NameAssignment_3 : ( ruleRosNames ) ; + // InternalRos.g:14522:1: rule__Node__NameAssignment_3 : ( ruleRosNames ) ; public final void rule__Node__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14388:1: ( ( ruleRosNames ) ) - // InternalRos.g:14389:2: ( ruleRosNames ) + // InternalRos.g:14526:1: ( ( ruleRosNames ) ) + // InternalRos.g:14527:2: ( ruleRosNames ) { - // InternalRos.g:14389:2: ( ruleRosNames ) - // InternalRos.g:14390:3: ruleRosNames + // InternalRos.g:14527:2: ( ruleRosNames ) + // InternalRos.g:14528:3: ruleRosNames { before(grammarAccess.getNodeAccess().getNameRosNamesParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -42818,17 +43247,17 @@ public final void rule__Node__NameAssignment_3() throws RecognitionException { // $ANTLR start "rule__Node__ServiceserverAssignment_4_2" - // InternalRos.g:14399:1: rule__Node__ServiceserverAssignment_4_2 : ( ruleServiceServer ) ; + // InternalRos.g:14537:1: rule__Node__ServiceserverAssignment_4_2 : ( ruleServiceServer ) ; public final void rule__Node__ServiceserverAssignment_4_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14403:1: ( ( ruleServiceServer ) ) - // InternalRos.g:14404:2: ( ruleServiceServer ) + // InternalRos.g:14541:1: ( ( ruleServiceServer ) ) + // InternalRos.g:14542:2: ( ruleServiceServer ) { - // InternalRos.g:14404:2: ( ruleServiceServer ) - // InternalRos.g:14405:3: ruleServiceServer + // InternalRos.g:14542:2: ( ruleServiceServer ) + // InternalRos.g:14543:3: ruleServiceServer { before(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_2_0()); pushFollow(FOLLOW_2); @@ -42859,17 +43288,17 @@ public final void rule__Node__ServiceserverAssignment_4_2() throws RecognitionEx // $ANTLR start "rule__Node__ServiceserverAssignment_4_3_1" - // InternalRos.g:14414:1: rule__Node__ServiceserverAssignment_4_3_1 : ( ruleServiceServer ) ; + // InternalRos.g:14552:1: rule__Node__ServiceserverAssignment_4_3_1 : ( ruleServiceServer ) ; public final void rule__Node__ServiceserverAssignment_4_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14418:1: ( ( ruleServiceServer ) ) - // InternalRos.g:14419:2: ( ruleServiceServer ) + // InternalRos.g:14556:1: ( ( ruleServiceServer ) ) + // InternalRos.g:14557:2: ( ruleServiceServer ) { - // InternalRos.g:14419:2: ( ruleServiceServer ) - // InternalRos.g:14420:3: ruleServiceServer + // InternalRos.g:14557:2: ( ruleServiceServer ) + // InternalRos.g:14558:3: ruleServiceServer { before(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_3_1_0()); pushFollow(FOLLOW_2); @@ -42900,17 +43329,17 @@ public final void rule__Node__ServiceserverAssignment_4_3_1() throws Recognition // $ANTLR start "rule__Node__PublisherAssignment_5_2" - // InternalRos.g:14429:1: rule__Node__PublisherAssignment_5_2 : ( rulePublisher ) ; + // InternalRos.g:14567:1: rule__Node__PublisherAssignment_5_2 : ( rulePublisher ) ; public final void rule__Node__PublisherAssignment_5_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14433:1: ( ( rulePublisher ) ) - // InternalRos.g:14434:2: ( rulePublisher ) + // InternalRos.g:14571:1: ( ( rulePublisher ) ) + // InternalRos.g:14572:2: ( rulePublisher ) { - // InternalRos.g:14434:2: ( rulePublisher ) - // InternalRos.g:14435:3: rulePublisher + // InternalRos.g:14572:2: ( rulePublisher ) + // InternalRos.g:14573:3: rulePublisher { before(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_2_0()); pushFollow(FOLLOW_2); @@ -42941,17 +43370,17 @@ public final void rule__Node__PublisherAssignment_5_2() throws RecognitionExcept // $ANTLR start "rule__Node__PublisherAssignment_5_3_1" - // InternalRos.g:14444:1: rule__Node__PublisherAssignment_5_3_1 : ( rulePublisher ) ; + // InternalRos.g:14582:1: rule__Node__PublisherAssignment_5_3_1 : ( rulePublisher ) ; public final void rule__Node__PublisherAssignment_5_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14448:1: ( ( rulePublisher ) ) - // InternalRos.g:14449:2: ( rulePublisher ) + // InternalRos.g:14586:1: ( ( rulePublisher ) ) + // InternalRos.g:14587:2: ( rulePublisher ) { - // InternalRos.g:14449:2: ( rulePublisher ) - // InternalRos.g:14450:3: rulePublisher + // InternalRos.g:14587:2: ( rulePublisher ) + // InternalRos.g:14588:3: rulePublisher { before(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_2); @@ -42982,17 +43411,17 @@ public final void rule__Node__PublisherAssignment_5_3_1() throws RecognitionExce // $ANTLR start "rule__Node__SubscriberAssignment_6_2" - // InternalRos.g:14459:1: rule__Node__SubscriberAssignment_6_2 : ( ruleSubscriber ) ; + // InternalRos.g:14597:1: rule__Node__SubscriberAssignment_6_2 : ( ruleSubscriber ) ; public final void rule__Node__SubscriberAssignment_6_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14463:1: ( ( ruleSubscriber ) ) - // InternalRos.g:14464:2: ( ruleSubscriber ) + // InternalRos.g:14601:1: ( ( ruleSubscriber ) ) + // InternalRos.g:14602:2: ( ruleSubscriber ) { - // InternalRos.g:14464:2: ( ruleSubscriber ) - // InternalRos.g:14465:3: ruleSubscriber + // InternalRos.g:14602:2: ( ruleSubscriber ) + // InternalRos.g:14603:3: ruleSubscriber { before(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_2_0()); pushFollow(FOLLOW_2); @@ -43023,17 +43452,17 @@ public final void rule__Node__SubscriberAssignment_6_2() throws RecognitionExcep // $ANTLR start "rule__Node__SubscriberAssignment_6_3_1" - // InternalRos.g:14474:1: rule__Node__SubscriberAssignment_6_3_1 : ( ruleSubscriber ) ; + // InternalRos.g:14612:1: rule__Node__SubscriberAssignment_6_3_1 : ( ruleSubscriber ) ; public final void rule__Node__SubscriberAssignment_6_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14478:1: ( ( ruleSubscriber ) ) - // InternalRos.g:14479:2: ( ruleSubscriber ) + // InternalRos.g:14616:1: ( ( ruleSubscriber ) ) + // InternalRos.g:14617:2: ( ruleSubscriber ) { - // InternalRos.g:14479:2: ( ruleSubscriber ) - // InternalRos.g:14480:3: ruleSubscriber + // InternalRos.g:14617:2: ( ruleSubscriber ) + // InternalRos.g:14618:3: ruleSubscriber { before(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_3_1_0()); pushFollow(FOLLOW_2); @@ -43064,17 +43493,17 @@ public final void rule__Node__SubscriberAssignment_6_3_1() throws RecognitionExc // $ANTLR start "rule__Node__ServiceclientAssignment_7_2" - // InternalRos.g:14489:1: rule__Node__ServiceclientAssignment_7_2 : ( ruleServiceClient ) ; + // InternalRos.g:14627:1: rule__Node__ServiceclientAssignment_7_2 : ( ruleServiceClient ) ; public final void rule__Node__ServiceclientAssignment_7_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14493:1: ( ( ruleServiceClient ) ) - // InternalRos.g:14494:2: ( ruleServiceClient ) + // InternalRos.g:14631:1: ( ( ruleServiceClient ) ) + // InternalRos.g:14632:2: ( ruleServiceClient ) { - // InternalRos.g:14494:2: ( ruleServiceClient ) - // InternalRos.g:14495:3: ruleServiceClient + // InternalRos.g:14632:2: ( ruleServiceClient ) + // InternalRos.g:14633:3: ruleServiceClient { before(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_2_0()); pushFollow(FOLLOW_2); @@ -43105,17 +43534,17 @@ public final void rule__Node__ServiceclientAssignment_7_2() throws RecognitionEx // $ANTLR start "rule__Node__ServiceclientAssignment_7_3_1" - // InternalRos.g:14504:1: rule__Node__ServiceclientAssignment_7_3_1 : ( ruleServiceClient ) ; + // InternalRos.g:14642:1: rule__Node__ServiceclientAssignment_7_3_1 : ( ruleServiceClient ) ; public final void rule__Node__ServiceclientAssignment_7_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14508:1: ( ( ruleServiceClient ) ) - // InternalRos.g:14509:2: ( ruleServiceClient ) + // InternalRos.g:14646:1: ( ( ruleServiceClient ) ) + // InternalRos.g:14647:2: ( ruleServiceClient ) { - // InternalRos.g:14509:2: ( ruleServiceClient ) - // InternalRos.g:14510:3: ruleServiceClient + // InternalRos.g:14647:2: ( ruleServiceClient ) + // InternalRos.g:14648:3: ruleServiceClient { before(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_3_1_0()); pushFollow(FOLLOW_2); @@ -43146,17 +43575,17 @@ public final void rule__Node__ServiceclientAssignment_7_3_1() throws Recognition // $ANTLR start "rule__Node__ActionserverAssignment_8_2" - // InternalRos.g:14519:1: rule__Node__ActionserverAssignment_8_2 : ( ruleActionServer ) ; + // InternalRos.g:14657:1: rule__Node__ActionserverAssignment_8_2 : ( ruleActionServer ) ; public final void rule__Node__ActionserverAssignment_8_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14523:1: ( ( ruleActionServer ) ) - // InternalRos.g:14524:2: ( ruleActionServer ) + // InternalRos.g:14661:1: ( ( ruleActionServer ) ) + // InternalRos.g:14662:2: ( ruleActionServer ) { - // InternalRos.g:14524:2: ( ruleActionServer ) - // InternalRos.g:14525:3: ruleActionServer + // InternalRos.g:14662:2: ( ruleActionServer ) + // InternalRos.g:14663:3: ruleActionServer { before(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_2_0()); pushFollow(FOLLOW_2); @@ -43187,17 +43616,17 @@ public final void rule__Node__ActionserverAssignment_8_2() throws RecognitionExc // $ANTLR start "rule__Node__ActionserverAssignment_8_3_1" - // InternalRos.g:14534:1: rule__Node__ActionserverAssignment_8_3_1 : ( ruleActionServer ) ; + // InternalRos.g:14672:1: rule__Node__ActionserverAssignment_8_3_1 : ( ruleActionServer ) ; public final void rule__Node__ActionserverAssignment_8_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14538:1: ( ( ruleActionServer ) ) - // InternalRos.g:14539:2: ( ruleActionServer ) + // InternalRos.g:14676:1: ( ( ruleActionServer ) ) + // InternalRos.g:14677:2: ( ruleActionServer ) { - // InternalRos.g:14539:2: ( ruleActionServer ) - // InternalRos.g:14540:3: ruleActionServer + // InternalRos.g:14677:2: ( ruleActionServer ) + // InternalRos.g:14678:3: ruleActionServer { before(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_3_1_0()); pushFollow(FOLLOW_2); @@ -43228,17 +43657,17 @@ public final void rule__Node__ActionserverAssignment_8_3_1() throws RecognitionE // $ANTLR start "rule__Node__ActionclientAssignment_9_2" - // InternalRos.g:14549:1: rule__Node__ActionclientAssignment_9_2 : ( ruleActionClient ) ; + // InternalRos.g:14687:1: rule__Node__ActionclientAssignment_9_2 : ( ruleActionClient ) ; public final void rule__Node__ActionclientAssignment_9_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14553:1: ( ( ruleActionClient ) ) - // InternalRos.g:14554:2: ( ruleActionClient ) + // InternalRos.g:14691:1: ( ( ruleActionClient ) ) + // InternalRos.g:14692:2: ( ruleActionClient ) { - // InternalRos.g:14554:2: ( ruleActionClient ) - // InternalRos.g:14555:3: ruleActionClient + // InternalRos.g:14692:2: ( ruleActionClient ) + // InternalRos.g:14693:3: ruleActionClient { before(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_2_0()); pushFollow(FOLLOW_2); @@ -43269,17 +43698,17 @@ public final void rule__Node__ActionclientAssignment_9_2() throws RecognitionExc // $ANTLR start "rule__Node__ActionclientAssignment_9_3_1" - // InternalRos.g:14564:1: rule__Node__ActionclientAssignment_9_3_1 : ( ruleActionClient ) ; + // InternalRos.g:14702:1: rule__Node__ActionclientAssignment_9_3_1 : ( ruleActionClient ) ; public final void rule__Node__ActionclientAssignment_9_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14568:1: ( ( ruleActionClient ) ) - // InternalRos.g:14569:2: ( ruleActionClient ) + // InternalRos.g:14706:1: ( ( ruleActionClient ) ) + // InternalRos.g:14707:2: ( ruleActionClient ) { - // InternalRos.g:14569:2: ( ruleActionClient ) - // InternalRos.g:14570:3: ruleActionClient + // InternalRos.g:14707:2: ( ruleActionClient ) + // InternalRos.g:14708:3: ruleActionClient { before(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_3_1_0()); pushFollow(FOLLOW_2); @@ -43310,17 +43739,17 @@ public final void rule__Node__ActionclientAssignment_9_3_1() throws RecognitionE // $ANTLR start "rule__Node__ParameterAssignment_10_2" - // InternalRos.g:14579:1: rule__Node__ParameterAssignment_10_2 : ( ruleParameter ) ; + // InternalRos.g:14717:1: rule__Node__ParameterAssignment_10_2 : ( ruleParameter ) ; public final void rule__Node__ParameterAssignment_10_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14583:1: ( ( ruleParameter ) ) - // InternalRos.g:14584:2: ( ruleParameter ) + // InternalRos.g:14721:1: ( ( ruleParameter ) ) + // InternalRos.g:14722:2: ( ruleParameter ) { - // InternalRos.g:14584:2: ( ruleParameter ) - // InternalRos.g:14585:3: ruleParameter + // InternalRos.g:14722:2: ( ruleParameter ) + // InternalRos.g:14723:3: ruleParameter { before(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_2_0()); pushFollow(FOLLOW_2); @@ -43351,17 +43780,17 @@ public final void rule__Node__ParameterAssignment_10_2() throws RecognitionExcep // $ANTLR start "rule__Node__ParameterAssignment_10_3_1" - // InternalRos.g:14594:1: rule__Node__ParameterAssignment_10_3_1 : ( ruleParameter ) ; + // InternalRos.g:14732:1: rule__Node__ParameterAssignment_10_3_1 : ( ruleParameter ) ; public final void rule__Node__ParameterAssignment_10_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14598:1: ( ( ruleParameter ) ) - // InternalRos.g:14599:2: ( ruleParameter ) + // InternalRos.g:14736:1: ( ( ruleParameter ) ) + // InternalRos.g:14737:2: ( ruleParameter ) { - // InternalRos.g:14599:2: ( ruleParameter ) - // InternalRos.g:14600:3: ruleParameter + // InternalRos.g:14737:2: ( ruleParameter ) + // InternalRos.g:14738:3: ruleParameter { before(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_3_1_0()); pushFollow(FOLLOW_2); @@ -43392,17 +43821,17 @@ public final void rule__Node__ParameterAssignment_10_3_1() throws RecognitionExc // $ANTLR start "rule__ServiceServer__NameAssignment_3" - // InternalRos.g:14609:1: rule__ServiceServer__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:14747:1: rule__ServiceServer__NameAssignment_3 : ( ruleEString ) ; public final void rule__ServiceServer__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14613:1: ( ( ruleEString ) ) - // InternalRos.g:14614:2: ( ruleEString ) + // InternalRos.g:14751:1: ( ( ruleEString ) ) + // InternalRos.g:14752:2: ( ruleEString ) { - // InternalRos.g:14614:2: ( ruleEString ) - // InternalRos.g:14615:3: ruleEString + // InternalRos.g:14752:2: ( ruleEString ) + // InternalRos.g:14753:3: ruleEString { before(grammarAccess.getServiceServerAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43433,21 +43862,21 @@ public final void rule__ServiceServer__NameAssignment_3() throws RecognitionExce // $ANTLR start "rule__ServiceServer__ServiceAssignment_5" - // InternalRos.g:14624:1: rule__ServiceServer__ServiceAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:14762:1: rule__ServiceServer__ServiceAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ServiceServer__ServiceAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14628:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14629:2: ( ( ruleEString ) ) + // InternalRos.g:14766:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:14767:2: ( ( ruleEString ) ) { - // InternalRos.g:14629:2: ( ( ruleEString ) ) - // InternalRos.g:14630:3: ( ruleEString ) + // InternalRos.g:14767:2: ( ( ruleEString ) ) + // InternalRos.g:14768:3: ( ruleEString ) { before(grammarAccess.getServiceServerAccess().getServiceServiceSpecCrossReference_5_0()); - // InternalRos.g:14631:3: ( ruleEString ) - // InternalRos.g:14632:4: ruleEString + // InternalRos.g:14769:3: ( ruleEString ) + // InternalRos.g:14770:4: ruleEString { before(grammarAccess.getServiceServerAccess().getServiceServiceSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -43482,17 +43911,17 @@ public final void rule__ServiceServer__ServiceAssignment_5() throws RecognitionE // $ANTLR start "rule__ServiceServer__NamespaceAssignment_6_1" - // InternalRos.g:14643:1: rule__ServiceServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:14781:1: rule__ServiceServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ServiceServer__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14647:1: ( ( ruleNamespace ) ) - // InternalRos.g:14648:2: ( ruleNamespace ) + // InternalRos.g:14785:1: ( ( ruleNamespace ) ) + // InternalRos.g:14786:2: ( ruleNamespace ) { - // InternalRos.g:14648:2: ( ruleNamespace ) - // InternalRos.g:14649:3: ruleNamespace + // InternalRos.g:14786:2: ( ruleNamespace ) + // InternalRos.g:14787:3: ruleNamespace { before(grammarAccess.getServiceServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -43523,17 +43952,17 @@ public final void rule__ServiceServer__NamespaceAssignment_6_1() throws Recognit // $ANTLR start "rule__Publisher__NameAssignment_3" - // InternalRos.g:14658:1: rule__Publisher__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:14796:1: rule__Publisher__NameAssignment_3 : ( ruleEString ) ; public final void rule__Publisher__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14662:1: ( ( ruleEString ) ) - // InternalRos.g:14663:2: ( ruleEString ) + // InternalRos.g:14800:1: ( ( ruleEString ) ) + // InternalRos.g:14801:2: ( ruleEString ) { - // InternalRos.g:14663:2: ( ruleEString ) - // InternalRos.g:14664:3: ruleEString + // InternalRos.g:14801:2: ( ruleEString ) + // InternalRos.g:14802:3: ruleEString { before(grammarAccess.getPublisherAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43564,21 +43993,21 @@ public final void rule__Publisher__NameAssignment_3() throws RecognitionExceptio // $ANTLR start "rule__Publisher__MessageAssignment_5" - // InternalRos.g:14673:1: rule__Publisher__MessageAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:14811:1: rule__Publisher__MessageAssignment_5 : ( ( ruleEString ) ) ; public final void rule__Publisher__MessageAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14677:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14678:2: ( ( ruleEString ) ) + // InternalRos.g:14815:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:14816:2: ( ( ruleEString ) ) { - // InternalRos.g:14678:2: ( ( ruleEString ) ) - // InternalRos.g:14679:3: ( ruleEString ) + // InternalRos.g:14816:2: ( ( ruleEString ) ) + // InternalRos.g:14817:3: ( ruleEString ) { before(grammarAccess.getPublisherAccess().getMessageTopicSpecCrossReference_5_0()); - // InternalRos.g:14680:3: ( ruleEString ) - // InternalRos.g:14681:4: ruleEString + // InternalRos.g:14818:3: ( ruleEString ) + // InternalRos.g:14819:4: ruleEString { before(grammarAccess.getPublisherAccess().getMessageTopicSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -43613,17 +44042,17 @@ public final void rule__Publisher__MessageAssignment_5() throws RecognitionExcep // $ANTLR start "rule__Publisher__NamespaceAssignment_6_1" - // InternalRos.g:14692:1: rule__Publisher__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:14830:1: rule__Publisher__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__Publisher__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14696:1: ( ( ruleNamespace ) ) - // InternalRos.g:14697:2: ( ruleNamespace ) + // InternalRos.g:14834:1: ( ( ruleNamespace ) ) + // InternalRos.g:14835:2: ( ruleNamespace ) { - // InternalRos.g:14697:2: ( ruleNamespace ) - // InternalRos.g:14698:3: ruleNamespace + // InternalRos.g:14835:2: ( ruleNamespace ) + // InternalRos.g:14836:3: ruleNamespace { before(grammarAccess.getPublisherAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -43654,17 +44083,17 @@ public final void rule__Publisher__NamespaceAssignment_6_1() throws RecognitionE // $ANTLR start "rule__Subscriber__NameAssignment_3" - // InternalRos.g:14707:1: rule__Subscriber__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:14845:1: rule__Subscriber__NameAssignment_3 : ( ruleEString ) ; public final void rule__Subscriber__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14711:1: ( ( ruleEString ) ) - // InternalRos.g:14712:2: ( ruleEString ) + // InternalRos.g:14849:1: ( ( ruleEString ) ) + // InternalRos.g:14850:2: ( ruleEString ) { - // InternalRos.g:14712:2: ( ruleEString ) - // InternalRos.g:14713:3: ruleEString + // InternalRos.g:14850:2: ( ruleEString ) + // InternalRos.g:14851:3: ruleEString { before(grammarAccess.getSubscriberAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43695,21 +44124,21 @@ public final void rule__Subscriber__NameAssignment_3() throws RecognitionExcepti // $ANTLR start "rule__Subscriber__MessageAssignment_5" - // InternalRos.g:14722:1: rule__Subscriber__MessageAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:14860:1: rule__Subscriber__MessageAssignment_5 : ( ( ruleEString ) ) ; public final void rule__Subscriber__MessageAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14726:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14727:2: ( ( ruleEString ) ) + // InternalRos.g:14864:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:14865:2: ( ( ruleEString ) ) { - // InternalRos.g:14727:2: ( ( ruleEString ) ) - // InternalRos.g:14728:3: ( ruleEString ) + // InternalRos.g:14865:2: ( ( ruleEString ) ) + // InternalRos.g:14866:3: ( ruleEString ) { before(grammarAccess.getSubscriberAccess().getMessageTopicSpecCrossReference_5_0()); - // InternalRos.g:14729:3: ( ruleEString ) - // InternalRos.g:14730:4: ruleEString + // InternalRos.g:14867:3: ( ruleEString ) + // InternalRos.g:14868:4: ruleEString { before(grammarAccess.getSubscriberAccess().getMessageTopicSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -43744,17 +44173,17 @@ public final void rule__Subscriber__MessageAssignment_5() throws RecognitionExce // $ANTLR start "rule__Subscriber__NamespaceAssignment_6_1" - // InternalRos.g:14741:1: rule__Subscriber__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:14879:1: rule__Subscriber__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__Subscriber__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14745:1: ( ( ruleNamespace ) ) - // InternalRos.g:14746:2: ( ruleNamespace ) + // InternalRos.g:14883:1: ( ( ruleNamespace ) ) + // InternalRos.g:14884:2: ( ruleNamespace ) { - // InternalRos.g:14746:2: ( ruleNamespace ) - // InternalRos.g:14747:3: ruleNamespace + // InternalRos.g:14884:2: ( ruleNamespace ) + // InternalRos.g:14885:3: ruleNamespace { before(grammarAccess.getSubscriberAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -43785,17 +44214,17 @@ public final void rule__Subscriber__NamespaceAssignment_6_1() throws Recognition // $ANTLR start "rule__ServiceClient__NameAssignment_3" - // InternalRos.g:14756:1: rule__ServiceClient__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:14894:1: rule__ServiceClient__NameAssignment_3 : ( ruleEString ) ; public final void rule__ServiceClient__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14760:1: ( ( ruleEString ) ) - // InternalRos.g:14761:2: ( ruleEString ) + // InternalRos.g:14898:1: ( ( ruleEString ) ) + // InternalRos.g:14899:2: ( ruleEString ) { - // InternalRos.g:14761:2: ( ruleEString ) - // InternalRos.g:14762:3: ruleEString + // InternalRos.g:14899:2: ( ruleEString ) + // InternalRos.g:14900:3: ruleEString { before(grammarAccess.getServiceClientAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43826,21 +44255,21 @@ public final void rule__ServiceClient__NameAssignment_3() throws RecognitionExce // $ANTLR start "rule__ServiceClient__ServiceAssignment_5" - // InternalRos.g:14771:1: rule__ServiceClient__ServiceAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:14909:1: rule__ServiceClient__ServiceAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ServiceClient__ServiceAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14775:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14776:2: ( ( ruleEString ) ) + // InternalRos.g:14913:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:14914:2: ( ( ruleEString ) ) { - // InternalRos.g:14776:2: ( ( ruleEString ) ) - // InternalRos.g:14777:3: ( ruleEString ) + // InternalRos.g:14914:2: ( ( ruleEString ) ) + // InternalRos.g:14915:3: ( ruleEString ) { before(grammarAccess.getServiceClientAccess().getServiceServiceSpecCrossReference_5_0()); - // InternalRos.g:14778:3: ( ruleEString ) - // InternalRos.g:14779:4: ruleEString + // InternalRos.g:14916:3: ( ruleEString ) + // InternalRos.g:14917:4: ruleEString { before(grammarAccess.getServiceClientAccess().getServiceServiceSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -43875,17 +44304,17 @@ public final void rule__ServiceClient__ServiceAssignment_5() throws RecognitionE // $ANTLR start "rule__ServiceClient__NamespaceAssignment_6_1" - // InternalRos.g:14790:1: rule__ServiceClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:14928:1: rule__ServiceClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ServiceClient__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14794:1: ( ( ruleNamespace ) ) - // InternalRos.g:14795:2: ( ruleNamespace ) + // InternalRos.g:14932:1: ( ( ruleNamespace ) ) + // InternalRos.g:14933:2: ( ruleNamespace ) { - // InternalRos.g:14795:2: ( ruleNamespace ) - // InternalRos.g:14796:3: ruleNamespace + // InternalRos.g:14933:2: ( ruleNamespace ) + // InternalRos.g:14934:3: ruleNamespace { before(grammarAccess.getServiceClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -43916,17 +44345,17 @@ public final void rule__ServiceClient__NamespaceAssignment_6_1() throws Recognit // $ANTLR start "rule__ActionServer__NameAssignment_3" - // InternalRos.g:14805:1: rule__ActionServer__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:14943:1: rule__ActionServer__NameAssignment_3 : ( ruleEString ) ; public final void rule__ActionServer__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14809:1: ( ( ruleEString ) ) - // InternalRos.g:14810:2: ( ruleEString ) + // InternalRos.g:14947:1: ( ( ruleEString ) ) + // InternalRos.g:14948:2: ( ruleEString ) { - // InternalRos.g:14810:2: ( ruleEString ) - // InternalRos.g:14811:3: ruleEString + // InternalRos.g:14948:2: ( ruleEString ) + // InternalRos.g:14949:3: ruleEString { before(grammarAccess.getActionServerAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43957,21 +44386,21 @@ public final void rule__ActionServer__NameAssignment_3() throws RecognitionExcep // $ANTLR start "rule__ActionServer__ActionAssignment_5" - // InternalRos.g:14820:1: rule__ActionServer__ActionAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:14958:1: rule__ActionServer__ActionAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ActionServer__ActionAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14824:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14825:2: ( ( ruleEString ) ) + // InternalRos.g:14962:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:14963:2: ( ( ruleEString ) ) { - // InternalRos.g:14825:2: ( ( ruleEString ) ) - // InternalRos.g:14826:3: ( ruleEString ) + // InternalRos.g:14963:2: ( ( ruleEString ) ) + // InternalRos.g:14964:3: ( ruleEString ) { before(grammarAccess.getActionServerAccess().getActionActionSpecCrossReference_5_0()); - // InternalRos.g:14827:3: ( ruleEString ) - // InternalRos.g:14828:4: ruleEString + // InternalRos.g:14965:3: ( ruleEString ) + // InternalRos.g:14966:4: ruleEString { before(grammarAccess.getActionServerAccess().getActionActionSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -44006,17 +44435,17 @@ public final void rule__ActionServer__ActionAssignment_5() throws RecognitionExc // $ANTLR start "rule__ActionServer__NamespaceAssignment_6_1" - // InternalRos.g:14839:1: rule__ActionServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:14977:1: rule__ActionServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ActionServer__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14843:1: ( ( ruleNamespace ) ) - // InternalRos.g:14844:2: ( ruleNamespace ) + // InternalRos.g:14981:1: ( ( ruleNamespace ) ) + // InternalRos.g:14982:2: ( ruleNamespace ) { - // InternalRos.g:14844:2: ( ruleNamespace ) - // InternalRos.g:14845:3: ruleNamespace + // InternalRos.g:14982:2: ( ruleNamespace ) + // InternalRos.g:14983:3: ruleNamespace { before(grammarAccess.getActionServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -44047,17 +44476,17 @@ public final void rule__ActionServer__NamespaceAssignment_6_1() throws Recogniti // $ANTLR start "rule__ActionClient__NameAssignment_3" - // InternalRos.g:14854:1: rule__ActionClient__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:14992:1: rule__ActionClient__NameAssignment_3 : ( ruleEString ) ; public final void rule__ActionClient__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14858:1: ( ( ruleEString ) ) - // InternalRos.g:14859:2: ( ruleEString ) + // InternalRos.g:14996:1: ( ( ruleEString ) ) + // InternalRos.g:14997:2: ( ruleEString ) { - // InternalRos.g:14859:2: ( ruleEString ) - // InternalRos.g:14860:3: ruleEString + // InternalRos.g:14997:2: ( ruleEString ) + // InternalRos.g:14998:3: ruleEString { before(grammarAccess.getActionClientAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44088,21 +44517,21 @@ public final void rule__ActionClient__NameAssignment_3() throws RecognitionExcep // $ANTLR start "rule__ActionClient__ActionAssignment_5" - // InternalRos.g:14869:1: rule__ActionClient__ActionAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:15007:1: rule__ActionClient__ActionAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ActionClient__ActionAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14873:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14874:2: ( ( ruleEString ) ) + // InternalRos.g:15011:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15012:2: ( ( ruleEString ) ) { - // InternalRos.g:14874:2: ( ( ruleEString ) ) - // InternalRos.g:14875:3: ( ruleEString ) + // InternalRos.g:15012:2: ( ( ruleEString ) ) + // InternalRos.g:15013:3: ( ruleEString ) { before(grammarAccess.getActionClientAccess().getActionActionSpecCrossReference_5_0()); - // InternalRos.g:14876:3: ( ruleEString ) - // InternalRos.g:14877:4: ruleEString + // InternalRos.g:15014:3: ( ruleEString ) + // InternalRos.g:15015:4: ruleEString { before(grammarAccess.getActionClientAccess().getActionActionSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -44137,17 +44566,17 @@ public final void rule__ActionClient__ActionAssignment_5() throws RecognitionExc // $ANTLR start "rule__ActionClient__NamespaceAssignment_6_1" - // InternalRos.g:14888:1: rule__ActionClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:15026:1: rule__ActionClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ActionClient__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14892:1: ( ( ruleNamespace ) ) - // InternalRos.g:14893:2: ( ruleNamespace ) + // InternalRos.g:15030:1: ( ( ruleNamespace ) ) + // InternalRos.g:15031:2: ( ruleNamespace ) { - // InternalRos.g:14893:2: ( ruleNamespace ) - // InternalRos.g:14894:3: ruleNamespace + // InternalRos.g:15031:2: ( ruleNamespace ) + // InternalRos.g:15032:3: ruleNamespace { before(grammarAccess.getActionClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -44177,34 +44606,34 @@ public final void rule__ActionClient__NamespaceAssignment_6_1() throws Recogniti // $ANTLR end "rule__ActionClient__NamespaceAssignment_6_1" - // $ANTLR start "rule__PackageDependency__PackageAssignment_1" - // InternalRos.g:14903:1: rule__PackageDependency__PackageAssignment_1 : ( ( ruleEString ) ) ; - public final void rule__PackageDependency__PackageAssignment_1() throws RecognitionException { + // $ANTLR start "rule__PackageDependency__PackageAssignment" + // InternalRos.g:15041:1: rule__PackageDependency__PackageAssignment : ( ( ruleEString ) ) ; + public final void rule__PackageDependency__PackageAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14907:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14908:2: ( ( ruleEString ) ) + // InternalRos.g:15045:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15046:2: ( ( ruleEString ) ) { - // InternalRos.g:14908:2: ( ( ruleEString ) ) - // InternalRos.g:14909:3: ( ruleEString ) + // InternalRos.g:15046:2: ( ( ruleEString ) ) + // InternalRos.g:15047:3: ( ruleEString ) { - before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); - // InternalRos.g:14910:3: ( ruleEString ) - // InternalRos.g:14911:4: ruleEString + before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); + // InternalRos.g:15048:3: ( ruleEString ) + // InternalRos.g:15049:4: ruleEString { - before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); + before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); + after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); } - after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); + after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); } @@ -44223,21 +44652,21 @@ public final void rule__PackageDependency__PackageAssignment_1() throws Recognit } return ; } - // $ANTLR end "rule__PackageDependency__PackageAssignment_1" + // $ANTLR end "rule__PackageDependency__PackageAssignment" // $ANTLR start "rule__ExternalDependency__NameAssignment_2" - // InternalRos.g:14922:1: rule__ExternalDependency__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:15060:1: rule__ExternalDependency__NameAssignment_2 : ( ruleEString ) ; public final void rule__ExternalDependency__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14926:1: ( ( ruleEString ) ) - // InternalRos.g:14927:2: ( ruleEString ) + // InternalRos.g:15064:1: ( ( ruleEString ) ) + // InternalRos.g:15065:2: ( ruleEString ) { - // InternalRos.g:14927:2: ( ruleEString ) - // InternalRos.g:14928:3: ruleEString + // InternalRos.g:15065:2: ( ruleEString ) + // InternalRos.g:15066:3: ruleEString { before(grammarAccess.getExternalDependencyAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -44268,17 +44697,17 @@ public final void rule__ExternalDependency__NameAssignment_2() throws Recognitio // $ANTLR start "rule__GlobalNamespace__PartsAssignment_3_2" - // InternalRos.g:14937:1: rule__GlobalNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRos.g:15075:1: rule__GlobalNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__GlobalNamespace__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14941:1: ( ( ruleGraphName ) ) - // InternalRos.g:14942:2: ( ruleGraphName ) + // InternalRos.g:15079:1: ( ( ruleGraphName ) ) + // InternalRos.g:15080:2: ( ruleGraphName ) { - // InternalRos.g:14942:2: ( ruleGraphName ) - // InternalRos.g:14943:3: ruleGraphName + // InternalRos.g:15080:2: ( ruleGraphName ) + // InternalRos.g:15081:3: ruleGraphName { before(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -44309,17 +44738,17 @@ public final void rule__GlobalNamespace__PartsAssignment_3_2() throws Recognitio // $ANTLR start "rule__GlobalNamespace__PartsAssignment_3_3_1" - // InternalRos.g:14952:1: rule__GlobalNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRos.g:15090:1: rule__GlobalNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__GlobalNamespace__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14956:1: ( ( ruleGraphName ) ) - // InternalRos.g:14957:2: ( ruleGraphName ) + // InternalRos.g:15094:1: ( ( ruleGraphName ) ) + // InternalRos.g:15095:2: ( ruleGraphName ) { - // InternalRos.g:14957:2: ( ruleGraphName ) - // InternalRos.g:14958:3: ruleGraphName + // InternalRos.g:15095:2: ( ruleGraphName ) + // InternalRos.g:15096:3: ruleGraphName { before(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -44350,17 +44779,17 @@ public final void rule__GlobalNamespace__PartsAssignment_3_3_1() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__PartsAssignment_3_2" - // InternalRos.g:14967:1: rule__RelativeNamespace_Impl__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRos.g:15105:1: rule__RelativeNamespace_Impl__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__RelativeNamespace_Impl__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14971:1: ( ( ruleGraphName ) ) - // InternalRos.g:14972:2: ( ruleGraphName ) + // InternalRos.g:15109:1: ( ( ruleGraphName ) ) + // InternalRos.g:15110:2: ( ruleGraphName ) { - // InternalRos.g:14972:2: ( ruleGraphName ) - // InternalRos.g:14973:3: ruleGraphName + // InternalRos.g:15110:2: ( ruleGraphName ) + // InternalRos.g:15111:3: ruleGraphName { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -44391,17 +44820,17 @@ public final void rule__RelativeNamespace_Impl__PartsAssignment_3_2() throws Rec // $ANTLR start "rule__RelativeNamespace_Impl__PartsAssignment_3_3_1" - // InternalRos.g:14982:1: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRos.g:15120:1: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__RelativeNamespace_Impl__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14986:1: ( ( ruleGraphName ) ) - // InternalRos.g:14987:2: ( ruleGraphName ) + // InternalRos.g:15124:1: ( ( ruleGraphName ) ) + // InternalRos.g:15125:2: ( ruleGraphName ) { - // InternalRos.g:14987:2: ( ruleGraphName ) - // InternalRos.g:14988:3: ruleGraphName + // InternalRos.g:15125:2: ( ruleGraphName ) + // InternalRos.g:15126:3: ruleGraphName { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -44432,17 +44861,17 @@ public final void rule__RelativeNamespace_Impl__PartsAssignment_3_3_1() throws R // $ANTLR start "rule__PrivateNamespace__PartsAssignment_3_2" - // InternalRos.g:14997:1: rule__PrivateNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRos.g:15135:1: rule__PrivateNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__PrivateNamespace__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15001:1: ( ( ruleGraphName ) ) - // InternalRos.g:15002:2: ( ruleGraphName ) + // InternalRos.g:15139:1: ( ( ruleGraphName ) ) + // InternalRos.g:15140:2: ( ruleGraphName ) { - // InternalRos.g:15002:2: ( ruleGraphName ) - // InternalRos.g:15003:3: ruleGraphName + // InternalRos.g:15140:2: ( ruleGraphName ) + // InternalRos.g:15141:3: ruleGraphName { before(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -44473,17 +44902,17 @@ public final void rule__PrivateNamespace__PartsAssignment_3_2() throws Recogniti // $ANTLR start "rule__PrivateNamespace__PartsAssignment_3_3_1" - // InternalRos.g:15012:1: rule__PrivateNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRos.g:15150:1: rule__PrivateNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__PrivateNamespace__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15016:1: ( ( ruleGraphName ) ) - // InternalRos.g:15017:2: ( ruleGraphName ) + // InternalRos.g:15154:1: ( ( ruleGraphName ) ) + // InternalRos.g:15155:2: ( ruleGraphName ) { - // InternalRos.g:15017:2: ( ruleGraphName ) - // InternalRos.g:15018:3: ruleGraphName + // InternalRos.g:15155:2: ( ruleGraphName ) + // InternalRos.g:15156:3: ruleGraphName { before(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -44514,17 +44943,17 @@ public final void rule__PrivateNamespace__PartsAssignment_3_3_1() throws Recogni // $ANTLR start "rule__Parameter__NameAssignment_3" - // InternalRos.g:15027:1: rule__Parameter__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:15165:1: rule__Parameter__NameAssignment_3 : ( ruleEString ) ; public final void rule__Parameter__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15031:1: ( ( ruleEString ) ) - // InternalRos.g:15032:2: ( ruleEString ) + // InternalRos.g:15169:1: ( ( ruleEString ) ) + // InternalRos.g:15170:2: ( ruleEString ) { - // InternalRos.g:15032:2: ( ruleEString ) - // InternalRos.g:15033:3: ruleEString + // InternalRos.g:15170:2: ( ruleEString ) + // InternalRos.g:15171:3: ruleEString { before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44555,17 +44984,17 @@ public final void rule__Parameter__NameAssignment_3() throws RecognitionExceptio // $ANTLR start "rule__Parameter__NamespaceAssignment_4_1" - // InternalRos.g:15042:1: rule__Parameter__NamespaceAssignment_4_1 : ( ruleNamespace ) ; + // InternalRos.g:15180:1: rule__Parameter__NamespaceAssignment_4_1 : ( ruleNamespace ) ; public final void rule__Parameter__NamespaceAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15046:1: ( ( ruleNamespace ) ) - // InternalRos.g:15047:2: ( ruleNamespace ) + // InternalRos.g:15184:1: ( ( ruleNamespace ) ) + // InternalRos.g:15185:2: ( ruleNamespace ) { - // InternalRos.g:15047:2: ( ruleNamespace ) - // InternalRos.g:15048:3: ruleNamespace + // InternalRos.g:15185:2: ( ruleNamespace ) + // InternalRos.g:15186:3: ruleNamespace { before(grammarAccess.getParameterAccess().getNamespaceNamespaceParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -44596,17 +45025,17 @@ public final void rule__Parameter__NamespaceAssignment_4_1() throws RecognitionE // $ANTLR start "rule__Parameter__TypeAssignment_6" - // InternalRos.g:15057:1: rule__Parameter__TypeAssignment_6 : ( ruleParameterType ) ; + // InternalRos.g:15195:1: rule__Parameter__TypeAssignment_6 : ( ruleParameterType ) ; public final void rule__Parameter__TypeAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15061:1: ( ( ruleParameterType ) ) - // InternalRos.g:15062:2: ( ruleParameterType ) + // InternalRos.g:15199:1: ( ( ruleParameterType ) ) + // InternalRos.g:15200:2: ( ruleParameterType ) { - // InternalRos.g:15062:2: ( ruleParameterType ) - // InternalRos.g:15063:3: ruleParameterType + // InternalRos.g:15200:2: ( ruleParameterType ) + // InternalRos.g:15201:3: ruleParameterType { before(grammarAccess.getParameterAccess().getTypeParameterTypeParserRuleCall_6_0()); pushFollow(FOLLOW_2); @@ -44637,17 +45066,17 @@ public final void rule__Parameter__TypeAssignment_6() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__SequenceAssignment_3" - // InternalRos.g:15072:1: rule__ParameterListType__SequenceAssignment_3 : ( ruleParameterType ) ; + // InternalRos.g:15210:1: rule__ParameterListType__SequenceAssignment_3 : ( ruleParameterType ) ; public final void rule__ParameterListType__SequenceAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15076:1: ( ( ruleParameterType ) ) - // InternalRos.g:15077:2: ( ruleParameterType ) + // InternalRos.g:15214:1: ( ( ruleParameterType ) ) + // InternalRos.g:15215:2: ( ruleParameterType ) { - // InternalRos.g:15077:2: ( ruleParameterType ) - // InternalRos.g:15078:3: ruleParameterType + // InternalRos.g:15215:2: ( ruleParameterType ) + // InternalRos.g:15216:3: ruleParameterType { before(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44678,17 +45107,17 @@ public final void rule__ParameterListType__SequenceAssignment_3() throws Recogni // $ANTLR start "rule__ParameterListType__SequenceAssignment_4_1" - // InternalRos.g:15087:1: rule__ParameterListType__SequenceAssignment_4_1 : ( ruleParameterType ) ; + // InternalRos.g:15225:1: rule__ParameterListType__SequenceAssignment_4_1 : ( ruleParameterType ) ; public final void rule__ParameterListType__SequenceAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15091:1: ( ( ruleParameterType ) ) - // InternalRos.g:15092:2: ( ruleParameterType ) + // InternalRos.g:15229:1: ( ( ruleParameterType ) ) + // InternalRos.g:15230:2: ( ruleParameterType ) { - // InternalRos.g:15092:2: ( ruleParameterType ) - // InternalRos.g:15093:3: ruleParameterType + // InternalRos.g:15230:2: ( ruleParameterType ) + // InternalRos.g:15231:3: ruleParameterType { before(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -44719,17 +45148,17 @@ public final void rule__ParameterListType__SequenceAssignment_4_1() throws Recog // $ANTLR start "rule__ParameterStructType__ParameterstructypetmemberAssignment_3" - // InternalRos.g:15102:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 : ( ruleParameterStructTypeMember ) ; + // InternalRos.g:15240:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 : ( ruleParameterStructTypeMember ) ; public final void rule__ParameterStructType__ParameterstructypetmemberAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15106:1: ( ( ruleParameterStructTypeMember ) ) - // InternalRos.g:15107:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:15244:1: ( ( ruleParameterStructTypeMember ) ) + // InternalRos.g:15245:2: ( ruleParameterStructTypeMember ) { - // InternalRos.g:15107:2: ( ruleParameterStructTypeMember ) - // InternalRos.g:15108:3: ruleParameterStructTypeMember + // InternalRos.g:15245:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:15246:3: ruleParameterStructTypeMember { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44760,17 +45189,17 @@ public final void rule__ParameterStructType__ParameterstructypetmemberAssignment // $ANTLR start "rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1" - // InternalRos.g:15117:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 : ( ruleParameterStructTypeMember ) ; + // InternalRos.g:15255:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 : ( ruleParameterStructTypeMember ) ; public final void rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15121:1: ( ( ruleParameterStructTypeMember ) ) - // InternalRos.g:15122:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:15259:1: ( ( ruleParameterStructTypeMember ) ) + // InternalRos.g:15260:2: ( ruleParameterStructTypeMember ) { - // InternalRos.g:15122:2: ( ruleParameterStructTypeMember ) - // InternalRos.g:15123:3: ruleParameterStructTypeMember + // InternalRos.g:15260:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:15261:3: ruleParameterStructTypeMember { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -44801,17 +45230,17 @@ public final void rule__ParameterStructType__ParameterstructypetmemberAssignment // $ANTLR start "rule__ParameterIntegerType__DefaultAssignment_2_1" - // InternalRos.g:15132:1: rule__ParameterIntegerType__DefaultAssignment_2_1 : ( ruleParameterInteger ) ; + // InternalRos.g:15270:1: rule__ParameterIntegerType__DefaultAssignment_2_1 : ( ruleParameterInteger ) ; public final void rule__ParameterIntegerType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15136:1: ( ( ruleParameterInteger ) ) - // InternalRos.g:15137:2: ( ruleParameterInteger ) + // InternalRos.g:15274:1: ( ( ruleParameterInteger ) ) + // InternalRos.g:15275:2: ( ruleParameterInteger ) { - // InternalRos.g:15137:2: ( ruleParameterInteger ) - // InternalRos.g:15138:3: ruleParameterInteger + // InternalRos.g:15275:2: ( ruleParameterInteger ) + // InternalRos.g:15276:3: ruleParameterInteger { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultParameterIntegerParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -44842,17 +45271,17 @@ public final void rule__ParameterIntegerType__DefaultAssignment_2_1() throws Rec // $ANTLR start "rule__ParameterStringType__DefaultAssignment_2_1" - // InternalRos.g:15147:1: rule__ParameterStringType__DefaultAssignment_2_1 : ( ruleParameterString ) ; + // InternalRos.g:15285:1: rule__ParameterStringType__DefaultAssignment_2_1 : ( ruleParameterString ) ; public final void rule__ParameterStringType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15151:1: ( ( ruleParameterString ) ) - // InternalRos.g:15152:2: ( ruleParameterString ) + // InternalRos.g:15289:1: ( ( ruleParameterString ) ) + // InternalRos.g:15290:2: ( ruleParameterString ) { - // InternalRos.g:15152:2: ( ruleParameterString ) - // InternalRos.g:15153:3: ruleParameterString + // InternalRos.g:15290:2: ( ruleParameterString ) + // InternalRos.g:15291:3: ruleParameterString { before(grammarAccess.getParameterStringTypeAccess().getDefaultParameterStringParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -44883,17 +45312,17 @@ public final void rule__ParameterStringType__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterDoubleType__DefaultAssignment_2_1" - // InternalRos.g:15162:1: rule__ParameterDoubleType__DefaultAssignment_2_1 : ( ruleParameterDouble ) ; + // InternalRos.g:15300:1: rule__ParameterDoubleType__DefaultAssignment_2_1 : ( ruleParameterDouble ) ; public final void rule__ParameterDoubleType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15166:1: ( ( ruleParameterDouble ) ) - // InternalRos.g:15167:2: ( ruleParameterDouble ) + // InternalRos.g:15304:1: ( ( ruleParameterDouble ) ) + // InternalRos.g:15305:2: ( ruleParameterDouble ) { - // InternalRos.g:15167:2: ( ruleParameterDouble ) - // InternalRos.g:15168:3: ruleParameterDouble + // InternalRos.g:15305:2: ( ruleParameterDouble ) + // InternalRos.g:15306:3: ruleParameterDouble { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultParameterDoubleParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -44924,17 +45353,17 @@ public final void rule__ParameterDoubleType__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterBooleanType__DefaultAssignment_2_1" - // InternalRos.g:15177:1: rule__ParameterBooleanType__DefaultAssignment_2_1 : ( ruleParameterBoolean ) ; + // InternalRos.g:15315:1: rule__ParameterBooleanType__DefaultAssignment_2_1 : ( ruleParameterBoolean ) ; public final void rule__ParameterBooleanType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15181:1: ( ( ruleParameterBoolean ) ) - // InternalRos.g:15182:2: ( ruleParameterBoolean ) + // InternalRos.g:15319:1: ( ( ruleParameterBoolean ) ) + // InternalRos.g:15320:2: ( ruleParameterBoolean ) { - // InternalRos.g:15182:2: ( ruleParameterBoolean ) - // InternalRos.g:15183:3: ruleParameterBoolean + // InternalRos.g:15320:2: ( ruleParameterBoolean ) + // InternalRos.g:15321:3: ruleParameterBoolean { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultParameterBooleanParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -44965,17 +45394,17 @@ public final void rule__ParameterBooleanType__DefaultAssignment_2_1() throws Rec // $ANTLR start "rule__ParameterBase64Type__DefaultAssignment_2_1" - // InternalRos.g:15192:1: rule__ParameterBase64Type__DefaultAssignment_2_1 : ( ruleParameterBase64 ) ; + // InternalRos.g:15330:1: rule__ParameterBase64Type__DefaultAssignment_2_1 : ( ruleParameterBase64 ) ; public final void rule__ParameterBase64Type__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15196:1: ( ( ruleParameterBase64 ) ) - // InternalRos.g:15197:2: ( ruleParameterBase64 ) + // InternalRos.g:15334:1: ( ( ruleParameterBase64 ) ) + // InternalRos.g:15335:2: ( ruleParameterBase64 ) { - // InternalRos.g:15197:2: ( ruleParameterBase64 ) - // InternalRos.g:15198:3: ruleParameterBase64 + // InternalRos.g:15335:2: ( ruleParameterBase64 ) + // InternalRos.g:15336:3: ruleParameterBase64 { before(grammarAccess.getParameterBase64TypeAccess().getDefaultParameterBase64ParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -45006,17 +45435,17 @@ public final void rule__ParameterBase64Type__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterArrayType__TypeAssignment_3" - // InternalRos.g:15207:1: rule__ParameterArrayType__TypeAssignment_3 : ( ruleParameterType ) ; + // InternalRos.g:15345:1: rule__ParameterArrayType__TypeAssignment_3 : ( ruleParameterType ) ; public final void rule__ParameterArrayType__TypeAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15211:1: ( ( ruleParameterType ) ) - // InternalRos.g:15212:2: ( ruleParameterType ) + // InternalRos.g:15349:1: ( ( ruleParameterType ) ) + // InternalRos.g:15350:2: ( ruleParameterType ) { - // InternalRos.g:15212:2: ( ruleParameterType ) - // InternalRos.g:15213:3: ruleParameterType + // InternalRos.g:15350:2: ( ruleParameterType ) + // InternalRos.g:15351:3: ruleParameterType { before(grammarAccess.getParameterArrayTypeAccess().getTypeParameterTypeParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -45047,17 +45476,17 @@ public final void rule__ParameterArrayType__TypeAssignment_3() throws Recognitio // $ANTLR start "rule__ParameterArrayType__DefaultAssignment_4_1" - // InternalRos.g:15222:1: rule__ParameterArrayType__DefaultAssignment_4_1 : ( ruleParameterList ) ; + // InternalRos.g:15360:1: rule__ParameterArrayType__DefaultAssignment_4_1 : ( ruleParameterList ) ; public final void rule__ParameterArrayType__DefaultAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15226:1: ( ( ruleParameterList ) ) - // InternalRos.g:15227:2: ( ruleParameterList ) + // InternalRos.g:15364:1: ( ( ruleParameterList ) ) + // InternalRos.g:15365:2: ( ruleParameterList ) { - // InternalRos.g:15227:2: ( ruleParameterList ) - // InternalRos.g:15228:3: ruleParameterList + // InternalRos.g:15365:2: ( ruleParameterList ) + // InternalRos.g:15366:3: ruleParameterList { before(grammarAccess.getParameterArrayTypeAccess().getDefaultParameterListParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -45088,17 +45517,17 @@ public final void rule__ParameterArrayType__DefaultAssignment_4_1() throws Recog // $ANTLR start "rule__ParameterList__ValueAssignment_2" - // InternalRos.g:15237:1: rule__ParameterList__ValueAssignment_2 : ( ruleParameterValue ) ; + // InternalRos.g:15375:1: rule__ParameterList__ValueAssignment_2 : ( ruleParameterValue ) ; public final void rule__ParameterList__ValueAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15241:1: ( ( ruleParameterValue ) ) - // InternalRos.g:15242:2: ( ruleParameterValue ) + // InternalRos.g:15379:1: ( ( ruleParameterValue ) ) + // InternalRos.g:15380:2: ( ruleParameterValue ) { - // InternalRos.g:15242:2: ( ruleParameterValue ) - // InternalRos.g:15243:3: ruleParameterValue + // InternalRos.g:15380:2: ( ruleParameterValue ) + // InternalRos.g:15381:3: ruleParameterValue { before(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -45129,17 +45558,17 @@ public final void rule__ParameterList__ValueAssignment_2() throws RecognitionExc // $ANTLR start "rule__ParameterList__ValueAssignment_3_1" - // InternalRos.g:15252:1: rule__ParameterList__ValueAssignment_3_1 : ( ruleParameterValue ) ; + // InternalRos.g:15390:1: rule__ParameterList__ValueAssignment_3_1 : ( ruleParameterValue ) ; public final void rule__ParameterList__ValueAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15256:1: ( ( ruleParameterValue ) ) - // InternalRos.g:15257:2: ( ruleParameterValue ) + // InternalRos.g:15394:1: ( ( ruleParameterValue ) ) + // InternalRos.g:15395:2: ( ruleParameterValue ) { - // InternalRos.g:15257:2: ( ruleParameterValue ) - // InternalRos.g:15258:3: ruleParameterValue + // InternalRos.g:15395:2: ( ruleParameterValue ) + // InternalRos.g:15396:3: ruleParameterValue { before(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_3_1_0()); pushFollow(FOLLOW_2); @@ -45170,17 +45599,17 @@ public final void rule__ParameterList__ValueAssignment_3_1() throws RecognitionE // $ANTLR start "rule__ParameterAny__ValueAssignment_3_1" - // InternalRos.g:15267:1: rule__ParameterAny__ValueAssignment_3_1 : ( ruleEString ) ; + // InternalRos.g:15405:1: rule__ParameterAny__ValueAssignment_3_1 : ( ruleEString ) ; public final void rule__ParameterAny__ValueAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15271:1: ( ( ruleEString ) ) - // InternalRos.g:15272:2: ( ruleEString ) + // InternalRos.g:15409:1: ( ( ruleEString ) ) + // InternalRos.g:15410:2: ( ruleEString ) { - // InternalRos.g:15272:2: ( ruleEString ) - // InternalRos.g:15273:3: ruleEString + // InternalRos.g:15410:2: ( ruleEString ) + // InternalRos.g:15411:3: ruleEString { before(grammarAccess.getParameterAnyAccess().getValueEStringParserRuleCall_3_1_0()); pushFollow(FOLLOW_2); @@ -45211,17 +45640,17 @@ public final void rule__ParameterAny__ValueAssignment_3_1() throws RecognitionEx // $ANTLR start "rule__ParameterString__ValueAssignment" - // InternalRos.g:15282:1: rule__ParameterString__ValueAssignment : ( ruleEString ) ; + // InternalRos.g:15420:1: rule__ParameterString__ValueAssignment : ( ruleEString ) ; public final void rule__ParameterString__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15286:1: ( ( ruleEString ) ) - // InternalRos.g:15287:2: ( ruleEString ) + // InternalRos.g:15424:1: ( ( ruleEString ) ) + // InternalRos.g:15425:2: ( ruleEString ) { - // InternalRos.g:15287:2: ( ruleEString ) - // InternalRos.g:15288:3: ruleEString + // InternalRos.g:15425:2: ( ruleEString ) + // InternalRos.g:15426:3: ruleEString { before(grammarAccess.getParameterStringAccess().getValueEStringParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45252,17 +45681,17 @@ public final void rule__ParameterString__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterBase64__ValueAssignment" - // InternalRos.g:15297:1: rule__ParameterBase64__ValueAssignment : ( ruleBase64Binary ) ; + // InternalRos.g:15435:1: rule__ParameterBase64__ValueAssignment : ( ruleBase64Binary ) ; public final void rule__ParameterBase64__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15301:1: ( ( ruleBase64Binary ) ) - // InternalRos.g:15302:2: ( ruleBase64Binary ) + // InternalRos.g:15439:1: ( ( ruleBase64Binary ) ) + // InternalRos.g:15440:2: ( ruleBase64Binary ) { - // InternalRos.g:15302:2: ( ruleBase64Binary ) - // InternalRos.g:15303:3: ruleBase64Binary + // InternalRos.g:15440:2: ( ruleBase64Binary ) + // InternalRos.g:15441:3: ruleBase64Binary { before(grammarAccess.getParameterBase64Access().getValueBase64BinaryParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45293,17 +45722,17 @@ public final void rule__ParameterBase64__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterInteger__ValueAssignment" - // InternalRos.g:15312:1: rule__ParameterInteger__ValueAssignment : ( ruleInteger0 ) ; + // InternalRos.g:15450:1: rule__ParameterInteger__ValueAssignment : ( ruleInteger0 ) ; public final void rule__ParameterInteger__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15316:1: ( ( ruleInteger0 ) ) - // InternalRos.g:15317:2: ( ruleInteger0 ) + // InternalRos.g:15454:1: ( ( ruleInteger0 ) ) + // InternalRos.g:15455:2: ( ruleInteger0 ) { - // InternalRos.g:15317:2: ( ruleInteger0 ) - // InternalRos.g:15318:3: ruleInteger0 + // InternalRos.g:15455:2: ( ruleInteger0 ) + // InternalRos.g:15456:3: ruleInteger0 { before(grammarAccess.getParameterIntegerAccess().getValueInteger0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45334,17 +45763,17 @@ public final void rule__ParameterInteger__ValueAssignment() throws RecognitionEx // $ANTLR start "rule__ParameterDouble__ValueAssignment" - // InternalRos.g:15327:1: rule__ParameterDouble__ValueAssignment : ( ruleDouble0 ) ; + // InternalRos.g:15465:1: rule__ParameterDouble__ValueAssignment : ( ruleDouble0 ) ; public final void rule__ParameterDouble__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15331:1: ( ( ruleDouble0 ) ) - // InternalRos.g:15332:2: ( ruleDouble0 ) + // InternalRos.g:15469:1: ( ( ruleDouble0 ) ) + // InternalRos.g:15470:2: ( ruleDouble0 ) { - // InternalRos.g:15332:2: ( ruleDouble0 ) - // InternalRos.g:15333:3: ruleDouble0 + // InternalRos.g:15470:2: ( ruleDouble0 ) + // InternalRos.g:15471:3: ruleDouble0 { before(grammarAccess.getParameterDoubleAccess().getValueDouble0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45375,17 +45804,17 @@ public final void rule__ParameterDouble__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterBoolean__ValueAssignment" - // InternalRos.g:15342:1: rule__ParameterBoolean__ValueAssignment : ( ruleboolean0 ) ; + // InternalRos.g:15480:1: rule__ParameterBoolean__ValueAssignment : ( ruleboolean0 ) ; public final void rule__ParameterBoolean__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15346:1: ( ( ruleboolean0 ) ) - // InternalRos.g:15347:2: ( ruleboolean0 ) + // InternalRos.g:15484:1: ( ( ruleboolean0 ) ) + // InternalRos.g:15485:2: ( ruleboolean0 ) { - // InternalRos.g:15347:2: ( ruleboolean0 ) - // InternalRos.g:15348:3: ruleboolean0 + // InternalRos.g:15485:2: ( ruleboolean0 ) + // InternalRos.g:15486:3: ruleboolean0 { before(grammarAccess.getParameterBooleanAccess().getValueBoolean0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45416,17 +45845,17 @@ public final void rule__ParameterBoolean__ValueAssignment() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__ValueAssignment_1_1" - // InternalRos.g:15357:1: rule__ParameterStruct__ValueAssignment_1_1 : ( ruleParameterStructMember ) ; + // InternalRos.g:15495:1: rule__ParameterStruct__ValueAssignment_1_1 : ( ruleParameterStructMember ) ; public final void rule__ParameterStruct__ValueAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15361:1: ( ( ruleParameterStructMember ) ) - // InternalRos.g:15362:2: ( ruleParameterStructMember ) + // InternalRos.g:15499:1: ( ( ruleParameterStructMember ) ) + // InternalRos.g:15500:2: ( ruleParameterStructMember ) { - // InternalRos.g:15362:2: ( ruleParameterStructMember ) - // InternalRos.g:15363:3: ruleParameterStructMember + // InternalRos.g:15500:2: ( ruleParameterStructMember ) + // InternalRos.g:15501:3: ruleParameterStructMember { before(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_1_0()); pushFollow(FOLLOW_2); @@ -45457,17 +45886,17 @@ public final void rule__ParameterStruct__ValueAssignment_1_1() throws Recognitio // $ANTLR start "rule__ParameterStruct__ValueAssignment_1_2_2" - // InternalRos.g:15372:1: rule__ParameterStruct__ValueAssignment_1_2_2 : ( ruleParameterStructMember ) ; + // InternalRos.g:15510:1: rule__ParameterStruct__ValueAssignment_1_2_2 : ( ruleParameterStructMember ) ; public final void rule__ParameterStruct__ValueAssignment_1_2_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15376:1: ( ( ruleParameterStructMember ) ) - // InternalRos.g:15377:2: ( ruleParameterStructMember ) + // InternalRos.g:15514:1: ( ( ruleParameterStructMember ) ) + // InternalRos.g:15515:2: ( ruleParameterStructMember ) { - // InternalRos.g:15377:2: ( ruleParameterStructMember ) - // InternalRos.g:15378:3: ruleParameterStructMember + // InternalRos.g:15515:2: ( ruleParameterStructMember ) + // InternalRos.g:15516:3: ruleParameterStructMember { before(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_2_2_0()); pushFollow(FOLLOW_2); @@ -45498,17 +45927,17 @@ public final void rule__ParameterStruct__ValueAssignment_1_2_2() throws Recognit // $ANTLR start "rule__ParameterDate__ValueAssignment" - // InternalRos.g:15387:1: rule__ParameterDate__ValueAssignment : ( ruleDateTime0 ) ; + // InternalRos.g:15525:1: rule__ParameterDate__ValueAssignment : ( ruleDateTime0 ) ; public final void rule__ParameterDate__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15391:1: ( ( ruleDateTime0 ) ) - // InternalRos.g:15392:2: ( ruleDateTime0 ) + // InternalRos.g:15529:1: ( ( ruleDateTime0 ) ) + // InternalRos.g:15530:2: ( ruleDateTime0 ) { - // InternalRos.g:15392:2: ( ruleDateTime0 ) - // InternalRos.g:15393:3: ruleDateTime0 + // InternalRos.g:15530:2: ( ruleDateTime0 ) + // InternalRos.g:15531:3: ruleDateTime0 { before(grammarAccess.getParameterDateAccess().getValueDateTime0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45539,17 +45968,17 @@ public final void rule__ParameterDate__ValueAssignment() throws RecognitionExcep // $ANTLR start "rule__ParameterStructMember__NameAssignment_1" - // InternalRos.g:15402:1: rule__ParameterStructMember__NameAssignment_1 : ( ruleEString ) ; + // InternalRos.g:15540:1: rule__ParameterStructMember__NameAssignment_1 : ( ruleEString ) ; public final void rule__ParameterStructMember__NameAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15406:1: ( ( ruleEString ) ) - // InternalRos.g:15407:2: ( ruleEString ) + // InternalRos.g:15544:1: ( ( ruleEString ) ) + // InternalRos.g:15545:2: ( ruleEString ) { - // InternalRos.g:15407:2: ( ruleEString ) - // InternalRos.g:15408:3: ruleEString + // InternalRos.g:15545:2: ( ruleEString ) + // InternalRos.g:15546:3: ruleEString { before(grammarAccess.getParameterStructMemberAccess().getNameEStringParserRuleCall_1_0()); pushFollow(FOLLOW_2); @@ -45580,17 +46009,17 @@ public final void rule__ParameterStructMember__NameAssignment_1() throws Recogni // $ANTLR start "rule__ParameterStructMember__ValueAssignment_4" - // InternalRos.g:15417:1: rule__ParameterStructMember__ValueAssignment_4 : ( ruleParameterValue ) ; + // InternalRos.g:15555:1: rule__ParameterStructMember__ValueAssignment_4 : ( ruleParameterValue ) ; public final void rule__ParameterStructMember__ValueAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15421:1: ( ( ruleParameterValue ) ) - // InternalRos.g:15422:2: ( ruleParameterValue ) + // InternalRos.g:15559:1: ( ( ruleParameterValue ) ) + // InternalRos.g:15560:2: ( ruleParameterValue ) { - // InternalRos.g:15422:2: ( ruleParameterValue ) - // InternalRos.g:15423:3: ruleParameterValue + // InternalRos.g:15560:2: ( ruleParameterValue ) + // InternalRos.g:15561:3: ruleParameterValue { before(grammarAccess.getParameterStructMemberAccess().getValueParameterValueParserRuleCall_4_0()); pushFollow(FOLLOW_2); @@ -45621,17 +46050,17 @@ public final void rule__ParameterStructMember__ValueAssignment_4() throws Recogn // $ANTLR start "rule__ParameterStructTypeMember__NameAssignment_0" - // InternalRos.g:15432:1: rule__ParameterStructTypeMember__NameAssignment_0 : ( ruleEString ) ; + // InternalRos.g:15570:1: rule__ParameterStructTypeMember__NameAssignment_0 : ( ruleEString ) ; public final void rule__ParameterStructTypeMember__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15436:1: ( ( ruleEString ) ) - // InternalRos.g:15437:2: ( ruleEString ) + // InternalRos.g:15574:1: ( ( ruleEString ) ) + // InternalRos.g:15575:2: ( ruleEString ) { - // InternalRos.g:15437:2: ( ruleEString ) - // InternalRos.g:15438:3: ruleEString + // InternalRos.g:15575:2: ( ruleEString ) + // InternalRos.g:15576:3: ruleEString { before(grammarAccess.getParameterStructTypeMemberAccess().getNameEStringParserRuleCall_0_0()); pushFollow(FOLLOW_2); @@ -45662,17 +46091,17 @@ public final void rule__ParameterStructTypeMember__NameAssignment_0() throws Rec // $ANTLR start "rule__ParameterStructTypeMember__TypeAssignment_1" - // InternalRos.g:15447:1: rule__ParameterStructTypeMember__TypeAssignment_1 : ( ruleParameterType ) ; + // InternalRos.g:15585:1: rule__ParameterStructTypeMember__TypeAssignment_1 : ( ruleParameterType ) ; public final void rule__ParameterStructTypeMember__TypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15451:1: ( ( ruleParameterType ) ) - // InternalRos.g:15452:2: ( ruleParameterType ) + // InternalRos.g:15589:1: ( ( ruleParameterType ) ) + // InternalRos.g:15590:2: ( ruleParameterType ) { - // InternalRos.g:15452:2: ( ruleParameterType ) - // InternalRos.g:15453:3: ruleParameterType + // InternalRos.g:15590:2: ( ruleParameterType ) + // InternalRos.g:15591:3: ruleParameterType { before(grammarAccess.getParameterStructTypeMemberAccess().getTypeParameterTypeParserRuleCall_1_0()); pushFollow(FOLLOW_2); @@ -45703,17 +46132,17 @@ public final void rule__ParameterStructTypeMember__TypeAssignment_1() throws Rec // $ANTLR start "rule__MessagePart__TypeAssignment_0" - // InternalRos.g:15462:1: rule__MessagePart__TypeAssignment_0 : ( ruleAbstractType ) ; + // InternalRos.g:15600:1: rule__MessagePart__TypeAssignment_0 : ( ruleAbstractType ) ; public final void rule__MessagePart__TypeAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15466:1: ( ( ruleAbstractType ) ) - // InternalRos.g:15467:2: ( ruleAbstractType ) + // InternalRos.g:15604:1: ( ( ruleAbstractType ) ) + // InternalRos.g:15605:2: ( ruleAbstractType ) { - // InternalRos.g:15467:2: ( ruleAbstractType ) - // InternalRos.g:15468:3: ruleAbstractType + // InternalRos.g:15605:2: ( ruleAbstractType ) + // InternalRos.g:15606:3: ruleAbstractType { before(grammarAccess.getMessagePartAccess().getTypeAbstractTypeParserRuleCall_0_0()); pushFollow(FOLLOW_2); @@ -45744,21 +46173,21 @@ public final void rule__MessagePart__TypeAssignment_0() throws RecognitionExcept // $ANTLR start "rule__MessagePart__DataAssignment_1" - // InternalRos.g:15477:1: rule__MessagePart__DataAssignment_1 : ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ; + // InternalRos.g:15615:1: rule__MessagePart__DataAssignment_1 : ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ; public final void rule__MessagePart__DataAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15481:1: ( ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ) - // InternalRos.g:15482:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) + // InternalRos.g:15619:1: ( ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ) + // InternalRos.g:15620:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) { - // InternalRos.g:15482:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) - // InternalRos.g:15483:3: ( rule__MessagePart__DataAlternatives_1_0 ) + // InternalRos.g:15620:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) + // InternalRos.g:15621:3: ( rule__MessagePart__DataAlternatives_1_0 ) { before(grammarAccess.getMessagePartAccess().getDataAlternatives_1_0()); - // InternalRos.g:15484:3: ( rule__MessagePart__DataAlternatives_1_0 ) - // InternalRos.g:15484:4: rule__MessagePart__DataAlternatives_1_0 + // InternalRos.g:15622:3: ( rule__MessagePart__DataAlternatives_1_0 ) + // InternalRos.g:15622:4: rule__MessagePart__DataAlternatives_1_0 { pushFollow(FOLLOW_2); rule__MessagePart__DataAlternatives_1_0(); @@ -45791,21 +46220,21 @@ public final void rule__MessagePart__DataAssignment_1() throws RecognitionExcept // $ANTLR start "rule__TopicSpecRef__TopicSpecAssignment" - // InternalRos.g:15492:1: rule__TopicSpecRef__TopicSpecAssignment : ( ( ruleEString ) ) ; + // InternalRos.g:15630:1: rule__TopicSpecRef__TopicSpecAssignment : ( ( ruleEString ) ) ; public final void rule__TopicSpecRef__TopicSpecAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15496:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:15497:2: ( ( ruleEString ) ) + // InternalRos.g:15634:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15635:2: ( ( ruleEString ) ) { - // InternalRos.g:15497:2: ( ( ruleEString ) ) - // InternalRos.g:15498:3: ( ruleEString ) + // InternalRos.g:15635:2: ( ( ruleEString ) ) + // InternalRos.g:15636:3: ( ruleEString ) { before(grammarAccess.getTopicSpecRefAccess().getTopicSpecTopicSpecCrossReference_0()); - // InternalRos.g:15499:3: ( ruleEString ) - // InternalRos.g:15500:4: ruleEString + // InternalRos.g:15637:3: ( ruleEString ) + // InternalRos.g:15638:4: ruleEString { before(grammarAccess.getTopicSpecRefAccess().getTopicSpecTopicSpecEStringParserRuleCall_0_1()); pushFollow(FOLLOW_2); @@ -45840,21 +46269,21 @@ public final void rule__TopicSpecRef__TopicSpecAssignment() throws RecognitionEx // $ANTLR start "rule__ArrayTopicSpecRef__TopicSpecAssignment_0" - // InternalRos.g:15511:1: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 : ( ( ruleEString ) ) ; + // InternalRos.g:15649:1: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 : ( ( ruleEString ) ) ; public final void rule__ArrayTopicSpecRef__TopicSpecAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15515:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:15516:2: ( ( ruleEString ) ) + // InternalRos.g:15653:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15654:2: ( ( ruleEString ) ) { - // InternalRos.g:15516:2: ( ( ruleEString ) ) - // InternalRos.g:15517:3: ( ruleEString ) + // InternalRos.g:15654:2: ( ( ruleEString ) ) + // InternalRos.g:15655:3: ( ruleEString ) { before(grammarAccess.getArrayTopicSpecRefAccess().getTopicSpecTopicSpecCrossReference_0_0()); - // InternalRos.g:15518:3: ( ruleEString ) - // InternalRos.g:15519:4: ruleEString + // InternalRos.g:15656:3: ( ruleEString ) + // InternalRos.g:15657:4: ruleEString { before(grammarAccess.getArrayTopicSpecRefAccess().getTopicSpecTopicSpecEStringParserRuleCall_0_0_1()); pushFollow(FOLLOW_2); @@ -45965,23 +46394,23 @@ public String getDescription() { public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000940000000000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001140000000000L}); public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000080000000002L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000900000000000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0001100000000000L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000100000000000L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000600L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000640000000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0032000000000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000E40000000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0064000000000000L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x00000C0000000000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000004000C00L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0040040000000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0001640000000000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000060L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x000C040000000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0080040000000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0002E40000000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000600L,0x0000000000000040L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0018040000000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000018000600L}); public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000040040000000L}); public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x00000401A0000000L}); @@ -45989,16 +46418,16 @@ public String getDescription() { public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x000000C008000600L,0x0000FFFFFFC00000L}); public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x000000C008000602L,0x0000FFFFFFC00000L}); public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000200000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x3F80040000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x7F00040000000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x8000040000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000680L}); public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000040000000L}); public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000002000000000L}); @@ -46006,7 +46435,7 @@ public String getDescription() { public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000100L}); public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x8000001000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000010000000L,0x00000000000F7000L}); public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000040000000000L}); public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java b/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java index 6b553055b..1264d4d5e 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java @@ -25,6 +25,9 @@ public void completePackageSet_Package(EObject model, Assignment assignment, Con public void completePackage_Impl_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } + public void completePackage_Impl_FromGitRepo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } public void completePackage_Impl_Spec(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } @@ -40,13 +43,16 @@ public void completeArtifact_Node(EObject model, Assignment assignment, ContentA public void completeCatkinPackage_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeCatkinPackage_Spec(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCatkinPackage_FromGitRepo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeCatkinPackage_Artifact(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCatkinPackage_Dependency(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeCatkinPackage_Dependency(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeCatkinPackage_Spec(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCatkinPackage_Artifact(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeServiceSpec_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/Ros.xtextbin b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/Ros.xtextbin index 0a4dbedd6dd1ec59f427cb7ddbbb6c0c68115dbd..f6aee79e7657b672751a789dba348a0c193011fe 100644 GIT binary patch literal 15850 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'A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & switch (alt1) { case 1 : - // InternalRos.g:5609:26: '/' RULE_ID + // InternalRos.g:5653:26: '/' RULE_ID { match('/'); mRULE_ID(); @@ -2013,7 +2013,7 @@ else if ( ((LA1_0>='A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & } break; case 2 : - // InternalRos.g:5609:38: RULE_ID '/' + // InternalRos.g:5653:38: RULE_ID '/' { mRULE_ID(); match('/'); @@ -2042,10 +2042,10 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { try { int _type = RULE_ROS_CONVENTION_PARAM; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5611:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) - // InternalRos.g:5611:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:5655:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) + // InternalRos.g:5655:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* { - // InternalRos.g:5611:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:5655:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* loop2: do { int alt2=4; @@ -2071,7 +2071,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { switch (alt2) { case 1 : - // InternalRos.g:5611:30: '/' RULE_STRING + // InternalRos.g:5655:30: '/' RULE_STRING { match('/'); mRULE_STRING(); @@ -2079,7 +2079,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 2 : - // InternalRos.g:5611:46: RULE_STRING '/' + // InternalRos.g:5655:46: RULE_STRING '/' { mRULE_STRING(); match('/'); @@ -2087,7 +2087,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 3 : - // InternalRos.g:5611:62: '~' RULE_STRING + // InternalRos.g:5655:62: '~' RULE_STRING { match('~'); mRULE_STRING(); @@ -2114,8 +2114,8 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { // $ANTLR start "RULE_DIGIT" public final void mRULE_DIGIT() throws RecognitionException { try { - // InternalRos.g:5613:21: ( '0' .. '9' ) - // InternalRos.g:5613:23: '0' .. '9' + // InternalRos.g:5657:21: ( '0' .. '9' ) + // InternalRos.g:5657:23: '0' .. '9' { matchRange('0','9'); @@ -2132,10 +2132,10 @@ public final void mRULE_BINARY() throws RecognitionException { try { int _type = RULE_BINARY; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5615:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) - // InternalRos.g:5615:15: ( '0b' | '0B' ) ( '0' | '1' )+ + // InternalRos.g:5659:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) + // InternalRos.g:5659:15: ( '0b' | '0B' ) ( '0' | '1' )+ { - // InternalRos.g:5615:15: ( '0b' | '0B' ) + // InternalRos.g:5659:15: ( '0b' | '0B' ) int alt3=2; int LA3_0 = input.LA(1); @@ -2163,7 +2163,7 @@ else if ( (LA3_1=='B') ) { } switch (alt3) { case 1 : - // InternalRos.g:5615:16: '0b' + // InternalRos.g:5659:16: '0b' { match("0b"); @@ -2171,7 +2171,7 @@ else if ( (LA3_1=='B') ) { } break; case 2 : - // InternalRos.g:5615:21: '0B' + // InternalRos.g:5659:21: '0B' { match("0B"); @@ -2181,7 +2181,7 @@ else if ( (LA3_1=='B') ) { } - // InternalRos.g:5615:27: ( '0' | '1' )+ + // InternalRos.g:5659:27: ( '0' | '1' )+ int cnt4=0; loop4: do { @@ -2235,10 +2235,10 @@ public final void mRULE_BOOLEAN() throws RecognitionException { try { int _type = RULE_BOOLEAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5617:14: ( ( 'true' | 'false' ) ) - // InternalRos.g:5617:16: ( 'true' | 'false' ) + // InternalRos.g:5661:14: ( ( 'true' | 'false' ) ) + // InternalRos.g:5661:16: ( 'true' | 'false' ) { - // InternalRos.g:5617:16: ( 'true' | 'false' ) + // InternalRos.g:5661:16: ( 'true' | 'false' ) int alt5=2; int LA5_0 = input.LA(1); @@ -2256,7 +2256,7 @@ else if ( (LA5_0=='f') ) { } switch (alt5) { case 1 : - // InternalRos.g:5617:17: 'true' + // InternalRos.g:5661:17: 'true' { match("true"); @@ -2264,7 +2264,7 @@ else if ( (LA5_0=='f') ) { } break; case 2 : - // InternalRos.g:5617:24: 'false' + // InternalRos.g:5661:24: 'false' { match("false"); @@ -2290,19 +2290,19 @@ public final void mRULE_DOUBLE() throws RecognitionException { try { int _type = RULE_DOUBLE; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5619:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) - // InternalRos.g:5619:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:5663:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) + // InternalRos.g:5663:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) { mRULE_DECINT(); - // InternalRos.g:5619:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:5663:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) int alt10=2; alt10 = dfa10.predict(input); switch (alt10) { case 1 : - // InternalRos.g:5619:28: '.' ( RULE_DIGIT )* + // InternalRos.g:5663:28: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:5619:32: ( RULE_DIGIT )* + // InternalRos.g:5663:32: ( RULE_DIGIT )* loop6: do { int alt6=2; @@ -2315,7 +2315,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt6) { case 1 : - // InternalRos.g:5619:32: RULE_DIGIT + // InternalRos.g:5663:32: RULE_DIGIT { mRULE_DIGIT(); @@ -2331,9 +2331,9 @@ public final void mRULE_DOUBLE() throws RecognitionException { } break; case 2 : - // InternalRos.g:5619:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT + // InternalRos.g:5663:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT { - // InternalRos.g:5619:44: ( '.' ( RULE_DIGIT )* )? + // InternalRos.g:5663:44: ( '.' ( RULE_DIGIT )* )? int alt8=2; int LA8_0 = input.LA(1); @@ -2342,10 +2342,10 @@ public final void mRULE_DOUBLE() throws RecognitionException { } switch (alt8) { case 1 : - // InternalRos.g:5619:45: '.' ( RULE_DIGIT )* + // InternalRos.g:5663:45: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:5619:49: ( RULE_DIGIT )* + // InternalRos.g:5663:49: ( RULE_DIGIT )* loop7: do { int alt7=2; @@ -2358,7 +2358,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt7) { case 1 : - // InternalRos.g:5619:49: RULE_DIGIT + // InternalRos.g:5663:49: RULE_DIGIT { mRULE_DIGIT(); @@ -2385,7 +2385,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:5619:73: ( '-' | '+' )? + // InternalRos.g:5663:73: ( '-' | '+' )? int alt9=2; int LA9_0 = input.LA(1); @@ -2444,10 +2444,10 @@ public final void mRULE_DECINT() throws RecognitionException { try { int _type = RULE_DECINT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5621:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) - // InternalRos.g:5621:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:5665:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) + // InternalRos.g:5665:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) { - // InternalRos.g:5621:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:5665:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) int alt13=3; switch ( input.LA(1) ) { case '0': @@ -2482,17 +2482,17 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt13) { case 1 : - // InternalRos.g:5621:16: '0' + // InternalRos.g:5665:16: '0' { match('0'); } break; case 2 : - // InternalRos.g:5621:20: '1' .. '9' ( RULE_DIGIT )* + // InternalRos.g:5665:20: '1' .. '9' ( RULE_DIGIT )* { matchRange('1','9'); - // InternalRos.g:5621:29: ( RULE_DIGIT )* + // InternalRos.g:5665:29: ( RULE_DIGIT )* loop11: do { int alt11=2; @@ -2505,7 +2505,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt11) { case 1 : - // InternalRos.g:5621:29: RULE_DIGIT + // InternalRos.g:5665:29: RULE_DIGIT { mRULE_DIGIT(); @@ -2521,11 +2521,11 @@ public final void mRULE_DECINT() throws RecognitionException { } break; case 3 : - // InternalRos.g:5621:41: '-' '0' .. '9' ( RULE_DIGIT )* + // InternalRos.g:5665:41: '-' '0' .. '9' ( RULE_DIGIT )* { match('-'); matchRange('0','9'); - // InternalRos.g:5621:54: ( RULE_DIGIT )* + // InternalRos.g:5665:54: ( RULE_DIGIT )* loop12: do { int alt12=2; @@ -2538,7 +2538,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt12) { case 1 : - // InternalRos.g:5621:54: RULE_DIGIT + // InternalRos.g:5665:54: RULE_DIGIT { mRULE_DIGIT(); @@ -2570,10 +2570,10 @@ public final void mRULE_DECINT() throws RecognitionException { // $ANTLR start "RULE_DAY" public final void mRULE_DAY() throws RecognitionException { try { - // InternalRos.g:5623:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) - // InternalRos.g:5623:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:5667:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) + // InternalRos.g:5667:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) { - // InternalRos.g:5623:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:5667:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) int alt14=2; int LA14_0 = input.LA(1); @@ -2597,14 +2597,14 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { } switch (alt14) { case 1 : - // InternalRos.g:5623:22: '1' .. '9' + // InternalRos.g:5667:22: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:5623:31: '1' .. '3' '0' .. '9' + // InternalRos.g:5667:31: '1' .. '3' '0' .. '9' { matchRange('1','3'); matchRange('0','9'); @@ -2626,10 +2626,10 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { // $ANTLR start "RULE_MONTH" public final void mRULE_MONTH() throws RecognitionException { try { - // InternalRos.g:5625:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) - // InternalRos.g:5625:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:5669:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) + // InternalRos.g:5669:23: ( '1' .. '9' | '1' '0' .. '2' ) { - // InternalRos.g:5625:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:5669:23: ( '1' .. '9' | '1' '0' .. '2' ) int alt15=2; int LA15_0 = input.LA(1); @@ -2653,14 +2653,14 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { } switch (alt15) { case 1 : - // InternalRos.g:5625:24: '1' .. '9' + // InternalRos.g:5669:24: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:5625:33: '1' '0' .. '2' + // InternalRos.g:5669:33: '1' '0' .. '2' { match('1'); matchRange('0','2'); @@ -2682,8 +2682,8 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { // $ANTLR start "RULE_YEAR" public final void mRULE_YEAR() throws RecognitionException { try { - // InternalRos.g:5627:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) - // InternalRos.g:5627:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' + // InternalRos.g:5671:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) + // InternalRos.g:5671:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' { matchRange('0','2'); matchRange('0','9'); @@ -2701,10 +2701,10 @@ public final void mRULE_YEAR() throws RecognitionException { // $ANTLR start "RULE_HOUR" public final void mRULE_HOUR() throws RecognitionException { try { - // InternalRos.g:5629:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) - // InternalRos.g:5629:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:5673:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) + // InternalRos.g:5673:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) { - // InternalRos.g:5629:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:5673:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) int alt16=2; int LA16_0 = input.LA(1); @@ -2722,7 +2722,7 @@ else if ( (LA16_0=='2') ) { } switch (alt16) { case 1 : - // InternalRos.g:5629:23: '0' .. '1' '0' .. '9' + // InternalRos.g:5673:23: '0' .. '1' '0' .. '9' { matchRange('0','1'); matchRange('0','9'); @@ -2730,7 +2730,7 @@ else if ( (LA16_0=='2') ) { } break; case 2 : - // InternalRos.g:5629:41: '2' '0' .. '3' + // InternalRos.g:5673:41: '2' '0' .. '3' { match('2'); matchRange('0','3'); @@ -2752,8 +2752,8 @@ else if ( (LA16_0=='2') ) { // $ANTLR start "RULE_MIN_SEC" public final void mRULE_MIN_SEC() throws RecognitionException { try { - // InternalRos.g:5631:23: ( '0' .. '5' '0' .. '9' ) - // InternalRos.g:5631:25: '0' .. '5' '0' .. '9' + // InternalRos.g:5675:23: ( '0' .. '5' '0' .. '9' ) + // InternalRos.g:5675:25: '0' .. '5' '0' .. '9' { matchRange('0','5'); matchRange('0','9'); @@ -2771,8 +2771,8 @@ public final void mRULE_DATE_TIME() throws RecognitionException { try { int _type = RULE_DATE_TIME; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5633:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) - // InternalRos.g:5633:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC + // InternalRos.g:5677:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) + // InternalRos.g:5677:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC { mRULE_YEAR(); match('-'); @@ -2801,10 +2801,10 @@ public final void mRULE_MESSAGE_ASIGMENT() throws RecognitionException { try { int _type = RULE_MESSAGE_ASIGMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5635:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) - // InternalRos.g:5635:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:5679:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) + // InternalRos.g:5679:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) { - // InternalRos.g:5635:25: ( RULE_ID | RULE_STRING ) + // InternalRos.g:5679:25: ( RULE_ID | RULE_STRING ) int alt17=2; int LA17_0 = input.LA(1); @@ -2822,14 +2822,14 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } switch (alt17) { case 1 : - // InternalRos.g:5635:26: RULE_ID + // InternalRos.g:5679:26: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:5635:34: RULE_STRING + // InternalRos.g:5679:34: RULE_STRING { mRULE_STRING(); @@ -2839,7 +2839,7 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } match('='); - // InternalRos.g:5635:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:5679:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) int alt18=4; switch ( input.LA(1) ) { case 'A': @@ -2934,28 +2934,28 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { switch (alt18) { case 1 : - // InternalRos.g:5635:52: RULE_ID + // InternalRos.g:5679:52: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:5635:60: RULE_STRING + // InternalRos.g:5679:60: RULE_STRING { mRULE_STRING(); } break; case 3 : - // InternalRos.g:5635:72: RULE_INT + // InternalRos.g:5679:72: RULE_INT { mRULE_INT(); } break; case 4 : - // InternalRos.g:5635:81: '-' RULE_INT + // InternalRos.g:5679:81: '-' RULE_INT { match('-'); mRULE_INT(); @@ -2981,10 +2981,10 @@ public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5637:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalRos.g:5637:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:5681:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalRos.g:5681:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalRos.g:5637:11: ( '^' )? + // InternalRos.g:5681:11: ( '^' )? int alt19=2; int LA19_0 = input.LA(1); @@ -2993,7 +2993,7 @@ public final void mRULE_ID() throws RecognitionException { } switch (alt19) { case 1 : - // InternalRos.g:5637:11: '^' + // InternalRos.g:5681:11: '^' { match('^'); @@ -3011,7 +3011,7 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:5637:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:5681:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop20: do { int alt20=2; @@ -3058,10 +3058,10 @@ public final void mRULE_ID() throws RecognitionException { // $ANTLR start "RULE_INT" public final void mRULE_INT() throws RecognitionException { try { - // InternalRos.g:5639:19: ( ( '0' .. '9' )+ ) - // InternalRos.g:5639:21: ( '0' .. '9' )+ + // InternalRos.g:5683:19: ( ( '0' .. '9' )+ ) + // InternalRos.g:5683:21: ( '0' .. '9' )+ { - // InternalRos.g:5639:21: ( '0' .. '9' )+ + // InternalRos.g:5683:21: ( '0' .. '9' )+ int cnt21=0; loop21: do { @@ -3075,7 +3075,7 @@ public final void mRULE_INT() throws RecognitionException { switch (alt21) { case 1 : - // InternalRos.g:5639:22: '0' .. '9' + // InternalRos.g:5683:22: '0' .. '9' { matchRange('0','9'); @@ -3105,10 +3105,10 @@ public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5641:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalRos.g:5641:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:5685:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalRos.g:5685:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) { - // InternalRos.g:5641:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:5685:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) int alt24=2; int LA24_0 = input.LA(1); @@ -3126,10 +3126,10 @@ else if ( (LA24_0=='\'') ) { } switch (alt24) { case 1 : - // InternalRos.g:5641:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalRos.g:5685:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalRos.g:5641:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalRos.g:5685:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop22: do { int alt22=3; @@ -3145,7 +3145,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 switch (alt22) { case 1 : - // InternalRos.g:5641:21: '\\\\' . + // InternalRos.g:5685:21: '\\\\' . { match('\\'); matchAny(); @@ -3153,7 +3153,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:5641:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalRos.g:5685:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3178,10 +3178,10 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:5641:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalRos.g:5685:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalRos.g:5641:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalRos.g:5685:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop23: do { int alt23=3; @@ -3197,7 +3197,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 switch (alt23) { case 1 : - // InternalRos.g:5641:54: '\\\\' . + // InternalRos.g:5685:54: '\\\\' . { match('\\'); matchAny(); @@ -3205,7 +3205,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:5641:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalRos.g:5685:61: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3248,12 +3248,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5643:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalRos.g:5643:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalRos.g:5687:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalRos.g:5687:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalRos.g:5643:24: ( options {greedy=false; } : . )* + // InternalRos.g:5687:24: ( options {greedy=false; } : . )* loop25: do { int alt25=2; @@ -3278,7 +3278,7 @@ else if ( ((LA25_0>='\u0000' && LA25_0<=')')||(LA25_0>='+' && LA25_0<='\uFFFF')) switch (alt25) { case 1 : - // InternalRos.g:5643:52: . + // InternalRos.g:5687:52: . { matchAny(); @@ -3308,12 +3308,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5645:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalRos.g:5645:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalRos.g:5689:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalRos.g:5689:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalRos.g:5645:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalRos.g:5689:24: (~ ( ( '\\n' | '\\r' ) ) )* loop26: do { int alt26=2; @@ -3326,7 +3326,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { switch (alt26) { case 1 : - // InternalRos.g:5645:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalRos.g:5689:24: ~ ( ( '\\n' | '\\r' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3346,7 +3346,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalRos.g:5645:40: ( ( '\\r' )? '\\n' )? + // InternalRos.g:5689:40: ( ( '\\r' )? '\\n' )? int alt28=2; int LA28_0 = input.LA(1); @@ -3355,9 +3355,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt28) { case 1 : - // InternalRos.g:5645:41: ( '\\r' )? '\\n' + // InternalRos.g:5689:41: ( '\\r' )? '\\n' { - // InternalRos.g:5645:41: ( '\\r' )? + // InternalRos.g:5689:41: ( '\\r' )? int alt27=2; int LA27_0 = input.LA(1); @@ -3366,7 +3366,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt27) { case 1 : - // InternalRos.g:5645:41: '\\r' + // InternalRos.g:5689:41: '\\r' { match('\r'); @@ -3398,10 +3398,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5647:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalRos.g:5647:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:5691:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalRos.g:5691:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalRos.g:5647:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:5691:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt29=0; loop29: do { @@ -3455,8 +3455,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5649:16: ( . ) - // InternalRos.g:5649:18: . + // InternalRos.g:5693:16: ( . ) + // InternalRos.g:5693:18: . { matchAny(); @@ -4247,343 +4247,349 @@ public DFA10(BaseRecognizer recognizer) { this.transition = DFA10_transition; } public String getDescription() { - return "5619:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; + return "5663:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; } } static final String DFA30_eotS = - "\1\44\1\62\3\uffff\33\62\3\55\1\62\1\uffff\3\55\2\156\1\55\1\156\2\uffff\4\62\5\uffff\52\62\4\uffff\1\62\2\uffff\1\u00a5\2\uffff\1\u00a5\4\uffff\3\156\1\uffff\60\62\3\uffff\2\156\11\62\1\u00e8\1\u00ea\14\62\1\u00f7\3\62\1\u00fb\10\62\1\u0104\1\u0105\1\u0106\1\u0107\6\62\1\u010f\1\u0111\1\u0113\4\62\1\156\4\62\1\u011f\4\62\1\uffff\1\62\1\uffff\1\62\1\u0126\12\62\1\uffff\2\62\1\u0106\1\uffff\6\62\1\u013a\1\62\4\uffff\5\62\1\u0141\6\uffff\1\u0143\1\u0145\1\u0147\1\u0149\7\62\1\uffff\1\62\1\u0152\1\u0153\3\62\1\uffff\3\62\1\u015b\2\62\1\u015e\1\62\1\u0160\5\62\1\u0167\1\u0168\3\62\1\uffff\5\62\1\u0171\11\uffff\1\u0173\1\u0175\1\u0177\1\u017a\4\62\2\uffff\7\62\1\uffff\1\u0188\1\62\1\uffff\1\62\1\uffff\1\u018b\1\62\1\u018e\1\u0190\1\u0191\3\uffff\4\62\1\u0196\1\u0197\1\62\1\u0199\7\uffff\2\62\1\uffff\7\62\1\u01a4\5\62\1\uffff\1\u01aa\1\62\1\uffff\1\u01ac\5\uffff\4\62\2\uffff\1\u01b1\1\uffff\2\62\1\u01b7\1\u01b9\5\62\1\u01bf\1\uffff\5\62\1\uffff\1\u01c5\1\uffff\1\u01c6\3\62\1\uffff\1\u01ca\1\62\1\u01cc\2\62\1\uffff\1\u01cf\1\uffff\4\62\1\u01d5\1\uffff\1\u01d6\4\62\2\uffff\3\62\1\uffff\1\62\1\uffff\2\62\1\uffff\1\62\1\u01e2\2\62\1\u01e5\2\uffff\10\62\1\u01ee\2\62\1\uffff\2\62\1\uffff\1\u01f4\1\u01f6\1\62\1\u01f8\4\62\1\uffff\2\62\1\u0200\1\u0202\1\u0203\1\uffff\1\u0204\1\uffff\1\u0205\1\uffff\6\62\1\u020c\1\uffff\1\u020d\4\uffff\6\62\2\uffff\1\u0214\4\62\1\u0219\1\uffff\2\62\1\u021c\1\62\1\uffff\1\62\1\u021f\1\uffff\1\62\1\u0221\1\uffff\1\62\1\uffff\1\62\1\u0224\1\uffff"; + "\1\45\1\63\3\uffff\34\63\3\56\1\63\1\uffff\3\56\2\160\1\56\1\160\2\uffff\4\63\5\uffff\53\63\4\uffff\1\63\2\uffff\1\u00a8\2\uffff\1\u00a8\4\uffff\3\160\1\uffff\61\63\3\uffff\2\160\12\63\1\u00ed\1\u00ef\14\63\1\u00fc\3\63\1\u0100\10\63\1\u0109\1\u010a\1\u010b\1\u010c\6\63\1\u0114\1\u0116\1\u0118\4\63\1\160\5\63\1\u0125\4\63\1\uffff\1\63\1\uffff\1\63\1\u012c\12\63\1\uffff\2\63\1\u010b\1\uffff\6\63\1\u0140\1\63\4\uffff\5\63\1\u0147\6\uffff\1\u0149\1\u014b\1\u014d\1\u014f\10\63\1\uffff\1\63\1\u0159\1\u015a\3\63\1\uffff\3\63\1\u0162\2\63\1\u0165\1\63\1\u0167\5\63\1\u016e\1\u016f\3\63\1\uffff\5\63\1\u0178\11\uffff\1\u017a\1\u017c\1\u017e\1\u0180\5\63\2\uffff\7\63\1\uffff\1\u018f\1\63\1\uffff\1\63\1\uffff\1\u0192\1\63\1\u0195\1\u0197\1\u0198\3\uffff\4\63\1\u019d\1\u019e\1\63\1\u01a0\7\uffff\1\63\1\uffff\10\63\1\u01ab\5\63\1\uffff\1\u01b1\1\63\1\uffff\1\u01b3\5\uffff\4\63\2\uffff\1\u01b8\1\uffff\1\63\1\u01bd\1\u01bf\6\63\1\u01c6\1\uffff\5\63\1\uffff\1\u01cc\1\uffff\1\u01cd\3\63\1\uffff\1\u01d1\1\u01d2\2\63\1\uffff\1\u01d5\1\uffff\5\63\1\u01dc\1\uffff\1\u01dd\4\63\2\uffff\3\63\2\uffff\2\63\1\uffff\1\63\1\u01e8\1\u01e9\2\63\1\u01ec\2\uffff\7\63\1\u01f4\2\63\2\uffff\2\63\1\uffff\1\u01fa\1\u01fc\1\63\1\u01fe\3\63\1\uffff\2\63\1\u0205\1\u0207\1\u0208\1\uffff\1\u0209\1\uffff\1\u020a\1\uffff\5\63\1\u0210\1\uffff\1\u0211\4\uffff\5\63\2\uffff\1\u0217\3\63\1\u021b\1\uffff\3\63\1\uffff\1\63\1\u0220\1\63\1\u0222\1\uffff\1\63\1\uffff\1\63\1\u0225\1\uffff"; static final String DFA30_eofS = - "\u0225\uffff"; + "\u0226\uffff"; static final String DFA30_minS = - "\1\0\1\57\3\uffff\33\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\4\57\5\uffff\52\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\60\57\1\0\1\uffff\1\0\2\56\65\57\1\55\11\57\1\uffff\1\57\1\uffff\14\57\1\uffff\3\57\1\uffff\10\57\4\uffff\6\57\6\uffff\13\57\1\uffff\6\57\1\uffff\23\57\1\uffff\6\57\11\uffff\10\57\2\uffff\7\57\1\uffff\2\57\1\uffff\1\57\1\uffff\5\57\3\uffff\10\57\7\uffff\2\57\1\uffff\15\57\1\uffff\2\57\1\uffff\1\57\5\uffff\4\57\2\uffff\1\57\1\uffff\12\57\1\uffff\5\57\1\uffff\1\57\1\uffff\4\57\1\uffff\5\57\1\uffff\1\57\1\uffff\5\57\1\uffff\5\57\2\uffff\3\57\1\uffff\1\57\1\uffff\2\57\1\uffff\5\57\2\uffff\13\57\1\uffff\2\57\1\uffff\10\57\1\uffff\5\57\1\uffff\1\57\1\uffff\1\57\1\uffff\7\57\1\uffff\1\57\4\uffff\6\57\2\uffff\6\57\1\uffff\4\57\1\uffff\2\57\1\uffff\2\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; + "\1\0\1\57\3\uffff\34\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\4\57\5\uffff\53\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\61\57\1\0\1\uffff\1\0\2\56\66\57\1\55\12\57\1\uffff\1\57\1\uffff\14\57\1\uffff\3\57\1\uffff\10\57\4\uffff\6\57\6\uffff\14\57\1\uffff\6\57\1\uffff\23\57\1\uffff\6\57\11\uffff\11\57\2\uffff\7\57\1\uffff\2\57\1\uffff\1\57\1\uffff\5\57\3\uffff\10\57\7\uffff\1\57\1\uffff\16\57\1\uffff\2\57\1\uffff\1\57\5\uffff\4\57\2\uffff\1\57\1\uffff\12\57\1\uffff\5\57\1\uffff\1\57\1\uffff\4\57\1\uffff\4\57\1\uffff\1\57\1\uffff\6\57\1\uffff\5\57\2\uffff\3\57\2\uffff\2\57\1\uffff\6\57\2\uffff\12\57\2\uffff\2\57\1\uffff\7\57\1\uffff\5\57\1\uffff\1\57\1\uffff\1\57\1\uffff\6\57\1\uffff\1\57\4\uffff\5\57\2\uffff\5\57\1\uffff\3\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; static final String DFA30_maxS = - "\1\uffff\1\172\3\uffff\33\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\4\172\5\uffff\52\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\60\172\1\uffff\1\uffff\1\uffff\2\145\65\172\1\145\11\172\1\uffff\1\172\1\uffff\14\172\1\uffff\3\172\1\uffff\10\172\4\uffff\6\172\6\uffff\13\172\1\uffff\6\172\1\uffff\23\172\1\uffff\6\172\11\uffff\10\172\2\uffff\7\172\1\uffff\2\172\1\uffff\1\172\1\uffff\5\172\3\uffff\10\172\7\uffff\2\172\1\uffff\15\172\1\uffff\2\172\1\uffff\1\172\5\uffff\4\172\2\uffff\1\172\1\uffff\12\172\1\uffff\5\172\1\uffff\1\172\1\uffff\4\172\1\uffff\5\172\1\uffff\1\172\1\uffff\5\172\1\uffff\5\172\2\uffff\3\172\1\uffff\1\172\1\uffff\2\172\1\uffff\5\172\2\uffff\13\172\1\uffff\2\172\1\uffff\10\172\1\uffff\5\172\1\uffff\1\172\1\uffff\1\172\1\uffff\7\172\1\uffff\1\172\4\uffff\6\172\2\uffff\6\172\1\uffff\4\172\1\uffff\2\172\1\uffff\2\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; + "\1\uffff\1\172\3\uffff\34\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\4\172\5\uffff\53\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\61\172\1\uffff\1\uffff\1\uffff\2\145\66\172\1\145\12\172\1\uffff\1\172\1\uffff\14\172\1\uffff\3\172\1\uffff\10\172\4\uffff\6\172\6\uffff\14\172\1\uffff\6\172\1\uffff\23\172\1\uffff\6\172\11\uffff\11\172\2\uffff\7\172\1\uffff\2\172\1\uffff\1\172\1\uffff\5\172\3\uffff\10\172\7\uffff\1\172\1\uffff\16\172\1\uffff\2\172\1\uffff\1\172\5\uffff\4\172\2\uffff\1\172\1\uffff\12\172\1\uffff\5\172\1\uffff\1\172\1\uffff\4\172\1\uffff\4\172\1\uffff\1\172\1\uffff\6\172\1\uffff\5\172\2\uffff\3\172\2\uffff\2\172\1\uffff\6\172\2\uffff\12\172\2\uffff\2\172\1\uffff\7\172\1\uffff\5\172\1\uffff\1\172\1\uffff\1\172\1\uffff\6\172\1\uffff\1\172\4\uffff\5\172\2\uffff\5\172\1\uffff\3\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; static final String DFA30_acceptS = - "\2\uffff\1\2\1\3\1\4\37\uffff\1\131\7\uffff\1\145\1\146\4\uffff\1\141\1\140\1\2\1\3\1\4\52\uffff\1\130\1\143\1\144\1\132\7\uffff\1\133\1\137\1\136\1\135\3\uffff\1\145\61\uffff\1\142\102\uffff\1\7\1\uffff\1\27\14\uffff\1\23\3\uffff\1\26\10\uffff\1\60\1\111\1\134\1\61\6\uffff\1\113\1\74\1\127\1\110\1\114\1\75\13\uffff\1\6\6\uffff\1\70\23\uffff\1\54\6\uffff\1\72\1\116\1\77\1\120\1\101\1\122\1\103\1\115\1\76\10\uffff\1\20\1\62\7\uffff\1\65\2\uffff\1\24\1\uffff\1\17\5\uffff\1\126\1\107\1\46\10\uffff\1\67\1\117\1\100\1\121\1\102\1\123\1\104\2\uffff\1\5\15\uffff\1\14\2\uffff\1\21\1\uffff\1\124\1\105\1\125\1\106\1\40\4\uffff\1\63\1\64\1\uffff\1\66\12\uffff\1\10\5\uffff\1\15\1\uffff\1\25\4\uffff\1\112\5\uffff\1\57\1\uffff\1\42\5\uffff\1\41\5\uffff\1\16\1\50\3\uffff\1\1\1\uffff\1\36\2\uffff\1\31\5\uffff\1\43\1\22\13\uffff\1\13\2\uffff\1\32\10\uffff\1\71\5\uffff\1\45\1\uffff\1\47\1\uffff\1\12\7\uffff\1\37\1\uffff\1\44\1\34\1\35\1\11\6\uffff\1\30\1\33\6\uffff\1\53\4\uffff\1\56\2\uffff\1\51\2\uffff\1\55\1\uffff\1\52\2\uffff\1\73"; + "\2\uffff\1\2\1\3\1\4\40\uffff\1\131\7\uffff\1\145\1\146\4\uffff\1\141\1\140\1\2\1\3\1\4\53\uffff\1\130\1\143\1\144\1\132\7\uffff\1\133\1\137\1\136\1\135\3\uffff\1\145\62\uffff\1\142\104\uffff\1\10\1\uffff\1\30\14\uffff\1\24\3\uffff\1\27\10\uffff\1\60\1\111\1\134\1\61\6\uffff\1\113\1\74\1\127\1\110\1\114\1\75\14\uffff\1\7\6\uffff\1\70\23\uffff\1\54\6\uffff\1\72\1\116\1\77\1\120\1\101\1\122\1\103\1\115\1\76\11\uffff\1\21\1\62\7\uffff\1\65\2\uffff\1\25\1\uffff\1\20\5\uffff\1\126\1\107\1\47\10\uffff\1\67\1\117\1\100\1\121\1\102\1\123\1\104\1\uffff\1\5\16\uffff\1\15\2\uffff\1\22\1\uffff\1\124\1\105\1\125\1\106\1\41\4\uffff\1\63\1\64\1\uffff\1\66\12\uffff\1\11\5\uffff\1\16\1\uffff\1\26\4\uffff\1\112\4\uffff\1\57\1\uffff\1\43\6\uffff\1\42\5\uffff\1\17\1\51\3\uffff\1\1\1\37\2\uffff\1\32\6\uffff\1\44\1\23\12\uffff\1\6\1\14\2\uffff\1\33\7\uffff\1\71\5\uffff\1\46\1\uffff\1\50\1\uffff\1\13\6\uffff\1\40\1\uffff\1\45\1\35\1\36\1\12\5\uffff\1\31\1\34\5\uffff\1\53\3\uffff\1\56\4\uffff\1\55\1\uffff\1\52\2\uffff\1\73"; static final String DFA30_specialS = - "\1\5\44\uffff\1\4\1\10\77\uffff\1\2\1\7\1\uffff\1\3\1\1\71\uffff\1\6\1\uffff\1\0\u017e\uffff}>"; + "\1\6\45\uffff\1\2\1\5\100\uffff\1\0\1\4\1\uffff\1\1\1\10\72\uffff\1\3\1\uffff\1\7\u017c\uffff}>"; static final String[] DFA30_transitionS = { - "\11\55\2\54\2\55\1\54\22\55\1\54\1\55\1\45\4\55\1\46\4\55\1\3\1\52\1\55\1\41\1\50\2\51\7\53\7\55\1\7\1\33\1\10\1\11\1\24\1\43\1\23\1\14\1\31\2\43\1\30\1\43\1\20\1\43\1\1\1\43\1\26\1\5\1\13\6\43\1\40\2\55\1\42\1\43\1\55\1\22\1\35\1\43\1\32\1\43\1\17\1\16\1\43\1\36\3\43\1\15\1\6\1\43\1\25\1\43\1\12\1\21\1\27\1\37\1\34\4\43\1\2\1\55\1\4\1\47\uff81\55", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\56\20\61\1\60\2\61\1\57\5\61", + "\11\56\2\55\2\56\1\55\22\56\1\55\1\56\1\46\4\56\1\47\4\56\1\3\1\53\1\56\1\42\1\51\2\52\7\54\7\56\1\10\1\34\1\11\1\12\1\25\1\5\1\24\1\15\1\32\2\44\1\31\1\44\1\21\1\44\1\1\1\44\1\27\1\6\1\14\6\44\1\41\2\56\1\43\1\44\1\56\1\23\1\36\1\44\1\33\1\44\1\20\1\17\1\44\1\37\3\44\1\16\1\7\1\44\1\26\1\44\1\13\1\22\1\30\1\40\1\35\4\44\1\2\1\56\1\4\1\50\uff81\56", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\57\20\62\1\61\2\62\1\60\5\62", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\70\12\61\1\67\3\61\1\71\1\72\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\74\15\61\1\73\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\76\16\61\1\75\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\77\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\100\11\61\1\101\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\102\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\103\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\104\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\105\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\106\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\111\3\61\1\107\6\61\1\110\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\112\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\113\16\61\1\114\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\115\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\117\5\61\1\116\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\27\61\1\120\2\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\121\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\122\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\124\10\61\1\125\6\61\1\123\1\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\126\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\127\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\130\17\61\1\131\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\133\15\61\1\132\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\134\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\135\11\61\1\136\1\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\137\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\140\21\61", - "\1\141", - "\1\144\4\uffff\1\144\2\uffff\1\142\4\uffff\1\143\21\uffff\32\44\3\uffff\2\44\1\uffff\32\44", - "\32\145\4\uffff\1\145\1\uffff\32\145", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\70\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\72\12\62\1\71\3\62\1\73\1\74\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\76\15\62\1\75\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\100\16\62\1\77\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\101\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\102\11\62\1\103\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\104\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\105\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\106\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\107\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\110\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\113\3\62\1\111\6\62\1\112\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\114\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\115\16\62\1\116\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\117\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\121\5\62\1\120\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\27\62\1\122\2\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\123\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\124\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\126\10\62\1\127\6\62\1\125\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\130\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\131\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\132\17\62\1\133\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\135\15\62\1\134\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\136\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\137\11\62\1\140\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\141\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\142\21\62", + "\1\143", + "\1\146\4\uffff\1\146\2\uffff\1\144\4\uffff\1\145\21\uffff\32\45\3\uffff\2\45\1\uffff\32\45", + "\32\147\4\uffff\1\147\1\uffff\32\147", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\42\147\1\150\71\147\1\146\uffa3\147", - "\47\152\1\153\64\152\1\151\uffa3\152", - "\1\144\4\uffff\1\144", - "\1\157\1\uffff\12\155\10\uffff\1\154\2\uffff\1\157\34\uffff\1\154\2\uffff\1\157", - "\1\157\1\uffff\12\160\13\uffff\1\157\37\uffff\1\157", - "\12\161", - "\1\157\1\uffff\12\162\13\uffff\1\157\37\uffff\1\157", + "\42\151\1\152\71\151\1\150\uffa3\151", + "\47\154\1\155\64\154\1\153\uffa3\154", + "\1\146\4\uffff\1\146", + "\1\161\1\uffff\12\157\10\uffff\1\156\2\uffff\1\161\34\uffff\1\156\2\uffff\1\161", + "\1\161\1\uffff\12\162\13\uffff\1\161\37\uffff\1\161", + "\12\163", + "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\164\16\61\1\165\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\166\30\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\167\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\166\16\62\1\167\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\170\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\171\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\170\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\171\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\172\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\173\30\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\174\26\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\175\15\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\177\1\61\1\176\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0080\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0081\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0082\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u0083\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\20\61\1\u0084\1\61\1\u0085\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0086\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0087\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0088\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0089\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u008a\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u008b\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u008c\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u008d\26\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u008e\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u008f\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0090\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0091\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u0092\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0093\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0094\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0095\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0096\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u0097\15\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u0098\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0099\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u009a\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\5\61\1\u009b\24\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u009c\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u009d\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u009e\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u009f\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00a0\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00a1\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00a2\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00a3\14\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\172\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\173\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\174\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\175\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\176\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\177\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u0080\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0082\1\62\1\u0081\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0083\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0084\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0085\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u0086\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\20\62\1\u0087\1\62\1\u0088\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0089\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u008a\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u008b\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u008c\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u008d\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u008e\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u008f\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u0090\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0091\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0092\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0093\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0094\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0095\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0096\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0097\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0098\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0099\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u009a\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u009b\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u009c\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u009d\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u009e\24\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u009f\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a0\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00a1\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00a2\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a3\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a4\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a5\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00a6\14\62", "", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\0\u00a4", - "\42\147\1\150\71\147\1\146\uffa3\147", - "\1\144\15\uffff\1\63", - "\0\u00a6", - "\47\152\1\153\64\152\1\151\uffa3\152", - "\1\144\15\uffff\1\63", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\0\u00a7", + "\42\151\1\152\71\151\1\150\uffa3\151", + "\1\146\15\uffff\1\64", + "\0\u00a9", + "\47\154\1\155\64\154\1\153\uffa3\154", + "\1\146\15\uffff\1\64", "", "", "", "", - "\1\157\1\uffff\12\u00a7\13\uffff\1\157\37\uffff\1\157", - "\1\157\1\uffff\12\u00a8\13\uffff\1\157\37\uffff\1\157", - "\1\157\1\uffff\12\162\13\uffff\1\157\37\uffff\1\157", + "\1\161\1\uffff\12\u00aa\13\uffff\1\161\37\uffff\1\161", + "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", + "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u00a9\17\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00aa\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00ab\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u00ac\4\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u00ad\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u00ae\4\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00af\13\61\1\u00b0\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00b1\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00b2\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00b3\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00b4\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00b5\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00b6\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u00b7\17\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00b8\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u00b9\30\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u00ba\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u00bb\4\61\1\u00bc\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00bd\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u00be\26\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00bf\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00c0\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u00c1\26\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00c2\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00c3\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00c4\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u00c5\4\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00c6\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00c7\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u00c8\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u00c9\30\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00ca\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00cb\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00cc\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00cd\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00ce\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00cf\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00d0\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00d1\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00d2\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00d3\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00d4\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00d5\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u00d6\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00d7\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00d8\25\61", - "\1\44\1\61\1\u00da\1\61\1\u00db\2\61\1\u00dc\1\61\1\u00d9\1\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00dd\6\61", - "\42\147\1\150\71\147\1\146\uffa3\147", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00ac\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00ad\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00ae\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00af\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00b0\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00b1\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00b2\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00b3\13\62\1\u00b4\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00b5\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00b6\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00b7\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00b8\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00b9\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ba\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00bb\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00bc\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00bd\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00be\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00bf\4\62\1\u00c0\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00c1\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00c2\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00c3\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00c4\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00c5\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c6\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00c7\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c8\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00c9\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ca\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00cb\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00cc\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00cd\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00ce\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00cf\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d0\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d1\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d2\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d3\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d4\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d5\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d6\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d7\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00d8\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d9\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00da\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00db\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00dc\25\62", + "\1\45\1\62\1\u00de\1\62\1\u00df\2\62\1\u00e0\1\62\1\u00dd\1\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00e1\6\62", + "\42\151\1\152\71\151\1\150\uffa3\151", "", - "\47\152\1\153\64\152\1\151\uffa3\152", - "\1\157\1\uffff\12\u00de\13\uffff\1\157\37\uffff\1\157", - "\1\157\1\uffff\12\u00a8\13\uffff\1\157\37\uffff\1\157", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00df\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u00e0\15\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00e1\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00e2\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00e3\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00e4\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00e5\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u00e6\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u00e7\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00e9\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\5\61\1\u00eb\24\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\30\61\1\u00ec\1\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00ed\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00ee\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00ef\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00f0\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00f1\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00f2\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00f3\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u00f4\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00f5\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00f6\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u00f8\30\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00f9\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00fa\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00fc\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00fd\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00fe\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\7\61\1\u00ff\22\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0100\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0101\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0102\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0103\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u0108\23\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u0109\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u010a\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u010b\25\61", - "\1\44\6\61\1\u010c\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u010d\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u010e\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0110\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0112\3\uffff\1\61\1\uffff\32\61", - "\1\44\6\61\1\u0114\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\2\61\1\u0115\7\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\4\61\1\u0116\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\1\61\1\u0118\1\61\1\u0119\2\61\1\u011a\1\61\1\u0117\1\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\155\1\157\1\uffff\12\162\13\uffff\1\157\37\uffff\1\157", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u011b\23\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u011c\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u011d\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u011e\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0120\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u0121\23\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0122\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0123\10\61", + "\47\154\1\155\64\154\1\153\uffa3\154", + "\1\161\1\uffff\12\u00e2\13\uffff\1\161\37\uffff\1\161", + "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00e3\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00e4\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00e5\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00e6\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\6\62\1\u00e7\23\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00e8\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00e9\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00ea\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00eb\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ec\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00ee\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u00f0\24\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u00f1\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00f2\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00f3\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00f4\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00f5\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f6\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00f7\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00f8\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00f9\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00fa\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00fb\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00fd\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00fe\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00ff\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0101\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0102\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0103\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u0104\22\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0105\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0106\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0107\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0108\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u010d\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u010e\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u010f\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0110\25\62", + "\1\45\6\62\1\u0111\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0112\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0113\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0115\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0117\3\uffff\1\62\1\uffff\32\62", + "\1\45\6\62\1\u0119\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\2\62\1\u011a\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u011b\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\1\62\1\u011d\1\62\1\u011e\2\62\1\u011f\1\62\1\u011c\1\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\157\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0120\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0121\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0122\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0123\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0124\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0126\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0127\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0128\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0129\10\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0124\12\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u012a\12\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0125\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0127\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0128\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u0129\26\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u012a\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u012b\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u012c\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u012d\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\22\61\1\u012e\7\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u012f\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u0130\23\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u012b\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u012d\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u012e\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u012f\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0130\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0131\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0132\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0133\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\22\62\1\u0134\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0135\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0136\23\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0131\31\61", - "\1\44\3\61\1\u0132\2\61\1\u0133\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0137\31\62", + "\1\45\3\62\1\u0138\2\62\1\u0139\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0134\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u0135\23\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0136\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\15\61\1\u0137\14\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0138\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0139\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u013b\21\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u013a\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u013b\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013c\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u013d\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u013e\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013f\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0141\21\62", "", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u013c\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u013d\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u013e\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u013f\31\61", - "\1\44\4\61\1\u0140\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0142\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0143\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0144\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0145\31\62", + "\1\45\4\62\1\u0146\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0142\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0144\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0146\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0148\3\uffff\1\61\1\uffff\32\61", - "\1\44\6\61\1\u014a\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\2\61\1\u014b\7\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\4\61\1\u014c\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u014d\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u014e\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\7\61\1\u014f\22\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0150\25\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0148\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014a\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014c\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014e\3\uffff\1\62\1\uffff\32\62", + "\1\45\6\62\1\u0150\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\2\62\1\u0151\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u0152\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0153\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0154\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u0155\22\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0156\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0157\6\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0151\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u0154\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0155\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0156\27\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0158\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u015b\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u015c\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u015d\27\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\2\61\1\u0158\17\61\1\u0157\7\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\17\61\1\u0159\12\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u015a\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u015c\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u015d\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u015f\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0161\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0162\27\61", - "\1\44\2\61\1\u0163\7\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\4\61\1\u0164\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0165\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0166\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0169\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\15\61\1\u016a\14\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u016b\31\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\2\62\1\u015f\17\62\1\u015e\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\17\62\1\u0160\12\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0161\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0163\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0164\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0166\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0168\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0169\27\62", + "\1\45\2\62\1\u016a\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u016b\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u016c\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u016d\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0170\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u0171\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0172\31\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u016c\4\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u016d\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u016e\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u016f\13\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0170\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u0173\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0174\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0175\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0176\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0177\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", @@ -4593,45 +4599,46 @@ public String getDescription() { "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0172\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0174\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u0176\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\3\61\1\u0179\16\61\1\u0178\7\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u017b\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u017c\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\15\61\1\u017d\14\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\2\61\1\u017f\17\61\1\u017e\7\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0179\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u017b\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u017d\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\22\62\1\u017f\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0181\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0182\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u0183\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\21\62\1\u0184\10\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\2\62\1\u0186\17\62\1\u0185\7\62\4\uffff\1\62\1\uffff\32\62", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u0180\30\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0181\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0182\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0184\12\61\1\u0183\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0185\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0186\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0187\14\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0187\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0188\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0189\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u018b\12\62\1\u018a\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u018c\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u018d\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u018e\14\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0189\25\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0190\25\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u018a\25\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0191\25\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u018c\17\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u018d\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\1\u018f\3\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u0193\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0194\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0196\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u0192\15\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0193\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0194\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0195\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0198\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u0199\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u019a\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u019b\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u019c\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u019f\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", @@ -4639,178 +4646,172 @@ public String getDescription() { "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u019a\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u019b\25\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a1\25\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u019c\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u019d\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u019e\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01a0\12\61\1\u019f\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u01a1\16\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01a2\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01a3\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01a5\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01a6\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u01a7\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01a8\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01a9\27\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01a2\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01a3\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01a4\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a5\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a7\12\62\1\u01a6\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u01a8\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a9\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01aa\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ac\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ad\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01ae\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01af\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b0\27\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01ab\27\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b2\27\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01ad\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u01ae\15\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\3\61\1\u01af\26\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\15\61\1\u01b0\14\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01b4\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01b5\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\3\62\1\u01b6\26\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u01b7\14\62\4\uffff\1\62\1\uffff\32\62", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u01b2\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u01b3\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\1\u01b5\21\61\1\u01b6\7\61\4\uffff\1\61\1\uffff\22\61\1\u01b4\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01b8\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u01ba\15\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01bb\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01bc\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u01bd\21\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01be\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01b9\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\1\u01bb\21\62\1\u01bc\7\62\4\uffff\1\62\1\uffff\22\62\1\u01ba\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01be\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01c0\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01c1\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01c2\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01c3\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01c4\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01c5\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01c0\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u01c1\4\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01c2\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u01c3\17\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u01c4\21\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01c7\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01c8\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01c9\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u01ca\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01cb\21\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01c7\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01c8\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01c9\31\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ce\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01cf\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01d0\31\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01cb\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01cd\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u01ce\6\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01d3\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01d4\6\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01d0\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01d1\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u01d2\4\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01d3\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01d4\7\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01d6\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u01d7\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01d8\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01d9\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01da\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01db\7\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01d7\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01d8\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01d9\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01da\25\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01de\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01df\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01e0\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e1\25\62", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01db\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u01dc\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u01dd\15\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01e2\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01e3\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01e4\15\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01de\14\61", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\30\61\1\u01df\1\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01e0\10\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u01e5\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01e6\10\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01e1\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01e3\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01e4\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01e7\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ea\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01eb\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01e6\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u01e7\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u01e8\23\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01e9\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u01ea\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01eb\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01ec\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u01ed\26\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u01ef\5\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u01f0\12\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ed\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01ee\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u01ef\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01f0\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01f1\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f2\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f3\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u01f5\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01f6\12\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01f1\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u01f2\6\61", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01f3\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01f5\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01f7\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01f9\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01fa\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01fb\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01fc\25\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01f7\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01f8\6\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01fd\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01fe\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01ff\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0201\7\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01f9\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01fb\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01fd\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01ff\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0200\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0201\7\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0202\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0203\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0204\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0206\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0206\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u0207\26\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0208\12\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0209\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u020a\6\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u020b\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u020b\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u020c\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u020d\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u020e\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u020f\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u020e\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u020f\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0210\31\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0211\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\14\61\1\u0212\15\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0213\25\61", "", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0212\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0213\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0214\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\14\62\1\u0215\15\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0216\25\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0215\14\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0216\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\30\61\1\u0217\1\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0218\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u021a\27\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u021b\25\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u021d\15\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0218\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0219\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021a\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\30\61\1\u021e\1\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u021c\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021d\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u021e\15\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u0220\30\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u021f\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0221\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0222\25\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0223\25\62", "", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0223\10\61", - "\1\44\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0224\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "" }; @@ -4851,60 +4852,74 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA30_166 = input.LA(1); + int LA30_104 = input.LA(1); s = -1; - if ( (LA30_166=='\'') ) {s = 107;} + if ( ((LA30_104>='\u0000' && LA30_104<='\uFFFF')) ) {s = 167;} - else if ( (LA30_166=='\\') ) {s = 105;} + if ( s>=0 ) return s; + break; + case 1 : + int LA30_107 = input.LA(1); - else if ( ((LA30_166>='\u0000' && LA30_166<='&')||(LA30_166>='(' && LA30_166<='[')||(LA30_166>=']' && LA30_166<='\uFFFF')) ) {s = 106;} + s = -1; + if ( ((LA30_107>='\u0000' && LA30_107<='\uFFFF')) ) {s = 169;} if ( s>=0 ) return s; break; - case 1 : - int LA30_106 = input.LA(1); + case 2 : + int LA30_38 = input.LA(1); s = -1; - if ( (LA30_106=='\'') ) {s = 107;} + if ( (LA30_38=='\\') ) {s = 104;} + + else if ( ((LA30_38>='\u0000' && LA30_38<='!')||(LA30_38>='#' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 105;} - else if ( (LA30_106=='\\') ) {s = 105;} + else if ( (LA30_38=='\"') ) {s = 106;} - else if ( ((LA30_106>='\u0000' && LA30_106<='&')||(LA30_106>='(' && LA30_106<='[')||(LA30_106>=']' && LA30_106<='\uFFFF')) ) {s = 106;} + else s = 46; if ( s>=0 ) return s; break; - case 2 : - int LA30_102 = input.LA(1); + case 3 : + int LA30_167 = input.LA(1); s = -1; - if ( ((LA30_102>='\u0000' && LA30_102<='\uFFFF')) ) {s = 164;} + if ( (LA30_167=='\"') ) {s = 106;} + + else if ( (LA30_167=='\\') ) {s = 104;} + + else if ( ((LA30_167>='\u0000' && LA30_167<='!')||(LA30_167>='#' && LA30_167<='[')||(LA30_167>=']' && LA30_167<='\uFFFF')) ) {s = 105;} if ( s>=0 ) return s; break; - case 3 : + case 4 : int LA30_105 = input.LA(1); s = -1; - if ( ((LA30_105>='\u0000' && LA30_105<='\uFFFF')) ) {s = 166;} + if ( (LA30_105=='\"') ) {s = 106;} + + else if ( (LA30_105=='\\') ) {s = 104;} + + else if ( ((LA30_105>='\u0000' && LA30_105<='!')||(LA30_105>='#' && LA30_105<='[')||(LA30_105>=']' && LA30_105<='\uFFFF')) ) {s = 105;} if ( s>=0 ) return s; break; - case 4 : - int LA30_37 = input.LA(1); + case 5 : + int LA30_39 = input.LA(1); s = -1; - if ( (LA30_37=='\\') ) {s = 102;} + if ( (LA30_39=='\\') ) {s = 107;} - else if ( ((LA30_37>='\u0000' && LA30_37<='!')||(LA30_37>='#' && LA30_37<='[')||(LA30_37>=']' && LA30_37<='\uFFFF')) ) {s = 103;} + else if ( ((LA30_39>='\u0000' && LA30_39<='&')||(LA30_39>='(' && LA30_39<='[')||(LA30_39>=']' && LA30_39<='\uFFFF')) ) {s = 108;} - else if ( (LA30_37=='\"') ) {s = 104;} + else if ( (LA30_39=='\'') ) {s = 109;} - else s = 45; + else s = 46; if ( s>=0 ) return s; break; - case 5 : + case 6 : int LA30_0 = input.LA(1); s = -1; @@ -4916,125 +4931,113 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA30_0=='}') ) {s = 4;} - else if ( (LA30_0=='S') ) {s = 5;} - - else if ( (LA30_0=='n') ) {s = 6;} - - else if ( (LA30_0=='A') ) {s = 7;} - - else if ( (LA30_0=='C') ) {s = 8;} + else if ( (LA30_0=='F') ) {s = 5;} - else if ( (LA30_0=='D') ) {s = 9;} + else if ( (LA30_0=='S') ) {s = 6;} - else if ( (LA30_0=='r') ) {s = 10;} + else if ( (LA30_0=='n') ) {s = 7;} - else if ( (LA30_0=='T') ) {s = 11;} + else if ( (LA30_0=='A') ) {s = 8;} - else if ( (LA30_0=='H') ) {s = 12;} + else if ( (LA30_0=='C') ) {s = 9;} - else if ( (LA30_0=='m') ) {s = 13;} + else if ( (LA30_0=='D') ) {s = 10;} - else if ( (LA30_0=='g') ) {s = 14;} + else if ( (LA30_0=='r') ) {s = 11;} - else if ( (LA30_0=='f') ) {s = 15;} + else if ( (LA30_0=='T') ) {s = 12;} - else if ( (LA30_0=='N') ) {s = 16;} + else if ( (LA30_0=='H') ) {s = 13;} - else if ( (LA30_0=='s') ) {s = 17;} + else if ( (LA30_0=='m') ) {s = 14;} - else if ( (LA30_0=='a') ) {s = 18;} + else if ( (LA30_0=='g') ) {s = 15;} - else if ( (LA30_0=='G') ) {s = 19;} + else if ( (LA30_0=='f') ) {s = 16;} - else if ( (LA30_0=='E') ) {s = 20;} + else if ( (LA30_0=='N') ) {s = 17;} - else if ( (LA30_0=='p') ) {s = 21;} + else if ( (LA30_0=='s') ) {s = 18;} - else if ( (LA30_0=='R') ) {s = 22;} + else if ( (LA30_0=='a') ) {s = 19;} - else if ( (LA30_0=='t') ) {s = 23;} + else if ( (LA30_0=='G') ) {s = 20;} - else if ( (LA30_0=='L') ) {s = 24;} + else if ( (LA30_0=='E') ) {s = 21;} - else if ( (LA30_0=='I') ) {s = 25;} + else if ( (LA30_0=='p') ) {s = 22;} - else if ( (LA30_0=='d') ) {s = 26;} + else if ( (LA30_0=='R') ) {s = 23;} - else if ( (LA30_0=='B') ) {s = 27;} + else if ( (LA30_0=='t') ) {s = 24;} - else if ( (LA30_0=='v') ) {s = 28;} + else if ( (LA30_0=='L') ) {s = 25;} - else if ( (LA30_0=='b') ) {s = 29;} + else if ( (LA30_0=='I') ) {s = 26;} - else if ( (LA30_0=='i') ) {s = 30;} + else if ( (LA30_0=='d') ) {s = 27;} - else if ( (LA30_0=='u') ) {s = 31;} + else if ( (LA30_0=='B') ) {s = 28;} - else if ( (LA30_0=='[') ) {s = 32;} + else if ( (LA30_0=='v') ) {s = 29;} - else if ( (LA30_0=='/') ) {s = 33;} + else if ( (LA30_0=='b') ) {s = 30;} - else if ( (LA30_0=='^') ) {s = 34;} + else if ( (LA30_0=='i') ) {s = 31;} - else if ( (LA30_0=='F'||(LA30_0>='J' && LA30_0<='K')||LA30_0=='M'||LA30_0=='O'||LA30_0=='Q'||(LA30_0>='U' && LA30_0<='Z')||LA30_0=='_'||LA30_0=='c'||LA30_0=='e'||LA30_0=='h'||(LA30_0>='j' && LA30_0<='l')||LA30_0=='o'||LA30_0=='q'||(LA30_0>='w' && LA30_0<='z')) ) {s = 35;} + else if ( (LA30_0=='u') ) {s = 32;} - else if ( (LA30_0=='\"') ) {s = 37;} + else if ( (LA30_0=='[') ) {s = 33;} - else if ( (LA30_0=='\'') ) {s = 38;} + else if ( (LA30_0=='/') ) {s = 34;} - else if ( (LA30_0=='~') ) {s = 39;} + else if ( (LA30_0=='^') ) {s = 35;} - else if ( (LA30_0=='0') ) {s = 40;} + else if ( ((LA30_0>='J' && LA30_0<='K')||LA30_0=='M'||LA30_0=='O'||LA30_0=='Q'||(LA30_0>='U' && LA30_0<='Z')||LA30_0=='_'||LA30_0=='c'||LA30_0=='e'||LA30_0=='h'||(LA30_0>='j' && LA30_0<='l')||LA30_0=='o'||LA30_0=='q'||(LA30_0>='w' && LA30_0<='z')) ) {s = 36;} - else if ( ((LA30_0>='1' && LA30_0<='2')) ) {s = 41;} + else if ( (LA30_0=='\"') ) {s = 38;} - else if ( (LA30_0=='-') ) {s = 42;} + else if ( (LA30_0=='\'') ) {s = 39;} - else if ( ((LA30_0>='3' && LA30_0<='9')) ) {s = 43;} + else if ( (LA30_0=='~') ) {s = 40;} - else if ( ((LA30_0>='\t' && LA30_0<='\n')||LA30_0=='\r'||LA30_0==' ') ) {s = 44;} + else if ( (LA30_0=='0') ) {s = 41;} - else if ( ((LA30_0>='\u0000' && LA30_0<='\b')||(LA30_0>='\u000B' && LA30_0<='\f')||(LA30_0>='\u000E' && LA30_0<='\u001F')||LA30_0=='!'||(LA30_0>='#' && LA30_0<='&')||(LA30_0>='(' && LA30_0<='+')||LA30_0=='.'||(LA30_0>=':' && LA30_0<='@')||(LA30_0>='\\' && LA30_0<=']')||LA30_0=='`'||LA30_0=='|'||(LA30_0>='\u007F' && LA30_0<='\uFFFF')) ) {s = 45;} + else if ( ((LA30_0>='1' && LA30_0<='2')) ) {s = 42;} - else s = 36; + else if ( (LA30_0=='-') ) {s = 43;} - if ( s>=0 ) return s; - break; - case 6 : - int LA30_164 = input.LA(1); + else if ( ((LA30_0>='3' && LA30_0<='9')) ) {s = 44;} - s = -1; - if ( (LA30_164=='\"') ) {s = 104;} + else if ( ((LA30_0>='\t' && LA30_0<='\n')||LA30_0=='\r'||LA30_0==' ') ) {s = 45;} - else if ( (LA30_164=='\\') ) {s = 102;} + else if ( ((LA30_0>='\u0000' && LA30_0<='\b')||(LA30_0>='\u000B' && LA30_0<='\f')||(LA30_0>='\u000E' && LA30_0<='\u001F')||LA30_0=='!'||(LA30_0>='#' && LA30_0<='&')||(LA30_0>='(' && LA30_0<='+')||LA30_0=='.'||(LA30_0>=':' && LA30_0<='@')||(LA30_0>='\\' && LA30_0<=']')||LA30_0=='`'||LA30_0=='|'||(LA30_0>='\u007F' && LA30_0<='\uFFFF')) ) {s = 46;} - else if ( ((LA30_164>='\u0000' && LA30_164<='!')||(LA30_164>='#' && LA30_164<='[')||(LA30_164>=']' && LA30_164<='\uFFFF')) ) {s = 103;} + else s = 37; if ( s>=0 ) return s; break; case 7 : - int LA30_103 = input.LA(1); + int LA30_169 = input.LA(1); s = -1; - if ( (LA30_103=='\"') ) {s = 104;} + if ( (LA30_169=='\'') ) {s = 109;} - else if ( (LA30_103=='\\') ) {s = 102;} + else if ( (LA30_169=='\\') ) {s = 107;} - else if ( ((LA30_103>='\u0000' && LA30_103<='!')||(LA30_103>='#' && LA30_103<='[')||(LA30_103>=']' && LA30_103<='\uFFFF')) ) {s = 103;} + else if ( ((LA30_169>='\u0000' && LA30_169<='&')||(LA30_169>='(' && LA30_169<='[')||(LA30_169>=']' && LA30_169<='\uFFFF')) ) {s = 108;} if ( s>=0 ) return s; break; case 8 : - int LA30_38 = input.LA(1); + int LA30_108 = input.LA(1); s = -1; - if ( (LA30_38=='\\') ) {s = 105;} - - else if ( ((LA30_38>='\u0000' && LA30_38<='&')||(LA30_38>='(' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 106;} + if ( (LA30_108=='\'') ) {s = 109;} - else if ( (LA30_38=='\'') ) {s = 107;} + else if ( (LA30_108=='\\') ) {s = 107;} - else s = 45; + else if ( ((LA30_108>='\u0000' && LA30_108<='&')||(LA30_108>='(' && LA30_108<='[')||(LA30_108>=']' && LA30_108<='\uFFFF')) ) {s = 108;} if ( s>=0 ) return s; break; diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java index a6a2ae8c8..99cd52910 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java @@ -21,7 +21,7 @@ @SuppressWarnings("all") public class InternalRosParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'PackageSet'", "'{'", "','", "'}'", "'Package'", "'Specs'", "'node'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'Header'", "'String'", "'message'", "'ActionSpec'", "'goal'", "'result'", "'feedback'", "'Node'", "'name'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'service'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'action'", "'ActionClient'", "'GraphName'", "'PackageDependency'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'type'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'value'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'time'", "'duration'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" + "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'PackageSet'", "'{'", "','", "'}'", "'Package'", "'FromGitRepo'", "'Specs'", "'node'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'Header'", "'String'", "'message'", "'ActionSpec'", "'goal'", "'result'", "'feedback'", "'Node'", "'name'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'service'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'action'", "'ActionClient'", "'GraphName'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'type'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'value'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'time'", "'duration'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" }; public static final int T__50=50; public static final int RULE_DATE_TIME=11; @@ -256,7 +256,7 @@ public final EObject rulePackageSet() throws RecognitionException { int alt2=2; int LA2_0 = input.LA(1); - if ( (LA2_0==29||LA2_0==33) ) { + if ( (LA2_0==29||LA2_0==34) ) { alt2=1; } switch (alt2) { @@ -445,7 +445,7 @@ public final EObject rulePackage() throws RecognitionException { if ( (LA3_0==29) ) { alt3=1; } - else if ( (LA3_0==33) ) { + else if ( (LA3_0==34) ) { alt3=2; } else { @@ -571,17 +571,17 @@ public final EObject ruleSpecBase() throws RecognitionException { // InternalRos.g:198:2: (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) int alt4=3; switch ( input.LA(1) ) { - case 35: + case 36: { alt4=1; } break; - case 38: + case 39: { alt4=2; } break; - case 42: + case 43: { alt4=3; } @@ -727,7 +727,7 @@ public final EObject ruleDependency() throws RecognitionException { int alt5=2; int LA5_0 = input.LA(1); - if ( (LA5_0==65) ) { + if ( ((LA5_0>=RULE_STRING && LA5_0<=RULE_ID)) ) { alt5=1; } else if ( (LA5_0==66) ) { @@ -992,38 +992,41 @@ public final EObject entryRulePackage_Impl() throws RecognitionException { // $ANTLR start "rulePackage_Impl" - // InternalRos.g:317:1: rulePackage_Impl returns [EObject current=null] : ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? otherlv_13= '}' ) ; + // InternalRos.g:317:1: rulePackage_Impl returns [EObject current=null] : ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) ; public final EObject rulePackage_Impl() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; - Token otherlv_5=null; + Token otherlv_6=null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_11=null; Token otherlv_13=null; + Token otherlv_15=null; AntlrDatatypeRuleToken lv_name_2_0 = null; - EObject lv_spec_6_0 = null; + AntlrDatatypeRuleToken lv_fromGitRepo_5_0 = null; EObject lv_spec_8_0 = null; - EObject lv_artifact_10_0 = null; + EObject lv_spec_10_0 = null; EObject lv_artifact_12_0 = null; + EObject lv_artifact_14_0 = null; + enterRule(); try { - // InternalRos.g:323:2: ( ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? otherlv_13= '}' ) ) - // InternalRos.g:324:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? otherlv_13= '}' ) + // InternalRos.g:323:2: ( ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) ) + // InternalRos.g:324:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) { - // InternalRos.g:324:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? otherlv_13= '}' ) - // InternalRos.g:325:3: () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? otherlv_13= '}' + // InternalRos.g:324:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) + // InternalRos.g:325:3: () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' { // InternalRos.g:325:3: () // InternalRos.g:326:4: @@ -1075,36 +1078,88 @@ public final EObject rulePackage_Impl() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:359:3: (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? - int alt8=2; - int LA8_0 = input.LA(1); + // InternalRos.g:359:3: (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? + int alt7=2; + int LA7_0 = input.LA(1); - if ( (LA8_0==30) ) { - alt8=1; + if ( (LA7_0==30) ) { + alt7=1; } - switch (alt8) { + switch (alt7) { case 1 : - // InternalRos.g:360:4: otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' + // InternalRos.g:360:4: otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) { - otherlv_4=(Token)match(input,30,FOLLOW_3); + otherlv_4=(Token)match(input,30,FOLLOW_7); - newLeafNode(otherlv_4, grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); + newLeafNode(otherlv_4, grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); - otherlv_5=(Token)match(input,26,FOLLOW_9); + // InternalRos.g:364:4: ( (lv_fromGitRepo_5_0= ruleEString ) ) + // InternalRos.g:365:5: (lv_fromGitRepo_5_0= ruleEString ) + { + // InternalRos.g:365:5: (lv_fromGitRepo_5_0= ruleEString ) + // InternalRos.g:366:6: lv_fromGitRepo_5_0= ruleEString + { + + newCompositeNode(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); + + pushFollow(FOLLOW_9); + lv_fromGitRepo_5_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPackage_ImplRule()); + } + set( + current, + "fromGitRepo", + lv_fromGitRepo_5_0, + "de.fraunhofer.ipa.ros.Ros.EString"); + afterParserOrEnumRuleCall(); + - newLeafNode(otherlv_5, grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); + } + + + } + + + } + break; + + } + + // InternalRos.g:384:3: (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==31) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalRos.g:385:4: otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' + { + otherlv_6=(Token)match(input,31,FOLLOW_3); + + newLeafNode(otherlv_6, grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); - // InternalRos.g:368:4: ( (lv_spec_6_0= ruleSpecBase ) ) - // InternalRos.g:369:5: (lv_spec_6_0= ruleSpecBase ) + otherlv_7=(Token)match(input,26,FOLLOW_10); + + newLeafNode(otherlv_7, grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); + + // InternalRos.g:393:4: ( (lv_spec_8_0= ruleSpecBase ) ) + // InternalRos.g:394:5: (lv_spec_8_0= ruleSpecBase ) { - // InternalRos.g:369:5: (lv_spec_6_0= ruleSpecBase ) - // InternalRos.g:370:6: lv_spec_6_0= ruleSpecBase + // InternalRos.g:394:5: (lv_spec_8_0= ruleSpecBase ) + // InternalRos.g:395:6: lv_spec_8_0= ruleSpecBase { - newCompositeNode(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); + newCompositeNode(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); pushFollow(FOLLOW_5); - lv_spec_6_0=ruleSpecBase(); + lv_spec_8_0=ruleSpecBase(); state._fsp--; @@ -1115,7 +1170,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { add( current, "spec", - lv_spec_6_0, + lv_spec_8_0, "de.fraunhofer.ipa.ros.Ros.SpecBase"); afterParserOrEnumRuleCall(); @@ -1125,36 +1180,36 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - // InternalRos.g:387:4: (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* - loop7: + // InternalRos.g:412:4: (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* + loop8: do { - int alt7=2; - int LA7_0 = input.LA(1); + int alt8=2; + int LA8_0 = input.LA(1); - if ( (LA7_0==27) ) { - alt7=1; + if ( (LA8_0==27) ) { + alt8=1; } - switch (alt7) { + switch (alt8) { case 1 : - // InternalRos.g:388:5: otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) + // InternalRos.g:413:5: otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) { - otherlv_7=(Token)match(input,27,FOLLOW_9); + otherlv_9=(Token)match(input,27,FOLLOW_10); - newLeafNode(otherlv_7, grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); + newLeafNode(otherlv_9, grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); - // InternalRos.g:392:5: ( (lv_spec_8_0= ruleSpecBase ) ) - // InternalRos.g:393:6: (lv_spec_8_0= ruleSpecBase ) + // InternalRos.g:417:5: ( (lv_spec_10_0= ruleSpecBase ) ) + // InternalRos.g:418:6: (lv_spec_10_0= ruleSpecBase ) { - // InternalRos.g:393:6: (lv_spec_8_0= ruleSpecBase ) - // InternalRos.g:394:7: lv_spec_8_0= ruleSpecBase + // InternalRos.g:418:6: (lv_spec_10_0= ruleSpecBase ) + // InternalRos.g:419:7: lv_spec_10_0= ruleSpecBase { - newCompositeNode(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); + newCompositeNode(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_5); - lv_spec_8_0=ruleSpecBase(); + lv_spec_10_0=ruleSpecBase(); state._fsp--; @@ -1165,7 +1220,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { add( current, "spec", - lv_spec_8_0, + lv_spec_10_0, "de.fraunhofer.ipa.ros.Ros.SpecBase"); afterParserOrEnumRuleCall(); @@ -1180,13 +1235,13 @@ public final EObject rulePackage_Impl() throws RecognitionException { break; default : - break loop7; + break loop8; } } while (true); - otherlv_9=(Token)match(input,28,FOLLOW_10); + otherlv_11=(Token)match(input,28,FOLLOW_11); - newLeafNode(otherlv_9, grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); + newLeafNode(otherlv_11, grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } @@ -1194,28 +1249,28 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - // InternalRos.g:417:3: ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? - int alt10=2; - int LA10_0 = input.LA(1); + // InternalRos.g:442:3: ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? + int alt11=2; + int LA11_0 = input.LA(1); - if ( (LA10_0==32) ) { - alt10=1; + if ( (LA11_0==33) ) { + alt11=1; } - switch (alt10) { + switch (alt11) { case 1 : - // InternalRos.g:418:4: ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* + // InternalRos.g:443:4: ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* { - // InternalRos.g:418:4: ( (lv_artifact_10_0= ruleArtifact ) ) - // InternalRos.g:419:5: (lv_artifact_10_0= ruleArtifact ) + // InternalRos.g:443:4: ( (lv_artifact_12_0= ruleArtifact ) ) + // InternalRos.g:444:5: (lv_artifact_12_0= ruleArtifact ) { - // InternalRos.g:419:5: (lv_artifact_10_0= ruleArtifact ) - // InternalRos.g:420:6: lv_artifact_10_0= ruleArtifact + // InternalRos.g:444:5: (lv_artifact_12_0= ruleArtifact ) + // InternalRos.g:445:6: lv_artifact_12_0= ruleArtifact { - newCompositeNode(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); + newCompositeNode(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); pushFollow(FOLLOW_5); - lv_artifact_10_0=ruleArtifact(); + lv_artifact_12_0=ruleArtifact(); state._fsp--; @@ -1226,7 +1281,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { add( current, "artifact", - lv_artifact_10_0, + lv_artifact_12_0, "de.fraunhofer.ipa.ros.Ros.Artifact"); afterParserOrEnumRuleCall(); @@ -1236,36 +1291,36 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - // InternalRos.g:437:4: (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* - loop9: + // InternalRos.g:462:4: (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* + loop10: do { - int alt9=2; - int LA9_0 = input.LA(1); + int alt10=2; + int LA10_0 = input.LA(1); - if ( (LA9_0==27) ) { - alt9=1; + if ( (LA10_0==27) ) { + alt10=1; } - switch (alt9) { + switch (alt10) { case 1 : - // InternalRos.g:438:5: otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) + // InternalRos.g:463:5: otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) { - otherlv_11=(Token)match(input,27,FOLLOW_11); + otherlv_13=(Token)match(input,27,FOLLOW_12); - newLeafNode(otherlv_11, grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); + newLeafNode(otherlv_13, grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); - // InternalRos.g:442:5: ( (lv_artifact_12_0= ruleArtifact ) ) - // InternalRos.g:443:6: (lv_artifact_12_0= ruleArtifact ) + // InternalRos.g:467:5: ( (lv_artifact_14_0= ruleArtifact ) ) + // InternalRos.g:468:6: (lv_artifact_14_0= ruleArtifact ) { - // InternalRos.g:443:6: (lv_artifact_12_0= ruleArtifact ) - // InternalRos.g:444:7: lv_artifact_12_0= ruleArtifact + // InternalRos.g:468:6: (lv_artifact_14_0= ruleArtifact ) + // InternalRos.g:469:7: lv_artifact_14_0= ruleArtifact { - newCompositeNode(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); + newCompositeNode(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); pushFollow(FOLLOW_5); - lv_artifact_12_0=ruleArtifact(); + lv_artifact_14_0=ruleArtifact(); state._fsp--; @@ -1276,7 +1331,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { add( current, "artifact", - lv_artifact_12_0, + lv_artifact_14_0, "de.fraunhofer.ipa.ros.Ros.Artifact"); afterParserOrEnumRuleCall(); @@ -1291,7 +1346,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { break; default : - break loop9; + break loop10; } } while (true); @@ -1301,9 +1356,9 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - otherlv_13=(Token)match(input,28,FOLLOW_2); + otherlv_15=(Token)match(input,28,FOLLOW_2); - newLeafNode(otherlv_13, grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); + newLeafNode(otherlv_15, grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); } @@ -1328,7 +1383,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { // $ANTLR start "entryRuleEString" - // InternalRos.g:471:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; + // InternalRos.g:496:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; public final String entryRuleEString() throws RecognitionException { String current = null; @@ -1336,8 +1391,8 @@ public final String entryRuleEString() throws RecognitionException { try { - // InternalRos.g:471:47: (iv_ruleEString= ruleEString EOF ) - // InternalRos.g:472:2: iv_ruleEString= ruleEString EOF + // InternalRos.g:496:47: (iv_ruleEString= ruleEString EOF ) + // InternalRos.g:497:2: iv_ruleEString= ruleEString EOF { newCompositeNode(grammarAccess.getEStringRule()); pushFollow(FOLLOW_1); @@ -1364,7 +1419,7 @@ public final String entryRuleEString() throws RecognitionException { // $ANTLR start "ruleEString" - // InternalRos.g:478:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; + // InternalRos.g:503:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -1375,28 +1430,28 @@ public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { enterRule(); try { - // InternalRos.g:484:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) - // InternalRos.g:485:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + // InternalRos.g:509:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) + // InternalRos.g:510:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) { - // InternalRos.g:485:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) - int alt11=2; - int LA11_0 = input.LA(1); + // InternalRos.g:510:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + int alt12=2; + int LA12_0 = input.LA(1); - if ( (LA11_0==RULE_STRING) ) { - alt11=1; + if ( (LA12_0==RULE_STRING) ) { + alt12=1; } - else if ( (LA11_0==RULE_ID) ) { - alt11=2; + else if ( (LA12_0==RULE_ID) ) { + alt12=2; } else { NoViableAltException nvae = - new NoViableAltException("", 11, 0, input); + new NoViableAltException("", 12, 0, input); throw nvae; } - switch (alt11) { + switch (alt12) { case 1 : - // InternalRos.g:486:3: this_STRING_0= RULE_STRING + // InternalRos.g:511:3: this_STRING_0= RULE_STRING { this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); @@ -1409,7 +1464,7 @@ else if ( (LA11_0==RULE_ID) ) { } break; case 2 : - // InternalRos.g:494:3: this_ID_1= RULE_ID + // InternalRos.g:519:3: this_ID_1= RULE_ID { this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); @@ -1444,7 +1499,7 @@ else if ( (LA11_0==RULE_ID) ) { // $ANTLR start "entryRuleRosNames" - // InternalRos.g:505:1: entryRuleRosNames returns [String current=null] : iv_ruleRosNames= ruleRosNames EOF ; + // InternalRos.g:530:1: entryRuleRosNames returns [String current=null] : iv_ruleRosNames= ruleRosNames EOF ; public final String entryRuleRosNames() throws RecognitionException { String current = null; @@ -1452,8 +1507,8 @@ public final String entryRuleRosNames() throws RecognitionException { try { - // InternalRos.g:505:48: (iv_ruleRosNames= ruleRosNames EOF ) - // InternalRos.g:506:2: iv_ruleRosNames= ruleRosNames EOF + // InternalRos.g:530:48: (iv_ruleRosNames= ruleRosNames EOF ) + // InternalRos.g:531:2: iv_ruleRosNames= ruleRosNames EOF { newCompositeNode(grammarAccess.getRosNamesRule()); pushFollow(FOLLOW_1); @@ -1480,7 +1535,7 @@ public final String entryRuleRosNames() throws RecognitionException { // $ANTLR start "ruleRosNames" - // InternalRos.g:512:1: ruleRosNames returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ; + // InternalRos.g:537:1: ruleRosNames returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ; public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -1492,37 +1547,37 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { enterRule(); try { - // InternalRos.g:518:2: ( (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ) - // InternalRos.g:519:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) + // InternalRos.g:543:2: ( (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ) + // InternalRos.g:544:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) { - // InternalRos.g:519:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) - int alt12=3; + // InternalRos.g:544:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) + int alt13=3; switch ( input.LA(1) ) { case RULE_ROS_CONVENTION_A: { - alt12=1; + alt13=1; } break; case RULE_ID: { - alt12=2; + alt13=2; } break; - case 31: + case 32: { - alt12=3; + alt13=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); + new NoViableAltException("", 13, 0, input); throw nvae; } - switch (alt12) { + switch (alt13) { case 1 : - // InternalRos.g:520:3: this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A + // InternalRos.g:545:3: this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A { this_ROS_CONVENTION_A_0=(Token)match(input,RULE_ROS_CONVENTION_A,FOLLOW_2); @@ -1535,7 +1590,7 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { } break; case 2 : - // InternalRos.g:528:3: this_ID_1= RULE_ID + // InternalRos.g:553:3: this_ID_1= RULE_ID { this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); @@ -1548,9 +1603,9 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { } break; case 3 : - // InternalRos.g:536:3: kw= 'node' + // InternalRos.g:561:3: kw= 'node' { - kw=(Token)match(input,31,FOLLOW_2); + kw=(Token)match(input,32,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getRosNamesAccess().getNodeKeyword_2()); @@ -1581,7 +1636,7 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { // $ANTLR start "entryRuleArtifact" - // InternalRos.g:545:1: entryRuleArtifact returns [EObject current=null] : iv_ruleArtifact= ruleArtifact EOF ; + // InternalRos.g:570:1: entryRuleArtifact returns [EObject current=null] : iv_ruleArtifact= ruleArtifact EOF ; public final EObject entryRuleArtifact() throws RecognitionException { EObject current = null; @@ -1589,8 +1644,8 @@ public final EObject entryRuleArtifact() throws RecognitionException { try { - // InternalRos.g:545:49: (iv_ruleArtifact= ruleArtifact EOF ) - // InternalRos.g:546:2: iv_ruleArtifact= ruleArtifact EOF + // InternalRos.g:570:49: (iv_ruleArtifact= ruleArtifact EOF ) + // InternalRos.g:571:2: iv_ruleArtifact= ruleArtifact EOF { newCompositeNode(grammarAccess.getArtifactRule()); pushFollow(FOLLOW_1); @@ -1617,7 +1672,7 @@ public final EObject entryRuleArtifact() throws RecognitionException { // $ANTLR start "ruleArtifact" - // InternalRos.g:552:1: ruleArtifact returns [EObject current=null] : ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ; + // InternalRos.g:577:1: ruleArtifact returns [EObject current=null] : ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ; public final EObject ruleArtifact() throws RecognitionException { EObject current = null; @@ -1633,14 +1688,14 @@ public final EObject ruleArtifact() throws RecognitionException { enterRule(); try { - // InternalRos.g:558:2: ( ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ) - // InternalRos.g:559:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) + // InternalRos.g:583:2: ( ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ) + // InternalRos.g:584:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) { - // InternalRos.g:559:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) - // InternalRos.g:560:3: () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' + // InternalRos.g:584:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) + // InternalRos.g:585:3: () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' { - // InternalRos.g:560:3: () - // InternalRos.g:561:4: + // InternalRos.g:585:3: () + // InternalRos.g:586:4: { current = forceCreateModelElement( @@ -1650,15 +1705,15 @@ public final EObject ruleArtifact() throws RecognitionException { } - otherlv_1=(Token)match(input,32,FOLLOW_12); + otherlv_1=(Token)match(input,33,FOLLOW_13); newLeafNode(otherlv_1, grammarAccess.getArtifactAccess().getArtifactKeyword_1()); - // InternalRos.g:571:3: ( (lv_name_2_0= ruleRosNames ) ) - // InternalRos.g:572:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:596:3: ( (lv_name_2_0= ruleRosNames ) ) + // InternalRos.g:597:4: (lv_name_2_0= ruleRosNames ) { - // InternalRos.g:572:4: (lv_name_2_0= ruleRosNames ) - // InternalRos.g:573:5: lv_name_2_0= ruleRosNames + // InternalRos.g:597:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:598:5: lv_name_2_0= ruleRosNames { newCompositeNode(grammarAccess.getArtifactAccess().getNameRosNamesParserRuleCall_2_0()); @@ -1685,28 +1740,28 @@ public final EObject ruleArtifact() throws RecognitionException { } - otherlv_3=(Token)match(input,26,FOLLOW_13); + otherlv_3=(Token)match(input,26,FOLLOW_14); newLeafNode(otherlv_3, grammarAccess.getArtifactAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:594:3: ( (lv_node_4_0= ruleNode ) )? - int alt13=2; - int LA13_0 = input.LA(1); + // InternalRos.g:619:3: ( (lv_node_4_0= ruleNode ) )? + int alt14=2; + int LA14_0 = input.LA(1); - if ( (LA13_0==46) ) { - alt13=1; + if ( (LA14_0==47) ) { + alt14=1; } - switch (alt13) { + switch (alt14) { case 1 : - // InternalRos.g:595:4: (lv_node_4_0= ruleNode ) + // InternalRos.g:620:4: (lv_node_4_0= ruleNode ) { - // InternalRos.g:595:4: (lv_node_4_0= ruleNode ) - // InternalRos.g:596:5: lv_node_4_0= ruleNode + // InternalRos.g:620:4: (lv_node_4_0= ruleNode ) + // InternalRos.g:621:5: lv_node_4_0= ruleNode { newCompositeNode(grammarAccess.getArtifactAccess().getNodeNodeParserRuleCall_4_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_node_4_0=ruleNode(); state._fsp--; @@ -1758,7 +1813,7 @@ public final EObject ruleArtifact() throws RecognitionException { // $ANTLR start "entryRuleCatkinPackage" - // InternalRos.g:621:1: entryRuleCatkinPackage returns [EObject current=null] : iv_ruleCatkinPackage= ruleCatkinPackage EOF ; + // InternalRos.g:646:1: entryRuleCatkinPackage returns [EObject current=null] : iv_ruleCatkinPackage= ruleCatkinPackage EOF ; public final EObject entryRuleCatkinPackage() throws RecognitionException { EObject current = null; @@ -1766,8 +1821,8 @@ public final EObject entryRuleCatkinPackage() throws RecognitionException { try { - // InternalRos.g:621:54: (iv_ruleCatkinPackage= ruleCatkinPackage EOF ) - // InternalRos.g:622:2: iv_ruleCatkinPackage= ruleCatkinPackage EOF + // InternalRos.g:646:54: (iv_ruleCatkinPackage= ruleCatkinPackage EOF ) + // InternalRos.g:647:2: iv_ruleCatkinPackage= ruleCatkinPackage EOF { newCompositeNode(grammarAccess.getCatkinPackageRule()); pushFollow(FOLLOW_1); @@ -1794,49 +1849,52 @@ public final EObject entryRuleCatkinPackage() throws RecognitionException { // $ANTLR start "ruleCatkinPackage" - // InternalRos.g:628:1: ruleCatkinPackage returns [EObject current=null] : ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? (otherlv_13= 'Dependencies' otherlv_14= '{' ( (lv_dependency_15_0= ruleDependency ) ) (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* otherlv_18= '}' )? otherlv_19= '}' ) ; + // InternalRos.g:653:1: ruleCatkinPackage returns [EObject current=null] : ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ; public final EObject ruleCatkinPackage() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; - Token otherlv_5=null; + Token otherlv_6=null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_11=null; + Token otherlv_12=null; Token otherlv_13=null; - Token otherlv_14=null; - Token otherlv_16=null; - Token otherlv_18=null; + Token otherlv_15=null; + Token otherlv_17=null; Token otherlv_19=null; + Token otherlv_21=null; AntlrDatatypeRuleToken lv_name_2_0 = null; - EObject lv_spec_6_0 = null; + AntlrDatatypeRuleToken lv_fromGitRepo_5_0 = null; - EObject lv_spec_8_0 = null; + EObject lv_dependency_8_0 = null; - EObject lv_artifact_10_0 = null; + EObject lv_dependency_10_0 = null; - EObject lv_artifact_12_0 = null; + EObject lv_spec_14_0 = null; + + EObject lv_spec_16_0 = null; - EObject lv_dependency_15_0 = null; + EObject lv_artifact_18_0 = null; - EObject lv_dependency_17_0 = null; + EObject lv_artifact_20_0 = null; enterRule(); try { - // InternalRos.g:634:2: ( ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? (otherlv_13= 'Dependencies' otherlv_14= '{' ( (lv_dependency_15_0= ruleDependency ) ) (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* otherlv_18= '}' )? otherlv_19= '}' ) ) - // InternalRos.g:635:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? (otherlv_13= 'Dependencies' otherlv_14= '{' ( (lv_dependency_15_0= ruleDependency ) ) (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* otherlv_18= '}' )? otherlv_19= '}' ) + // InternalRos.g:659:2: ( ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ) + // InternalRos.g:660:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) { - // InternalRos.g:635:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? (otherlv_13= 'Dependencies' otherlv_14= '{' ( (lv_dependency_15_0= ruleDependency ) ) (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* otherlv_18= '}' )? otherlv_19= '}' ) - // InternalRos.g:636:3: () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? (otherlv_13= 'Dependencies' otherlv_14= '{' ( (lv_dependency_15_0= ruleDependency ) ) (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* otherlv_18= '}' )? otherlv_19= '}' + // InternalRos.g:660:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) + // InternalRos.g:661:3: () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' { - // InternalRos.g:636:3: () - // InternalRos.g:637:4: + // InternalRos.g:661:3: () + // InternalRos.g:662:4: { current = forceCreateModelElement( @@ -1846,15 +1904,15 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - otherlv_1=(Token)match(input,33,FOLLOW_12); + otherlv_1=(Token)match(input,34,FOLLOW_13); newLeafNode(otherlv_1, grammarAccess.getCatkinPackageAccess().getCatkinPackageKeyword_1()); - // InternalRos.g:647:3: ( (lv_name_2_0= ruleRosNames ) ) - // InternalRos.g:648:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:672:3: ( (lv_name_2_0= ruleRosNames ) ) + // InternalRos.g:673:4: (lv_name_2_0= ruleRosNames ) { - // InternalRos.g:648:4: (lv_name_2_0= ruleRosNames ) - // InternalRos.g:649:5: lv_name_2_0= ruleRosNames + // InternalRos.g:673:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:674:5: lv_name_2_0= ruleRosNames { newCompositeNode(grammarAccess.getCatkinPackageAccess().getNameRosNamesParserRuleCall_2_0()); @@ -1881,11 +1939,11 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - otherlv_3=(Token)match(input,26,FOLLOW_15); + otherlv_3=(Token)match(input,26,FOLLOW_16); newLeafNode(otherlv_3, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:670:3: (otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' )? + // InternalRos.g:695:3: (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? int alt15=2; int LA15_0 = input.LA(1); @@ -1894,27 +1952,79 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } switch (alt15) { case 1 : - // InternalRos.g:671:4: otherlv_4= 'Specs' otherlv_5= '{' ( (lv_spec_6_0= ruleSpecBase ) ) (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* otherlv_9= '}' + // InternalRos.g:696:4: otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) + { + otherlv_4=(Token)match(input,30,FOLLOW_7); + + newLeafNode(otherlv_4, grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); + + // InternalRos.g:700:4: ( (lv_fromGitRepo_5_0= ruleEString ) ) + // InternalRos.g:701:5: (lv_fromGitRepo_5_0= ruleEString ) + { + // InternalRos.g:701:5: (lv_fromGitRepo_5_0= ruleEString ) + // InternalRos.g:702:6: lv_fromGitRepo_5_0= ruleEString + { + + newCompositeNode(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); + + pushFollow(FOLLOW_17); + lv_fromGitRepo_5_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCatkinPackageRule()); + } + set( + current, + "fromGitRepo", + lv_fromGitRepo_5_0, + "de.fraunhofer.ipa.ros.Ros.EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // InternalRos.g:720:3: (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==35) ) { + alt17=1; + } + switch (alt17) { + case 1 : + // InternalRos.g:721:4: otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' { - otherlv_4=(Token)match(input,30,FOLLOW_3); + otherlv_6=(Token)match(input,35,FOLLOW_3); - newLeafNode(otherlv_4, grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); + newLeafNode(otherlv_6, grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); - otherlv_5=(Token)match(input,26,FOLLOW_9); + otherlv_7=(Token)match(input,26,FOLLOW_18); - newLeafNode(otherlv_5, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); + newLeafNode(otherlv_7, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); - // InternalRos.g:679:4: ( (lv_spec_6_0= ruleSpecBase ) ) - // InternalRos.g:680:5: (lv_spec_6_0= ruleSpecBase ) + // InternalRos.g:729:4: ( (lv_dependency_8_0= ruleDependency ) ) + // InternalRos.g:730:5: (lv_dependency_8_0= ruleDependency ) { - // InternalRos.g:680:5: (lv_spec_6_0= ruleSpecBase ) - // InternalRos.g:681:6: lv_spec_6_0= ruleSpecBase + // InternalRos.g:730:5: (lv_dependency_8_0= ruleDependency ) + // InternalRos.g:731:6: lv_dependency_8_0= ruleDependency { - newCompositeNode(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); + newCompositeNode(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); pushFollow(FOLLOW_5); - lv_spec_6_0=ruleSpecBase(); + lv_dependency_8_0=ruleDependency(); state._fsp--; @@ -1924,9 +2034,9 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } add( current, - "spec", - lv_spec_6_0, - "de.fraunhofer.ipa.ros.Ros.SpecBase"); + "dependency", + lv_dependency_8_0, + "de.fraunhofer.ipa.ros.Ros.Dependency"); afterParserOrEnumRuleCall(); @@ -1935,36 +2045,36 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:698:4: (otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) )* - loop14: + // InternalRos.g:748:4: (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* + loop16: do { - int alt14=2; - int LA14_0 = input.LA(1); + int alt16=2; + int LA16_0 = input.LA(1); - if ( (LA14_0==27) ) { - alt14=1; + if ( (LA16_0==27) ) { + alt16=1; } - switch (alt14) { + switch (alt16) { case 1 : - // InternalRos.g:699:5: otherlv_7= ',' ( (lv_spec_8_0= ruleSpecBase ) ) + // InternalRos.g:749:5: otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) { - otherlv_7=(Token)match(input,27,FOLLOW_9); + otherlv_9=(Token)match(input,27,FOLLOW_18); - newLeafNode(otherlv_7, grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); + newLeafNode(otherlv_9, grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); - // InternalRos.g:703:5: ( (lv_spec_8_0= ruleSpecBase ) ) - // InternalRos.g:704:6: (lv_spec_8_0= ruleSpecBase ) + // InternalRos.g:753:5: ( (lv_dependency_10_0= ruleDependency ) ) + // InternalRos.g:754:6: (lv_dependency_10_0= ruleDependency ) { - // InternalRos.g:704:6: (lv_spec_8_0= ruleSpecBase ) - // InternalRos.g:705:7: lv_spec_8_0= ruleSpecBase + // InternalRos.g:754:6: (lv_dependency_10_0= ruleDependency ) + // InternalRos.g:755:7: lv_dependency_10_0= ruleDependency { - newCompositeNode(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); + newCompositeNode(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_5); - lv_spec_8_0=ruleSpecBase(); + lv_dependency_10_0=ruleDependency(); state._fsp--; @@ -1974,9 +2084,9 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } add( current, - "spec", - lv_spec_8_0, - "de.fraunhofer.ipa.ros.Ros.SpecBase"); + "dependency", + lv_dependency_10_0, + "de.fraunhofer.ipa.ros.Ros.Dependency"); afterParserOrEnumRuleCall(); @@ -1990,13 +2100,13 @@ public final EObject ruleCatkinPackage() throws RecognitionException { break; default : - break loop14; + break loop16; } } while (true); - otherlv_9=(Token)match(input,28,FOLLOW_16); + otherlv_11=(Token)match(input,28,FOLLOW_9); - newLeafNode(otherlv_9, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); + newLeafNode(otherlv_11, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } @@ -2004,28 +2114,36 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:728:3: ( ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* )? - int alt17=2; - int LA17_0 = input.LA(1); + // InternalRos.g:778:3: (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA17_0==32) ) { - alt17=1; + if ( (LA19_0==31) ) { + alt19=1; } - switch (alt17) { + switch (alt19) { case 1 : - // InternalRos.g:729:4: ( (lv_artifact_10_0= ruleArtifact ) ) (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* + // InternalRos.g:779:4: otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' { - // InternalRos.g:729:4: ( (lv_artifact_10_0= ruleArtifact ) ) - // InternalRos.g:730:5: (lv_artifact_10_0= ruleArtifact ) + otherlv_12=(Token)match(input,31,FOLLOW_3); + + newLeafNode(otherlv_12, grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); + + otherlv_13=(Token)match(input,26,FOLLOW_10); + + newLeafNode(otherlv_13, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); + + // InternalRos.g:787:4: ( (lv_spec_14_0= ruleSpecBase ) ) + // InternalRos.g:788:5: (lv_spec_14_0= ruleSpecBase ) { - // InternalRos.g:730:5: (lv_artifact_10_0= ruleArtifact ) - // InternalRos.g:731:6: lv_artifact_10_0= ruleArtifact + // InternalRos.g:788:5: (lv_spec_14_0= ruleSpecBase ) + // InternalRos.g:789:6: lv_spec_14_0= ruleSpecBase { - newCompositeNode(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); + newCompositeNode(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); - pushFollow(FOLLOW_17); - lv_artifact_10_0=ruleArtifact(); + pushFollow(FOLLOW_5); + lv_spec_14_0=ruleSpecBase(); state._fsp--; @@ -2035,9 +2153,9 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } add( current, - "artifact", - lv_artifact_10_0, - "de.fraunhofer.ipa.ros.Ros.Artifact"); + "spec", + lv_spec_14_0, + "de.fraunhofer.ipa.ros.Ros.SpecBase"); afterParserOrEnumRuleCall(); @@ -2046,36 +2164,36 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:748:4: (otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) )* - loop16: + // InternalRos.g:806:4: (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* + loop18: do { - int alt16=2; - int LA16_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA16_0==27) ) { - alt16=1; + if ( (LA18_0==27) ) { + alt18=1; } - switch (alt16) { + switch (alt18) { case 1 : - // InternalRos.g:749:5: otherlv_11= ',' ( (lv_artifact_12_0= ruleArtifact ) ) + // InternalRos.g:807:5: otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) { - otherlv_11=(Token)match(input,27,FOLLOW_11); + otherlv_15=(Token)match(input,27,FOLLOW_10); - newLeafNode(otherlv_11, grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); + newLeafNode(otherlv_15, grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); - // InternalRos.g:753:5: ( (lv_artifact_12_0= ruleArtifact ) ) - // InternalRos.g:754:6: (lv_artifact_12_0= ruleArtifact ) + // InternalRos.g:811:5: ( (lv_spec_16_0= ruleSpecBase ) ) + // InternalRos.g:812:6: (lv_spec_16_0= ruleSpecBase ) { - // InternalRos.g:754:6: (lv_artifact_12_0= ruleArtifact ) - // InternalRos.g:755:7: lv_artifact_12_0= ruleArtifact + // InternalRos.g:812:6: (lv_spec_16_0= ruleSpecBase ) + // InternalRos.g:813:7: lv_spec_16_0= ruleSpecBase { - newCompositeNode(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); + newCompositeNode(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); - pushFollow(FOLLOW_17); - lv_artifact_12_0=ruleArtifact(); + pushFollow(FOLLOW_5); + lv_spec_16_0=ruleSpecBase(); state._fsp--; @@ -2085,9 +2203,9 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } add( current, - "artifact", - lv_artifact_12_0, - "de.fraunhofer.ipa.ros.Ros.Artifact"); + "spec", + lv_spec_16_0, + "de.fraunhofer.ipa.ros.Ros.SpecBase"); afterParserOrEnumRuleCall(); @@ -2101,46 +2219,42 @@ public final EObject ruleCatkinPackage() throws RecognitionException { break; default : - break loop16; + break loop18; } } while (true); + otherlv_17=(Token)match(input,28,FOLLOW_11); + + newLeafNode(otherlv_17, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); + } break; } - // InternalRos.g:774:3: (otherlv_13= 'Dependencies' otherlv_14= '{' ( (lv_dependency_15_0= ruleDependency ) ) (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* otherlv_18= '}' )? - int alt19=2; - int LA19_0 = input.LA(1); + // InternalRos.g:836:3: ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA19_0==34) ) { - alt19=1; + if ( (LA21_0==33) ) { + alt21=1; } - switch (alt19) { + switch (alt21) { case 1 : - // InternalRos.g:775:4: otherlv_13= 'Dependencies' otherlv_14= '{' ( (lv_dependency_15_0= ruleDependency ) ) (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* otherlv_18= '}' + // InternalRos.g:837:4: ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* { - otherlv_13=(Token)match(input,34,FOLLOW_3); - - newLeafNode(otherlv_13, grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); - - otherlv_14=(Token)match(input,26,FOLLOW_18); - - newLeafNode(otherlv_14, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); - - // InternalRos.g:783:4: ( (lv_dependency_15_0= ruleDependency ) ) - // InternalRos.g:784:5: (lv_dependency_15_0= ruleDependency ) + // InternalRos.g:837:4: ( (lv_artifact_18_0= ruleArtifact ) ) + // InternalRos.g:838:5: (lv_artifact_18_0= ruleArtifact ) { - // InternalRos.g:784:5: (lv_dependency_15_0= ruleDependency ) - // InternalRos.g:785:6: lv_dependency_15_0= ruleDependency + // InternalRos.g:838:5: (lv_artifact_18_0= ruleArtifact ) + // InternalRos.g:839:6: lv_artifact_18_0= ruleArtifact { - newCompositeNode(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); + newCompositeNode(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); pushFollow(FOLLOW_5); - lv_dependency_15_0=ruleDependency(); + lv_artifact_18_0=ruleArtifact(); state._fsp--; @@ -2150,9 +2264,9 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } add( current, - "dependency", - lv_dependency_15_0, - "de.fraunhofer.ipa.ros.Ros.Dependency"); + "artifact", + lv_artifact_18_0, + "de.fraunhofer.ipa.ros.Ros.Artifact"); afterParserOrEnumRuleCall(); @@ -2161,36 +2275,36 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:802:4: (otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) )* - loop18: + // InternalRos.g:856:4: (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* + loop20: do { - int alt18=2; - int LA18_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA18_0==27) ) { - alt18=1; + if ( (LA20_0==27) ) { + alt20=1; } - switch (alt18) { + switch (alt20) { case 1 : - // InternalRos.g:803:5: otherlv_16= ',' ( (lv_dependency_17_0= ruleDependency ) ) + // InternalRos.g:857:5: otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) { - otherlv_16=(Token)match(input,27,FOLLOW_18); + otherlv_19=(Token)match(input,27,FOLLOW_12); - newLeafNode(otherlv_16, grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); + newLeafNode(otherlv_19, grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); - // InternalRos.g:807:5: ( (lv_dependency_17_0= ruleDependency ) ) - // InternalRos.g:808:6: (lv_dependency_17_0= ruleDependency ) + // InternalRos.g:861:5: ( (lv_artifact_20_0= ruleArtifact ) ) + // InternalRos.g:862:6: (lv_artifact_20_0= ruleArtifact ) { - // InternalRos.g:808:6: (lv_dependency_17_0= ruleDependency ) - // InternalRos.g:809:7: lv_dependency_17_0= ruleDependency + // InternalRos.g:862:6: (lv_artifact_20_0= ruleArtifact ) + // InternalRos.g:863:7: lv_artifact_20_0= ruleArtifact { - newCompositeNode(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); + newCompositeNode(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); pushFollow(FOLLOW_5); - lv_dependency_17_0=ruleDependency(); + lv_artifact_20_0=ruleArtifact(); state._fsp--; @@ -2200,9 +2314,9 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } add( current, - "dependency", - lv_dependency_17_0, - "de.fraunhofer.ipa.ros.Ros.Dependency"); + "artifact", + lv_artifact_20_0, + "de.fraunhofer.ipa.ros.Ros.Artifact"); afterParserOrEnumRuleCall(); @@ -2216,23 +2330,19 @@ public final EObject ruleCatkinPackage() throws RecognitionException { break; default : - break loop18; + break loop20; } } while (true); - otherlv_18=(Token)match(input,28,FOLLOW_14); - - newLeafNode(otherlv_18, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); - } break; } - otherlv_19=(Token)match(input,28,FOLLOW_2); + otherlv_21=(Token)match(input,28,FOLLOW_2); - newLeafNode(otherlv_19, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); + newLeafNode(otherlv_21, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); } @@ -2257,7 +2367,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { // $ANTLR start "entryRuleServiceSpec" - // InternalRos.g:840:1: entryRuleServiceSpec returns [EObject current=null] : iv_ruleServiceSpec= ruleServiceSpec EOF ; + // InternalRos.g:890:1: entryRuleServiceSpec returns [EObject current=null] : iv_ruleServiceSpec= ruleServiceSpec EOF ; public final EObject entryRuleServiceSpec() throws RecognitionException { EObject current = null; @@ -2265,8 +2375,8 @@ public final EObject entryRuleServiceSpec() throws RecognitionException { try { - // InternalRos.g:840:52: (iv_ruleServiceSpec= ruleServiceSpec EOF ) - // InternalRos.g:841:2: iv_ruleServiceSpec= ruleServiceSpec EOF + // InternalRos.g:890:52: (iv_ruleServiceSpec= ruleServiceSpec EOF ) + // InternalRos.g:891:2: iv_ruleServiceSpec= ruleServiceSpec EOF { newCompositeNode(grammarAccess.getServiceSpecRule()); pushFollow(FOLLOW_1); @@ -2293,7 +2403,7 @@ public final EObject entryRuleServiceSpec() throws RecognitionException { // $ANTLR start "ruleServiceSpec" - // InternalRos.g:847:1: ruleServiceSpec returns [EObject current=null] : ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:897:1: ruleServiceSpec returns [EObject current=null] : ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ; public final EObject ruleServiceSpec() throws RecognitionException { EObject current = null; @@ -2313,14 +2423,14 @@ public final EObject ruleServiceSpec() throws RecognitionException { enterRule(); try { - // InternalRos.g:853:2: ( ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:854:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) + // InternalRos.g:903:2: ( ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:904:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) { - // InternalRos.g:854:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) - // InternalRos.g:855:3: () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' + // InternalRos.g:904:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) + // InternalRos.g:905:3: () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' { - // InternalRos.g:855:3: () - // InternalRos.g:856:4: + // InternalRos.g:905:3: () + // InternalRos.g:906:4: { current = forceCreateModelElement( @@ -2330,15 +2440,15 @@ public final EObject ruleServiceSpec() throws RecognitionException { } - otherlv_1=(Token)match(input,35,FOLLOW_7); + otherlv_1=(Token)match(input,36,FOLLOW_7); newLeafNode(otherlv_1, grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); - // InternalRos.g:866:3: ( (lv_name_2_0= ruleEString ) ) - // InternalRos.g:867:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:916:3: ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:917:4: (lv_name_2_0= ruleEString ) { - // InternalRos.g:867:4: (lv_name_2_0= ruleEString ) - // InternalRos.g:868:5: lv_name_2_0= ruleEString + // InternalRos.g:917:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:918:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getServiceSpecAccess().getNameEStringParserRuleCall_2_0()); @@ -2369,26 +2479,26 @@ public final EObject ruleServiceSpec() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getServiceSpecAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:889:3: (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? - int alt20=2; - int LA20_0 = input.LA(1); + // InternalRos.g:939:3: (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA20_0==36) ) { - alt20=1; + if ( (LA22_0==37) ) { + alt22=1; } - switch (alt20) { + switch (alt22) { case 1 : - // InternalRos.g:890:4: otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) + // InternalRos.g:940:4: otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) { - otherlv_4=(Token)match(input,36,FOLLOW_3); + otherlv_4=(Token)match(input,37,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); - // InternalRos.g:894:4: ( (lv_request_5_0= ruleMessageDefinition ) ) - // InternalRos.g:895:5: (lv_request_5_0= ruleMessageDefinition ) + // InternalRos.g:944:4: ( (lv_request_5_0= ruleMessageDefinition ) ) + // InternalRos.g:945:5: (lv_request_5_0= ruleMessageDefinition ) { - // InternalRos.g:895:5: (lv_request_5_0= ruleMessageDefinition ) - // InternalRos.g:896:6: lv_request_5_0= ruleMessageDefinition + // InternalRos.g:945:5: (lv_request_5_0= ruleMessageDefinition ) + // InternalRos.g:946:6: lv_request_5_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getServiceSpecAccess().getRequestMessageDefinitionParserRuleCall_4_1_0()); @@ -2421,31 +2531,31 @@ public final EObject ruleServiceSpec() throws RecognitionException { } - // InternalRos.g:914:3: (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? - int alt21=2; - int LA21_0 = input.LA(1); + // InternalRos.g:964:3: (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? + int alt23=2; + int LA23_0 = input.LA(1); - if ( (LA21_0==37) ) { - alt21=1; + if ( (LA23_0==38) ) { + alt23=1; } - switch (alt21) { + switch (alt23) { case 1 : - // InternalRos.g:915:4: otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) + // InternalRos.g:965:4: otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) { - otherlv_6=(Token)match(input,37,FOLLOW_3); + otherlv_6=(Token)match(input,38,FOLLOW_3); newLeafNode(otherlv_6, grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); - // InternalRos.g:919:4: ( (lv_response_7_0= ruleMessageDefinition ) ) - // InternalRos.g:920:5: (lv_response_7_0= ruleMessageDefinition ) + // InternalRos.g:969:4: ( (lv_response_7_0= ruleMessageDefinition ) ) + // InternalRos.g:970:5: (lv_response_7_0= ruleMessageDefinition ) { - // InternalRos.g:920:5: (lv_response_7_0= ruleMessageDefinition ) - // InternalRos.g:921:6: lv_response_7_0= ruleMessageDefinition + // InternalRos.g:970:5: (lv_response_7_0= ruleMessageDefinition ) + // InternalRos.g:971:6: lv_response_7_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getServiceSpecAccess().getResponseMessageDefinitionParserRuleCall_5_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_response_7_0=ruleMessageDefinition(); state._fsp--; @@ -2500,7 +2610,7 @@ public final EObject ruleServiceSpec() throws RecognitionException { // $ANTLR start "entryRuleTopicSpec" - // InternalRos.g:947:1: entryRuleTopicSpec returns [EObject current=null] : iv_ruleTopicSpec= ruleTopicSpec EOF ; + // InternalRos.g:997:1: entryRuleTopicSpec returns [EObject current=null] : iv_ruleTopicSpec= ruleTopicSpec EOF ; public final EObject entryRuleTopicSpec() throws RecognitionException { EObject current = null; @@ -2508,8 +2618,8 @@ public final EObject entryRuleTopicSpec() throws RecognitionException { try { - // InternalRos.g:947:50: (iv_ruleTopicSpec= ruleTopicSpec EOF ) - // InternalRos.g:948:2: iv_ruleTopicSpec= ruleTopicSpec EOF + // InternalRos.g:997:50: (iv_ruleTopicSpec= ruleTopicSpec EOF ) + // InternalRos.g:998:2: iv_ruleTopicSpec= ruleTopicSpec EOF { newCompositeNode(grammarAccess.getTopicSpecRule()); pushFollow(FOLLOW_1); @@ -2536,7 +2646,7 @@ public final EObject entryRuleTopicSpec() throws RecognitionException { // $ANTLR start "ruleTopicSpec" - // InternalRos.g:954:1: ruleTopicSpec returns [EObject current=null] : ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ; + // InternalRos.g:1004:1: ruleTopicSpec returns [EObject current=null] : ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ; public final EObject ruleTopicSpec() throws RecognitionException { EObject current = null; @@ -2555,14 +2665,14 @@ public final EObject ruleTopicSpec() throws RecognitionException { enterRule(); try { - // InternalRos.g:960:2: ( ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ) - // InternalRos.g:961:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) + // InternalRos.g:1010:2: ( ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ) + // InternalRos.g:1011:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) { - // InternalRos.g:961:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) - // InternalRos.g:962:3: () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' + // InternalRos.g:1011:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) + // InternalRos.g:1012:3: () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' { - // InternalRos.g:962:3: () - // InternalRos.g:963:4: + // InternalRos.g:1012:3: () + // InternalRos.g:1013:4: { current = forceCreateModelElement( @@ -2572,45 +2682,45 @@ public final EObject ruleTopicSpec() throws RecognitionException { } - otherlv_1=(Token)match(input,38,FOLLOW_21); + otherlv_1=(Token)match(input,39,FOLLOW_21); newLeafNode(otherlv_1, grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); - // InternalRos.g:973:3: ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) - // InternalRos.g:974:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) + // InternalRos.g:1023:3: ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) + // InternalRos.g:1024:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) { - // InternalRos.g:974:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) - // InternalRos.g:975:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) + // InternalRos.g:1024:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) + // InternalRos.g:1025:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) { - // InternalRos.g:975:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) - int alt22=3; + // InternalRos.g:1025:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) + int alt24=3; switch ( input.LA(1) ) { case RULE_STRING: case RULE_ID: { - alt22=1; + alt24=1; } break; - case 39: + case 40: { - alt22=2; + alt24=2; } break; - case 40: + case 41: { - alt22=3; + alt24=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 22, 0, input); + new NoViableAltException("", 24, 0, input); throw nvae; } - switch (alt22) { + switch (alt24) { case 1 : - // InternalRos.g:976:6: lv_name_2_1= ruleEString + // InternalRos.g:1026:6: lv_name_2_1= ruleEString { newCompositeNode(grammarAccess.getTopicSpecAccess().getNameEStringParserRuleCall_2_0_0()); @@ -2635,9 +2745,9 @@ public final EObject ruleTopicSpec() throws RecognitionException { } break; case 2 : - // InternalRos.g:992:6: lv_name_2_2= 'Header' + // InternalRos.g:1042:6: lv_name_2_2= 'Header' { - lv_name_2_2=(Token)match(input,39,FOLLOW_3); + lv_name_2_2=(Token)match(input,40,FOLLOW_3); newLeafNode(lv_name_2_2, grammarAccess.getTopicSpecAccess().getNameHeaderKeyword_2_0_1()); @@ -2651,9 +2761,9 @@ public final EObject ruleTopicSpec() throws RecognitionException { } break; case 3 : - // InternalRos.g:1003:6: lv_name_2_3= 'String' + // InternalRos.g:1053:6: lv_name_2_3= 'String' { - lv_name_2_3=(Token)match(input,40,FOLLOW_3); + lv_name_2_3=(Token)match(input,41,FOLLOW_3); newLeafNode(lv_name_2_3, grammarAccess.getTopicSpecAccess().getNameStringKeyword_2_0_2()); @@ -2679,31 +2789,31 @@ public final EObject ruleTopicSpec() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getTopicSpecAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:1020:3: (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? - int alt23=2; - int LA23_0 = input.LA(1); + // InternalRos.g:1070:3: (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? + int alt25=2; + int LA25_0 = input.LA(1); - if ( (LA23_0==41) ) { - alt23=1; + if ( (LA25_0==42) ) { + alt25=1; } - switch (alt23) { + switch (alt25) { case 1 : - // InternalRos.g:1021:4: otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1071:4: otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) { - otherlv_4=(Token)match(input,41,FOLLOW_3); + otherlv_4=(Token)match(input,42,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getTopicSpecAccess().getMessageKeyword_4_0()); - // InternalRos.g:1025:4: ( (lv_message_5_0= ruleMessageDefinition ) ) - // InternalRos.g:1026:5: (lv_message_5_0= ruleMessageDefinition ) + // InternalRos.g:1075:4: ( (lv_message_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1076:5: (lv_message_5_0= ruleMessageDefinition ) { - // InternalRos.g:1026:5: (lv_message_5_0= ruleMessageDefinition ) - // InternalRos.g:1027:6: lv_message_5_0= ruleMessageDefinition + // InternalRos.g:1076:5: (lv_message_5_0= ruleMessageDefinition ) + // InternalRos.g:1077:6: lv_message_5_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getTopicSpecAccess().getMessageMessageDefinitionParserRuleCall_4_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_message_5_0=ruleMessageDefinition(); state._fsp--; @@ -2758,7 +2868,7 @@ public final EObject ruleTopicSpec() throws RecognitionException { // $ANTLR start "entryRuleActionSpec" - // InternalRos.g:1053:1: entryRuleActionSpec returns [EObject current=null] : iv_ruleActionSpec= ruleActionSpec EOF ; + // InternalRos.g:1103:1: entryRuleActionSpec returns [EObject current=null] : iv_ruleActionSpec= ruleActionSpec EOF ; public final EObject entryRuleActionSpec() throws RecognitionException { EObject current = null; @@ -2766,8 +2876,8 @@ public final EObject entryRuleActionSpec() throws RecognitionException { try { - // InternalRos.g:1053:51: (iv_ruleActionSpec= ruleActionSpec EOF ) - // InternalRos.g:1054:2: iv_ruleActionSpec= ruleActionSpec EOF + // InternalRos.g:1103:51: (iv_ruleActionSpec= ruleActionSpec EOF ) + // InternalRos.g:1104:2: iv_ruleActionSpec= ruleActionSpec EOF { newCompositeNode(grammarAccess.getActionSpecRule()); pushFollow(FOLLOW_1); @@ -2794,7 +2904,7 @@ public final EObject entryRuleActionSpec() throws RecognitionException { // $ANTLR start "ruleActionSpec" - // InternalRos.g:1060:1: ruleActionSpec returns [EObject current=null] : ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ; + // InternalRos.g:1110:1: ruleActionSpec returns [EObject current=null] : ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ; public final EObject ruleActionSpec() throws RecognitionException { EObject current = null; @@ -2817,14 +2927,14 @@ public final EObject ruleActionSpec() throws RecognitionException { enterRule(); try { - // InternalRos.g:1066:2: ( ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ) - // InternalRos.g:1067:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) + // InternalRos.g:1116:2: ( ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ) + // InternalRos.g:1117:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) { - // InternalRos.g:1067:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) - // InternalRos.g:1068:3: () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' + // InternalRos.g:1117:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) + // InternalRos.g:1118:3: () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' { - // InternalRos.g:1068:3: () - // InternalRos.g:1069:4: + // InternalRos.g:1118:3: () + // InternalRos.g:1119:4: { current = forceCreateModelElement( @@ -2834,15 +2944,15 @@ public final EObject ruleActionSpec() throws RecognitionException { } - otherlv_1=(Token)match(input,42,FOLLOW_7); + otherlv_1=(Token)match(input,43,FOLLOW_7); newLeafNode(otherlv_1, grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); - // InternalRos.g:1079:3: ( (lv_name_2_0= ruleEString ) ) - // InternalRos.g:1080:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:1129:3: ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:1130:4: (lv_name_2_0= ruleEString ) { - // InternalRos.g:1080:4: (lv_name_2_0= ruleEString ) - // InternalRos.g:1081:5: lv_name_2_0= ruleEString + // InternalRos.g:1130:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:1131:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getActionSpecAccess().getNameEStringParserRuleCall_2_0()); @@ -2873,26 +2983,26 @@ public final EObject ruleActionSpec() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getActionSpecAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:1102:3: (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? - int alt24=2; - int LA24_0 = input.LA(1); + // InternalRos.g:1152:3: (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? + int alt26=2; + int LA26_0 = input.LA(1); - if ( (LA24_0==43) ) { - alt24=1; + if ( (LA26_0==44) ) { + alt26=1; } - switch (alt24) { + switch (alt26) { case 1 : - // InternalRos.g:1103:4: otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1153:4: otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) { - otherlv_4=(Token)match(input,43,FOLLOW_3); + otherlv_4=(Token)match(input,44,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getActionSpecAccess().getGoalKeyword_4_0()); - // InternalRos.g:1107:4: ( (lv_goal_5_0= ruleMessageDefinition ) ) - // InternalRos.g:1108:5: (lv_goal_5_0= ruleMessageDefinition ) + // InternalRos.g:1157:4: ( (lv_goal_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1158:5: (lv_goal_5_0= ruleMessageDefinition ) { - // InternalRos.g:1108:5: (lv_goal_5_0= ruleMessageDefinition ) - // InternalRos.g:1109:6: lv_goal_5_0= ruleMessageDefinition + // InternalRos.g:1158:5: (lv_goal_5_0= ruleMessageDefinition ) + // InternalRos.g:1159:6: lv_goal_5_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getActionSpecAccess().getGoalMessageDefinitionParserRuleCall_4_1_0()); @@ -2925,26 +3035,26 @@ public final EObject ruleActionSpec() throws RecognitionException { } - // InternalRos.g:1127:3: (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? - int alt25=2; - int LA25_0 = input.LA(1); + // InternalRos.g:1177:3: (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? + int alt27=2; + int LA27_0 = input.LA(1); - if ( (LA25_0==44) ) { - alt25=1; + if ( (LA27_0==45) ) { + alt27=1; } - switch (alt25) { + switch (alt27) { case 1 : - // InternalRos.g:1128:4: otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) + // InternalRos.g:1178:4: otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) { - otherlv_6=(Token)match(input,44,FOLLOW_3); + otherlv_6=(Token)match(input,45,FOLLOW_3); newLeafNode(otherlv_6, grammarAccess.getActionSpecAccess().getResultKeyword_5_0()); - // InternalRos.g:1132:4: ( (lv_result_7_0= ruleMessageDefinition ) ) - // InternalRos.g:1133:5: (lv_result_7_0= ruleMessageDefinition ) + // InternalRos.g:1182:4: ( (lv_result_7_0= ruleMessageDefinition ) ) + // InternalRos.g:1183:5: (lv_result_7_0= ruleMessageDefinition ) { - // InternalRos.g:1133:5: (lv_result_7_0= ruleMessageDefinition ) - // InternalRos.g:1134:6: lv_result_7_0= ruleMessageDefinition + // InternalRos.g:1183:5: (lv_result_7_0= ruleMessageDefinition ) + // InternalRos.g:1184:6: lv_result_7_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getActionSpecAccess().getResultMessageDefinitionParserRuleCall_5_1_0()); @@ -2977,31 +3087,31 @@ public final EObject ruleActionSpec() throws RecognitionException { } - // InternalRos.g:1152:3: (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? - int alt26=2; - int LA26_0 = input.LA(1); + // InternalRos.g:1202:3: (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA26_0==45) ) { - alt26=1; + if ( (LA28_0==46) ) { + alt28=1; } - switch (alt26) { + switch (alt28) { case 1 : - // InternalRos.g:1153:4: otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) + // InternalRos.g:1203:4: otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) { - otherlv_8=(Token)match(input,45,FOLLOW_3); + otherlv_8=(Token)match(input,46,FOLLOW_3); newLeafNode(otherlv_8, grammarAccess.getActionSpecAccess().getFeedbackKeyword_6_0()); - // InternalRos.g:1157:4: ( (lv_feedback_9_0= ruleMessageDefinition ) ) - // InternalRos.g:1158:5: (lv_feedback_9_0= ruleMessageDefinition ) + // InternalRos.g:1207:4: ( (lv_feedback_9_0= ruleMessageDefinition ) ) + // InternalRos.g:1208:5: (lv_feedback_9_0= ruleMessageDefinition ) { - // InternalRos.g:1158:5: (lv_feedback_9_0= ruleMessageDefinition ) - // InternalRos.g:1159:6: lv_feedback_9_0= ruleMessageDefinition + // InternalRos.g:1208:5: (lv_feedback_9_0= ruleMessageDefinition ) + // InternalRos.g:1209:6: lv_feedback_9_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getActionSpecAccess().getFeedbackMessageDefinitionParserRuleCall_6_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_feedback_9_0=ruleMessageDefinition(); state._fsp--; @@ -3056,7 +3166,7 @@ public final EObject ruleActionSpec() throws RecognitionException { // $ANTLR start "entryRuleMessageDefinition" - // InternalRos.g:1185:1: entryRuleMessageDefinition returns [EObject current=null] : iv_ruleMessageDefinition= ruleMessageDefinition EOF ; + // InternalRos.g:1235:1: entryRuleMessageDefinition returns [EObject current=null] : iv_ruleMessageDefinition= ruleMessageDefinition EOF ; public final EObject entryRuleMessageDefinition() throws RecognitionException { EObject current = null; @@ -3064,8 +3174,8 @@ public final EObject entryRuleMessageDefinition() throws RecognitionException { try { - // InternalRos.g:1185:58: (iv_ruleMessageDefinition= ruleMessageDefinition EOF ) - // InternalRos.g:1186:2: iv_ruleMessageDefinition= ruleMessageDefinition EOF + // InternalRos.g:1235:58: (iv_ruleMessageDefinition= ruleMessageDefinition EOF ) + // InternalRos.g:1236:2: iv_ruleMessageDefinition= ruleMessageDefinition EOF { newCompositeNode(grammarAccess.getMessageDefinitionRule()); pushFollow(FOLLOW_1); @@ -3092,7 +3202,7 @@ public final EObject entryRuleMessageDefinition() throws RecognitionException { // $ANTLR start "ruleMessageDefinition" - // InternalRos.g:1192:1: ruleMessageDefinition returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ; + // InternalRos.g:1242:1: ruleMessageDefinition returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ; public final EObject ruleMessageDefinition() throws RecognitionException { EObject current = null; @@ -3107,14 +3217,14 @@ public final EObject ruleMessageDefinition() throws RecognitionException { enterRule(); try { - // InternalRos.g:1198:2: ( ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ) - // InternalRos.g:1199:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) + // InternalRos.g:1248:2: ( ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ) + // InternalRos.g:1249:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) { - // InternalRos.g:1199:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) - // InternalRos.g:1200:3: () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' + // InternalRos.g:1249:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) + // InternalRos.g:1250:3: () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' { - // InternalRos.g:1200:3: () - // InternalRos.g:1201:4: + // InternalRos.g:1250:3: () + // InternalRos.g:1251:4: { current = forceCreateModelElement( @@ -3128,22 +3238,22 @@ public final EObject ruleMessageDefinition() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getMessageDefinitionAccess().getLeftCurlyBracketKeyword_1()); - // InternalRos.g:1211:3: ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? - int alt28=2; - int LA28_0 = input.LA(1); + // InternalRos.g:1261:3: ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? + int alt30=2; + int LA30_0 = input.LA(1); - if ( ((LA28_0>=RULE_STRING && LA28_0<=RULE_ID)||LA28_0==39||(LA28_0>=84 && LA28_0<=111)) ) { - alt28=1; + if ( ((LA30_0>=RULE_STRING && LA30_0<=RULE_ID)||LA30_0==40||(LA30_0>=84 && LA30_0<=111)) ) { + alt30=1; } - switch (alt28) { + switch (alt30) { case 1 : - // InternalRos.g:1212:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* + // InternalRos.g:1262:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* { - // InternalRos.g:1212:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) - // InternalRos.g:1213:5: (lv_MessagePart_2_0= ruleMessagePart ) + // InternalRos.g:1262:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) + // InternalRos.g:1263:5: (lv_MessagePart_2_0= ruleMessagePart ) { - // InternalRos.g:1213:5: (lv_MessagePart_2_0= ruleMessagePart ) - // InternalRos.g:1214:6: lv_MessagePart_2_0= ruleMessagePart + // InternalRos.g:1263:5: (lv_MessagePart_2_0= ruleMessagePart ) + // InternalRos.g:1264:6: lv_MessagePart_2_0= ruleMessagePart { newCompositeNode(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_0_0()); @@ -3170,23 +3280,23 @@ public final EObject ruleMessageDefinition() throws RecognitionException { } - // InternalRos.g:1231:4: ( (lv_MessagePart_3_0= ruleMessagePart ) )* - loop27: + // InternalRos.g:1281:4: ( (lv_MessagePart_3_0= ruleMessagePart ) )* + loop29: do { - int alt27=2; - int LA27_0 = input.LA(1); + int alt29=2; + int LA29_0 = input.LA(1); - if ( ((LA27_0>=RULE_STRING && LA27_0<=RULE_ID)||LA27_0==39||(LA27_0>=84 && LA27_0<=111)) ) { - alt27=1; + if ( ((LA29_0>=RULE_STRING && LA29_0<=RULE_ID)||LA29_0==40||(LA29_0>=84 && LA29_0<=111)) ) { + alt29=1; } - switch (alt27) { + switch (alt29) { case 1 : - // InternalRos.g:1232:5: (lv_MessagePart_3_0= ruleMessagePart ) + // InternalRos.g:1282:5: (lv_MessagePart_3_0= ruleMessagePart ) { - // InternalRos.g:1232:5: (lv_MessagePart_3_0= ruleMessagePart ) - // InternalRos.g:1233:6: lv_MessagePart_3_0= ruleMessagePart + // InternalRos.g:1282:5: (lv_MessagePart_3_0= ruleMessagePart ) + // InternalRos.g:1283:6: lv_MessagePart_3_0= ruleMessagePart { newCompositeNode(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_1_0()); @@ -3215,7 +3325,7 @@ public final EObject ruleMessageDefinition() throws RecognitionException { break; default : - break loop27; + break loop29; } } while (true); @@ -3252,7 +3362,7 @@ public final EObject ruleMessageDefinition() throws RecognitionException { // $ANTLR start "entryRuleNode" - // InternalRos.g:1259:1: entryRuleNode returns [EObject current=null] : iv_ruleNode= ruleNode EOF ; + // InternalRos.g:1309:1: entryRuleNode returns [EObject current=null] : iv_ruleNode= ruleNode EOF ; public final EObject entryRuleNode() throws RecognitionException { EObject current = null; @@ -3260,8 +3370,8 @@ public final EObject entryRuleNode() throws RecognitionException { try { - // InternalRos.g:1259:45: (iv_ruleNode= ruleNode EOF ) - // InternalRos.g:1260:2: iv_ruleNode= ruleNode EOF + // InternalRos.g:1309:45: (iv_ruleNode= ruleNode EOF ) + // InternalRos.g:1310:2: iv_ruleNode= ruleNode EOF { newCompositeNode(grammarAccess.getNodeRule()); pushFollow(FOLLOW_1); @@ -3288,7 +3398,7 @@ public final EObject entryRuleNode() throws RecognitionException { // $ANTLR start "ruleNode" - // InternalRos.g:1266:1: ruleNode returns [EObject current=null] : (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ; + // InternalRos.g:1316:1: ruleNode returns [EObject current=null] : (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ; public final EObject ruleNode() throws RecognitionException { EObject current = null; @@ -3359,13 +3469,13 @@ public final EObject ruleNode() throws RecognitionException { enterRule(); try { - // InternalRos.g:1272:2: ( (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ) - // InternalRos.g:1273:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) + // InternalRos.g:1322:2: ( (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ) + // InternalRos.g:1323:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) { - // InternalRos.g:1273:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) - // InternalRos.g:1274:3: otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' + // InternalRos.g:1323:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) + // InternalRos.g:1324:3: otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' { - otherlv_0=(Token)match(input,46,FOLLOW_3); + otherlv_0=(Token)match(input,47,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getNodeAccess().getNodeKeyword_0()); @@ -3373,15 +3483,15 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_12); + otherlv_2=(Token)match(input,48,FOLLOW_13); newLeafNode(otherlv_2, grammarAccess.getNodeAccess().getNameKeyword_2()); - // InternalRos.g:1286:3: ( (lv_name_3_0= ruleRosNames ) ) - // InternalRos.g:1287:4: (lv_name_3_0= ruleRosNames ) + // InternalRos.g:1336:3: ( (lv_name_3_0= ruleRosNames ) ) + // InternalRos.g:1337:4: (lv_name_3_0= ruleRosNames ) { - // InternalRos.g:1287:4: (lv_name_3_0= ruleRosNames ) - // InternalRos.g:1288:5: lv_name_3_0= ruleRosNames + // InternalRos.g:1337:4: (lv_name_3_0= ruleRosNames ) + // InternalRos.g:1338:5: lv_name_3_0= ruleRosNames { newCompositeNode(grammarAccess.getNodeAccess().getNameRosNamesParserRuleCall_3_0()); @@ -3408,18 +3518,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1305:3: (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? - int alt30=2; - int LA30_0 = input.LA(1); + // InternalRos.g:1355:3: (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA30_0==48) ) { - alt30=1; + if ( (LA32_0==49) ) { + alt32=1; } - switch (alt30) { + switch (alt32) { case 1 : - // InternalRos.g:1306:4: otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' + // InternalRos.g:1356:4: otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' { - otherlv_4=(Token)match(input,48,FOLLOW_3); + otherlv_4=(Token)match(input,49,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getNodeAccess().getServiceServersKeyword_4_0()); @@ -3427,11 +3537,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_5, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_4_1()); - // InternalRos.g:1314:4: ( (lv_serviceserver_6_0= ruleServiceServer ) ) - // InternalRos.g:1315:5: (lv_serviceserver_6_0= ruleServiceServer ) + // InternalRos.g:1364:4: ( (lv_serviceserver_6_0= ruleServiceServer ) ) + // InternalRos.g:1365:5: (lv_serviceserver_6_0= ruleServiceServer ) { - // InternalRos.g:1315:5: (lv_serviceserver_6_0= ruleServiceServer ) - // InternalRos.g:1316:6: lv_serviceserver_6_0= ruleServiceServer + // InternalRos.g:1365:5: (lv_serviceserver_6_0= ruleServiceServer ) + // InternalRos.g:1366:6: lv_serviceserver_6_0= ruleServiceServer { newCompositeNode(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_2_0()); @@ -3458,30 +3568,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1333:4: (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* - loop29: + // InternalRos.g:1383:4: (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* + loop31: do { - int alt29=2; - int LA29_0 = input.LA(1); + int alt31=2; + int LA31_0 = input.LA(1); - if ( (LA29_0==27) ) { - alt29=1; + if ( (LA31_0==27) ) { + alt31=1; } - switch (alt29) { + switch (alt31) { case 1 : - // InternalRos.g:1334:5: otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) + // InternalRos.g:1384:5: otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) { otherlv_7=(Token)match(input,27,FOLLOW_29); newLeafNode(otherlv_7, grammarAccess.getNodeAccess().getCommaKeyword_4_3_0()); - // InternalRos.g:1338:5: ( (lv_serviceserver_8_0= ruleServiceServer ) ) - // InternalRos.g:1339:6: (lv_serviceserver_8_0= ruleServiceServer ) + // InternalRos.g:1388:5: ( (lv_serviceserver_8_0= ruleServiceServer ) ) + // InternalRos.g:1389:6: (lv_serviceserver_8_0= ruleServiceServer ) { - // InternalRos.g:1339:6: (lv_serviceserver_8_0= ruleServiceServer ) - // InternalRos.g:1340:7: lv_serviceserver_8_0= ruleServiceServer + // InternalRos.g:1389:6: (lv_serviceserver_8_0= ruleServiceServer ) + // InternalRos.g:1390:7: lv_serviceserver_8_0= ruleServiceServer { newCompositeNode(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_3_1_0()); @@ -3513,7 +3623,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop29; + break loop31; } } while (true); @@ -3527,18 +3637,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1363:3: (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? - int alt32=2; - int LA32_0 = input.LA(1); + // InternalRos.g:1413:3: (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA32_0==49) ) { - alt32=1; + if ( (LA34_0==50) ) { + alt34=1; } - switch (alt32) { + switch (alt34) { case 1 : - // InternalRos.g:1364:4: otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' + // InternalRos.g:1414:4: otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' { - otherlv_10=(Token)match(input,49,FOLLOW_3); + otherlv_10=(Token)match(input,50,FOLLOW_3); newLeafNode(otherlv_10, grammarAccess.getNodeAccess().getPublishersKeyword_5_0()); @@ -3546,11 +3656,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_11, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_5_1()); - // InternalRos.g:1372:4: ( (lv_publisher_12_0= rulePublisher ) ) - // InternalRos.g:1373:5: (lv_publisher_12_0= rulePublisher ) + // InternalRos.g:1422:4: ( (lv_publisher_12_0= rulePublisher ) ) + // InternalRos.g:1423:5: (lv_publisher_12_0= rulePublisher ) { - // InternalRos.g:1373:5: (lv_publisher_12_0= rulePublisher ) - // InternalRos.g:1374:6: lv_publisher_12_0= rulePublisher + // InternalRos.g:1423:5: (lv_publisher_12_0= rulePublisher ) + // InternalRos.g:1424:6: lv_publisher_12_0= rulePublisher { newCompositeNode(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_2_0()); @@ -3577,30 +3687,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1391:4: (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* - loop31: + // InternalRos.g:1441:4: (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* + loop33: do { - int alt31=2; - int LA31_0 = input.LA(1); + int alt33=2; + int LA33_0 = input.LA(1); - if ( (LA31_0==27) ) { - alt31=1; + if ( (LA33_0==27) ) { + alt33=1; } - switch (alt31) { + switch (alt33) { case 1 : - // InternalRos.g:1392:5: otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) + // InternalRos.g:1442:5: otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) { otherlv_13=(Token)match(input,27,FOLLOW_31); newLeafNode(otherlv_13, grammarAccess.getNodeAccess().getCommaKeyword_5_3_0()); - // InternalRos.g:1396:5: ( (lv_publisher_14_0= rulePublisher ) ) - // InternalRos.g:1397:6: (lv_publisher_14_0= rulePublisher ) + // InternalRos.g:1446:5: ( (lv_publisher_14_0= rulePublisher ) ) + // InternalRos.g:1447:6: (lv_publisher_14_0= rulePublisher ) { - // InternalRos.g:1397:6: (lv_publisher_14_0= rulePublisher ) - // InternalRos.g:1398:7: lv_publisher_14_0= rulePublisher + // InternalRos.g:1447:6: (lv_publisher_14_0= rulePublisher ) + // InternalRos.g:1448:7: lv_publisher_14_0= rulePublisher { newCompositeNode(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_3_1_0()); @@ -3632,7 +3742,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop31; + break loop33; } } while (true); @@ -3646,18 +3756,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1421:3: (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalRos.g:1471:3: (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA34_0==50) ) { - alt34=1; + if ( (LA36_0==51) ) { + alt36=1; } - switch (alt34) { + switch (alt36) { case 1 : - // InternalRos.g:1422:4: otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' + // InternalRos.g:1472:4: otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' { - otherlv_16=(Token)match(input,50,FOLLOW_3); + otherlv_16=(Token)match(input,51,FOLLOW_3); newLeafNode(otherlv_16, grammarAccess.getNodeAccess().getSubscribersKeyword_6_0()); @@ -3665,11 +3775,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_17, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_6_1()); - // InternalRos.g:1430:4: ( (lv_subscriber_18_0= ruleSubscriber ) ) - // InternalRos.g:1431:5: (lv_subscriber_18_0= ruleSubscriber ) + // InternalRos.g:1480:4: ( (lv_subscriber_18_0= ruleSubscriber ) ) + // InternalRos.g:1481:5: (lv_subscriber_18_0= ruleSubscriber ) { - // InternalRos.g:1431:5: (lv_subscriber_18_0= ruleSubscriber ) - // InternalRos.g:1432:6: lv_subscriber_18_0= ruleSubscriber + // InternalRos.g:1481:5: (lv_subscriber_18_0= ruleSubscriber ) + // InternalRos.g:1482:6: lv_subscriber_18_0= ruleSubscriber { newCompositeNode(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_2_0()); @@ -3696,30 +3806,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1449:4: (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* - loop33: + // InternalRos.g:1499:4: (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* + loop35: do { - int alt33=2; - int LA33_0 = input.LA(1); + int alt35=2; + int LA35_0 = input.LA(1); - if ( (LA33_0==27) ) { - alt33=1; + if ( (LA35_0==27) ) { + alt35=1; } - switch (alt33) { + switch (alt35) { case 1 : - // InternalRos.g:1450:5: otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) + // InternalRos.g:1500:5: otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) { otherlv_19=(Token)match(input,27,FOLLOW_33); newLeafNode(otherlv_19, grammarAccess.getNodeAccess().getCommaKeyword_6_3_0()); - // InternalRos.g:1454:5: ( (lv_subscriber_20_0= ruleSubscriber ) ) - // InternalRos.g:1455:6: (lv_subscriber_20_0= ruleSubscriber ) + // InternalRos.g:1504:5: ( (lv_subscriber_20_0= ruleSubscriber ) ) + // InternalRos.g:1505:6: (lv_subscriber_20_0= ruleSubscriber ) { - // InternalRos.g:1455:6: (lv_subscriber_20_0= ruleSubscriber ) - // InternalRos.g:1456:7: lv_subscriber_20_0= ruleSubscriber + // InternalRos.g:1505:6: (lv_subscriber_20_0= ruleSubscriber ) + // InternalRos.g:1506:7: lv_subscriber_20_0= ruleSubscriber { newCompositeNode(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_3_1_0()); @@ -3751,7 +3861,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop33; + break loop35; } } while (true); @@ -3765,18 +3875,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1479:3: (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? - int alt36=2; - int LA36_0 = input.LA(1); + // InternalRos.g:1529:3: (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA36_0==51) ) { - alt36=1; + if ( (LA38_0==52) ) { + alt38=1; } - switch (alt36) { + switch (alt38) { case 1 : - // InternalRos.g:1480:4: otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' + // InternalRos.g:1530:4: otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' { - otherlv_22=(Token)match(input,51,FOLLOW_3); + otherlv_22=(Token)match(input,52,FOLLOW_3); newLeafNode(otherlv_22, grammarAccess.getNodeAccess().getServiceClientsKeyword_7_0()); @@ -3784,11 +3894,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_23, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_7_1()); - // InternalRos.g:1488:4: ( (lv_serviceclient_24_0= ruleServiceClient ) ) - // InternalRos.g:1489:5: (lv_serviceclient_24_0= ruleServiceClient ) + // InternalRos.g:1538:4: ( (lv_serviceclient_24_0= ruleServiceClient ) ) + // InternalRos.g:1539:5: (lv_serviceclient_24_0= ruleServiceClient ) { - // InternalRos.g:1489:5: (lv_serviceclient_24_0= ruleServiceClient ) - // InternalRos.g:1490:6: lv_serviceclient_24_0= ruleServiceClient + // InternalRos.g:1539:5: (lv_serviceclient_24_0= ruleServiceClient ) + // InternalRos.g:1540:6: lv_serviceclient_24_0= ruleServiceClient { newCompositeNode(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_2_0()); @@ -3815,30 +3925,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1507:4: (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* - loop35: + // InternalRos.g:1557:4: (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* + loop37: do { - int alt35=2; - int LA35_0 = input.LA(1); + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA35_0==27) ) { - alt35=1; + if ( (LA37_0==27) ) { + alt37=1; } - switch (alt35) { + switch (alt37) { case 1 : - // InternalRos.g:1508:5: otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) + // InternalRos.g:1558:5: otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) { otherlv_25=(Token)match(input,27,FOLLOW_35); newLeafNode(otherlv_25, grammarAccess.getNodeAccess().getCommaKeyword_7_3_0()); - // InternalRos.g:1512:5: ( (lv_serviceclient_26_0= ruleServiceClient ) ) - // InternalRos.g:1513:6: (lv_serviceclient_26_0= ruleServiceClient ) + // InternalRos.g:1562:5: ( (lv_serviceclient_26_0= ruleServiceClient ) ) + // InternalRos.g:1563:6: (lv_serviceclient_26_0= ruleServiceClient ) { - // InternalRos.g:1513:6: (lv_serviceclient_26_0= ruleServiceClient ) - // InternalRos.g:1514:7: lv_serviceclient_26_0= ruleServiceClient + // InternalRos.g:1563:6: (lv_serviceclient_26_0= ruleServiceClient ) + // InternalRos.g:1564:7: lv_serviceclient_26_0= ruleServiceClient { newCompositeNode(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_3_1_0()); @@ -3870,7 +3980,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop35; + break loop37; } } while (true); @@ -3884,18 +3994,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1537:3: (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalRos.g:1587:3: (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA38_0==52) ) { - alt38=1; + if ( (LA40_0==53) ) { + alt40=1; } - switch (alt38) { + switch (alt40) { case 1 : - // InternalRos.g:1538:4: otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' + // InternalRos.g:1588:4: otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' { - otherlv_28=(Token)match(input,52,FOLLOW_3); + otherlv_28=(Token)match(input,53,FOLLOW_3); newLeafNode(otherlv_28, grammarAccess.getNodeAccess().getActionServersKeyword_8_0()); @@ -3903,11 +4013,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_29, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_8_1()); - // InternalRos.g:1546:4: ( (lv_actionserver_30_0= ruleActionServer ) ) - // InternalRos.g:1547:5: (lv_actionserver_30_0= ruleActionServer ) + // InternalRos.g:1596:4: ( (lv_actionserver_30_0= ruleActionServer ) ) + // InternalRos.g:1597:5: (lv_actionserver_30_0= ruleActionServer ) { - // InternalRos.g:1547:5: (lv_actionserver_30_0= ruleActionServer ) - // InternalRos.g:1548:6: lv_actionserver_30_0= ruleActionServer + // InternalRos.g:1597:5: (lv_actionserver_30_0= ruleActionServer ) + // InternalRos.g:1598:6: lv_actionserver_30_0= ruleActionServer { newCompositeNode(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_2_0()); @@ -3934,30 +4044,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1565:4: (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* - loop37: + // InternalRos.g:1615:4: (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* + loop39: do { - int alt37=2; - int LA37_0 = input.LA(1); + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA37_0==27) ) { - alt37=1; + if ( (LA39_0==27) ) { + alt39=1; } - switch (alt37) { + switch (alt39) { case 1 : - // InternalRos.g:1566:5: otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) + // InternalRos.g:1616:5: otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) { otherlv_31=(Token)match(input,27,FOLLOW_37); newLeafNode(otherlv_31, grammarAccess.getNodeAccess().getCommaKeyword_8_3_0()); - // InternalRos.g:1570:5: ( (lv_actionserver_32_0= ruleActionServer ) ) - // InternalRos.g:1571:6: (lv_actionserver_32_0= ruleActionServer ) + // InternalRos.g:1620:5: ( (lv_actionserver_32_0= ruleActionServer ) ) + // InternalRos.g:1621:6: (lv_actionserver_32_0= ruleActionServer ) { - // InternalRos.g:1571:6: (lv_actionserver_32_0= ruleActionServer ) - // InternalRos.g:1572:7: lv_actionserver_32_0= ruleActionServer + // InternalRos.g:1621:6: (lv_actionserver_32_0= ruleActionServer ) + // InternalRos.g:1622:7: lv_actionserver_32_0= ruleActionServer { newCompositeNode(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_3_1_0()); @@ -3989,7 +4099,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop37; + break loop39; } } while (true); @@ -4003,18 +4113,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1595:3: (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalRos.g:1645:3: (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA40_0==53) ) { - alt40=1; + if ( (LA42_0==54) ) { + alt42=1; } - switch (alt40) { + switch (alt42) { case 1 : - // InternalRos.g:1596:4: otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' + // InternalRos.g:1646:4: otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' { - otherlv_34=(Token)match(input,53,FOLLOW_3); + otherlv_34=(Token)match(input,54,FOLLOW_3); newLeafNode(otherlv_34, grammarAccess.getNodeAccess().getActionClientsKeyword_9_0()); @@ -4022,11 +4132,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_35, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_9_1()); - // InternalRos.g:1604:4: ( (lv_actionclient_36_0= ruleActionClient ) ) - // InternalRos.g:1605:5: (lv_actionclient_36_0= ruleActionClient ) + // InternalRos.g:1654:4: ( (lv_actionclient_36_0= ruleActionClient ) ) + // InternalRos.g:1655:5: (lv_actionclient_36_0= ruleActionClient ) { - // InternalRos.g:1605:5: (lv_actionclient_36_0= ruleActionClient ) - // InternalRos.g:1606:6: lv_actionclient_36_0= ruleActionClient + // InternalRos.g:1655:5: (lv_actionclient_36_0= ruleActionClient ) + // InternalRos.g:1656:6: lv_actionclient_36_0= ruleActionClient { newCompositeNode(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_2_0()); @@ -4053,30 +4163,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1623:4: (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* - loop39: + // InternalRos.g:1673:4: (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* + loop41: do { - int alt39=2; - int LA39_0 = input.LA(1); + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA39_0==27) ) { - alt39=1; + if ( (LA41_0==27) ) { + alt41=1; } - switch (alt39) { + switch (alt41) { case 1 : - // InternalRos.g:1624:5: otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) + // InternalRos.g:1674:5: otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) { otherlv_37=(Token)match(input,27,FOLLOW_39); newLeafNode(otherlv_37, grammarAccess.getNodeAccess().getCommaKeyword_9_3_0()); - // InternalRos.g:1628:5: ( (lv_actionclient_38_0= ruleActionClient ) ) - // InternalRos.g:1629:6: (lv_actionclient_38_0= ruleActionClient ) + // InternalRos.g:1678:5: ( (lv_actionclient_38_0= ruleActionClient ) ) + // InternalRos.g:1679:6: (lv_actionclient_38_0= ruleActionClient ) { - // InternalRos.g:1629:6: (lv_actionclient_38_0= ruleActionClient ) - // InternalRos.g:1630:7: lv_actionclient_38_0= ruleActionClient + // InternalRos.g:1679:6: (lv_actionclient_38_0= ruleActionClient ) + // InternalRos.g:1680:7: lv_actionclient_38_0= ruleActionClient { newCompositeNode(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_3_1_0()); @@ -4108,7 +4218,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop39; + break loop41; } } while (true); @@ -4122,18 +4232,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1653:3: (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalRos.g:1703:3: (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA42_0==54) ) { - alt42=1; + if ( (LA44_0==55) ) { + alt44=1; } - switch (alt42) { + switch (alt44) { case 1 : - // InternalRos.g:1654:4: otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' + // InternalRos.g:1704:4: otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' { - otherlv_40=(Token)match(input,54,FOLLOW_3); + otherlv_40=(Token)match(input,55,FOLLOW_3); newLeafNode(otherlv_40, grammarAccess.getNodeAccess().getParametersKeyword_10_0()); @@ -4141,11 +4251,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_41, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_10_1()); - // InternalRos.g:1662:4: ( (lv_parameter_42_0= ruleParameter ) ) - // InternalRos.g:1663:5: (lv_parameter_42_0= ruleParameter ) + // InternalRos.g:1712:4: ( (lv_parameter_42_0= ruleParameter ) ) + // InternalRos.g:1713:5: (lv_parameter_42_0= ruleParameter ) { - // InternalRos.g:1663:5: (lv_parameter_42_0= ruleParameter ) - // InternalRos.g:1664:6: lv_parameter_42_0= ruleParameter + // InternalRos.g:1713:5: (lv_parameter_42_0= ruleParameter ) + // InternalRos.g:1714:6: lv_parameter_42_0= ruleParameter { newCompositeNode(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_2_0()); @@ -4172,30 +4282,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1681:4: (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* - loop41: + // InternalRos.g:1731:4: (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* + loop43: do { - int alt41=2; - int LA41_0 = input.LA(1); + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA41_0==27) ) { - alt41=1; + if ( (LA43_0==27) ) { + alt43=1; } - switch (alt41) { + switch (alt43) { case 1 : - // InternalRos.g:1682:5: otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) + // InternalRos.g:1732:5: otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) { otherlv_43=(Token)match(input,27,FOLLOW_41); newLeafNode(otherlv_43, grammarAccess.getNodeAccess().getCommaKeyword_10_3_0()); - // InternalRos.g:1686:5: ( (lv_parameter_44_0= ruleParameter ) ) - // InternalRos.g:1687:6: (lv_parameter_44_0= ruleParameter ) + // InternalRos.g:1736:5: ( (lv_parameter_44_0= ruleParameter ) ) + // InternalRos.g:1737:6: (lv_parameter_44_0= ruleParameter ) { - // InternalRos.g:1687:6: (lv_parameter_44_0= ruleParameter ) - // InternalRos.g:1688:7: lv_parameter_44_0= ruleParameter + // InternalRos.g:1737:6: (lv_parameter_44_0= ruleParameter ) + // InternalRos.g:1738:7: lv_parameter_44_0= ruleParameter { newCompositeNode(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_3_1_0()); @@ -4227,11 +4337,11 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop41; + break loop43; } } while (true); - otherlv_45=(Token)match(input,28,FOLLOW_14); + otherlv_45=(Token)match(input,28,FOLLOW_15); newLeafNode(otherlv_45, grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_10_4()); @@ -4268,7 +4378,7 @@ public final EObject ruleNode() throws RecognitionException { // $ANTLR start "entryRuleServiceServer" - // InternalRos.g:1719:1: entryRuleServiceServer returns [EObject current=null] : iv_ruleServiceServer= ruleServiceServer EOF ; + // InternalRos.g:1769:1: entryRuleServiceServer returns [EObject current=null] : iv_ruleServiceServer= ruleServiceServer EOF ; public final EObject entryRuleServiceServer() throws RecognitionException { EObject current = null; @@ -4276,8 +4386,8 @@ public final EObject entryRuleServiceServer() throws RecognitionException { try { - // InternalRos.g:1719:54: (iv_ruleServiceServer= ruleServiceServer EOF ) - // InternalRos.g:1720:2: iv_ruleServiceServer= ruleServiceServer EOF + // InternalRos.g:1769:54: (iv_ruleServiceServer= ruleServiceServer EOF ) + // InternalRos.g:1770:2: iv_ruleServiceServer= ruleServiceServer EOF { newCompositeNode(grammarAccess.getServiceServerRule()); pushFollow(FOLLOW_1); @@ -4304,7 +4414,7 @@ public final EObject entryRuleServiceServer() throws RecognitionException { // $ANTLR start "ruleServiceServer" - // InternalRos.g:1726:1: ruleServiceServer returns [EObject current=null] : (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:1776:1: ruleServiceServer returns [EObject current=null] : (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleServiceServer() throws RecognitionException { EObject current = null; @@ -4323,13 +4433,13 @@ public final EObject ruleServiceServer() throws RecognitionException { enterRule(); try { - // InternalRos.g:1732:2: ( (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:1733:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:1782:2: ( (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:1783:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:1733:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:1734:3: otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:1783:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:1784:3: otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,55,FOLLOW_3); + otherlv_0=(Token)match(input,56,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getServiceServerAccess().getServiceServerKeyword_0()); @@ -4337,15 +4447,15 @@ public final EObject ruleServiceServer() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getServiceServerAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_7); + otherlv_2=(Token)match(input,48,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getServiceServerAccess().getNameKeyword_2()); - // InternalRos.g:1746:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:1747:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:1796:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:1797:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:1747:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:1748:5: lv_name_3_0= ruleEString + // InternalRos.g:1797:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:1798:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getServiceServerAccess().getNameEStringParserRuleCall_3_0()); @@ -4372,15 +4482,15 @@ public final EObject ruleServiceServer() throws RecognitionException { } - otherlv_4=(Token)match(input,56,FOLLOW_7); + otherlv_4=(Token)match(input,57,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getServiceServerAccess().getServiceKeyword_4()); - // InternalRos.g:1769:3: ( ( ruleEString ) ) - // InternalRos.g:1770:4: ( ruleEString ) + // InternalRos.g:1819:3: ( ( ruleEString ) ) + // InternalRos.g:1820:4: ( ruleEString ) { - // InternalRos.g:1770:4: ( ruleEString ) - // InternalRos.g:1771:5: ruleEString + // InternalRos.g:1820:4: ( ruleEString ) + // InternalRos.g:1821:5: ruleEString { if (current==null) { @@ -4404,31 +4514,31 @@ public final EObject ruleServiceServer() throws RecognitionException { } - // InternalRos.g:1785:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt43=2; - int LA43_0 = input.LA(1); + // InternalRos.g:1835:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA43_0==57) ) { - alt43=1; + if ( (LA45_0==58) ) { + alt45=1; } - switch (alt43) { + switch (alt45) { case 1 : - // InternalRos.g:1786:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:1836:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,57,FOLLOW_44); + otherlv_6=(Token)match(input,58,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getServiceServerAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:1790:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:1791:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:1840:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:1841:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:1791:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:1792:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:1841:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:1842:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getServiceServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_namespace_7_0=ruleNamespace(); state._fsp--; @@ -4483,7 +4593,7 @@ public final EObject ruleServiceServer() throws RecognitionException { // $ANTLR start "entryRulePublisher" - // InternalRos.g:1818:1: entryRulePublisher returns [EObject current=null] : iv_rulePublisher= rulePublisher EOF ; + // InternalRos.g:1868:1: entryRulePublisher returns [EObject current=null] : iv_rulePublisher= rulePublisher EOF ; public final EObject entryRulePublisher() throws RecognitionException { EObject current = null; @@ -4491,8 +4601,8 @@ public final EObject entryRulePublisher() throws RecognitionException { try { - // InternalRos.g:1818:50: (iv_rulePublisher= rulePublisher EOF ) - // InternalRos.g:1819:2: iv_rulePublisher= rulePublisher EOF + // InternalRos.g:1868:50: (iv_rulePublisher= rulePublisher EOF ) + // InternalRos.g:1869:2: iv_rulePublisher= rulePublisher EOF { newCompositeNode(grammarAccess.getPublisherRule()); pushFollow(FOLLOW_1); @@ -4519,7 +4629,7 @@ public final EObject entryRulePublisher() throws RecognitionException { // $ANTLR start "rulePublisher" - // InternalRos.g:1825:1: rulePublisher returns [EObject current=null] : (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:1875:1: rulePublisher returns [EObject current=null] : (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject rulePublisher() throws RecognitionException { EObject current = null; @@ -4538,13 +4648,13 @@ public final EObject rulePublisher() throws RecognitionException { enterRule(); try { - // InternalRos.g:1831:2: ( (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:1832:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:1881:2: ( (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:1882:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:1832:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:1833:3: otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:1882:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:1883:3: otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,58,FOLLOW_3); + otherlv_0=(Token)match(input,59,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getPublisherAccess().getPublisherKeyword_0()); @@ -4552,15 +4662,15 @@ public final EObject rulePublisher() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getPublisherAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_7); + otherlv_2=(Token)match(input,48,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getPublisherAccess().getNameKeyword_2()); - // InternalRos.g:1845:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:1846:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:1895:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:1896:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:1846:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:1847:5: lv_name_3_0= ruleEString + // InternalRos.g:1896:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:1897:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getPublisherAccess().getNameEStringParserRuleCall_3_0()); @@ -4587,15 +4697,15 @@ public final EObject rulePublisher() throws RecognitionException { } - otherlv_4=(Token)match(input,41,FOLLOW_7); + otherlv_4=(Token)match(input,42,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getPublisherAccess().getMessageKeyword_4()); - // InternalRos.g:1868:3: ( ( ruleEString ) ) - // InternalRos.g:1869:4: ( ruleEString ) + // InternalRos.g:1918:3: ( ( ruleEString ) ) + // InternalRos.g:1919:4: ( ruleEString ) { - // InternalRos.g:1869:4: ( ruleEString ) - // InternalRos.g:1870:5: ruleEString + // InternalRos.g:1919:4: ( ruleEString ) + // InternalRos.g:1920:5: ruleEString { if (current==null) { @@ -4619,31 +4729,31 @@ public final EObject rulePublisher() throws RecognitionException { } - // InternalRos.g:1884:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt44=2; - int LA44_0 = input.LA(1); + // InternalRos.g:1934:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA44_0==57) ) { - alt44=1; + if ( (LA46_0==58) ) { + alt46=1; } - switch (alt44) { + switch (alt46) { case 1 : - // InternalRos.g:1885:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:1935:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,57,FOLLOW_44); + otherlv_6=(Token)match(input,58,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getPublisherAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:1889:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:1890:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:1939:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:1940:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:1890:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:1891:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:1940:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:1941:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getPublisherAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_namespace_7_0=ruleNamespace(); state._fsp--; @@ -4698,7 +4808,7 @@ public final EObject rulePublisher() throws RecognitionException { // $ANTLR start "entryRuleSubscriber" - // InternalRos.g:1917:1: entryRuleSubscriber returns [EObject current=null] : iv_ruleSubscriber= ruleSubscriber EOF ; + // InternalRos.g:1967:1: entryRuleSubscriber returns [EObject current=null] : iv_ruleSubscriber= ruleSubscriber EOF ; public final EObject entryRuleSubscriber() throws RecognitionException { EObject current = null; @@ -4706,8 +4816,8 @@ public final EObject entryRuleSubscriber() throws RecognitionException { try { - // InternalRos.g:1917:51: (iv_ruleSubscriber= ruleSubscriber EOF ) - // InternalRos.g:1918:2: iv_ruleSubscriber= ruleSubscriber EOF + // InternalRos.g:1967:51: (iv_ruleSubscriber= ruleSubscriber EOF ) + // InternalRos.g:1968:2: iv_ruleSubscriber= ruleSubscriber EOF { newCompositeNode(grammarAccess.getSubscriberRule()); pushFollow(FOLLOW_1); @@ -4734,7 +4844,7 @@ public final EObject entryRuleSubscriber() throws RecognitionException { // $ANTLR start "ruleSubscriber" - // InternalRos.g:1924:1: ruleSubscriber returns [EObject current=null] : (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:1974:1: ruleSubscriber returns [EObject current=null] : (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleSubscriber() throws RecognitionException { EObject current = null; @@ -4753,13 +4863,13 @@ public final EObject ruleSubscriber() throws RecognitionException { enterRule(); try { - // InternalRos.g:1930:2: ( (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:1931:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:1980:2: ( (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:1981:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:1931:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:1932:3: otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:1981:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:1982:3: otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,59,FOLLOW_3); + otherlv_0=(Token)match(input,60,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getSubscriberAccess().getSubscriberKeyword_0()); @@ -4767,15 +4877,15 @@ public final EObject ruleSubscriber() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getSubscriberAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_7); + otherlv_2=(Token)match(input,48,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getSubscriberAccess().getNameKeyword_2()); - // InternalRos.g:1944:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:1945:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:1994:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:1995:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:1945:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:1946:5: lv_name_3_0= ruleEString + // InternalRos.g:1995:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:1996:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getSubscriberAccess().getNameEStringParserRuleCall_3_0()); @@ -4802,15 +4912,15 @@ public final EObject ruleSubscriber() throws RecognitionException { } - otherlv_4=(Token)match(input,41,FOLLOW_7); + otherlv_4=(Token)match(input,42,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getSubscriberAccess().getMessageKeyword_4()); - // InternalRos.g:1967:3: ( ( ruleEString ) ) - // InternalRos.g:1968:4: ( ruleEString ) + // InternalRos.g:2017:3: ( ( ruleEString ) ) + // InternalRos.g:2018:4: ( ruleEString ) { - // InternalRos.g:1968:4: ( ruleEString ) - // InternalRos.g:1969:5: ruleEString + // InternalRos.g:2018:4: ( ruleEString ) + // InternalRos.g:2019:5: ruleEString { if (current==null) { @@ -4834,31 +4944,31 @@ public final EObject ruleSubscriber() throws RecognitionException { } - // InternalRos.g:1983:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt45=2; - int LA45_0 = input.LA(1); + // InternalRos.g:2033:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA45_0==57) ) { - alt45=1; + if ( (LA47_0==58) ) { + alt47=1; } - switch (alt45) { + switch (alt47) { case 1 : - // InternalRos.g:1984:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2034:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,57,FOLLOW_44); + otherlv_6=(Token)match(input,58,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getSubscriberAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:1988:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:1989:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2038:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2039:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:1989:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:1990:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2039:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2040:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getSubscriberAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_namespace_7_0=ruleNamespace(); state._fsp--; @@ -4913,7 +5023,7 @@ public final EObject ruleSubscriber() throws RecognitionException { // $ANTLR start "entryRuleServiceClient" - // InternalRos.g:2016:1: entryRuleServiceClient returns [EObject current=null] : iv_ruleServiceClient= ruleServiceClient EOF ; + // InternalRos.g:2066:1: entryRuleServiceClient returns [EObject current=null] : iv_ruleServiceClient= ruleServiceClient EOF ; public final EObject entryRuleServiceClient() throws RecognitionException { EObject current = null; @@ -4921,8 +5031,8 @@ public final EObject entryRuleServiceClient() throws RecognitionException { try { - // InternalRos.g:2016:54: (iv_ruleServiceClient= ruleServiceClient EOF ) - // InternalRos.g:2017:2: iv_ruleServiceClient= ruleServiceClient EOF + // InternalRos.g:2066:54: (iv_ruleServiceClient= ruleServiceClient EOF ) + // InternalRos.g:2067:2: iv_ruleServiceClient= ruleServiceClient EOF { newCompositeNode(grammarAccess.getServiceClientRule()); pushFollow(FOLLOW_1); @@ -4949,7 +5059,7 @@ public final EObject entryRuleServiceClient() throws RecognitionException { // $ANTLR start "ruleServiceClient" - // InternalRos.g:2023:1: ruleServiceClient returns [EObject current=null] : (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2073:1: ruleServiceClient returns [EObject current=null] : (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleServiceClient() throws RecognitionException { EObject current = null; @@ -4968,13 +5078,13 @@ public final EObject ruleServiceClient() throws RecognitionException { enterRule(); try { - // InternalRos.g:2029:2: ( (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:2030:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2079:2: ( (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2080:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:2030:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:2031:3: otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2080:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2081:3: otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,60,FOLLOW_3); + otherlv_0=(Token)match(input,61,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getServiceClientAccess().getServiceClientKeyword_0()); @@ -4982,15 +5092,15 @@ public final EObject ruleServiceClient() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getServiceClientAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_7); + otherlv_2=(Token)match(input,48,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getServiceClientAccess().getNameKeyword_2()); - // InternalRos.g:2043:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2044:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2093:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2094:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2044:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2045:5: lv_name_3_0= ruleEString + // InternalRos.g:2094:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2095:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getServiceClientAccess().getNameEStringParserRuleCall_3_0()); @@ -5017,15 +5127,15 @@ public final EObject ruleServiceClient() throws RecognitionException { } - otherlv_4=(Token)match(input,56,FOLLOW_7); + otherlv_4=(Token)match(input,57,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getServiceClientAccess().getServiceKeyword_4()); - // InternalRos.g:2066:3: ( ( ruleEString ) ) - // InternalRos.g:2067:4: ( ruleEString ) + // InternalRos.g:2116:3: ( ( ruleEString ) ) + // InternalRos.g:2117:4: ( ruleEString ) { - // InternalRos.g:2067:4: ( ruleEString ) - // InternalRos.g:2068:5: ruleEString + // InternalRos.g:2117:4: ( ruleEString ) + // InternalRos.g:2118:5: ruleEString { if (current==null) { @@ -5049,31 +5159,31 @@ public final EObject ruleServiceClient() throws RecognitionException { } - // InternalRos.g:2082:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt46=2; - int LA46_0 = input.LA(1); + // InternalRos.g:2132:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA46_0==57) ) { - alt46=1; + if ( (LA48_0==58) ) { + alt48=1; } - switch (alt46) { + switch (alt48) { case 1 : - // InternalRos.g:2083:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2133:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,57,FOLLOW_44); + otherlv_6=(Token)match(input,58,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getServiceClientAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:2087:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:2088:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2137:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2138:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:2088:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:2089:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2138:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2139:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getServiceClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_namespace_7_0=ruleNamespace(); state._fsp--; @@ -5128,7 +5238,7 @@ public final EObject ruleServiceClient() throws RecognitionException { // $ANTLR start "entryRuleActionServer" - // InternalRos.g:2115:1: entryRuleActionServer returns [EObject current=null] : iv_ruleActionServer= ruleActionServer EOF ; + // InternalRos.g:2165:1: entryRuleActionServer returns [EObject current=null] : iv_ruleActionServer= ruleActionServer EOF ; public final EObject entryRuleActionServer() throws RecognitionException { EObject current = null; @@ -5136,8 +5246,8 @@ public final EObject entryRuleActionServer() throws RecognitionException { try { - // InternalRos.g:2115:53: (iv_ruleActionServer= ruleActionServer EOF ) - // InternalRos.g:2116:2: iv_ruleActionServer= ruleActionServer EOF + // InternalRos.g:2165:53: (iv_ruleActionServer= ruleActionServer EOF ) + // InternalRos.g:2166:2: iv_ruleActionServer= ruleActionServer EOF { newCompositeNode(grammarAccess.getActionServerRule()); pushFollow(FOLLOW_1); @@ -5164,7 +5274,7 @@ public final EObject entryRuleActionServer() throws RecognitionException { // $ANTLR start "ruleActionServer" - // InternalRos.g:2122:1: ruleActionServer returns [EObject current=null] : (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2172:1: ruleActionServer returns [EObject current=null] : (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleActionServer() throws RecognitionException { EObject current = null; @@ -5183,13 +5293,13 @@ public final EObject ruleActionServer() throws RecognitionException { enterRule(); try { - // InternalRos.g:2128:2: ( (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:2129:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2178:2: ( (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2179:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:2129:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:2130:3: otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2179:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2180:3: otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,61,FOLLOW_3); + otherlv_0=(Token)match(input,62,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getActionServerAccess().getActionServerKeyword_0()); @@ -5197,15 +5307,15 @@ public final EObject ruleActionServer() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getActionServerAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_7); + otherlv_2=(Token)match(input,48,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getActionServerAccess().getNameKeyword_2()); - // InternalRos.g:2142:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2143:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2192:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2193:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2143:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2144:5: lv_name_3_0= ruleEString + // InternalRos.g:2193:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2194:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getActionServerAccess().getNameEStringParserRuleCall_3_0()); @@ -5232,15 +5342,15 @@ public final EObject ruleActionServer() throws RecognitionException { } - otherlv_4=(Token)match(input,62,FOLLOW_7); + otherlv_4=(Token)match(input,63,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getActionServerAccess().getActionKeyword_4()); - // InternalRos.g:2165:3: ( ( ruleEString ) ) - // InternalRos.g:2166:4: ( ruleEString ) + // InternalRos.g:2215:3: ( ( ruleEString ) ) + // InternalRos.g:2216:4: ( ruleEString ) { - // InternalRos.g:2166:4: ( ruleEString ) - // InternalRos.g:2167:5: ruleEString + // InternalRos.g:2216:4: ( ruleEString ) + // InternalRos.g:2217:5: ruleEString { if (current==null) { @@ -5264,31 +5374,31 @@ public final EObject ruleActionServer() throws RecognitionException { } - // InternalRos.g:2181:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt47=2; - int LA47_0 = input.LA(1); + // InternalRos.g:2231:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt49=2; + int LA49_0 = input.LA(1); - if ( (LA47_0==57) ) { - alt47=1; + if ( (LA49_0==58) ) { + alt49=1; } - switch (alt47) { + switch (alt49) { case 1 : - // InternalRos.g:2182:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2232:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,57,FOLLOW_44); + otherlv_6=(Token)match(input,58,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getActionServerAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:2186:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:2187:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2236:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2237:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:2187:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:2188:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2237:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2238:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getActionServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_namespace_7_0=ruleNamespace(); state._fsp--; @@ -5343,7 +5453,7 @@ public final EObject ruleActionServer() throws RecognitionException { // $ANTLR start "entryRuleActionClient" - // InternalRos.g:2214:1: entryRuleActionClient returns [EObject current=null] : iv_ruleActionClient= ruleActionClient EOF ; + // InternalRos.g:2264:1: entryRuleActionClient returns [EObject current=null] : iv_ruleActionClient= ruleActionClient EOF ; public final EObject entryRuleActionClient() throws RecognitionException { EObject current = null; @@ -5351,8 +5461,8 @@ public final EObject entryRuleActionClient() throws RecognitionException { try { - // InternalRos.g:2214:53: (iv_ruleActionClient= ruleActionClient EOF ) - // InternalRos.g:2215:2: iv_ruleActionClient= ruleActionClient EOF + // InternalRos.g:2264:53: (iv_ruleActionClient= ruleActionClient EOF ) + // InternalRos.g:2265:2: iv_ruleActionClient= ruleActionClient EOF { newCompositeNode(grammarAccess.getActionClientRule()); pushFollow(FOLLOW_1); @@ -5379,7 +5489,7 @@ public final EObject entryRuleActionClient() throws RecognitionException { // $ANTLR start "ruleActionClient" - // InternalRos.g:2221:1: ruleActionClient returns [EObject current=null] : (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2271:1: ruleActionClient returns [EObject current=null] : (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleActionClient() throws RecognitionException { EObject current = null; @@ -5398,13 +5508,13 @@ public final EObject ruleActionClient() throws RecognitionException { enterRule(); try { - // InternalRos.g:2227:2: ( (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:2228:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2277:2: ( (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2278:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:2228:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:2229:3: otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2278:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2279:3: otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,63,FOLLOW_3); + otherlv_0=(Token)match(input,64,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getActionClientAccess().getActionClientKeyword_0()); @@ -5412,15 +5522,15 @@ public final EObject ruleActionClient() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getActionClientAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_7); + otherlv_2=(Token)match(input,48,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getActionClientAccess().getNameKeyword_2()); - // InternalRos.g:2241:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2242:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2291:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2292:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2242:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2243:5: lv_name_3_0= ruleEString + // InternalRos.g:2292:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2293:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getActionClientAccess().getNameEStringParserRuleCall_3_0()); @@ -5447,15 +5557,15 @@ public final EObject ruleActionClient() throws RecognitionException { } - otherlv_4=(Token)match(input,62,FOLLOW_7); + otherlv_4=(Token)match(input,63,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getActionClientAccess().getActionKeyword_4()); - // InternalRos.g:2264:3: ( ( ruleEString ) ) - // InternalRos.g:2265:4: ( ruleEString ) + // InternalRos.g:2314:3: ( ( ruleEString ) ) + // InternalRos.g:2315:4: ( ruleEString ) { - // InternalRos.g:2265:4: ( ruleEString ) - // InternalRos.g:2266:5: ruleEString + // InternalRos.g:2315:4: ( ruleEString ) + // InternalRos.g:2316:5: ruleEString { if (current==null) { @@ -5479,31 +5589,31 @@ public final EObject ruleActionClient() throws RecognitionException { } - // InternalRos.g:2280:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt48=2; - int LA48_0 = input.LA(1); + // InternalRos.g:2330:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt50=2; + int LA50_0 = input.LA(1); - if ( (LA48_0==57) ) { - alt48=1; + if ( (LA50_0==58) ) { + alt50=1; } - switch (alt48) { + switch (alt50) { case 1 : - // InternalRos.g:2281:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2331:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,57,FOLLOW_44); + otherlv_6=(Token)match(input,58,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getActionClientAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:2285:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:2286:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2335:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2336:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:2286:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:2287:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2336:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2337:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getActionClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_namespace_7_0=ruleNamespace(); state._fsp--; @@ -5558,7 +5668,7 @@ public final EObject ruleActionClient() throws RecognitionException { // $ANTLR start "entryRuleGraphName" - // InternalRos.g:2313:1: entryRuleGraphName returns [String current=null] : iv_ruleGraphName= ruleGraphName EOF ; + // InternalRos.g:2363:1: entryRuleGraphName returns [String current=null] : iv_ruleGraphName= ruleGraphName EOF ; public final String entryRuleGraphName() throws RecognitionException { String current = null; @@ -5566,8 +5676,8 @@ public final String entryRuleGraphName() throws RecognitionException { try { - // InternalRos.g:2313:49: (iv_ruleGraphName= ruleGraphName EOF ) - // InternalRos.g:2314:2: iv_ruleGraphName= ruleGraphName EOF + // InternalRos.g:2363:49: (iv_ruleGraphName= ruleGraphName EOF ) + // InternalRos.g:2364:2: iv_ruleGraphName= ruleGraphName EOF { newCompositeNode(grammarAccess.getGraphNameRule()); pushFollow(FOLLOW_1); @@ -5594,7 +5704,7 @@ public final String entryRuleGraphName() throws RecognitionException { // $ANTLR start "ruleGraphName" - // InternalRos.g:2320:1: ruleGraphName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'GraphName' ; + // InternalRos.g:2370:1: ruleGraphName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'GraphName' ; public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -5604,10 +5714,10 @@ public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException enterRule(); try { - // InternalRos.g:2326:2: (kw= 'GraphName' ) - // InternalRos.g:2327:2: kw= 'GraphName' + // InternalRos.g:2376:2: (kw= 'GraphName' ) + // InternalRos.g:2377:2: kw= 'GraphName' { - kw=(Token)match(input,64,FOLLOW_2); + kw=(Token)match(input,65,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getGraphNameAccess().getGraphNameKeyword()); @@ -5632,7 +5742,7 @@ public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException // $ANTLR start "entryRulePackageDependency" - // InternalRos.g:2335:1: entryRulePackageDependency returns [EObject current=null] : iv_rulePackageDependency= rulePackageDependency EOF ; + // InternalRos.g:2385:1: entryRulePackageDependency returns [EObject current=null] : iv_rulePackageDependency= rulePackageDependency EOF ; public final EObject entryRulePackageDependency() throws RecognitionException { EObject current = null; @@ -5640,8 +5750,8 @@ public final EObject entryRulePackageDependency() throws RecognitionException { try { - // InternalRos.g:2335:58: (iv_rulePackageDependency= rulePackageDependency EOF ) - // InternalRos.g:2336:2: iv_rulePackageDependency= rulePackageDependency EOF + // InternalRos.g:2385:58: (iv_rulePackageDependency= rulePackageDependency EOF ) + // InternalRos.g:2386:2: iv_rulePackageDependency= rulePackageDependency EOF { newCompositeNode(grammarAccess.getPackageDependencyRule()); pushFollow(FOLLOW_1); @@ -5668,51 +5778,39 @@ public final EObject entryRulePackageDependency() throws RecognitionException { // $ANTLR start "rulePackageDependency" - // InternalRos.g:2342:1: rulePackageDependency returns [EObject current=null] : (otherlv_0= 'PackageDependency' ( ( ruleEString ) ) ) ; + // InternalRos.g:2392:1: rulePackageDependency returns [EObject current=null] : ( ( ruleEString ) ) ; public final EObject rulePackageDependency() throws RecognitionException { EObject current = null; - Token otherlv_0=null; - enterRule(); try { - // InternalRos.g:2348:2: ( (otherlv_0= 'PackageDependency' ( ( ruleEString ) ) ) ) - // InternalRos.g:2349:2: (otherlv_0= 'PackageDependency' ( ( ruleEString ) ) ) + // InternalRos.g:2398:2: ( ( ( ruleEString ) ) ) + // InternalRos.g:2399:2: ( ( ruleEString ) ) { - // InternalRos.g:2349:2: (otherlv_0= 'PackageDependency' ( ( ruleEString ) ) ) - // InternalRos.g:2350:3: otherlv_0= 'PackageDependency' ( ( ruleEString ) ) + // InternalRos.g:2399:2: ( ( ruleEString ) ) + // InternalRos.g:2400:3: ( ruleEString ) { - otherlv_0=(Token)match(input,65,FOLLOW_7); - - newLeafNode(otherlv_0, grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); - - // InternalRos.g:2354:3: ( ( ruleEString ) ) - // InternalRos.g:2355:4: ( ruleEString ) - { - // InternalRos.g:2355:4: ( ruleEString ) - // InternalRos.g:2356:5: ruleEString + // InternalRos.g:2400:3: ( ruleEString ) + // InternalRos.g:2401:4: ruleEString { - if (current==null) { - current = createModelElement(grammarAccess.getPackageDependencyRule()); - } - + if (current==null) { + current = createModelElement(grammarAccess.getPackageDependencyRule()); + } + - newCompositeNode(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); - + newCompositeNode(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); + pushFollow(FOLLOW_2); ruleEString(); state._fsp--; - afterParserOrEnumRuleCall(); - - - } - + afterParserOrEnumRuleCall(); + } @@ -5739,7 +5837,7 @@ public final EObject rulePackageDependency() throws RecognitionException { // $ANTLR start "entryRuleExternalDependency" - // InternalRos.g:2374:1: entryRuleExternalDependency returns [EObject current=null] : iv_ruleExternalDependency= ruleExternalDependency EOF ; + // InternalRos.g:2418:1: entryRuleExternalDependency returns [EObject current=null] : iv_ruleExternalDependency= ruleExternalDependency EOF ; public final EObject entryRuleExternalDependency() throws RecognitionException { EObject current = null; @@ -5747,8 +5845,8 @@ public final EObject entryRuleExternalDependency() throws RecognitionException { try { - // InternalRos.g:2374:59: (iv_ruleExternalDependency= ruleExternalDependency EOF ) - // InternalRos.g:2375:2: iv_ruleExternalDependency= ruleExternalDependency EOF + // InternalRos.g:2418:59: (iv_ruleExternalDependency= ruleExternalDependency EOF ) + // InternalRos.g:2419:2: iv_ruleExternalDependency= ruleExternalDependency EOF { newCompositeNode(grammarAccess.getExternalDependencyRule()); pushFollow(FOLLOW_1); @@ -5775,7 +5873,7 @@ public final EObject entryRuleExternalDependency() throws RecognitionException { // $ANTLR start "ruleExternalDependency" - // InternalRos.g:2381:1: ruleExternalDependency returns [EObject current=null] : ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ; + // InternalRos.g:2425:1: ruleExternalDependency returns [EObject current=null] : ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ; public final EObject ruleExternalDependency() throws RecognitionException { EObject current = null; @@ -5787,14 +5885,14 @@ public final EObject ruleExternalDependency() throws RecognitionException { enterRule(); try { - // InternalRos.g:2387:2: ( ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ) - // InternalRos.g:2388:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) + // InternalRos.g:2431:2: ( ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ) + // InternalRos.g:2432:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) { - // InternalRos.g:2388:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) - // InternalRos.g:2389:3: () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:2432:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) + // InternalRos.g:2433:3: () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) { - // InternalRos.g:2389:3: () - // InternalRos.g:2390:4: + // InternalRos.g:2433:3: () + // InternalRos.g:2434:4: { current = forceCreateModelElement( @@ -5808,11 +5906,11 @@ public final EObject ruleExternalDependency() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getExternalDependencyAccess().getExternalDependencyKeyword_1()); - // InternalRos.g:2400:3: ( (lv_name_2_0= ruleEString ) ) - // InternalRos.g:2401:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:2444:3: ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:2445:4: (lv_name_2_0= ruleEString ) { - // InternalRos.g:2401:4: (lv_name_2_0= ruleEString ) - // InternalRos.g:2402:5: lv_name_2_0= ruleEString + // InternalRos.g:2445:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:2446:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getExternalDependencyAccess().getNameEStringParserRuleCall_2_0()); @@ -5862,7 +5960,7 @@ public final EObject ruleExternalDependency() throws RecognitionException { // $ANTLR start "entryRuleGlobalNamespace" - // InternalRos.g:2423:1: entryRuleGlobalNamespace returns [EObject current=null] : iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ; + // InternalRos.g:2467:1: entryRuleGlobalNamespace returns [EObject current=null] : iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ; public final EObject entryRuleGlobalNamespace() throws RecognitionException { EObject current = null; @@ -5870,8 +5968,8 @@ public final EObject entryRuleGlobalNamespace() throws RecognitionException { try { - // InternalRos.g:2423:56: (iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ) - // InternalRos.g:2424:2: iv_ruleGlobalNamespace= ruleGlobalNamespace EOF + // InternalRos.g:2467:56: (iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ) + // InternalRos.g:2468:2: iv_ruleGlobalNamespace= ruleGlobalNamespace EOF { newCompositeNode(grammarAccess.getGlobalNamespaceRule()); pushFollow(FOLLOW_1); @@ -5898,7 +5996,7 @@ public final EObject entryRuleGlobalNamespace() throws RecognitionException { // $ANTLR start "ruleGlobalNamespace" - // InternalRos.g:2430:1: ruleGlobalNamespace returns [EObject current=null] : ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRos.g:2474:1: ruleGlobalNamespace returns [EObject current=null] : ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject ruleGlobalNamespace() throws RecognitionException { EObject current = null; @@ -5918,14 +6016,14 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { enterRule(); try { - // InternalRos.g:2436:2: ( ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRos.g:2437:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2480:2: ( ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRos.g:2481:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRos.g:2437:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRos.g:2438:3: () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRos.g:2481:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2482:3: () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRos.g:2438:3: () - // InternalRos.g:2439:4: + // InternalRos.g:2482:3: () + // InternalRos.g:2483:4: { current = forceCreateModelElement( @@ -5943,16 +6041,16 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:2453:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt50=2; - int LA50_0 = input.LA(1); + // InternalRos.g:2497:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA50_0==68) ) { - alt50=1; + if ( (LA52_0==68) ) { + alt52=1; } - switch (alt50) { + switch (alt52) { case 1 : - // InternalRos.g:2454:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRos.g:2498:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { otherlv_3=(Token)match(input,68,FOLLOW_3); @@ -5962,11 +6060,11 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRos.g:2462:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRos.g:2463:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2506:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRos.g:2507:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRos.g:2463:5: (lv_parts_5_0= ruleGraphName ) - // InternalRos.g:2464:6: lv_parts_5_0= ruleGraphName + // InternalRos.g:2507:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2508:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); @@ -5993,30 +6091,30 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { } - // InternalRos.g:2481:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop49: + // InternalRos.g:2525:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop51: do { - int alt49=2; - int LA49_0 = input.LA(1); + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA49_0==27) ) { - alt49=1; + if ( (LA51_0==27) ) { + alt51=1; } - switch (alt49) { + switch (alt51) { case 1 : - // InternalRos.g:2482:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2526:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { otherlv_6=(Token)match(input,27,FOLLOW_48); newLeafNode(otherlv_6, grammarAccess.getGlobalNamespaceAccess().getCommaKeyword_3_3_0()); - // InternalRos.g:2486:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRos.g:2487:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2530:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2531:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRos.g:2487:6: (lv_parts_7_0= ruleGraphName ) - // InternalRos.g:2488:7: lv_parts_7_0= ruleGraphName + // InternalRos.g:2531:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2532:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); @@ -6048,11 +6146,11 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { break; default : - break loop49; + break loop51; } } while (true); - otherlv_8=(Token)match(input,28,FOLLOW_14); + otherlv_8=(Token)match(input,28,FOLLOW_15); newLeafNode(otherlv_8, grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_3_4()); @@ -6089,7 +6187,7 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { // $ANTLR start "entryRuleRelativeNamespace_Impl" - // InternalRos.g:2519:1: entryRuleRelativeNamespace_Impl returns [EObject current=null] : iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ; + // InternalRos.g:2563:1: entryRuleRelativeNamespace_Impl returns [EObject current=null] : iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ; public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionException { EObject current = null; @@ -6097,8 +6195,8 @@ public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionExcepti try { - // InternalRos.g:2519:63: (iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ) - // InternalRos.g:2520:2: iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF + // InternalRos.g:2563:63: (iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ) + // InternalRos.g:2564:2: iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF { newCompositeNode(grammarAccess.getRelativeNamespace_ImplRule()); pushFollow(FOLLOW_1); @@ -6125,7 +6223,7 @@ public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionExcepti // $ANTLR start "ruleRelativeNamespace_Impl" - // InternalRos.g:2526:1: ruleRelativeNamespace_Impl returns [EObject current=null] : ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRos.g:2570:1: ruleRelativeNamespace_Impl returns [EObject current=null] : ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { EObject current = null; @@ -6145,14 +6243,14 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { enterRule(); try { - // InternalRos.g:2532:2: ( ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRos.g:2533:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2576:2: ( ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRos.g:2577:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRos.g:2533:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRos.g:2534:3: () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRos.g:2577:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2578:3: () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRos.g:2534:3: () - // InternalRos.g:2535:4: + // InternalRos.g:2578:3: () + // InternalRos.g:2579:4: { current = forceCreateModelElement( @@ -6170,16 +6268,16 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:2549:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt52=2; - int LA52_0 = input.LA(1); + // InternalRos.g:2593:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA52_0==68) ) { - alt52=1; + if ( (LA54_0==68) ) { + alt54=1; } - switch (alt52) { + switch (alt54) { case 1 : - // InternalRos.g:2550:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRos.g:2594:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { otherlv_3=(Token)match(input,68,FOLLOW_3); @@ -6189,11 +6287,11 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRos.g:2558:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRos.g:2559:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2602:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRos.g:2603:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRos.g:2559:5: (lv_parts_5_0= ruleGraphName ) - // InternalRos.g:2560:6: lv_parts_5_0= ruleGraphName + // InternalRos.g:2603:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2604:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_2_0()); @@ -6220,30 +6318,30 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { } - // InternalRos.g:2577:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop51: + // InternalRos.g:2621:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop53: do { - int alt51=2; - int LA51_0 = input.LA(1); + int alt53=2; + int LA53_0 = input.LA(1); - if ( (LA51_0==27) ) { - alt51=1; + if ( (LA53_0==27) ) { + alt53=1; } - switch (alt51) { + switch (alt53) { case 1 : - // InternalRos.g:2578:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2622:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { otherlv_6=(Token)match(input,27,FOLLOW_48); newLeafNode(otherlv_6, grammarAccess.getRelativeNamespace_ImplAccess().getCommaKeyword_3_3_0()); - // InternalRos.g:2582:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRos.g:2583:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2626:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2627:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRos.g:2583:6: (lv_parts_7_0= ruleGraphName ) - // InternalRos.g:2584:7: lv_parts_7_0= ruleGraphName + // InternalRos.g:2627:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2628:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); @@ -6275,11 +6373,11 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { break; default : - break loop51; + break loop53; } } while (true); - otherlv_8=(Token)match(input,28,FOLLOW_14); + otherlv_8=(Token)match(input,28,FOLLOW_15); newLeafNode(otherlv_8, grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_3_4()); @@ -6316,7 +6414,7 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { // $ANTLR start "entryRulePrivateNamespace" - // InternalRos.g:2615:1: entryRulePrivateNamespace returns [EObject current=null] : iv_rulePrivateNamespace= rulePrivateNamespace EOF ; + // InternalRos.g:2659:1: entryRulePrivateNamespace returns [EObject current=null] : iv_rulePrivateNamespace= rulePrivateNamespace EOF ; public final EObject entryRulePrivateNamespace() throws RecognitionException { EObject current = null; @@ -6324,8 +6422,8 @@ public final EObject entryRulePrivateNamespace() throws RecognitionException { try { - // InternalRos.g:2615:57: (iv_rulePrivateNamespace= rulePrivateNamespace EOF ) - // InternalRos.g:2616:2: iv_rulePrivateNamespace= rulePrivateNamespace EOF + // InternalRos.g:2659:57: (iv_rulePrivateNamespace= rulePrivateNamespace EOF ) + // InternalRos.g:2660:2: iv_rulePrivateNamespace= rulePrivateNamespace EOF { newCompositeNode(grammarAccess.getPrivateNamespaceRule()); pushFollow(FOLLOW_1); @@ -6352,7 +6450,7 @@ public final EObject entryRulePrivateNamespace() throws RecognitionException { // $ANTLR start "rulePrivateNamespace" - // InternalRos.g:2622:1: rulePrivateNamespace returns [EObject current=null] : ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRos.g:2666:1: rulePrivateNamespace returns [EObject current=null] : ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject rulePrivateNamespace() throws RecognitionException { EObject current = null; @@ -6372,14 +6470,14 @@ public final EObject rulePrivateNamespace() throws RecognitionException { enterRule(); try { - // InternalRos.g:2628:2: ( ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRos.g:2629:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2672:2: ( ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRos.g:2673:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRos.g:2629:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRos.g:2630:3: () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRos.g:2673:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2674:3: () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRos.g:2630:3: () - // InternalRos.g:2631:4: + // InternalRos.g:2674:3: () + // InternalRos.g:2675:4: { current = forceCreateModelElement( @@ -6397,16 +6495,16 @@ public final EObject rulePrivateNamespace() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:2645:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt54=2; - int LA54_0 = input.LA(1); + // InternalRos.g:2689:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt56=2; + int LA56_0 = input.LA(1); - if ( (LA54_0==68) ) { - alt54=1; + if ( (LA56_0==68) ) { + alt56=1; } - switch (alt54) { + switch (alt56) { case 1 : - // InternalRos.g:2646:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRos.g:2690:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { otherlv_3=(Token)match(input,68,FOLLOW_3); @@ -6416,11 +6514,11 @@ public final EObject rulePrivateNamespace() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRos.g:2654:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRos.g:2655:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2698:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRos.g:2699:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRos.g:2655:5: (lv_parts_5_0= ruleGraphName ) - // InternalRos.g:2656:6: lv_parts_5_0= ruleGraphName + // InternalRos.g:2699:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2700:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); @@ -6447,30 +6545,30 @@ public final EObject rulePrivateNamespace() throws RecognitionException { } - // InternalRos.g:2673:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop53: + // InternalRos.g:2717:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop55: do { - int alt53=2; - int LA53_0 = input.LA(1); + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA53_0==27) ) { - alt53=1; + if ( (LA55_0==27) ) { + alt55=1; } - switch (alt53) { + switch (alt55) { case 1 : - // InternalRos.g:2674:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2718:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { otherlv_6=(Token)match(input,27,FOLLOW_48); newLeafNode(otherlv_6, grammarAccess.getPrivateNamespaceAccess().getCommaKeyword_3_3_0()); - // InternalRos.g:2678:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRos.g:2679:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2722:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2723:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRos.g:2679:6: (lv_parts_7_0= ruleGraphName ) - // InternalRos.g:2680:7: lv_parts_7_0= ruleGraphName + // InternalRos.g:2723:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2724:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); @@ -6502,11 +6600,11 @@ public final EObject rulePrivateNamespace() throws RecognitionException { break; default : - break loop53; + break loop55; } } while (true); - otherlv_8=(Token)match(input,28,FOLLOW_14); + otherlv_8=(Token)match(input,28,FOLLOW_15); newLeafNode(otherlv_8, grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_3_4()); @@ -6543,7 +6641,7 @@ public final EObject rulePrivateNamespace() throws RecognitionException { // $ANTLR start "entryRuleParameter" - // InternalRos.g:2711:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; + // InternalRos.g:2755:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; public final EObject entryRuleParameter() throws RecognitionException { EObject current = null; @@ -6551,8 +6649,8 @@ public final EObject entryRuleParameter() throws RecognitionException { try { - // InternalRos.g:2711:50: (iv_ruleParameter= ruleParameter EOF ) - // InternalRos.g:2712:2: iv_ruleParameter= ruleParameter EOF + // InternalRos.g:2755:50: (iv_ruleParameter= ruleParameter EOF ) + // InternalRos.g:2756:2: iv_ruleParameter= ruleParameter EOF { newCompositeNode(grammarAccess.getParameterRule()); pushFollow(FOLLOW_1); @@ -6579,7 +6677,7 @@ public final EObject entryRuleParameter() throws RecognitionException { // $ANTLR start "ruleParameter" - // InternalRos.g:2718:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ; + // InternalRos.g:2762:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ; public final EObject ruleParameter() throws RecognitionException { EObject current = null; @@ -6600,11 +6698,11 @@ public final EObject ruleParameter() throws RecognitionException { enterRule(); try { - // InternalRos.g:2724:2: ( (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ) - // InternalRos.g:2725:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) + // InternalRos.g:2768:2: ( (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ) + // InternalRos.g:2769:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) { - // InternalRos.g:2725:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) - // InternalRos.g:2726:3: otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' + // InternalRos.g:2769:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) + // InternalRos.g:2770:3: otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' { otherlv_0=(Token)match(input,71,FOLLOW_3); @@ -6614,15 +6712,15 @@ public final EObject ruleParameter() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,47,FOLLOW_7); + otherlv_2=(Token)match(input,48,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getNameKeyword_2()); - // InternalRos.g:2738:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2739:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2782:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2783:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2739:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2740:5: lv_name_3_0= ruleEString + // InternalRos.g:2783:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2784:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_3_0()); @@ -6649,26 +6747,26 @@ public final EObject ruleParameter() throws RecognitionException { } - // InternalRos.g:2757:3: (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? - int alt55=2; - int LA55_0 = input.LA(1); + // InternalRos.g:2801:3: (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA55_0==57) ) { - alt55=1; + if ( (LA57_0==58) ) { + alt57=1; } - switch (alt55) { + switch (alt57) { case 1 : - // InternalRos.g:2758:4: otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) + // InternalRos.g:2802:4: otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) { - otherlv_4=(Token)match(input,57,FOLLOW_44); + otherlv_4=(Token)match(input,58,FOLLOW_44); newLeafNode(otherlv_4, grammarAccess.getParameterAccess().getNamespaceKeyword_4_0()); - // InternalRos.g:2762:4: ( (lv_namespace_5_0= ruleNamespace ) ) - // InternalRos.g:2763:5: (lv_namespace_5_0= ruleNamespace ) + // InternalRos.g:2806:4: ( (lv_namespace_5_0= ruleNamespace ) ) + // InternalRos.g:2807:5: (lv_namespace_5_0= ruleNamespace ) { - // InternalRos.g:2763:5: (lv_namespace_5_0= ruleNamespace ) - // InternalRos.g:2764:6: lv_namespace_5_0= ruleNamespace + // InternalRos.g:2807:5: (lv_namespace_5_0= ruleNamespace ) + // InternalRos.g:2808:6: lv_namespace_5_0= ruleNamespace { newCompositeNode(grammarAccess.getParameterAccess().getNamespaceNamespaceParserRuleCall_4_1_0()); @@ -6705,16 +6803,16 @@ public final EObject ruleParameter() throws RecognitionException { newLeafNode(otherlv_6, grammarAccess.getParameterAccess().getTypeKeyword_5()); - // InternalRos.g:2786:3: ( (lv_type_7_0= ruleParameterType ) ) - // InternalRos.g:2787:4: (lv_type_7_0= ruleParameterType ) + // InternalRos.g:2830:3: ( (lv_type_7_0= ruleParameterType ) ) + // InternalRos.g:2831:4: (lv_type_7_0= ruleParameterType ) { - // InternalRos.g:2787:4: (lv_type_7_0= ruleParameterType ) - // InternalRos.g:2788:5: lv_type_7_0= ruleParameterType + // InternalRos.g:2831:4: (lv_type_7_0= ruleParameterType ) + // InternalRos.g:2832:5: lv_type_7_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterAccess().getTypeParameterTypeParserRuleCall_6_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_type_7_0=ruleParameterType(); state._fsp--; @@ -6763,7 +6861,7 @@ public final EObject ruleParameter() throws RecognitionException { // $ANTLR start "entryRuleParameterType" - // InternalRos.g:2813:1: entryRuleParameterType returns [EObject current=null] : iv_ruleParameterType= ruleParameterType EOF ; + // InternalRos.g:2857:1: entryRuleParameterType returns [EObject current=null] : iv_ruleParameterType= ruleParameterType EOF ; public final EObject entryRuleParameterType() throws RecognitionException { EObject current = null; @@ -6771,8 +6869,8 @@ public final EObject entryRuleParameterType() throws RecognitionException { try { - // InternalRos.g:2813:54: (iv_ruleParameterType= ruleParameterType EOF ) - // InternalRos.g:2814:2: iv_ruleParameterType= ruleParameterType EOF + // InternalRos.g:2857:54: (iv_ruleParameterType= ruleParameterType EOF ) + // InternalRos.g:2858:2: iv_ruleParameterType= ruleParameterType EOF { newCompositeNode(grammarAccess.getParameterTypeRule()); pushFollow(FOLLOW_1); @@ -6799,7 +6897,7 @@ public final EObject entryRuleParameterType() throws RecognitionException { // $ANTLR start "ruleParameterType" - // InternalRos.g:2820:1: ruleParameterType returns [EObject current=null] : (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ; + // InternalRos.g:2864:1: ruleParameterType returns [EObject current=null] : (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ; public final EObject ruleParameterType() throws RecognitionException { EObject current = null; @@ -6824,62 +6922,62 @@ public final EObject ruleParameterType() throws RecognitionException { enterRule(); try { - // InternalRos.g:2826:2: ( (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ) - // InternalRos.g:2827:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) + // InternalRos.g:2870:2: ( (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ) + // InternalRos.g:2871:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) { - // InternalRos.g:2827:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) - int alt56=8; + // InternalRos.g:2871:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) + int alt58=8; switch ( input.LA(1) ) { case 73: { - alt56=1; + alt58=1; } break; case 74: { - alt56=2; + alt58=2; } break; case 75: { - alt56=3; + alt58=3; } break; - case 40: + case 41: { - alt56=4; + alt58=4; } break; case 77: { - alt56=5; + alt58=5; } break; case 78: { - alt56=6; + alt58=6; } break; case 79: { - alt56=7; + alt58=7; } break; case 80: { - alt56=8; + alt58=8; } break; default: NoViableAltException nvae = - new NoViableAltException("", 56, 0, input); + new NoViableAltException("", 58, 0, input); throw nvae; } - switch (alt56) { + switch (alt58) { case 1 : - // InternalRos.g:2828:3: this_ParameterListType_0= ruleParameterListType + // InternalRos.g:2872:3: this_ParameterListType_0= ruleParameterListType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterListTypeParserRuleCall_0()); @@ -6897,7 +6995,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 2 : - // InternalRos.g:2837:3: this_ParameterStructType_1= ruleParameterStructType + // InternalRos.g:2881:3: this_ParameterStructType_1= ruleParameterStructType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterStructTypeParserRuleCall_1()); @@ -6915,7 +7013,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 3 : - // InternalRos.g:2846:3: this_ParameterIntegerType_2= ruleParameterIntegerType + // InternalRos.g:2890:3: this_ParameterIntegerType_2= ruleParameterIntegerType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterIntegerTypeParserRuleCall_2()); @@ -6933,7 +7031,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 4 : - // InternalRos.g:2855:3: this_ParameterStringType_3= ruleParameterStringType + // InternalRos.g:2899:3: this_ParameterStringType_3= ruleParameterStringType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterStringTypeParserRuleCall_3()); @@ -6951,7 +7049,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 5 : - // InternalRos.g:2864:3: this_ParameterDoubleType_4= ruleParameterDoubleType + // InternalRos.g:2908:3: this_ParameterDoubleType_4= ruleParameterDoubleType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterDoubleTypeParserRuleCall_4()); @@ -6969,7 +7067,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 6 : - // InternalRos.g:2873:3: this_ParameterBooleanType_5= ruleParameterBooleanType + // InternalRos.g:2917:3: this_ParameterBooleanType_5= ruleParameterBooleanType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterBooleanTypeParserRuleCall_5()); @@ -6987,7 +7085,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 7 : - // InternalRos.g:2882:3: this_ParameterBase64Type_6= ruleParameterBase64Type + // InternalRos.g:2926:3: this_ParameterBase64Type_6= ruleParameterBase64Type { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterBase64TypeParserRuleCall_6()); @@ -7005,7 +7103,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 8 : - // InternalRos.g:2891:3: this_ParameterArrayType_7= ruleParameterArrayType + // InternalRos.g:2935:3: this_ParameterArrayType_7= ruleParameterArrayType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterArrayTypeParserRuleCall_7()); @@ -7045,7 +7143,7 @@ public final EObject ruleParameterType() throws RecognitionException { // $ANTLR start "entryRuleParameterValue" - // InternalRos.g:2903:1: entryRuleParameterValue returns [EObject current=null] : iv_ruleParameterValue= ruleParameterValue EOF ; + // InternalRos.g:2947:1: entryRuleParameterValue returns [EObject current=null] : iv_ruleParameterValue= ruleParameterValue EOF ; public final EObject entryRuleParameterValue() throws RecognitionException { EObject current = null; @@ -7053,8 +7151,8 @@ public final EObject entryRuleParameterValue() throws RecognitionException { try { - // InternalRos.g:2903:55: (iv_ruleParameterValue= ruleParameterValue EOF ) - // InternalRos.g:2904:2: iv_ruleParameterValue= ruleParameterValue EOF + // InternalRos.g:2947:55: (iv_ruleParameterValue= ruleParameterValue EOF ) + // InternalRos.g:2948:2: iv_ruleParameterValue= ruleParameterValue EOF { newCompositeNode(grammarAccess.getParameterValueRule()); pushFollow(FOLLOW_1); @@ -7081,7 +7179,7 @@ public final EObject entryRuleParameterValue() throws RecognitionException { // $ANTLR start "ruleParameterValue" - // InternalRos.g:2910:1: ruleParameterValue returns [EObject current=null] : (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ; + // InternalRos.g:2954:1: ruleParameterValue returns [EObject current=null] : (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ; public final EObject ruleParameterValue() throws RecognitionException { EObject current = null; @@ -7104,51 +7202,51 @@ public final EObject ruleParameterValue() throws RecognitionException { enterRule(); try { - // InternalRos.g:2916:2: ( (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ) - // InternalRos.g:2917:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) + // InternalRos.g:2960:2: ( (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ) + // InternalRos.g:2961:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) { - // InternalRos.g:2917:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) - int alt57=7; + // InternalRos.g:2961:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) + int alt59=7; switch ( input.LA(1) ) { case RULE_STRING: case RULE_ID: { - alt57=1; + alt59=1; } break; case RULE_BINARY: { - alt57=2; + alt59=2; } break; case RULE_DECINT: { - alt57=3; + alt59=3; } break; case RULE_DOUBLE: { - alt57=4; + alt59=4; } break; case RULE_BOOLEAN: { - alt57=5; + alt59=5; } break; case 26: { - int LA57_6 = input.LA(2); + int LA59_6 = input.LA(2); - if ( ((LA57_6>=RULE_STRING && LA57_6<=RULE_ID)||(LA57_6>=RULE_BINARY && LA57_6<=RULE_DECINT)||(LA57_6>=26 && LA57_6<=28)) ) { - alt57=6; + if ( ((LA59_6>=RULE_STRING && LA59_6<=RULE_ID)||(LA59_6>=RULE_BINARY && LA59_6<=RULE_DECINT)||(LA59_6>=26 && LA59_6<=28)) ) { + alt59=6; } - else if ( (LA57_6==83) ) { - alt57=7; + else if ( (LA59_6==83) ) { + alt59=7; } else { NoViableAltException nvae = - new NoViableAltException("", 57, 6, input); + new NoViableAltException("", 59, 6, input); throw nvae; } @@ -7158,19 +7256,19 @@ else if ( (LA57_6==83) ) { case 27: case 28: { - alt57=7; + alt59=7; } break; default: NoViableAltException nvae = - new NoViableAltException("", 57, 0, input); + new NoViableAltException("", 59, 0, input); throw nvae; } - switch (alt57) { + switch (alt59) { case 1 : - // InternalRos.g:2918:3: this_ParameterString_0= ruleParameterString + // InternalRos.g:2962:3: this_ParameterString_0= ruleParameterString { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterStringParserRuleCall_0()); @@ -7188,7 +7286,7 @@ else if ( (LA57_6==83) ) { } break; case 2 : - // InternalRos.g:2927:3: this_ParameterBase64_1= ruleParameterBase64 + // InternalRos.g:2971:3: this_ParameterBase64_1= ruleParameterBase64 { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterBase64ParserRuleCall_1()); @@ -7206,7 +7304,7 @@ else if ( (LA57_6==83) ) { } break; case 3 : - // InternalRos.g:2936:3: this_ParameterInteger_2= ruleParameterInteger + // InternalRos.g:2980:3: this_ParameterInteger_2= ruleParameterInteger { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterIntegerParserRuleCall_2()); @@ -7224,7 +7322,7 @@ else if ( (LA57_6==83) ) { } break; case 4 : - // InternalRos.g:2945:3: this_ParameterDouble_3= ruleParameterDouble + // InternalRos.g:2989:3: this_ParameterDouble_3= ruleParameterDouble { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterDoubleParserRuleCall_3()); @@ -7242,7 +7340,7 @@ else if ( (LA57_6==83) ) { } break; case 5 : - // InternalRos.g:2954:3: this_ParameterBoolean_4= ruleParameterBoolean + // InternalRos.g:2998:3: this_ParameterBoolean_4= ruleParameterBoolean { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterBooleanParserRuleCall_4()); @@ -7260,7 +7358,7 @@ else if ( (LA57_6==83) ) { } break; case 6 : - // InternalRos.g:2963:3: this_ParameterList_5= ruleParameterList + // InternalRos.g:3007:3: this_ParameterList_5= ruleParameterList { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterListParserRuleCall_5()); @@ -7278,7 +7376,7 @@ else if ( (LA57_6==83) ) { } break; case 7 : - // InternalRos.g:2972:3: this_ParameterStruct_6= ruleParameterStruct + // InternalRos.g:3016:3: this_ParameterStruct_6= ruleParameterStruct { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterStructParserRuleCall_6()); @@ -7318,7 +7416,7 @@ else if ( (LA57_6==83) ) { // $ANTLR start "entryRuleParameterListType" - // InternalRos.g:2984:1: entryRuleParameterListType returns [EObject current=null] : iv_ruleParameterListType= ruleParameterListType EOF ; + // InternalRos.g:3028:1: entryRuleParameterListType returns [EObject current=null] : iv_ruleParameterListType= ruleParameterListType EOF ; public final EObject entryRuleParameterListType() throws RecognitionException { EObject current = null; @@ -7326,8 +7424,8 @@ public final EObject entryRuleParameterListType() throws RecognitionException { try { - // InternalRos.g:2984:58: (iv_ruleParameterListType= ruleParameterListType EOF ) - // InternalRos.g:2985:2: iv_ruleParameterListType= ruleParameterListType EOF + // InternalRos.g:3028:58: (iv_ruleParameterListType= ruleParameterListType EOF ) + // InternalRos.g:3029:2: iv_ruleParameterListType= ruleParameterListType EOF { newCompositeNode(grammarAccess.getParameterListTypeRule()); pushFollow(FOLLOW_1); @@ -7354,7 +7452,7 @@ public final EObject entryRuleParameterListType() throws RecognitionException { // $ANTLR start "ruleParameterListType" - // InternalRos.g:2991:1: ruleParameterListType returns [EObject current=null] : ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ; + // InternalRos.g:3035:1: ruleParameterListType returns [EObject current=null] : ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ; public final EObject ruleParameterListType() throws RecognitionException { EObject current = null; @@ -7371,14 +7469,14 @@ public final EObject ruleParameterListType() throws RecognitionException { enterRule(); try { - // InternalRos.g:2997:2: ( ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ) - // InternalRos.g:2998:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) + // InternalRos.g:3041:2: ( ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ) + // InternalRos.g:3042:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) { - // InternalRos.g:2998:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) - // InternalRos.g:2999:3: () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' + // InternalRos.g:3042:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) + // InternalRos.g:3043:3: () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' { - // InternalRos.g:2999:3: () - // InternalRos.g:3000:4: + // InternalRos.g:3043:3: () + // InternalRos.g:3044:4: { current = forceCreateModelElement( @@ -7396,11 +7494,11 @@ public final EObject ruleParameterListType() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterListTypeAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:3014:3: ( (lv_sequence_3_0= ruleParameterType ) ) - // InternalRos.g:3015:4: (lv_sequence_3_0= ruleParameterType ) + // InternalRos.g:3058:3: ( (lv_sequence_3_0= ruleParameterType ) ) + // InternalRos.g:3059:4: (lv_sequence_3_0= ruleParameterType ) { - // InternalRos.g:3015:4: (lv_sequence_3_0= ruleParameterType ) - // InternalRos.g:3016:5: lv_sequence_3_0= ruleParameterType + // InternalRos.g:3059:4: (lv_sequence_3_0= ruleParameterType ) + // InternalRos.g:3060:5: lv_sequence_3_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_3_0()); @@ -7427,30 +7525,30 @@ public final EObject ruleParameterListType() throws RecognitionException { } - // InternalRos.g:3033:3: (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* - loop58: + // InternalRos.g:3077:3: (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* + loop60: do { - int alt58=2; - int LA58_0 = input.LA(1); + int alt60=2; + int LA60_0 = input.LA(1); - if ( (LA58_0==27) ) { - alt58=1; + if ( (LA60_0==27) ) { + alt60=1; } - switch (alt58) { + switch (alt60) { case 1 : - // InternalRos.g:3034:4: otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) + // InternalRos.g:3078:4: otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) { otherlv_4=(Token)match(input,27,FOLLOW_51); newLeafNode(otherlv_4, grammarAccess.getParameterListTypeAccess().getCommaKeyword_4_0()); - // InternalRos.g:3038:4: ( (lv_sequence_5_0= ruleParameterType ) ) - // InternalRos.g:3039:5: (lv_sequence_5_0= ruleParameterType ) + // InternalRos.g:3082:4: ( (lv_sequence_5_0= ruleParameterType ) ) + // InternalRos.g:3083:5: (lv_sequence_5_0= ruleParameterType ) { - // InternalRos.g:3039:5: (lv_sequence_5_0= ruleParameterType ) - // InternalRos.g:3040:6: lv_sequence_5_0= ruleParameterType + // InternalRos.g:3083:5: (lv_sequence_5_0= ruleParameterType ) + // InternalRos.g:3084:6: lv_sequence_5_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_4_1_0()); @@ -7482,7 +7580,7 @@ public final EObject ruleParameterListType() throws RecognitionException { break; default : - break loop58; + break loop60; } } while (true); @@ -7513,7 +7611,7 @@ public final EObject ruleParameterListType() throws RecognitionException { // $ANTLR start "entryRuleParameterStructType" - // InternalRos.g:3066:1: entryRuleParameterStructType returns [EObject current=null] : iv_ruleParameterStructType= ruleParameterStructType EOF ; + // InternalRos.g:3110:1: entryRuleParameterStructType returns [EObject current=null] : iv_ruleParameterStructType= ruleParameterStructType EOF ; public final EObject entryRuleParameterStructType() throws RecognitionException { EObject current = null; @@ -7521,8 +7619,8 @@ public final EObject entryRuleParameterStructType() throws RecognitionException try { - // InternalRos.g:3066:60: (iv_ruleParameterStructType= ruleParameterStructType EOF ) - // InternalRos.g:3067:2: iv_ruleParameterStructType= ruleParameterStructType EOF + // InternalRos.g:3110:60: (iv_ruleParameterStructType= ruleParameterStructType EOF ) + // InternalRos.g:3111:2: iv_ruleParameterStructType= ruleParameterStructType EOF { newCompositeNode(grammarAccess.getParameterStructTypeRule()); pushFollow(FOLLOW_1); @@ -7549,7 +7647,7 @@ public final EObject entryRuleParameterStructType() throws RecognitionException // $ANTLR start "ruleParameterStructType" - // InternalRos.g:3073:1: ruleParameterStructType returns [EObject current=null] : ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ; + // InternalRos.g:3117:1: ruleParameterStructType returns [EObject current=null] : ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ; public final EObject ruleParameterStructType() throws RecognitionException { EObject current = null; @@ -7566,14 +7664,14 @@ public final EObject ruleParameterStructType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3079:2: ( ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ) - // InternalRos.g:3080:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) + // InternalRos.g:3123:2: ( ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ) + // InternalRos.g:3124:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) { - // InternalRos.g:3080:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) - // InternalRos.g:3081:3: () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' + // InternalRos.g:3124:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) + // InternalRos.g:3125:3: () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' { - // InternalRos.g:3081:3: () - // InternalRos.g:3082:4: + // InternalRos.g:3125:3: () + // InternalRos.g:3126:4: { current = forceCreateModelElement( @@ -7591,11 +7689,11 @@ public final EObject ruleParameterStructType() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterStructTypeAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:3096:3: ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) - // InternalRos.g:3097:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) + // InternalRos.g:3140:3: ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) + // InternalRos.g:3141:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) { - // InternalRos.g:3097:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) - // InternalRos.g:3098:5: lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember + // InternalRos.g:3141:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) + // InternalRos.g:3142:5: lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember { newCompositeNode(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0()); @@ -7622,30 +7720,30 @@ public final EObject ruleParameterStructType() throws RecognitionException { } - // InternalRos.g:3115:3: (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* - loop59: + // InternalRos.g:3159:3: (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* + loop61: do { - int alt59=2; - int LA59_0 = input.LA(1); + int alt61=2; + int LA61_0 = input.LA(1); - if ( (LA59_0==27) ) { - alt59=1; + if ( (LA61_0==27) ) { + alt61=1; } - switch (alt59) { + switch (alt61) { case 1 : - // InternalRos.g:3116:4: otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) + // InternalRos.g:3160:4: otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) { otherlv_4=(Token)match(input,27,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getParameterStructTypeAccess().getCommaKeyword_4_0()); - // InternalRos.g:3120:4: ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) - // InternalRos.g:3121:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) + // InternalRos.g:3164:4: ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) + // InternalRos.g:3165:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) { - // InternalRos.g:3121:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) - // InternalRos.g:3122:6: lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember + // InternalRos.g:3165:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) + // InternalRos.g:3166:6: lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember { newCompositeNode(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0()); @@ -7677,7 +7775,7 @@ public final EObject ruleParameterStructType() throws RecognitionException { break; default : - break loop59; + break loop61; } } while (true); @@ -7708,7 +7806,7 @@ public final EObject ruleParameterStructType() throws RecognitionException { // $ANTLR start "entryRuleParameterIntegerType" - // InternalRos.g:3148:1: entryRuleParameterIntegerType returns [EObject current=null] : iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ; + // InternalRos.g:3192:1: entryRuleParameterIntegerType returns [EObject current=null] : iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ; public final EObject entryRuleParameterIntegerType() throws RecognitionException { EObject current = null; @@ -7716,8 +7814,8 @@ public final EObject entryRuleParameterIntegerType() throws RecognitionException try { - // InternalRos.g:3148:61: (iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ) - // InternalRos.g:3149:2: iv_ruleParameterIntegerType= ruleParameterIntegerType EOF + // InternalRos.g:3192:61: (iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ) + // InternalRos.g:3193:2: iv_ruleParameterIntegerType= ruleParameterIntegerType EOF { newCompositeNode(grammarAccess.getParameterIntegerTypeRule()); pushFollow(FOLLOW_1); @@ -7744,7 +7842,7 @@ public final EObject entryRuleParameterIntegerType() throws RecognitionException // $ANTLR start "ruleParameterIntegerType" - // InternalRos.g:3155:1: ruleParameterIntegerType returns [EObject current=null] : ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ; + // InternalRos.g:3199:1: ruleParameterIntegerType returns [EObject current=null] : ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ; public final EObject ruleParameterIntegerType() throws RecognitionException { EObject current = null; @@ -7757,14 +7855,14 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3161:2: ( ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ) - // InternalRos.g:3162:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) + // InternalRos.g:3205:2: ( ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ) + // InternalRos.g:3206:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) { - // InternalRos.g:3162:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) - // InternalRos.g:3163:3: () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? + // InternalRos.g:3206:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) + // InternalRos.g:3207:3: () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? { - // InternalRos.g:3163:3: () - // InternalRos.g:3164:4: + // InternalRos.g:3207:3: () + // InternalRos.g:3208:4: { current = forceCreateModelElement( @@ -7778,30 +7876,30 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); - // InternalRos.g:3174:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? - int alt60=2; - int LA60_0 = input.LA(1); + // InternalRos.g:3218:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? + int alt62=2; + int LA62_0 = input.LA(1); - if ( (LA60_0==76) ) { - int LA60_1 = input.LA(2); + if ( (LA62_0==76) ) { + int LA62_1 = input.LA(2); - if ( (LA60_1==RULE_DECINT) ) { - alt60=1; + if ( (LA62_1==RULE_DECINT) ) { + alt62=1; } } - switch (alt60) { + switch (alt62) { case 1 : - // InternalRos.g:3175:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) + // InternalRos.g:3219:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) { otherlv_2=(Token)match(input,76,FOLLOW_53); newLeafNode(otherlv_2, grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3179:4: ( (lv_default_3_0= ruleParameterInteger ) ) - // InternalRos.g:3180:5: (lv_default_3_0= ruleParameterInteger ) + // InternalRos.g:3223:4: ( (lv_default_3_0= ruleParameterInteger ) ) + // InternalRos.g:3224:5: (lv_default_3_0= ruleParameterInteger ) { - // InternalRos.g:3180:5: (lv_default_3_0= ruleParameterInteger ) - // InternalRos.g:3181:6: lv_default_3_0= ruleParameterInteger + // InternalRos.g:3224:5: (lv_default_3_0= ruleParameterInteger ) + // InternalRos.g:3225:6: lv_default_3_0= ruleParameterInteger { newCompositeNode(grammarAccess.getParameterIntegerTypeAccess().getDefaultParameterIntegerParserRuleCall_2_1_0()); @@ -7857,7 +7955,7 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { // $ANTLR start "entryRuleParameterStringType" - // InternalRos.g:3203:1: entryRuleParameterStringType returns [EObject current=null] : iv_ruleParameterStringType= ruleParameterStringType EOF ; + // InternalRos.g:3247:1: entryRuleParameterStringType returns [EObject current=null] : iv_ruleParameterStringType= ruleParameterStringType EOF ; public final EObject entryRuleParameterStringType() throws RecognitionException { EObject current = null; @@ -7865,8 +7963,8 @@ public final EObject entryRuleParameterStringType() throws RecognitionException try { - // InternalRos.g:3203:60: (iv_ruleParameterStringType= ruleParameterStringType EOF ) - // InternalRos.g:3204:2: iv_ruleParameterStringType= ruleParameterStringType EOF + // InternalRos.g:3247:60: (iv_ruleParameterStringType= ruleParameterStringType EOF ) + // InternalRos.g:3248:2: iv_ruleParameterStringType= ruleParameterStringType EOF { newCompositeNode(grammarAccess.getParameterStringTypeRule()); pushFollow(FOLLOW_1); @@ -7893,7 +7991,7 @@ public final EObject entryRuleParameterStringType() throws RecognitionException // $ANTLR start "ruleParameterStringType" - // InternalRos.g:3210:1: ruleParameterStringType returns [EObject current=null] : ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ; + // InternalRos.g:3254:1: ruleParameterStringType returns [EObject current=null] : ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ; public final EObject ruleParameterStringType() throws RecognitionException { EObject current = null; @@ -7906,14 +8004,14 @@ public final EObject ruleParameterStringType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3216:2: ( ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ) - // InternalRos.g:3217:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) + // InternalRos.g:3260:2: ( ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ) + // InternalRos.g:3261:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) { - // InternalRos.g:3217:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) - // InternalRos.g:3218:3: () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? + // InternalRos.g:3261:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) + // InternalRos.g:3262:3: () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? { - // InternalRos.g:3218:3: () - // InternalRos.g:3219:4: + // InternalRos.g:3262:3: () + // InternalRos.g:3263:4: { current = forceCreateModelElement( @@ -7923,34 +8021,34 @@ public final EObject ruleParameterStringType() throws RecognitionException { } - otherlv_1=(Token)match(input,40,FOLLOW_52); + otherlv_1=(Token)match(input,41,FOLLOW_52); newLeafNode(otherlv_1, grammarAccess.getParameterStringTypeAccess().getStringKeyword_1()); - // InternalRos.g:3229:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? - int alt61=2; - int LA61_0 = input.LA(1); + // InternalRos.g:3273:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA61_0==76) ) { - int LA61_1 = input.LA(2); + if ( (LA63_0==76) ) { + int LA63_1 = input.LA(2); - if ( ((LA61_1>=RULE_STRING && LA61_1<=RULE_ID)) ) { - alt61=1; + if ( ((LA63_1>=RULE_STRING && LA63_1<=RULE_ID)) ) { + alt63=1; } } - switch (alt61) { + switch (alt63) { case 1 : - // InternalRos.g:3230:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) + // InternalRos.g:3274:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) { otherlv_2=(Token)match(input,76,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3234:4: ( (lv_default_3_0= ruleParameterString ) ) - // InternalRos.g:3235:5: (lv_default_3_0= ruleParameterString ) + // InternalRos.g:3278:4: ( (lv_default_3_0= ruleParameterString ) ) + // InternalRos.g:3279:5: (lv_default_3_0= ruleParameterString ) { - // InternalRos.g:3235:5: (lv_default_3_0= ruleParameterString ) - // InternalRos.g:3236:6: lv_default_3_0= ruleParameterString + // InternalRos.g:3279:5: (lv_default_3_0= ruleParameterString ) + // InternalRos.g:3280:6: lv_default_3_0= ruleParameterString { newCompositeNode(grammarAccess.getParameterStringTypeAccess().getDefaultParameterStringParserRuleCall_2_1_0()); @@ -8006,7 +8104,7 @@ public final EObject ruleParameterStringType() throws RecognitionException { // $ANTLR start "entryRuleParameterDoubleType" - // InternalRos.g:3258:1: entryRuleParameterDoubleType returns [EObject current=null] : iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ; + // InternalRos.g:3302:1: entryRuleParameterDoubleType returns [EObject current=null] : iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ; public final EObject entryRuleParameterDoubleType() throws RecognitionException { EObject current = null; @@ -8014,8 +8112,8 @@ public final EObject entryRuleParameterDoubleType() throws RecognitionException try { - // InternalRos.g:3258:60: (iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ) - // InternalRos.g:3259:2: iv_ruleParameterDoubleType= ruleParameterDoubleType EOF + // InternalRos.g:3302:60: (iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ) + // InternalRos.g:3303:2: iv_ruleParameterDoubleType= ruleParameterDoubleType EOF { newCompositeNode(grammarAccess.getParameterDoubleTypeRule()); pushFollow(FOLLOW_1); @@ -8042,7 +8140,7 @@ public final EObject entryRuleParameterDoubleType() throws RecognitionException // $ANTLR start "ruleParameterDoubleType" - // InternalRos.g:3265:1: ruleParameterDoubleType returns [EObject current=null] : ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ; + // InternalRos.g:3309:1: ruleParameterDoubleType returns [EObject current=null] : ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ; public final EObject ruleParameterDoubleType() throws RecognitionException { EObject current = null; @@ -8055,14 +8153,14 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3271:2: ( ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ) - // InternalRos.g:3272:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) + // InternalRos.g:3315:2: ( ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ) + // InternalRos.g:3316:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) { - // InternalRos.g:3272:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) - // InternalRos.g:3273:3: () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? + // InternalRos.g:3316:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) + // InternalRos.g:3317:3: () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? { - // InternalRos.g:3273:3: () - // InternalRos.g:3274:4: + // InternalRos.g:3317:3: () + // InternalRos.g:3318:4: { current = forceCreateModelElement( @@ -8076,30 +8174,30 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); - // InternalRos.g:3284:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? - int alt62=2; - int LA62_0 = input.LA(1); + // InternalRos.g:3328:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? + int alt64=2; + int LA64_0 = input.LA(1); - if ( (LA62_0==76) ) { - int LA62_1 = input.LA(2); + if ( (LA64_0==76) ) { + int LA64_1 = input.LA(2); - if ( (LA62_1==RULE_DOUBLE) ) { - alt62=1; + if ( (LA64_1==RULE_DOUBLE) ) { + alt64=1; } } - switch (alt62) { + switch (alt64) { case 1 : - // InternalRos.g:3285:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) + // InternalRos.g:3329:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) { otherlv_2=(Token)match(input,76,FOLLOW_54); newLeafNode(otherlv_2, grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3289:4: ( (lv_default_3_0= ruleParameterDouble ) ) - // InternalRos.g:3290:5: (lv_default_3_0= ruleParameterDouble ) + // InternalRos.g:3333:4: ( (lv_default_3_0= ruleParameterDouble ) ) + // InternalRos.g:3334:5: (lv_default_3_0= ruleParameterDouble ) { - // InternalRos.g:3290:5: (lv_default_3_0= ruleParameterDouble ) - // InternalRos.g:3291:6: lv_default_3_0= ruleParameterDouble + // InternalRos.g:3334:5: (lv_default_3_0= ruleParameterDouble ) + // InternalRos.g:3335:6: lv_default_3_0= ruleParameterDouble { newCompositeNode(grammarAccess.getParameterDoubleTypeAccess().getDefaultParameterDoubleParserRuleCall_2_1_0()); @@ -8155,7 +8253,7 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { // $ANTLR start "entryRuleParameterBooleanType" - // InternalRos.g:3313:1: entryRuleParameterBooleanType returns [EObject current=null] : iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ; + // InternalRos.g:3357:1: entryRuleParameterBooleanType returns [EObject current=null] : iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ; public final EObject entryRuleParameterBooleanType() throws RecognitionException { EObject current = null; @@ -8163,8 +8261,8 @@ public final EObject entryRuleParameterBooleanType() throws RecognitionException try { - // InternalRos.g:3313:61: (iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ) - // InternalRos.g:3314:2: iv_ruleParameterBooleanType= ruleParameterBooleanType EOF + // InternalRos.g:3357:61: (iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ) + // InternalRos.g:3358:2: iv_ruleParameterBooleanType= ruleParameterBooleanType EOF { newCompositeNode(grammarAccess.getParameterBooleanTypeRule()); pushFollow(FOLLOW_1); @@ -8191,7 +8289,7 @@ public final EObject entryRuleParameterBooleanType() throws RecognitionException // $ANTLR start "ruleParameterBooleanType" - // InternalRos.g:3320:1: ruleParameterBooleanType returns [EObject current=null] : ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ; + // InternalRos.g:3364:1: ruleParameterBooleanType returns [EObject current=null] : ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ; public final EObject ruleParameterBooleanType() throws RecognitionException { EObject current = null; @@ -8204,14 +8302,14 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3326:2: ( ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ) - // InternalRos.g:3327:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) + // InternalRos.g:3370:2: ( ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ) + // InternalRos.g:3371:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) { - // InternalRos.g:3327:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) - // InternalRos.g:3328:3: () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? + // InternalRos.g:3371:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) + // InternalRos.g:3372:3: () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? { - // InternalRos.g:3328:3: () - // InternalRos.g:3329:4: + // InternalRos.g:3372:3: () + // InternalRos.g:3373:4: { current = forceCreateModelElement( @@ -8225,30 +8323,30 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); - // InternalRos.g:3339:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? - int alt63=2; - int LA63_0 = input.LA(1); + // InternalRos.g:3383:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? + int alt65=2; + int LA65_0 = input.LA(1); - if ( (LA63_0==76) ) { - int LA63_1 = input.LA(2); + if ( (LA65_0==76) ) { + int LA65_1 = input.LA(2); - if ( (LA63_1==RULE_BOOLEAN) ) { - alt63=1; + if ( (LA65_1==RULE_BOOLEAN) ) { + alt65=1; } } - switch (alt63) { + switch (alt65) { case 1 : - // InternalRos.g:3340:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) + // InternalRos.g:3384:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) { otherlv_2=(Token)match(input,76,FOLLOW_55); newLeafNode(otherlv_2, grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3344:4: ( (lv_default_3_0= ruleParameterBoolean ) ) - // InternalRos.g:3345:5: (lv_default_3_0= ruleParameterBoolean ) + // InternalRos.g:3388:4: ( (lv_default_3_0= ruleParameterBoolean ) ) + // InternalRos.g:3389:5: (lv_default_3_0= ruleParameterBoolean ) { - // InternalRos.g:3345:5: (lv_default_3_0= ruleParameterBoolean ) - // InternalRos.g:3346:6: lv_default_3_0= ruleParameterBoolean + // InternalRos.g:3389:5: (lv_default_3_0= ruleParameterBoolean ) + // InternalRos.g:3390:6: lv_default_3_0= ruleParameterBoolean { newCompositeNode(grammarAccess.getParameterBooleanTypeAccess().getDefaultParameterBooleanParserRuleCall_2_1_0()); @@ -8304,7 +8402,7 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64Type" - // InternalRos.g:3368:1: entryRuleParameterBase64Type returns [EObject current=null] : iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ; + // InternalRos.g:3412:1: entryRuleParameterBase64Type returns [EObject current=null] : iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ; public final EObject entryRuleParameterBase64Type() throws RecognitionException { EObject current = null; @@ -8312,8 +8410,8 @@ public final EObject entryRuleParameterBase64Type() throws RecognitionException try { - // InternalRos.g:3368:60: (iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ) - // InternalRos.g:3369:2: iv_ruleParameterBase64Type= ruleParameterBase64Type EOF + // InternalRos.g:3412:60: (iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ) + // InternalRos.g:3413:2: iv_ruleParameterBase64Type= ruleParameterBase64Type EOF { newCompositeNode(grammarAccess.getParameterBase64TypeRule()); pushFollow(FOLLOW_1); @@ -8340,7 +8438,7 @@ public final EObject entryRuleParameterBase64Type() throws RecognitionException // $ANTLR start "ruleParameterBase64Type" - // InternalRos.g:3375:1: ruleParameterBase64Type returns [EObject current=null] : ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ; + // InternalRos.g:3419:1: ruleParameterBase64Type returns [EObject current=null] : ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ; public final EObject ruleParameterBase64Type() throws RecognitionException { EObject current = null; @@ -8353,14 +8451,14 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { enterRule(); try { - // InternalRos.g:3381:2: ( ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ) - // InternalRos.g:3382:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) + // InternalRos.g:3425:2: ( ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ) + // InternalRos.g:3426:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) { - // InternalRos.g:3382:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) - // InternalRos.g:3383:3: () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? + // InternalRos.g:3426:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) + // InternalRos.g:3427:3: () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? { - // InternalRos.g:3383:3: () - // InternalRos.g:3384:4: + // InternalRos.g:3427:3: () + // InternalRos.g:3428:4: { current = forceCreateModelElement( @@ -8374,30 +8472,30 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); - // InternalRos.g:3394:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? - int alt64=2; - int LA64_0 = input.LA(1); + // InternalRos.g:3438:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? + int alt66=2; + int LA66_0 = input.LA(1); - if ( (LA64_0==76) ) { - int LA64_1 = input.LA(2); + if ( (LA66_0==76) ) { + int LA66_1 = input.LA(2); - if ( (LA64_1==RULE_BINARY) ) { - alt64=1; + if ( (LA66_1==RULE_BINARY) ) { + alt66=1; } } - switch (alt64) { + switch (alt66) { case 1 : - // InternalRos.g:3395:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) + // InternalRos.g:3439:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) { otherlv_2=(Token)match(input,76,FOLLOW_56); newLeafNode(otherlv_2, grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3399:4: ( (lv_default_3_0= ruleParameterBase64 ) ) - // InternalRos.g:3400:5: (lv_default_3_0= ruleParameterBase64 ) + // InternalRos.g:3443:4: ( (lv_default_3_0= ruleParameterBase64 ) ) + // InternalRos.g:3444:5: (lv_default_3_0= ruleParameterBase64 ) { - // InternalRos.g:3400:5: (lv_default_3_0= ruleParameterBase64 ) - // InternalRos.g:3401:6: lv_default_3_0= ruleParameterBase64 + // InternalRos.g:3444:5: (lv_default_3_0= ruleParameterBase64 ) + // InternalRos.g:3445:6: lv_default_3_0= ruleParameterBase64 { newCompositeNode(grammarAccess.getParameterBase64TypeAccess().getDefaultParameterBase64ParserRuleCall_2_1_0()); @@ -8453,7 +8551,7 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { // $ANTLR start "entryRuleParameterArrayType" - // InternalRos.g:3423:1: entryRuleParameterArrayType returns [EObject current=null] : iv_ruleParameterArrayType= ruleParameterArrayType EOF ; + // InternalRos.g:3467:1: entryRuleParameterArrayType returns [EObject current=null] : iv_ruleParameterArrayType= ruleParameterArrayType EOF ; public final EObject entryRuleParameterArrayType() throws RecognitionException { EObject current = null; @@ -8461,8 +8559,8 @@ public final EObject entryRuleParameterArrayType() throws RecognitionException { try { - // InternalRos.g:3423:59: (iv_ruleParameterArrayType= ruleParameterArrayType EOF ) - // InternalRos.g:3424:2: iv_ruleParameterArrayType= ruleParameterArrayType EOF + // InternalRos.g:3467:59: (iv_ruleParameterArrayType= ruleParameterArrayType EOF ) + // InternalRos.g:3468:2: iv_ruleParameterArrayType= ruleParameterArrayType EOF { newCompositeNode(grammarAccess.getParameterArrayTypeRule()); pushFollow(FOLLOW_1); @@ -8489,7 +8587,7 @@ public final EObject entryRuleParameterArrayType() throws RecognitionException { // $ANTLR start "ruleParameterArrayType" - // InternalRos.g:3430:1: ruleParameterArrayType returns [EObject current=null] : (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ; + // InternalRos.g:3474:1: ruleParameterArrayType returns [EObject current=null] : (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ; public final EObject ruleParameterArrayType() throws RecognitionException { EObject current = null; @@ -8507,11 +8605,11 @@ public final EObject ruleParameterArrayType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3436:2: ( (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ) - // InternalRos.g:3437:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) + // InternalRos.g:3480:2: ( (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ) + // InternalRos.g:3481:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) { - // InternalRos.g:3437:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) - // InternalRos.g:3438:3: otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' + // InternalRos.g:3481:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) + // InternalRos.g:3482:3: otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' { otherlv_0=(Token)match(input,80,FOLLOW_3); @@ -8525,11 +8623,11 @@ public final EObject ruleParameterArrayType() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterArrayTypeAccess().getTypeKeyword_2()); - // InternalRos.g:3450:3: ( (lv_type_3_0= ruleParameterType ) ) - // InternalRos.g:3451:4: (lv_type_3_0= ruleParameterType ) + // InternalRos.g:3494:3: ( (lv_type_3_0= ruleParameterType ) ) + // InternalRos.g:3495:4: (lv_type_3_0= ruleParameterType ) { - // InternalRos.g:3451:4: (lv_type_3_0= ruleParameterType ) - // InternalRos.g:3452:5: lv_type_3_0= ruleParameterType + // InternalRos.g:3495:4: (lv_type_3_0= ruleParameterType ) + // InternalRos.g:3496:5: lv_type_3_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterArrayTypeAccess().getTypeParameterTypeParserRuleCall_3_0()); @@ -8556,31 +8654,31 @@ public final EObject ruleParameterArrayType() throws RecognitionException { } - // InternalRos.g:3469:3: (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? - int alt65=2; - int LA65_0 = input.LA(1); + // InternalRos.g:3513:3: (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA65_0==76) ) { - alt65=1; + if ( (LA67_0==76) ) { + alt67=1; } - switch (alt65) { + switch (alt67) { case 1 : - // InternalRos.g:3470:4: otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) + // InternalRos.g:3514:4: otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) { otherlv_4=(Token)match(input,76,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); - // InternalRos.g:3474:4: ( (lv_default_5_0= ruleParameterList ) ) - // InternalRos.g:3475:5: (lv_default_5_0= ruleParameterList ) + // InternalRos.g:3518:4: ( (lv_default_5_0= ruleParameterList ) ) + // InternalRos.g:3519:5: (lv_default_5_0= ruleParameterList ) { - // InternalRos.g:3475:5: (lv_default_5_0= ruleParameterList ) - // InternalRos.g:3476:6: lv_default_5_0= ruleParameterList + // InternalRos.g:3519:5: (lv_default_5_0= ruleParameterList ) + // InternalRos.g:3520:6: lv_default_5_0= ruleParameterList { newCompositeNode(grammarAccess.getParameterArrayTypeAccess().getDefaultParameterListParserRuleCall_4_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_default_5_0=ruleParameterList(); state._fsp--; @@ -8635,7 +8733,7 @@ public final EObject ruleParameterArrayType() throws RecognitionException { // $ANTLR start "entryRuleParameterList" - // InternalRos.g:3502:1: entryRuleParameterList returns [EObject current=null] : iv_ruleParameterList= ruleParameterList EOF ; + // InternalRos.g:3546:1: entryRuleParameterList returns [EObject current=null] : iv_ruleParameterList= ruleParameterList EOF ; public final EObject entryRuleParameterList() throws RecognitionException { EObject current = null; @@ -8643,8 +8741,8 @@ public final EObject entryRuleParameterList() throws RecognitionException { try { - // InternalRos.g:3502:54: (iv_ruleParameterList= ruleParameterList EOF ) - // InternalRos.g:3503:2: iv_ruleParameterList= ruleParameterList EOF + // InternalRos.g:3546:54: (iv_ruleParameterList= ruleParameterList EOF ) + // InternalRos.g:3547:2: iv_ruleParameterList= ruleParameterList EOF { newCompositeNode(grammarAccess.getParameterListRule()); pushFollow(FOLLOW_1); @@ -8671,7 +8769,7 @@ public final EObject entryRuleParameterList() throws RecognitionException { // $ANTLR start "ruleParameterList" - // InternalRos.g:3509:1: ruleParameterList returns [EObject current=null] : ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ; + // InternalRos.g:3553:1: ruleParameterList returns [EObject current=null] : ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ; public final EObject ruleParameterList() throws RecognitionException { EObject current = null; @@ -8687,14 +8785,14 @@ public final EObject ruleParameterList() throws RecognitionException { enterRule(); try { - // InternalRos.g:3515:2: ( ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ) - // InternalRos.g:3516:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) + // InternalRos.g:3559:2: ( ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ) + // InternalRos.g:3560:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) { - // InternalRos.g:3516:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) - // InternalRos.g:3517:3: () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' + // InternalRos.g:3560:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) + // InternalRos.g:3561:3: () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' { - // InternalRos.g:3517:3: () - // InternalRos.g:3518:4: + // InternalRos.g:3561:3: () + // InternalRos.g:3562:4: { current = forceCreateModelElement( @@ -8708,11 +8806,11 @@ public final EObject ruleParameterList() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterListAccess().getLeftCurlyBracketKeyword_1()); - // InternalRos.g:3528:3: ( (lv_value_2_0= ruleParameterValue ) ) - // InternalRos.g:3529:4: (lv_value_2_0= ruleParameterValue ) + // InternalRos.g:3572:3: ( (lv_value_2_0= ruleParameterValue ) ) + // InternalRos.g:3573:4: (lv_value_2_0= ruleParameterValue ) { - // InternalRos.g:3529:4: (lv_value_2_0= ruleParameterValue ) - // InternalRos.g:3530:5: lv_value_2_0= ruleParameterValue + // InternalRos.g:3573:4: (lv_value_2_0= ruleParameterValue ) + // InternalRos.g:3574:5: lv_value_2_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_2_0()); @@ -8739,30 +8837,30 @@ public final EObject ruleParameterList() throws RecognitionException { } - // InternalRos.g:3547:3: (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* - loop66: + // InternalRos.g:3591:3: (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* + loop68: do { - int alt66=2; - int LA66_0 = input.LA(1); + int alt68=2; + int LA68_0 = input.LA(1); - if ( (LA66_0==27) ) { - alt66=1; + if ( (LA68_0==27) ) { + alt68=1; } - switch (alt66) { + switch (alt68) { case 1 : - // InternalRos.g:3548:4: otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRos.g:3592:4: otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) { otherlv_3=(Token)match(input,27,FOLLOW_58); newLeafNode(otherlv_3, grammarAccess.getParameterListAccess().getCommaKeyword_3_0()); - // InternalRos.g:3552:4: ( (lv_value_4_0= ruleParameterValue ) ) - // InternalRos.g:3553:5: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:3596:4: ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRos.g:3597:5: (lv_value_4_0= ruleParameterValue ) { - // InternalRos.g:3553:5: (lv_value_4_0= ruleParameterValue ) - // InternalRos.g:3554:6: lv_value_4_0= ruleParameterValue + // InternalRos.g:3597:5: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:3598:6: lv_value_4_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_3_1_0()); @@ -8794,7 +8892,7 @@ public final EObject ruleParameterList() throws RecognitionException { break; default : - break loop66; + break loop68; } } while (true); @@ -8825,7 +8923,7 @@ public final EObject ruleParameterList() throws RecognitionException { // $ANTLR start "entryRuleParameterAny" - // InternalRos.g:3580:1: entryRuleParameterAny returns [EObject current=null] : iv_ruleParameterAny= ruleParameterAny EOF ; + // InternalRos.g:3624:1: entryRuleParameterAny returns [EObject current=null] : iv_ruleParameterAny= ruleParameterAny EOF ; public final EObject entryRuleParameterAny() throws RecognitionException { EObject current = null; @@ -8833,8 +8931,8 @@ public final EObject entryRuleParameterAny() throws RecognitionException { try { - // InternalRos.g:3580:53: (iv_ruleParameterAny= ruleParameterAny EOF ) - // InternalRos.g:3581:2: iv_ruleParameterAny= ruleParameterAny EOF + // InternalRos.g:3624:53: (iv_ruleParameterAny= ruleParameterAny EOF ) + // InternalRos.g:3625:2: iv_ruleParameterAny= ruleParameterAny EOF { newCompositeNode(grammarAccess.getParameterAnyRule()); pushFollow(FOLLOW_1); @@ -8861,7 +8959,7 @@ public final EObject entryRuleParameterAny() throws RecognitionException { // $ANTLR start "ruleParameterAny" - // InternalRos.g:3587:1: ruleParameterAny returns [EObject current=null] : ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ; + // InternalRos.g:3631:1: ruleParameterAny returns [EObject current=null] : ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ; public final EObject ruleParameterAny() throws RecognitionException { EObject current = null; @@ -8876,14 +8974,14 @@ public final EObject ruleParameterAny() throws RecognitionException { enterRule(); try { - // InternalRos.g:3593:2: ( ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ) - // InternalRos.g:3594:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) + // InternalRos.g:3637:2: ( ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ) + // InternalRos.g:3638:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) { - // InternalRos.g:3594:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) - // InternalRos.g:3595:3: () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' + // InternalRos.g:3638:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) + // InternalRos.g:3639:3: () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' { - // InternalRos.g:3595:3: () - // InternalRos.g:3596:4: + // InternalRos.g:3639:3: () + // InternalRos.g:3640:4: { current = forceCreateModelElement( @@ -8901,31 +8999,31 @@ public final EObject ruleParameterAny() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterAnyAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:3610:3: (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? - int alt67=2; - int LA67_0 = input.LA(1); + // InternalRos.g:3654:3: (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA67_0==82) ) { - alt67=1; + if ( (LA69_0==82) ) { + alt69=1; } - switch (alt67) { + switch (alt69) { case 1 : - // InternalRos.g:3611:4: otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) + // InternalRos.g:3655:4: otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) { otherlv_3=(Token)match(input,82,FOLLOW_7); newLeafNode(otherlv_3, grammarAccess.getParameterAnyAccess().getValueKeyword_3_0()); - // InternalRos.g:3615:4: ( (lv_value_4_0= ruleEString ) ) - // InternalRos.g:3616:5: (lv_value_4_0= ruleEString ) + // InternalRos.g:3659:4: ( (lv_value_4_0= ruleEString ) ) + // InternalRos.g:3660:5: (lv_value_4_0= ruleEString ) { - // InternalRos.g:3616:5: (lv_value_4_0= ruleEString ) - // InternalRos.g:3617:6: lv_value_4_0= ruleEString + // InternalRos.g:3660:5: (lv_value_4_0= ruleEString ) + // InternalRos.g:3661:6: lv_value_4_0= ruleEString { newCompositeNode(grammarAccess.getParameterAnyAccess().getValueEStringParserRuleCall_3_1_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_value_4_0=ruleEString(); state._fsp--; @@ -8980,7 +9078,7 @@ public final EObject ruleParameterAny() throws RecognitionException { // $ANTLR start "entryRuleParameterString" - // InternalRos.g:3643:1: entryRuleParameterString returns [EObject current=null] : iv_ruleParameterString= ruleParameterString EOF ; + // InternalRos.g:3687:1: entryRuleParameterString returns [EObject current=null] : iv_ruleParameterString= ruleParameterString EOF ; public final EObject entryRuleParameterString() throws RecognitionException { EObject current = null; @@ -8988,8 +9086,8 @@ public final EObject entryRuleParameterString() throws RecognitionException { try { - // InternalRos.g:3643:56: (iv_ruleParameterString= ruleParameterString EOF ) - // InternalRos.g:3644:2: iv_ruleParameterString= ruleParameterString EOF + // InternalRos.g:3687:56: (iv_ruleParameterString= ruleParameterString EOF ) + // InternalRos.g:3688:2: iv_ruleParameterString= ruleParameterString EOF { newCompositeNode(grammarAccess.getParameterStringRule()); pushFollow(FOLLOW_1); @@ -9016,7 +9114,7 @@ public final EObject entryRuleParameterString() throws RecognitionException { // $ANTLR start "ruleParameterString" - // InternalRos.g:3650:1: ruleParameterString returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ; + // InternalRos.g:3694:1: ruleParameterString returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ; public final EObject ruleParameterString() throws RecognitionException { EObject current = null; @@ -9027,14 +9125,14 @@ public final EObject ruleParameterString() throws RecognitionException { enterRule(); try { - // InternalRos.g:3656:2: ( ( (lv_value_0_0= ruleEString ) ) ) - // InternalRos.g:3657:2: ( (lv_value_0_0= ruleEString ) ) + // InternalRos.g:3700:2: ( ( (lv_value_0_0= ruleEString ) ) ) + // InternalRos.g:3701:2: ( (lv_value_0_0= ruleEString ) ) { - // InternalRos.g:3657:2: ( (lv_value_0_0= ruleEString ) ) - // InternalRos.g:3658:3: (lv_value_0_0= ruleEString ) + // InternalRos.g:3701:2: ( (lv_value_0_0= ruleEString ) ) + // InternalRos.g:3702:3: (lv_value_0_0= ruleEString ) { - // InternalRos.g:3658:3: (lv_value_0_0= ruleEString ) - // InternalRos.g:3659:4: lv_value_0_0= ruleEString + // InternalRos.g:3702:3: (lv_value_0_0= ruleEString ) + // InternalRos.g:3703:4: lv_value_0_0= ruleEString { newCompositeNode(grammarAccess.getParameterStringAccess().getValueEStringParserRuleCall_0()); @@ -9081,7 +9179,7 @@ public final EObject ruleParameterString() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64" - // InternalRos.g:3679:1: entryRuleParameterBase64 returns [EObject current=null] : iv_ruleParameterBase64= ruleParameterBase64 EOF ; + // InternalRos.g:3723:1: entryRuleParameterBase64 returns [EObject current=null] : iv_ruleParameterBase64= ruleParameterBase64 EOF ; public final EObject entryRuleParameterBase64() throws RecognitionException { EObject current = null; @@ -9089,8 +9187,8 @@ public final EObject entryRuleParameterBase64() throws RecognitionException { try { - // InternalRos.g:3679:56: (iv_ruleParameterBase64= ruleParameterBase64 EOF ) - // InternalRos.g:3680:2: iv_ruleParameterBase64= ruleParameterBase64 EOF + // InternalRos.g:3723:56: (iv_ruleParameterBase64= ruleParameterBase64 EOF ) + // InternalRos.g:3724:2: iv_ruleParameterBase64= ruleParameterBase64 EOF { newCompositeNode(grammarAccess.getParameterBase64Rule()); pushFollow(FOLLOW_1); @@ -9117,7 +9215,7 @@ public final EObject entryRuleParameterBase64() throws RecognitionException { // $ANTLR start "ruleParameterBase64" - // InternalRos.g:3686:1: ruleParameterBase64 returns [EObject current=null] : ( (lv_value_0_0= ruleBase64Binary ) ) ; + // InternalRos.g:3730:1: ruleParameterBase64 returns [EObject current=null] : ( (lv_value_0_0= ruleBase64Binary ) ) ; public final EObject ruleParameterBase64() throws RecognitionException { EObject current = null; @@ -9128,14 +9226,14 @@ public final EObject ruleParameterBase64() throws RecognitionException { enterRule(); try { - // InternalRos.g:3692:2: ( ( (lv_value_0_0= ruleBase64Binary ) ) ) - // InternalRos.g:3693:2: ( (lv_value_0_0= ruleBase64Binary ) ) + // InternalRos.g:3736:2: ( ( (lv_value_0_0= ruleBase64Binary ) ) ) + // InternalRos.g:3737:2: ( (lv_value_0_0= ruleBase64Binary ) ) { - // InternalRos.g:3693:2: ( (lv_value_0_0= ruleBase64Binary ) ) - // InternalRos.g:3694:3: (lv_value_0_0= ruleBase64Binary ) + // InternalRos.g:3737:2: ( (lv_value_0_0= ruleBase64Binary ) ) + // InternalRos.g:3738:3: (lv_value_0_0= ruleBase64Binary ) { - // InternalRos.g:3694:3: (lv_value_0_0= ruleBase64Binary ) - // InternalRos.g:3695:4: lv_value_0_0= ruleBase64Binary + // InternalRos.g:3738:3: (lv_value_0_0= ruleBase64Binary ) + // InternalRos.g:3739:4: lv_value_0_0= ruleBase64Binary { newCompositeNode(grammarAccess.getParameterBase64Access().getValueBase64BinaryParserRuleCall_0()); @@ -9182,7 +9280,7 @@ public final EObject ruleParameterBase64() throws RecognitionException { // $ANTLR start "entryRuleParameterInteger" - // InternalRos.g:3715:1: entryRuleParameterInteger returns [EObject current=null] : iv_ruleParameterInteger= ruleParameterInteger EOF ; + // InternalRos.g:3759:1: entryRuleParameterInteger returns [EObject current=null] : iv_ruleParameterInteger= ruleParameterInteger EOF ; public final EObject entryRuleParameterInteger() throws RecognitionException { EObject current = null; @@ -9190,8 +9288,8 @@ public final EObject entryRuleParameterInteger() throws RecognitionException { try { - // InternalRos.g:3715:57: (iv_ruleParameterInteger= ruleParameterInteger EOF ) - // InternalRos.g:3716:2: iv_ruleParameterInteger= ruleParameterInteger EOF + // InternalRos.g:3759:57: (iv_ruleParameterInteger= ruleParameterInteger EOF ) + // InternalRos.g:3760:2: iv_ruleParameterInteger= ruleParameterInteger EOF { newCompositeNode(grammarAccess.getParameterIntegerRule()); pushFollow(FOLLOW_1); @@ -9218,7 +9316,7 @@ public final EObject entryRuleParameterInteger() throws RecognitionException { // $ANTLR start "ruleParameterInteger" - // InternalRos.g:3722:1: ruleParameterInteger returns [EObject current=null] : ( (lv_value_0_0= ruleInteger0 ) ) ; + // InternalRos.g:3766:1: ruleParameterInteger returns [EObject current=null] : ( (lv_value_0_0= ruleInteger0 ) ) ; public final EObject ruleParameterInteger() throws RecognitionException { EObject current = null; @@ -9229,14 +9327,14 @@ public final EObject ruleParameterInteger() throws RecognitionException { enterRule(); try { - // InternalRos.g:3728:2: ( ( (lv_value_0_0= ruleInteger0 ) ) ) - // InternalRos.g:3729:2: ( (lv_value_0_0= ruleInteger0 ) ) + // InternalRos.g:3772:2: ( ( (lv_value_0_0= ruleInteger0 ) ) ) + // InternalRos.g:3773:2: ( (lv_value_0_0= ruleInteger0 ) ) { - // InternalRos.g:3729:2: ( (lv_value_0_0= ruleInteger0 ) ) - // InternalRos.g:3730:3: (lv_value_0_0= ruleInteger0 ) + // InternalRos.g:3773:2: ( (lv_value_0_0= ruleInteger0 ) ) + // InternalRos.g:3774:3: (lv_value_0_0= ruleInteger0 ) { - // InternalRos.g:3730:3: (lv_value_0_0= ruleInteger0 ) - // InternalRos.g:3731:4: lv_value_0_0= ruleInteger0 + // InternalRos.g:3774:3: (lv_value_0_0= ruleInteger0 ) + // InternalRos.g:3775:4: lv_value_0_0= ruleInteger0 { newCompositeNode(grammarAccess.getParameterIntegerAccess().getValueInteger0ParserRuleCall_0()); @@ -9283,7 +9381,7 @@ public final EObject ruleParameterInteger() throws RecognitionException { // $ANTLR start "entryRuleParameterDouble" - // InternalRos.g:3751:1: entryRuleParameterDouble returns [EObject current=null] : iv_ruleParameterDouble= ruleParameterDouble EOF ; + // InternalRos.g:3795:1: entryRuleParameterDouble returns [EObject current=null] : iv_ruleParameterDouble= ruleParameterDouble EOF ; public final EObject entryRuleParameterDouble() throws RecognitionException { EObject current = null; @@ -9291,8 +9389,8 @@ public final EObject entryRuleParameterDouble() throws RecognitionException { try { - // InternalRos.g:3751:56: (iv_ruleParameterDouble= ruleParameterDouble EOF ) - // InternalRos.g:3752:2: iv_ruleParameterDouble= ruleParameterDouble EOF + // InternalRos.g:3795:56: (iv_ruleParameterDouble= ruleParameterDouble EOF ) + // InternalRos.g:3796:2: iv_ruleParameterDouble= ruleParameterDouble EOF { newCompositeNode(grammarAccess.getParameterDoubleRule()); pushFollow(FOLLOW_1); @@ -9319,7 +9417,7 @@ public final EObject entryRuleParameterDouble() throws RecognitionException { // $ANTLR start "ruleParameterDouble" - // InternalRos.g:3758:1: ruleParameterDouble returns [EObject current=null] : ( (lv_value_0_0= ruleDouble0 ) ) ; + // InternalRos.g:3802:1: ruleParameterDouble returns [EObject current=null] : ( (lv_value_0_0= ruleDouble0 ) ) ; public final EObject ruleParameterDouble() throws RecognitionException { EObject current = null; @@ -9330,14 +9428,14 @@ public final EObject ruleParameterDouble() throws RecognitionException { enterRule(); try { - // InternalRos.g:3764:2: ( ( (lv_value_0_0= ruleDouble0 ) ) ) - // InternalRos.g:3765:2: ( (lv_value_0_0= ruleDouble0 ) ) + // InternalRos.g:3808:2: ( ( (lv_value_0_0= ruleDouble0 ) ) ) + // InternalRos.g:3809:2: ( (lv_value_0_0= ruleDouble0 ) ) { - // InternalRos.g:3765:2: ( (lv_value_0_0= ruleDouble0 ) ) - // InternalRos.g:3766:3: (lv_value_0_0= ruleDouble0 ) + // InternalRos.g:3809:2: ( (lv_value_0_0= ruleDouble0 ) ) + // InternalRos.g:3810:3: (lv_value_0_0= ruleDouble0 ) { - // InternalRos.g:3766:3: (lv_value_0_0= ruleDouble0 ) - // InternalRos.g:3767:4: lv_value_0_0= ruleDouble0 + // InternalRos.g:3810:3: (lv_value_0_0= ruleDouble0 ) + // InternalRos.g:3811:4: lv_value_0_0= ruleDouble0 { newCompositeNode(grammarAccess.getParameterDoubleAccess().getValueDouble0ParserRuleCall_0()); @@ -9384,7 +9482,7 @@ public final EObject ruleParameterDouble() throws RecognitionException { // $ANTLR start "entryRuleParameterBoolean" - // InternalRos.g:3787:1: entryRuleParameterBoolean returns [EObject current=null] : iv_ruleParameterBoolean= ruleParameterBoolean EOF ; + // InternalRos.g:3831:1: entryRuleParameterBoolean returns [EObject current=null] : iv_ruleParameterBoolean= ruleParameterBoolean EOF ; public final EObject entryRuleParameterBoolean() throws RecognitionException { EObject current = null; @@ -9392,8 +9490,8 @@ public final EObject entryRuleParameterBoolean() throws RecognitionException { try { - // InternalRos.g:3787:57: (iv_ruleParameterBoolean= ruleParameterBoolean EOF ) - // InternalRos.g:3788:2: iv_ruleParameterBoolean= ruleParameterBoolean EOF + // InternalRos.g:3831:57: (iv_ruleParameterBoolean= ruleParameterBoolean EOF ) + // InternalRos.g:3832:2: iv_ruleParameterBoolean= ruleParameterBoolean EOF { newCompositeNode(grammarAccess.getParameterBooleanRule()); pushFollow(FOLLOW_1); @@ -9420,7 +9518,7 @@ public final EObject entryRuleParameterBoolean() throws RecognitionException { // $ANTLR start "ruleParameterBoolean" - // InternalRos.g:3794:1: ruleParameterBoolean returns [EObject current=null] : ( (lv_value_0_0= ruleboolean0 ) ) ; + // InternalRos.g:3838:1: ruleParameterBoolean returns [EObject current=null] : ( (lv_value_0_0= ruleboolean0 ) ) ; public final EObject ruleParameterBoolean() throws RecognitionException { EObject current = null; @@ -9431,14 +9529,14 @@ public final EObject ruleParameterBoolean() throws RecognitionException { enterRule(); try { - // InternalRos.g:3800:2: ( ( (lv_value_0_0= ruleboolean0 ) ) ) - // InternalRos.g:3801:2: ( (lv_value_0_0= ruleboolean0 ) ) + // InternalRos.g:3844:2: ( ( (lv_value_0_0= ruleboolean0 ) ) ) + // InternalRos.g:3845:2: ( (lv_value_0_0= ruleboolean0 ) ) { - // InternalRos.g:3801:2: ( (lv_value_0_0= ruleboolean0 ) ) - // InternalRos.g:3802:3: (lv_value_0_0= ruleboolean0 ) + // InternalRos.g:3845:2: ( (lv_value_0_0= ruleboolean0 ) ) + // InternalRos.g:3846:3: (lv_value_0_0= ruleboolean0 ) { - // InternalRos.g:3802:3: (lv_value_0_0= ruleboolean0 ) - // InternalRos.g:3803:4: lv_value_0_0= ruleboolean0 + // InternalRos.g:3846:3: (lv_value_0_0= ruleboolean0 ) + // InternalRos.g:3847:4: lv_value_0_0= ruleboolean0 { newCompositeNode(grammarAccess.getParameterBooleanAccess().getValueBoolean0ParserRuleCall_0()); @@ -9485,7 +9583,7 @@ public final EObject ruleParameterBoolean() throws RecognitionException { // $ANTLR start "entryRuleParameterStruct" - // InternalRos.g:3823:1: entryRuleParameterStruct returns [EObject current=null] : iv_ruleParameterStruct= ruleParameterStruct EOF ; + // InternalRos.g:3867:1: entryRuleParameterStruct returns [EObject current=null] : iv_ruleParameterStruct= ruleParameterStruct EOF ; public final EObject entryRuleParameterStruct() throws RecognitionException { EObject current = null; @@ -9493,8 +9591,8 @@ public final EObject entryRuleParameterStruct() throws RecognitionException { try { - // InternalRos.g:3823:56: (iv_ruleParameterStruct= ruleParameterStruct EOF ) - // InternalRos.g:3824:2: iv_ruleParameterStruct= ruleParameterStruct EOF + // InternalRos.g:3867:56: (iv_ruleParameterStruct= ruleParameterStruct EOF ) + // InternalRos.g:3868:2: iv_ruleParameterStruct= ruleParameterStruct EOF { newCompositeNode(grammarAccess.getParameterStructRule()); pushFollow(FOLLOW_1); @@ -9521,7 +9619,7 @@ public final EObject entryRuleParameterStruct() throws RecognitionException { // $ANTLR start "ruleParameterStruct" - // InternalRos.g:3830:1: ruleParameterStruct returns [EObject current=null] : ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ; + // InternalRos.g:3874:1: ruleParameterStruct returns [EObject current=null] : ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ; public final EObject ruleParameterStruct() throws RecognitionException { EObject current = null; @@ -9539,14 +9637,14 @@ public final EObject ruleParameterStruct() throws RecognitionException { enterRule(); try { - // InternalRos.g:3836:2: ( ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ) - // InternalRos.g:3837:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) + // InternalRos.g:3880:2: ( ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ) + // InternalRos.g:3881:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) { - // InternalRos.g:3837:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) - // InternalRos.g:3838:3: () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? + // InternalRos.g:3881:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) + // InternalRos.g:3882:3: () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? { - // InternalRos.g:3838:3: () - // InternalRos.g:3839:4: + // InternalRos.g:3882:3: () + // InternalRos.g:3883:4: { current = forceCreateModelElement( @@ -9556,26 +9654,26 @@ public final EObject ruleParameterStruct() throws RecognitionException { } - // InternalRos.g:3845:3: (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? - int alt69=2; - int LA69_0 = input.LA(1); + // InternalRos.g:3889:3: (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? + int alt71=2; + int LA71_0 = input.LA(1); - if ( (LA69_0==26) ) { - alt69=1; + if ( (LA71_0==26) ) { + alt71=1; } - switch (alt69) { + switch (alt71) { case 1 : - // InternalRos.g:3846:4: otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' + // InternalRos.g:3890:4: otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' { otherlv_1=(Token)match(input,26,FOLLOW_60); newLeafNode(otherlv_1, grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_0()); - // InternalRos.g:3850:4: ( (lv_value_2_0= ruleParameterStructMember ) ) - // InternalRos.g:3851:5: (lv_value_2_0= ruleParameterStructMember ) + // InternalRos.g:3894:4: ( (lv_value_2_0= ruleParameterStructMember ) ) + // InternalRos.g:3895:5: (lv_value_2_0= ruleParameterStructMember ) { - // InternalRos.g:3851:5: (lv_value_2_0= ruleParameterStructMember ) - // InternalRos.g:3852:6: lv_value_2_0= ruleParameterStructMember + // InternalRos.g:3895:5: (lv_value_2_0= ruleParameterStructMember ) + // InternalRos.g:3896:6: lv_value_2_0= ruleParameterStructMember { newCompositeNode(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_1_0()); @@ -9602,20 +9700,20 @@ public final EObject ruleParameterStruct() throws RecognitionException { } - // InternalRos.g:3869:4: (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* - loop68: + // InternalRos.g:3913:4: (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* + loop70: do { - int alt68=2; - int LA68_0 = input.LA(1); + int alt70=2; + int LA70_0 = input.LA(1); - if ( (LA68_0==27) ) { - alt68=1; + if ( (LA70_0==27) ) { + alt70=1; } - switch (alt68) { + switch (alt70) { case 1 : - // InternalRos.g:3870:5: otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' + // InternalRos.g:3914:5: otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' { otherlv_3=(Token)match(input,27,FOLLOW_3); @@ -9625,16 +9723,16 @@ public final EObject ruleParameterStruct() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_2_1()); - // InternalRos.g:3878:5: ( (lv_value_5_0= ruleParameterStructMember ) ) - // InternalRos.g:3879:6: (lv_value_5_0= ruleParameterStructMember ) + // InternalRos.g:3922:5: ( (lv_value_5_0= ruleParameterStructMember ) ) + // InternalRos.g:3923:6: (lv_value_5_0= ruleParameterStructMember ) { - // InternalRos.g:3879:6: (lv_value_5_0= ruleParameterStructMember ) - // InternalRos.g:3880:7: lv_value_5_0= ruleParameterStructMember + // InternalRos.g:3923:6: (lv_value_5_0= ruleParameterStructMember ) + // InternalRos.g:3924:7: lv_value_5_0= ruleParameterStructMember { newCompositeNode(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_2_2_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_value_5_0=ruleParameterStructMember(); state._fsp--; @@ -9665,7 +9763,7 @@ public final EObject ruleParameterStruct() throws RecognitionException { break; default : - break loop68; + break loop70; } } while (true); @@ -9702,7 +9800,7 @@ public final EObject ruleParameterStruct() throws RecognitionException { // $ANTLR start "entryRuleParameterDate" - // InternalRos.g:3911:1: entryRuleParameterDate returns [EObject current=null] : iv_ruleParameterDate= ruleParameterDate EOF ; + // InternalRos.g:3955:1: entryRuleParameterDate returns [EObject current=null] : iv_ruleParameterDate= ruleParameterDate EOF ; public final EObject entryRuleParameterDate() throws RecognitionException { EObject current = null; @@ -9710,8 +9808,8 @@ public final EObject entryRuleParameterDate() throws RecognitionException { try { - // InternalRos.g:3911:54: (iv_ruleParameterDate= ruleParameterDate EOF ) - // InternalRos.g:3912:2: iv_ruleParameterDate= ruleParameterDate EOF + // InternalRos.g:3955:54: (iv_ruleParameterDate= ruleParameterDate EOF ) + // InternalRos.g:3956:2: iv_ruleParameterDate= ruleParameterDate EOF { newCompositeNode(grammarAccess.getParameterDateRule()); pushFollow(FOLLOW_1); @@ -9738,7 +9836,7 @@ public final EObject entryRuleParameterDate() throws RecognitionException { // $ANTLR start "ruleParameterDate" - // InternalRos.g:3918:1: ruleParameterDate returns [EObject current=null] : ( (lv_value_0_0= ruleDateTime0 ) ) ; + // InternalRos.g:3962:1: ruleParameterDate returns [EObject current=null] : ( (lv_value_0_0= ruleDateTime0 ) ) ; public final EObject ruleParameterDate() throws RecognitionException { EObject current = null; @@ -9749,14 +9847,14 @@ public final EObject ruleParameterDate() throws RecognitionException { enterRule(); try { - // InternalRos.g:3924:2: ( ( (lv_value_0_0= ruleDateTime0 ) ) ) - // InternalRos.g:3925:2: ( (lv_value_0_0= ruleDateTime0 ) ) + // InternalRos.g:3968:2: ( ( (lv_value_0_0= ruleDateTime0 ) ) ) + // InternalRos.g:3969:2: ( (lv_value_0_0= ruleDateTime0 ) ) { - // InternalRos.g:3925:2: ( (lv_value_0_0= ruleDateTime0 ) ) - // InternalRos.g:3926:3: (lv_value_0_0= ruleDateTime0 ) + // InternalRos.g:3969:2: ( (lv_value_0_0= ruleDateTime0 ) ) + // InternalRos.g:3970:3: (lv_value_0_0= ruleDateTime0 ) { - // InternalRos.g:3926:3: (lv_value_0_0= ruleDateTime0 ) - // InternalRos.g:3927:4: lv_value_0_0= ruleDateTime0 + // InternalRos.g:3970:3: (lv_value_0_0= ruleDateTime0 ) + // InternalRos.g:3971:4: lv_value_0_0= ruleDateTime0 { newCompositeNode(grammarAccess.getParameterDateAccess().getValueDateTime0ParserRuleCall_0()); @@ -9803,7 +9901,7 @@ public final EObject ruleParameterDate() throws RecognitionException { // $ANTLR start "entryRuleParameterStructMember" - // InternalRos.g:3947:1: entryRuleParameterStructMember returns [EObject current=null] : iv_ruleParameterStructMember= ruleParameterStructMember EOF ; + // InternalRos.g:3991:1: entryRuleParameterStructMember returns [EObject current=null] : iv_ruleParameterStructMember= ruleParameterStructMember EOF ; public final EObject entryRuleParameterStructMember() throws RecognitionException { EObject current = null; @@ -9811,8 +9909,8 @@ public final EObject entryRuleParameterStructMember() throws RecognitionExceptio try { - // InternalRos.g:3947:62: (iv_ruleParameterStructMember= ruleParameterStructMember EOF ) - // InternalRos.g:3948:2: iv_ruleParameterStructMember= ruleParameterStructMember EOF + // InternalRos.g:3991:62: (iv_ruleParameterStructMember= ruleParameterStructMember EOF ) + // InternalRos.g:3992:2: iv_ruleParameterStructMember= ruleParameterStructMember EOF { newCompositeNode(grammarAccess.getParameterStructMemberRule()); pushFollow(FOLLOW_1); @@ -9839,7 +9937,7 @@ public final EObject entryRuleParameterStructMember() throws RecognitionExceptio // $ANTLR start "ruleParameterStructMember" - // InternalRos.g:3954:1: ruleParameterStructMember returns [EObject current=null] : (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ; + // InternalRos.g:3998:1: ruleParameterStructMember returns [EObject current=null] : (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ; public final EObject ruleParameterStructMember() throws RecognitionException { EObject current = null; @@ -9856,21 +9954,21 @@ public final EObject ruleParameterStructMember() throws RecognitionException { enterRule(); try { - // InternalRos.g:3960:2: ( (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ) - // InternalRos.g:3961:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) + // InternalRos.g:4004:2: ( (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ) + // InternalRos.g:4005:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) { - // InternalRos.g:3961:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) - // InternalRos.g:3962:3: otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' + // InternalRos.g:4005:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) + // InternalRos.g:4006:3: otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' { otherlv_0=(Token)match(input,83,FOLLOW_7); newLeafNode(otherlv_0, grammarAccess.getParameterStructMemberAccess().getParameterStructMemberKeyword_0()); - // InternalRos.g:3966:3: ( (lv_name_1_0= ruleEString ) ) - // InternalRos.g:3967:4: (lv_name_1_0= ruleEString ) + // InternalRos.g:4010:3: ( (lv_name_1_0= ruleEString ) ) + // InternalRos.g:4011:4: (lv_name_1_0= ruleEString ) { - // InternalRos.g:3967:4: (lv_name_1_0= ruleEString ) - // InternalRos.g:3968:5: lv_name_1_0= ruleEString + // InternalRos.g:4011:4: (lv_name_1_0= ruleEString ) + // InternalRos.g:4012:5: lv_name_1_0= ruleEString { newCompositeNode(grammarAccess.getParameterStructMemberAccess().getNameEStringParserRuleCall_1_0()); @@ -9905,16 +10003,16 @@ public final EObject ruleParameterStructMember() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getParameterStructMemberAccess().getValueKeyword_3()); - // InternalRos.g:3993:3: ( (lv_value_4_0= ruleParameterValue ) ) - // InternalRos.g:3994:4: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:4037:3: ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRos.g:4038:4: (lv_value_4_0= ruleParameterValue ) { - // InternalRos.g:3994:4: (lv_value_4_0= ruleParameterValue ) - // InternalRos.g:3995:5: lv_value_4_0= ruleParameterValue + // InternalRos.g:4038:4: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:4039:5: lv_value_4_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterStructMemberAccess().getValueParameterValueParserRuleCall_4_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_value_4_0=ruleParameterValue(); state._fsp--; @@ -9963,7 +10061,7 @@ public final EObject ruleParameterStructMember() throws RecognitionException { // $ANTLR start "entryRuleParameterStructTypeMember" - // InternalRos.g:4020:1: entryRuleParameterStructTypeMember returns [EObject current=null] : iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ; + // InternalRos.g:4064:1: entryRuleParameterStructTypeMember returns [EObject current=null] : iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ; public final EObject entryRuleParameterStructTypeMember() throws RecognitionException { EObject current = null; @@ -9971,8 +10069,8 @@ public final EObject entryRuleParameterStructTypeMember() throws RecognitionExce try { - // InternalRos.g:4020:66: (iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ) - // InternalRos.g:4021:2: iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF + // InternalRos.g:4064:66: (iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ) + // InternalRos.g:4065:2: iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF { newCompositeNode(grammarAccess.getParameterStructTypeMemberRule()); pushFollow(FOLLOW_1); @@ -9999,7 +10097,7 @@ public final EObject entryRuleParameterStructTypeMember() throws RecognitionExce // $ANTLR start "ruleParameterStructTypeMember" - // InternalRos.g:4027:1: ruleParameterStructTypeMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ; + // InternalRos.g:4071:1: ruleParameterStructTypeMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ; public final EObject ruleParameterStructTypeMember() throws RecognitionException { EObject current = null; @@ -10012,17 +10110,17 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException enterRule(); try { - // InternalRos.g:4033:2: ( ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ) - // InternalRos.g:4034:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) + // InternalRos.g:4077:2: ( ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ) + // InternalRos.g:4078:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) { - // InternalRos.g:4034:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) - // InternalRos.g:4035:3: ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) + // InternalRos.g:4078:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) + // InternalRos.g:4079:3: ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) { - // InternalRos.g:4035:3: ( (lv_name_0_0= ruleEString ) ) - // InternalRos.g:4036:4: (lv_name_0_0= ruleEString ) + // InternalRos.g:4079:3: ( (lv_name_0_0= ruleEString ) ) + // InternalRos.g:4080:4: (lv_name_0_0= ruleEString ) { - // InternalRos.g:4036:4: (lv_name_0_0= ruleEString ) - // InternalRos.g:4037:5: lv_name_0_0= ruleEString + // InternalRos.g:4080:4: (lv_name_0_0= ruleEString ) + // InternalRos.g:4081:5: lv_name_0_0= ruleEString { newCompositeNode(grammarAccess.getParameterStructTypeMemberAccess().getNameEStringParserRuleCall_0_0()); @@ -10049,11 +10147,11 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException } - // InternalRos.g:4054:3: ( (lv_type_1_0= ruleParameterType ) ) - // InternalRos.g:4055:4: (lv_type_1_0= ruleParameterType ) + // InternalRos.g:4098:3: ( (lv_type_1_0= ruleParameterType ) ) + // InternalRos.g:4099:4: (lv_type_1_0= ruleParameterType ) { - // InternalRos.g:4055:4: (lv_type_1_0= ruleParameterType ) - // InternalRos.g:4056:5: lv_type_1_0= ruleParameterType + // InternalRos.g:4099:4: (lv_type_1_0= ruleParameterType ) + // InternalRos.g:4100:5: lv_type_1_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterStructTypeMemberAccess().getTypeParameterTypeParserRuleCall_1_0()); @@ -10103,7 +10201,7 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException // $ANTLR start "entryRuleBase64Binary" - // InternalRos.g:4077:1: entryRuleBase64Binary returns [String current=null] : iv_ruleBase64Binary= ruleBase64Binary EOF ; + // InternalRos.g:4121:1: entryRuleBase64Binary returns [String current=null] : iv_ruleBase64Binary= ruleBase64Binary EOF ; public final String entryRuleBase64Binary() throws RecognitionException { String current = null; @@ -10111,8 +10209,8 @@ public final String entryRuleBase64Binary() throws RecognitionException { try { - // InternalRos.g:4077:52: (iv_ruleBase64Binary= ruleBase64Binary EOF ) - // InternalRos.g:4078:2: iv_ruleBase64Binary= ruleBase64Binary EOF + // InternalRos.g:4121:52: (iv_ruleBase64Binary= ruleBase64Binary EOF ) + // InternalRos.g:4122:2: iv_ruleBase64Binary= ruleBase64Binary EOF { newCompositeNode(grammarAccess.getBase64BinaryRule()); pushFollow(FOLLOW_1); @@ -10139,7 +10237,7 @@ public final String entryRuleBase64Binary() throws RecognitionException { // $ANTLR start "ruleBase64Binary" - // InternalRos.g:4084:1: ruleBase64Binary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BINARY_0= RULE_BINARY ; + // InternalRos.g:4128:1: ruleBase64Binary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BINARY_0= RULE_BINARY ; public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10149,8 +10247,8 @@ public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionExcepti enterRule(); try { - // InternalRos.g:4090:2: (this_BINARY_0= RULE_BINARY ) - // InternalRos.g:4091:2: this_BINARY_0= RULE_BINARY + // InternalRos.g:4134:2: (this_BINARY_0= RULE_BINARY ) + // InternalRos.g:4135:2: this_BINARY_0= RULE_BINARY { this_BINARY_0=(Token)match(input,RULE_BINARY,FOLLOW_2); @@ -10179,7 +10277,7 @@ public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionExcepti // $ANTLR start "entryRuleboolean0" - // InternalRos.g:4101:1: entryRuleboolean0 returns [String current=null] : iv_ruleboolean0= ruleboolean0 EOF ; + // InternalRos.g:4145:1: entryRuleboolean0 returns [String current=null] : iv_ruleboolean0= ruleboolean0 EOF ; public final String entryRuleboolean0() throws RecognitionException { String current = null; @@ -10187,8 +10285,8 @@ public final String entryRuleboolean0() throws RecognitionException { try { - // InternalRos.g:4101:48: (iv_ruleboolean0= ruleboolean0 EOF ) - // InternalRos.g:4102:2: iv_ruleboolean0= ruleboolean0 EOF + // InternalRos.g:4145:48: (iv_ruleboolean0= ruleboolean0 EOF ) + // InternalRos.g:4146:2: iv_ruleboolean0= ruleboolean0 EOF { newCompositeNode(grammarAccess.getBoolean0Rule()); pushFollow(FOLLOW_1); @@ -10215,7 +10313,7 @@ public final String entryRuleboolean0() throws RecognitionException { // $ANTLR start "ruleboolean0" - // InternalRos.g:4108:1: ruleboolean0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BOOLEAN_0= RULE_BOOLEAN ; + // InternalRos.g:4152:1: ruleboolean0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BOOLEAN_0= RULE_BOOLEAN ; public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10225,8 +10323,8 @@ public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4114:2: (this_BOOLEAN_0= RULE_BOOLEAN ) - // InternalRos.g:4115:2: this_BOOLEAN_0= RULE_BOOLEAN + // InternalRos.g:4158:2: (this_BOOLEAN_0= RULE_BOOLEAN ) + // InternalRos.g:4159:2: this_BOOLEAN_0= RULE_BOOLEAN { this_BOOLEAN_0=(Token)match(input,RULE_BOOLEAN,FOLLOW_2); @@ -10255,7 +10353,7 @@ public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { // $ANTLR start "entryRuleDouble0" - // InternalRos.g:4125:1: entryRuleDouble0 returns [String current=null] : iv_ruleDouble0= ruleDouble0 EOF ; + // InternalRos.g:4169:1: entryRuleDouble0 returns [String current=null] : iv_ruleDouble0= ruleDouble0 EOF ; public final String entryRuleDouble0() throws RecognitionException { String current = null; @@ -10263,8 +10361,8 @@ public final String entryRuleDouble0() throws RecognitionException { try { - // InternalRos.g:4125:47: (iv_ruleDouble0= ruleDouble0 EOF ) - // InternalRos.g:4126:2: iv_ruleDouble0= ruleDouble0 EOF + // InternalRos.g:4169:47: (iv_ruleDouble0= ruleDouble0 EOF ) + // InternalRos.g:4170:2: iv_ruleDouble0= ruleDouble0 EOF { newCompositeNode(grammarAccess.getDouble0Rule()); pushFollow(FOLLOW_1); @@ -10291,7 +10389,7 @@ public final String entryRuleDouble0() throws RecognitionException { // $ANTLR start "ruleDouble0" - // InternalRos.g:4132:1: ruleDouble0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DOUBLE_0= RULE_DOUBLE ; + // InternalRos.g:4176:1: ruleDouble0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DOUBLE_0= RULE_DOUBLE ; public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10301,8 +10399,8 @@ public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4138:2: (this_DOUBLE_0= RULE_DOUBLE ) - // InternalRos.g:4139:2: this_DOUBLE_0= RULE_DOUBLE + // InternalRos.g:4182:2: (this_DOUBLE_0= RULE_DOUBLE ) + // InternalRos.g:4183:2: this_DOUBLE_0= RULE_DOUBLE { this_DOUBLE_0=(Token)match(input,RULE_DOUBLE,FOLLOW_2); @@ -10331,7 +10429,7 @@ public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { // $ANTLR start "entryRuleInteger0" - // InternalRos.g:4149:1: entryRuleInteger0 returns [String current=null] : iv_ruleInteger0= ruleInteger0 EOF ; + // InternalRos.g:4193:1: entryRuleInteger0 returns [String current=null] : iv_ruleInteger0= ruleInteger0 EOF ; public final String entryRuleInteger0() throws RecognitionException { String current = null; @@ -10339,8 +10437,8 @@ public final String entryRuleInteger0() throws RecognitionException { try { - // InternalRos.g:4149:48: (iv_ruleInteger0= ruleInteger0 EOF ) - // InternalRos.g:4150:2: iv_ruleInteger0= ruleInteger0 EOF + // InternalRos.g:4193:48: (iv_ruleInteger0= ruleInteger0 EOF ) + // InternalRos.g:4194:2: iv_ruleInteger0= ruleInteger0 EOF { newCompositeNode(grammarAccess.getInteger0Rule()); pushFollow(FOLLOW_1); @@ -10367,7 +10465,7 @@ public final String entryRuleInteger0() throws RecognitionException { // $ANTLR start "ruleInteger0" - // InternalRos.g:4156:1: ruleInteger0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DECINT_0= RULE_DECINT ; + // InternalRos.g:4200:1: ruleInteger0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DECINT_0= RULE_DECINT ; public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10377,8 +10475,8 @@ public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4162:2: (this_DECINT_0= RULE_DECINT ) - // InternalRos.g:4163:2: this_DECINT_0= RULE_DECINT + // InternalRos.g:4206:2: (this_DECINT_0= RULE_DECINT ) + // InternalRos.g:4207:2: this_DECINT_0= RULE_DECINT { this_DECINT_0=(Token)match(input,RULE_DECINT,FOLLOW_2); @@ -10407,7 +10505,7 @@ public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { // $ANTLR start "entryRuleDateTime0" - // InternalRos.g:4173:1: entryRuleDateTime0 returns [String current=null] : iv_ruleDateTime0= ruleDateTime0 EOF ; + // InternalRos.g:4217:1: entryRuleDateTime0 returns [String current=null] : iv_ruleDateTime0= ruleDateTime0 EOF ; public final String entryRuleDateTime0() throws RecognitionException { String current = null; @@ -10415,8 +10513,8 @@ public final String entryRuleDateTime0() throws RecognitionException { try { - // InternalRos.g:4173:49: (iv_ruleDateTime0= ruleDateTime0 EOF ) - // InternalRos.g:4174:2: iv_ruleDateTime0= ruleDateTime0 EOF + // InternalRos.g:4217:49: (iv_ruleDateTime0= ruleDateTime0 EOF ) + // InternalRos.g:4218:2: iv_ruleDateTime0= ruleDateTime0 EOF { newCompositeNode(grammarAccess.getDateTime0Rule()); pushFollow(FOLLOW_1); @@ -10443,7 +10541,7 @@ public final String entryRuleDateTime0() throws RecognitionException { // $ANTLR start "ruleDateTime0" - // InternalRos.g:4180:1: ruleDateTime0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DATE_TIME_0= RULE_DATE_TIME ; + // InternalRos.g:4224:1: ruleDateTime0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DATE_TIME_0= RULE_DATE_TIME ; public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10453,8 +10551,8 @@ public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException enterRule(); try { - // InternalRos.g:4186:2: (this_DATE_TIME_0= RULE_DATE_TIME ) - // InternalRos.g:4187:2: this_DATE_TIME_0= RULE_DATE_TIME + // InternalRos.g:4230:2: (this_DATE_TIME_0= RULE_DATE_TIME ) + // InternalRos.g:4231:2: this_DATE_TIME_0= RULE_DATE_TIME { this_DATE_TIME_0=(Token)match(input,RULE_DATE_TIME,FOLLOW_2); @@ -10483,7 +10581,7 @@ public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException // $ANTLR start "entryRuleMessagePart" - // InternalRos.g:4197:1: entryRuleMessagePart returns [EObject current=null] : iv_ruleMessagePart= ruleMessagePart EOF ; + // InternalRos.g:4241:1: entryRuleMessagePart returns [EObject current=null] : iv_ruleMessagePart= ruleMessagePart EOF ; public final EObject entryRuleMessagePart() throws RecognitionException { EObject current = null; @@ -10491,8 +10589,8 @@ public final EObject entryRuleMessagePart() throws RecognitionException { try { - // InternalRos.g:4197:52: (iv_ruleMessagePart= ruleMessagePart EOF ) - // InternalRos.g:4198:2: iv_ruleMessagePart= ruleMessagePart EOF + // InternalRos.g:4241:52: (iv_ruleMessagePart= ruleMessagePart EOF ) + // InternalRos.g:4242:2: iv_ruleMessagePart= ruleMessagePart EOF { newCompositeNode(grammarAccess.getMessagePartRule()); pushFollow(FOLLOW_1); @@ -10519,7 +10617,7 @@ public final EObject entryRuleMessagePart() throws RecognitionException { // $ANTLR start "ruleMessagePart" - // InternalRos.g:4204:1: ruleMessagePart returns [EObject current=null] : ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ; + // InternalRos.g:4248:1: ruleMessagePart returns [EObject current=null] : ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ; public final EObject ruleMessagePart() throws RecognitionException { EObject current = null; @@ -10535,17 +10633,17 @@ public final EObject ruleMessagePart() throws RecognitionException { enterRule(); try { - // InternalRos.g:4210:2: ( ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ) - // InternalRos.g:4211:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) + // InternalRos.g:4254:2: ( ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ) + // InternalRos.g:4255:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) { - // InternalRos.g:4211:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) - // InternalRos.g:4212:3: ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) + // InternalRos.g:4255:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) + // InternalRos.g:4256:3: ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) { - // InternalRos.g:4212:3: ( (lv_Type_0_0= ruleAbstractType ) ) - // InternalRos.g:4213:4: (lv_Type_0_0= ruleAbstractType ) + // InternalRos.g:4256:3: ( (lv_Type_0_0= ruleAbstractType ) ) + // InternalRos.g:4257:4: (lv_Type_0_0= ruleAbstractType ) { - // InternalRos.g:4213:4: (lv_Type_0_0= ruleAbstractType ) - // InternalRos.g:4214:5: lv_Type_0_0= ruleAbstractType + // InternalRos.g:4257:4: (lv_Type_0_0= ruleAbstractType ) + // InternalRos.g:4258:5: lv_Type_0_0= ruleAbstractType { newCompositeNode(grammarAccess.getMessagePartAccess().getTypeAbstractTypeParserRuleCall_0_0()); @@ -10572,51 +10670,51 @@ public final EObject ruleMessagePart() throws RecognitionException { } - // InternalRos.g:4231:3: ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) - // InternalRos.g:4232:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) + // InternalRos.g:4275:3: ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) + // InternalRos.g:4276:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) { - // InternalRos.g:4232:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) - // InternalRos.g:4233:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) + // InternalRos.g:4276:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) + // InternalRos.g:4277:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) { - // InternalRos.g:4233:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) - int alt70=3; + // InternalRos.g:4277:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) + int alt72=3; switch ( input.LA(1) ) { - case 41: - case 43: + case 42: case 44: case 45: - case 47: - case 56: - case 62: + case 46: + case 48: + case 57: + case 63: case 72: case 82: case 97: case 98: { - alt70=1; + alt72=1; } break; case RULE_MESSAGE_ASIGMENT: { - alt70=2; + alt72=2; } break; case RULE_STRING: case RULE_ID: { - alt70=3; + alt72=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 70, 0, input); + new NoViableAltException("", 72, 0, input); throw nvae; } - switch (alt70) { + switch (alt72) { case 1 : - // InternalRos.g:4234:6: lv_Data_1_1= ruleKEYWORD + // InternalRos.g:4278:6: lv_Data_1_1= ruleKEYWORD { newCompositeNode(grammarAccess.getMessagePartAccess().getDataKEYWORDParserRuleCall_1_0_0()); @@ -10641,7 +10739,7 @@ public final EObject ruleMessagePart() throws RecognitionException { } break; case 2 : - // InternalRos.g:4250:6: lv_Data_1_2= RULE_MESSAGE_ASIGMENT + // InternalRos.g:4294:6: lv_Data_1_2= RULE_MESSAGE_ASIGMENT { lv_Data_1_2=(Token)match(input,RULE_MESSAGE_ASIGMENT,FOLLOW_2); @@ -10661,7 +10759,7 @@ public final EObject ruleMessagePart() throws RecognitionException { } break; case 3 : - // InternalRos.g:4265:6: lv_Data_1_3= ruleEString + // InternalRos.g:4309:6: lv_Data_1_3= ruleEString { newCompositeNode(grammarAccess.getMessagePartAccess().getDataEStringParserRuleCall_1_0_2()); @@ -10717,7 +10815,7 @@ public final EObject ruleMessagePart() throws RecognitionException { // $ANTLR start "entryRuleAbstractType" - // InternalRos.g:4287:1: entryRuleAbstractType returns [EObject current=null] : iv_ruleAbstractType= ruleAbstractType EOF ; + // InternalRos.g:4331:1: entryRuleAbstractType returns [EObject current=null] : iv_ruleAbstractType= ruleAbstractType EOF ; public final EObject entryRuleAbstractType() throws RecognitionException { EObject current = null; @@ -10725,8 +10823,8 @@ public final EObject entryRuleAbstractType() throws RecognitionException { try { - // InternalRos.g:4287:53: (iv_ruleAbstractType= ruleAbstractType EOF ) - // InternalRos.g:4288:2: iv_ruleAbstractType= ruleAbstractType EOF + // InternalRos.g:4331:53: (iv_ruleAbstractType= ruleAbstractType EOF ) + // InternalRos.g:4332:2: iv_ruleAbstractType= ruleAbstractType EOF { newCompositeNode(grammarAccess.getAbstractTypeRule()); pushFollow(FOLLOW_1); @@ -10753,7 +10851,7 @@ public final EObject entryRuleAbstractType() throws RecognitionException { // $ANTLR start "ruleAbstractType" - // InternalRos.g:4294:1: ruleAbstractType returns [EObject current=null] : (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ; + // InternalRos.g:4338:1: ruleAbstractType returns [EObject current=null] : (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ; public final EObject ruleAbstractType() throws RecognitionException { EObject current = null; @@ -10824,15 +10922,15 @@ public final EObject ruleAbstractType() throws RecognitionException { enterRule(); try { - // InternalRos.g:4300:2: ( (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ) - // InternalRos.g:4301:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) + // InternalRos.g:4344:2: ( (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ) + // InternalRos.g:4345:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) { - // InternalRos.g:4301:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) - int alt71=31; - alt71 = dfa71.predict(input); - switch (alt71) { + // InternalRos.g:4345:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) + int alt73=31; + alt73 = dfa73.predict(input); + switch (alt73) { case 1 : - // InternalRos.g:4302:3: this_bool_0= rulebool + // InternalRos.g:4346:3: this_bool_0= rulebool { newCompositeNode(grammarAccess.getAbstractTypeAccess().getBoolParserRuleCall_0()); @@ -10850,7 +10948,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 2 : - // InternalRos.g:4311:3: this_int8_1= ruleint8 + // InternalRos.g:4355:3: this_int8_1= ruleint8 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt8ParserRuleCall_1()); @@ -10868,7 +10966,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 3 : - // InternalRos.g:4320:3: this_uint8_2= ruleuint8 + // InternalRos.g:4364:3: this_uint8_2= ruleuint8 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint8ParserRuleCall_2()); @@ -10886,7 +10984,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 4 : - // InternalRos.g:4329:3: this_int16_3= ruleint16 + // InternalRos.g:4373:3: this_int16_3= ruleint16 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt16ParserRuleCall_3()); @@ -10904,7 +11002,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 5 : - // InternalRos.g:4338:3: this_uint16_4= ruleuint16 + // InternalRos.g:4382:3: this_uint16_4= ruleuint16 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint16ParserRuleCall_4()); @@ -10922,7 +11020,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 6 : - // InternalRos.g:4347:3: this_int32_5= ruleint32 + // InternalRos.g:4391:3: this_int32_5= ruleint32 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt32ParserRuleCall_5()); @@ -10940,7 +11038,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 7 : - // InternalRos.g:4356:3: this_uint32_6= ruleuint32 + // InternalRos.g:4400:3: this_uint32_6= ruleuint32 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint32ParserRuleCall_6()); @@ -10958,7 +11056,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 8 : - // InternalRos.g:4365:3: this_int64_7= ruleint64 + // InternalRos.g:4409:3: this_int64_7= ruleint64 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt64ParserRuleCall_7()); @@ -10976,7 +11074,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 9 : - // InternalRos.g:4374:3: this_uint64_8= ruleuint64 + // InternalRos.g:4418:3: this_uint64_8= ruleuint64 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint64ParserRuleCall_8()); @@ -10994,7 +11092,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 10 : - // InternalRos.g:4383:3: this_float32_9= rulefloat32 + // InternalRos.g:4427:3: this_float32_9= rulefloat32 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat32ParserRuleCall_9()); @@ -11012,7 +11110,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 11 : - // InternalRos.g:4392:3: this_float64_10= rulefloat64 + // InternalRos.g:4436:3: this_float64_10= rulefloat64 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat64ParserRuleCall_10()); @@ -11030,7 +11128,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 12 : - // InternalRos.g:4401:3: this_string0_11= rulestring0 + // InternalRos.g:4445:3: this_string0_11= rulestring0 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getString0ParserRuleCall_11()); @@ -11048,7 +11146,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 13 : - // InternalRos.g:4410:3: this_byte_12= rulebyte + // InternalRos.g:4454:3: this_byte_12= rulebyte { newCompositeNode(grammarAccess.getAbstractTypeAccess().getByteParserRuleCall_12()); @@ -11066,7 +11164,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 14 : - // InternalRos.g:4419:3: this_time_13= ruletime + // InternalRos.g:4463:3: this_time_13= ruletime { newCompositeNode(grammarAccess.getAbstractTypeAccess().getTimeParserRuleCall_13()); @@ -11084,7 +11182,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 15 : - // InternalRos.g:4428:3: this_duration_14= ruleduration + // InternalRos.g:4472:3: this_duration_14= ruleduration { newCompositeNode(grammarAccess.getAbstractTypeAccess().getDurationParserRuleCall_14()); @@ -11102,7 +11200,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 16 : - // InternalRos.g:4437:3: this_Header_15= ruleHeader + // InternalRos.g:4481:3: this_Header_15= ruleHeader { newCompositeNode(grammarAccess.getAbstractTypeAccess().getHeaderParserRuleCall_15()); @@ -11120,7 +11218,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 17 : - // InternalRos.g:4446:3: this_boolArray_16= ruleboolArray + // InternalRos.g:4490:3: this_boolArray_16= ruleboolArray { newCompositeNode(grammarAccess.getAbstractTypeAccess().getBoolArrayParserRuleCall_16()); @@ -11138,7 +11236,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 18 : - // InternalRos.g:4455:3: this_int8Array_17= ruleint8Array + // InternalRos.g:4499:3: this_int8Array_17= ruleint8Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt8ArrayParserRuleCall_17()); @@ -11156,7 +11254,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 19 : - // InternalRos.g:4464:3: this_uint8Array_18= ruleuint8Array + // InternalRos.g:4508:3: this_uint8Array_18= ruleuint8Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint8ArrayParserRuleCall_18()); @@ -11174,7 +11272,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 20 : - // InternalRos.g:4473:3: this_int16Array_19= ruleint16Array + // InternalRos.g:4517:3: this_int16Array_19= ruleint16Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt16ArrayParserRuleCall_19()); @@ -11192,7 +11290,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 21 : - // InternalRos.g:4482:3: this_uint16Array_20= ruleuint16Array + // InternalRos.g:4526:3: this_uint16Array_20= ruleuint16Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint16ArrayParserRuleCall_20()); @@ -11210,7 +11308,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 22 : - // InternalRos.g:4491:3: this_int32Array_21= ruleint32Array + // InternalRos.g:4535:3: this_int32Array_21= ruleint32Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt32ArrayParserRuleCall_21()); @@ -11228,7 +11326,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 23 : - // InternalRos.g:4500:3: this_uint32Array_22= ruleuint32Array + // InternalRos.g:4544:3: this_uint32Array_22= ruleuint32Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint32ArrayParserRuleCall_22()); @@ -11246,7 +11344,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 24 : - // InternalRos.g:4509:3: this_int64Array_23= ruleint64Array + // InternalRos.g:4553:3: this_int64Array_23= ruleint64Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt64ArrayParserRuleCall_23()); @@ -11264,7 +11362,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 25 : - // InternalRos.g:4518:3: this_uint64Array_24= ruleuint64Array + // InternalRos.g:4562:3: this_uint64Array_24= ruleuint64Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint64ArrayParserRuleCall_24()); @@ -11282,7 +11380,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 26 : - // InternalRos.g:4527:3: this_float32Array_25= rulefloat32Array + // InternalRos.g:4571:3: this_float32Array_25= rulefloat32Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat32ArrayParserRuleCall_25()); @@ -11300,7 +11398,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 27 : - // InternalRos.g:4536:3: this_float64Array_26= rulefloat64Array + // InternalRos.g:4580:3: this_float64Array_26= rulefloat64Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat64ArrayParserRuleCall_26()); @@ -11318,7 +11416,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 28 : - // InternalRos.g:4545:3: this_string0Array_27= rulestring0Array + // InternalRos.g:4589:3: this_string0Array_27= rulestring0Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getString0ArrayParserRuleCall_27()); @@ -11336,7 +11434,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 29 : - // InternalRos.g:4554:3: this_byteArray_28= rulebyteArray + // InternalRos.g:4598:3: this_byteArray_28= rulebyteArray { newCompositeNode(grammarAccess.getAbstractTypeAccess().getByteArrayParserRuleCall_28()); @@ -11354,7 +11452,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 30 : - // InternalRos.g:4563:3: this_TopicSpecRef_29= ruleTopicSpecRef + // InternalRos.g:4607:3: this_TopicSpecRef_29= ruleTopicSpecRef { newCompositeNode(grammarAccess.getAbstractTypeAccess().getTopicSpecRefParserRuleCall_29()); @@ -11372,7 +11470,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 31 : - // InternalRos.g:4572:3: this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef + // InternalRos.g:4616:3: this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef { newCompositeNode(grammarAccess.getAbstractTypeAccess().getArrayTopicSpecRefParserRuleCall_30()); @@ -11412,7 +11510,7 @@ public final EObject ruleAbstractType() throws RecognitionException { // $ANTLR start "entryRulebool" - // InternalRos.g:4584:1: entryRulebool returns [EObject current=null] : iv_rulebool= rulebool EOF ; + // InternalRos.g:4628:1: entryRulebool returns [EObject current=null] : iv_rulebool= rulebool EOF ; public final EObject entryRulebool() throws RecognitionException { EObject current = null; @@ -11420,8 +11518,8 @@ public final EObject entryRulebool() throws RecognitionException { try { - // InternalRos.g:4584:45: (iv_rulebool= rulebool EOF ) - // InternalRos.g:4585:2: iv_rulebool= rulebool EOF + // InternalRos.g:4628:45: (iv_rulebool= rulebool EOF ) + // InternalRos.g:4629:2: iv_rulebool= rulebool EOF { newCompositeNode(grammarAccess.getBoolRule()); pushFollow(FOLLOW_1); @@ -11448,7 +11546,7 @@ public final EObject entryRulebool() throws RecognitionException { // $ANTLR start "rulebool" - // InternalRos.g:4591:1: rulebool returns [EObject current=null] : ( () otherlv_1= 'bool' ) ; + // InternalRos.g:4635:1: rulebool returns [EObject current=null] : ( () otherlv_1= 'bool' ) ; public final EObject rulebool() throws RecognitionException { EObject current = null; @@ -11458,14 +11556,14 @@ public final EObject rulebool() throws RecognitionException { enterRule(); try { - // InternalRos.g:4597:2: ( ( () otherlv_1= 'bool' ) ) - // InternalRos.g:4598:2: ( () otherlv_1= 'bool' ) + // InternalRos.g:4641:2: ( ( () otherlv_1= 'bool' ) ) + // InternalRos.g:4642:2: ( () otherlv_1= 'bool' ) { - // InternalRos.g:4598:2: ( () otherlv_1= 'bool' ) - // InternalRos.g:4599:3: () otherlv_1= 'bool' + // InternalRos.g:4642:2: ( () otherlv_1= 'bool' ) + // InternalRos.g:4643:3: () otherlv_1= 'bool' { - // InternalRos.g:4599:3: () - // InternalRos.g:4600:4: + // InternalRos.g:4643:3: () + // InternalRos.g:4644:4: { current = forceCreateModelElement( @@ -11502,7 +11600,7 @@ public final EObject rulebool() throws RecognitionException { // $ANTLR start "entryRuleint8" - // InternalRos.g:4614:1: entryRuleint8 returns [EObject current=null] : iv_ruleint8= ruleint8 EOF ; + // InternalRos.g:4658:1: entryRuleint8 returns [EObject current=null] : iv_ruleint8= ruleint8 EOF ; public final EObject entryRuleint8() throws RecognitionException { EObject current = null; @@ -11510,8 +11608,8 @@ public final EObject entryRuleint8() throws RecognitionException { try { - // InternalRos.g:4614:45: (iv_ruleint8= ruleint8 EOF ) - // InternalRos.g:4615:2: iv_ruleint8= ruleint8 EOF + // InternalRos.g:4658:45: (iv_ruleint8= ruleint8 EOF ) + // InternalRos.g:4659:2: iv_ruleint8= ruleint8 EOF { newCompositeNode(grammarAccess.getInt8Rule()); pushFollow(FOLLOW_1); @@ -11538,7 +11636,7 @@ public final EObject entryRuleint8() throws RecognitionException { // $ANTLR start "ruleint8" - // InternalRos.g:4621:1: ruleint8 returns [EObject current=null] : ( () otherlv_1= 'int8' ) ; + // InternalRos.g:4665:1: ruleint8 returns [EObject current=null] : ( () otherlv_1= 'int8' ) ; public final EObject ruleint8() throws RecognitionException { EObject current = null; @@ -11548,14 +11646,14 @@ public final EObject ruleint8() throws RecognitionException { enterRule(); try { - // InternalRos.g:4627:2: ( ( () otherlv_1= 'int8' ) ) - // InternalRos.g:4628:2: ( () otherlv_1= 'int8' ) + // InternalRos.g:4671:2: ( ( () otherlv_1= 'int8' ) ) + // InternalRos.g:4672:2: ( () otherlv_1= 'int8' ) { - // InternalRos.g:4628:2: ( () otherlv_1= 'int8' ) - // InternalRos.g:4629:3: () otherlv_1= 'int8' + // InternalRos.g:4672:2: ( () otherlv_1= 'int8' ) + // InternalRos.g:4673:3: () otherlv_1= 'int8' { - // InternalRos.g:4629:3: () - // InternalRos.g:4630:4: + // InternalRos.g:4673:3: () + // InternalRos.g:4674:4: { current = forceCreateModelElement( @@ -11592,7 +11690,7 @@ public final EObject ruleint8() throws RecognitionException { // $ANTLR start "entryRuleuint8" - // InternalRos.g:4644:1: entryRuleuint8 returns [EObject current=null] : iv_ruleuint8= ruleuint8 EOF ; + // InternalRos.g:4688:1: entryRuleuint8 returns [EObject current=null] : iv_ruleuint8= ruleuint8 EOF ; public final EObject entryRuleuint8() throws RecognitionException { EObject current = null; @@ -11600,8 +11698,8 @@ public final EObject entryRuleuint8() throws RecognitionException { try { - // InternalRos.g:4644:46: (iv_ruleuint8= ruleuint8 EOF ) - // InternalRos.g:4645:2: iv_ruleuint8= ruleuint8 EOF + // InternalRos.g:4688:46: (iv_ruleuint8= ruleuint8 EOF ) + // InternalRos.g:4689:2: iv_ruleuint8= ruleuint8 EOF { newCompositeNode(grammarAccess.getUint8Rule()); pushFollow(FOLLOW_1); @@ -11628,7 +11726,7 @@ public final EObject entryRuleuint8() throws RecognitionException { // $ANTLR start "ruleuint8" - // InternalRos.g:4651:1: ruleuint8 returns [EObject current=null] : ( () otherlv_1= 'uint8' ) ; + // InternalRos.g:4695:1: ruleuint8 returns [EObject current=null] : ( () otherlv_1= 'uint8' ) ; public final EObject ruleuint8() throws RecognitionException { EObject current = null; @@ -11638,14 +11736,14 @@ public final EObject ruleuint8() throws RecognitionException { enterRule(); try { - // InternalRos.g:4657:2: ( ( () otherlv_1= 'uint8' ) ) - // InternalRos.g:4658:2: ( () otherlv_1= 'uint8' ) + // InternalRos.g:4701:2: ( ( () otherlv_1= 'uint8' ) ) + // InternalRos.g:4702:2: ( () otherlv_1= 'uint8' ) { - // InternalRos.g:4658:2: ( () otherlv_1= 'uint8' ) - // InternalRos.g:4659:3: () otherlv_1= 'uint8' + // InternalRos.g:4702:2: ( () otherlv_1= 'uint8' ) + // InternalRos.g:4703:3: () otherlv_1= 'uint8' { - // InternalRos.g:4659:3: () - // InternalRos.g:4660:4: + // InternalRos.g:4703:3: () + // InternalRos.g:4704:4: { current = forceCreateModelElement( @@ -11682,7 +11780,7 @@ public final EObject ruleuint8() throws RecognitionException { // $ANTLR start "entryRuleint16" - // InternalRos.g:4674:1: entryRuleint16 returns [EObject current=null] : iv_ruleint16= ruleint16 EOF ; + // InternalRos.g:4718:1: entryRuleint16 returns [EObject current=null] : iv_ruleint16= ruleint16 EOF ; public final EObject entryRuleint16() throws RecognitionException { EObject current = null; @@ -11690,8 +11788,8 @@ public final EObject entryRuleint16() throws RecognitionException { try { - // InternalRos.g:4674:46: (iv_ruleint16= ruleint16 EOF ) - // InternalRos.g:4675:2: iv_ruleint16= ruleint16 EOF + // InternalRos.g:4718:46: (iv_ruleint16= ruleint16 EOF ) + // InternalRos.g:4719:2: iv_ruleint16= ruleint16 EOF { newCompositeNode(grammarAccess.getInt16Rule()); pushFollow(FOLLOW_1); @@ -11718,7 +11816,7 @@ public final EObject entryRuleint16() throws RecognitionException { // $ANTLR start "ruleint16" - // InternalRos.g:4681:1: ruleint16 returns [EObject current=null] : ( () otherlv_1= 'int16' ) ; + // InternalRos.g:4725:1: ruleint16 returns [EObject current=null] : ( () otherlv_1= 'int16' ) ; public final EObject ruleint16() throws RecognitionException { EObject current = null; @@ -11728,14 +11826,14 @@ public final EObject ruleint16() throws RecognitionException { enterRule(); try { - // InternalRos.g:4687:2: ( ( () otherlv_1= 'int16' ) ) - // InternalRos.g:4688:2: ( () otherlv_1= 'int16' ) + // InternalRos.g:4731:2: ( ( () otherlv_1= 'int16' ) ) + // InternalRos.g:4732:2: ( () otherlv_1= 'int16' ) { - // InternalRos.g:4688:2: ( () otherlv_1= 'int16' ) - // InternalRos.g:4689:3: () otherlv_1= 'int16' + // InternalRos.g:4732:2: ( () otherlv_1= 'int16' ) + // InternalRos.g:4733:3: () otherlv_1= 'int16' { - // InternalRos.g:4689:3: () - // InternalRos.g:4690:4: + // InternalRos.g:4733:3: () + // InternalRos.g:4734:4: { current = forceCreateModelElement( @@ -11772,7 +11870,7 @@ public final EObject ruleint16() throws RecognitionException { // $ANTLR start "entryRuleuint16" - // InternalRos.g:4704:1: entryRuleuint16 returns [EObject current=null] : iv_ruleuint16= ruleuint16 EOF ; + // InternalRos.g:4748:1: entryRuleuint16 returns [EObject current=null] : iv_ruleuint16= ruleuint16 EOF ; public final EObject entryRuleuint16() throws RecognitionException { EObject current = null; @@ -11780,8 +11878,8 @@ public final EObject entryRuleuint16() throws RecognitionException { try { - // InternalRos.g:4704:47: (iv_ruleuint16= ruleuint16 EOF ) - // InternalRos.g:4705:2: iv_ruleuint16= ruleuint16 EOF + // InternalRos.g:4748:47: (iv_ruleuint16= ruleuint16 EOF ) + // InternalRos.g:4749:2: iv_ruleuint16= ruleuint16 EOF { newCompositeNode(grammarAccess.getUint16Rule()); pushFollow(FOLLOW_1); @@ -11808,7 +11906,7 @@ public final EObject entryRuleuint16() throws RecognitionException { // $ANTLR start "ruleuint16" - // InternalRos.g:4711:1: ruleuint16 returns [EObject current=null] : ( () otherlv_1= 'uint16' ) ; + // InternalRos.g:4755:1: ruleuint16 returns [EObject current=null] : ( () otherlv_1= 'uint16' ) ; public final EObject ruleuint16() throws RecognitionException { EObject current = null; @@ -11818,14 +11916,14 @@ public final EObject ruleuint16() throws RecognitionException { enterRule(); try { - // InternalRos.g:4717:2: ( ( () otherlv_1= 'uint16' ) ) - // InternalRos.g:4718:2: ( () otherlv_1= 'uint16' ) + // InternalRos.g:4761:2: ( ( () otherlv_1= 'uint16' ) ) + // InternalRos.g:4762:2: ( () otherlv_1= 'uint16' ) { - // InternalRos.g:4718:2: ( () otherlv_1= 'uint16' ) - // InternalRos.g:4719:3: () otherlv_1= 'uint16' + // InternalRos.g:4762:2: ( () otherlv_1= 'uint16' ) + // InternalRos.g:4763:3: () otherlv_1= 'uint16' { - // InternalRos.g:4719:3: () - // InternalRos.g:4720:4: + // InternalRos.g:4763:3: () + // InternalRos.g:4764:4: { current = forceCreateModelElement( @@ -11862,7 +11960,7 @@ public final EObject ruleuint16() throws RecognitionException { // $ANTLR start "entryRuleint32" - // InternalRos.g:4734:1: entryRuleint32 returns [EObject current=null] : iv_ruleint32= ruleint32 EOF ; + // InternalRos.g:4778:1: entryRuleint32 returns [EObject current=null] : iv_ruleint32= ruleint32 EOF ; public final EObject entryRuleint32() throws RecognitionException { EObject current = null; @@ -11870,8 +11968,8 @@ public final EObject entryRuleint32() throws RecognitionException { try { - // InternalRos.g:4734:46: (iv_ruleint32= ruleint32 EOF ) - // InternalRos.g:4735:2: iv_ruleint32= ruleint32 EOF + // InternalRos.g:4778:46: (iv_ruleint32= ruleint32 EOF ) + // InternalRos.g:4779:2: iv_ruleint32= ruleint32 EOF { newCompositeNode(grammarAccess.getInt32Rule()); pushFollow(FOLLOW_1); @@ -11898,7 +11996,7 @@ public final EObject entryRuleint32() throws RecognitionException { // $ANTLR start "ruleint32" - // InternalRos.g:4741:1: ruleint32 returns [EObject current=null] : ( () otherlv_1= 'int32' ) ; + // InternalRos.g:4785:1: ruleint32 returns [EObject current=null] : ( () otherlv_1= 'int32' ) ; public final EObject ruleint32() throws RecognitionException { EObject current = null; @@ -11908,14 +12006,14 @@ public final EObject ruleint32() throws RecognitionException { enterRule(); try { - // InternalRos.g:4747:2: ( ( () otherlv_1= 'int32' ) ) - // InternalRos.g:4748:2: ( () otherlv_1= 'int32' ) + // InternalRos.g:4791:2: ( ( () otherlv_1= 'int32' ) ) + // InternalRos.g:4792:2: ( () otherlv_1= 'int32' ) { - // InternalRos.g:4748:2: ( () otherlv_1= 'int32' ) - // InternalRos.g:4749:3: () otherlv_1= 'int32' + // InternalRos.g:4792:2: ( () otherlv_1= 'int32' ) + // InternalRos.g:4793:3: () otherlv_1= 'int32' { - // InternalRos.g:4749:3: () - // InternalRos.g:4750:4: + // InternalRos.g:4793:3: () + // InternalRos.g:4794:4: { current = forceCreateModelElement( @@ -11952,7 +12050,7 @@ public final EObject ruleint32() throws RecognitionException { // $ANTLR start "entryRuleuint32" - // InternalRos.g:4764:1: entryRuleuint32 returns [EObject current=null] : iv_ruleuint32= ruleuint32 EOF ; + // InternalRos.g:4808:1: entryRuleuint32 returns [EObject current=null] : iv_ruleuint32= ruleuint32 EOF ; public final EObject entryRuleuint32() throws RecognitionException { EObject current = null; @@ -11960,8 +12058,8 @@ public final EObject entryRuleuint32() throws RecognitionException { try { - // InternalRos.g:4764:47: (iv_ruleuint32= ruleuint32 EOF ) - // InternalRos.g:4765:2: iv_ruleuint32= ruleuint32 EOF + // InternalRos.g:4808:47: (iv_ruleuint32= ruleuint32 EOF ) + // InternalRos.g:4809:2: iv_ruleuint32= ruleuint32 EOF { newCompositeNode(grammarAccess.getUint32Rule()); pushFollow(FOLLOW_1); @@ -11988,7 +12086,7 @@ public final EObject entryRuleuint32() throws RecognitionException { // $ANTLR start "ruleuint32" - // InternalRos.g:4771:1: ruleuint32 returns [EObject current=null] : ( () otherlv_1= 'uint32' ) ; + // InternalRos.g:4815:1: ruleuint32 returns [EObject current=null] : ( () otherlv_1= 'uint32' ) ; public final EObject ruleuint32() throws RecognitionException { EObject current = null; @@ -11998,14 +12096,14 @@ public final EObject ruleuint32() throws RecognitionException { enterRule(); try { - // InternalRos.g:4777:2: ( ( () otherlv_1= 'uint32' ) ) - // InternalRos.g:4778:2: ( () otherlv_1= 'uint32' ) + // InternalRos.g:4821:2: ( ( () otherlv_1= 'uint32' ) ) + // InternalRos.g:4822:2: ( () otherlv_1= 'uint32' ) { - // InternalRos.g:4778:2: ( () otherlv_1= 'uint32' ) - // InternalRos.g:4779:3: () otherlv_1= 'uint32' + // InternalRos.g:4822:2: ( () otherlv_1= 'uint32' ) + // InternalRos.g:4823:3: () otherlv_1= 'uint32' { - // InternalRos.g:4779:3: () - // InternalRos.g:4780:4: + // InternalRos.g:4823:3: () + // InternalRos.g:4824:4: { current = forceCreateModelElement( @@ -12042,7 +12140,7 @@ public final EObject ruleuint32() throws RecognitionException { // $ANTLR start "entryRuleint64" - // InternalRos.g:4794:1: entryRuleint64 returns [EObject current=null] : iv_ruleint64= ruleint64 EOF ; + // InternalRos.g:4838:1: entryRuleint64 returns [EObject current=null] : iv_ruleint64= ruleint64 EOF ; public final EObject entryRuleint64() throws RecognitionException { EObject current = null; @@ -12050,8 +12148,8 @@ public final EObject entryRuleint64() throws RecognitionException { try { - // InternalRos.g:4794:46: (iv_ruleint64= ruleint64 EOF ) - // InternalRos.g:4795:2: iv_ruleint64= ruleint64 EOF + // InternalRos.g:4838:46: (iv_ruleint64= ruleint64 EOF ) + // InternalRos.g:4839:2: iv_ruleint64= ruleint64 EOF { newCompositeNode(grammarAccess.getInt64Rule()); pushFollow(FOLLOW_1); @@ -12078,7 +12176,7 @@ public final EObject entryRuleint64() throws RecognitionException { // $ANTLR start "ruleint64" - // InternalRos.g:4801:1: ruleint64 returns [EObject current=null] : ( () otherlv_1= 'int64' ) ; + // InternalRos.g:4845:1: ruleint64 returns [EObject current=null] : ( () otherlv_1= 'int64' ) ; public final EObject ruleint64() throws RecognitionException { EObject current = null; @@ -12088,14 +12186,14 @@ public final EObject ruleint64() throws RecognitionException { enterRule(); try { - // InternalRos.g:4807:2: ( ( () otherlv_1= 'int64' ) ) - // InternalRos.g:4808:2: ( () otherlv_1= 'int64' ) + // InternalRos.g:4851:2: ( ( () otherlv_1= 'int64' ) ) + // InternalRos.g:4852:2: ( () otherlv_1= 'int64' ) { - // InternalRos.g:4808:2: ( () otherlv_1= 'int64' ) - // InternalRos.g:4809:3: () otherlv_1= 'int64' + // InternalRos.g:4852:2: ( () otherlv_1= 'int64' ) + // InternalRos.g:4853:3: () otherlv_1= 'int64' { - // InternalRos.g:4809:3: () - // InternalRos.g:4810:4: + // InternalRos.g:4853:3: () + // InternalRos.g:4854:4: { current = forceCreateModelElement( @@ -12132,7 +12230,7 @@ public final EObject ruleint64() throws RecognitionException { // $ANTLR start "entryRuleuint64" - // InternalRos.g:4824:1: entryRuleuint64 returns [EObject current=null] : iv_ruleuint64= ruleuint64 EOF ; + // InternalRos.g:4868:1: entryRuleuint64 returns [EObject current=null] : iv_ruleuint64= ruleuint64 EOF ; public final EObject entryRuleuint64() throws RecognitionException { EObject current = null; @@ -12140,8 +12238,8 @@ public final EObject entryRuleuint64() throws RecognitionException { try { - // InternalRos.g:4824:47: (iv_ruleuint64= ruleuint64 EOF ) - // InternalRos.g:4825:2: iv_ruleuint64= ruleuint64 EOF + // InternalRos.g:4868:47: (iv_ruleuint64= ruleuint64 EOF ) + // InternalRos.g:4869:2: iv_ruleuint64= ruleuint64 EOF { newCompositeNode(grammarAccess.getUint64Rule()); pushFollow(FOLLOW_1); @@ -12168,7 +12266,7 @@ public final EObject entryRuleuint64() throws RecognitionException { // $ANTLR start "ruleuint64" - // InternalRos.g:4831:1: ruleuint64 returns [EObject current=null] : ( () otherlv_1= 'uint64' ) ; + // InternalRos.g:4875:1: ruleuint64 returns [EObject current=null] : ( () otherlv_1= 'uint64' ) ; public final EObject ruleuint64() throws RecognitionException { EObject current = null; @@ -12178,14 +12276,14 @@ public final EObject ruleuint64() throws RecognitionException { enterRule(); try { - // InternalRos.g:4837:2: ( ( () otherlv_1= 'uint64' ) ) - // InternalRos.g:4838:2: ( () otherlv_1= 'uint64' ) + // InternalRos.g:4881:2: ( ( () otherlv_1= 'uint64' ) ) + // InternalRos.g:4882:2: ( () otherlv_1= 'uint64' ) { - // InternalRos.g:4838:2: ( () otherlv_1= 'uint64' ) - // InternalRos.g:4839:3: () otherlv_1= 'uint64' + // InternalRos.g:4882:2: ( () otherlv_1= 'uint64' ) + // InternalRos.g:4883:3: () otherlv_1= 'uint64' { - // InternalRos.g:4839:3: () - // InternalRos.g:4840:4: + // InternalRos.g:4883:3: () + // InternalRos.g:4884:4: { current = forceCreateModelElement( @@ -12222,7 +12320,7 @@ public final EObject ruleuint64() throws RecognitionException { // $ANTLR start "entryRulefloat32" - // InternalRos.g:4854:1: entryRulefloat32 returns [EObject current=null] : iv_rulefloat32= rulefloat32 EOF ; + // InternalRos.g:4898:1: entryRulefloat32 returns [EObject current=null] : iv_rulefloat32= rulefloat32 EOF ; public final EObject entryRulefloat32() throws RecognitionException { EObject current = null; @@ -12230,8 +12328,8 @@ public final EObject entryRulefloat32() throws RecognitionException { try { - // InternalRos.g:4854:48: (iv_rulefloat32= rulefloat32 EOF ) - // InternalRos.g:4855:2: iv_rulefloat32= rulefloat32 EOF + // InternalRos.g:4898:48: (iv_rulefloat32= rulefloat32 EOF ) + // InternalRos.g:4899:2: iv_rulefloat32= rulefloat32 EOF { newCompositeNode(grammarAccess.getFloat32Rule()); pushFollow(FOLLOW_1); @@ -12258,7 +12356,7 @@ public final EObject entryRulefloat32() throws RecognitionException { // $ANTLR start "rulefloat32" - // InternalRos.g:4861:1: rulefloat32 returns [EObject current=null] : ( () otherlv_1= 'float32' ) ; + // InternalRos.g:4905:1: rulefloat32 returns [EObject current=null] : ( () otherlv_1= 'float32' ) ; public final EObject rulefloat32() throws RecognitionException { EObject current = null; @@ -12268,14 +12366,14 @@ public final EObject rulefloat32() throws RecognitionException { enterRule(); try { - // InternalRos.g:4867:2: ( ( () otherlv_1= 'float32' ) ) - // InternalRos.g:4868:2: ( () otherlv_1= 'float32' ) + // InternalRos.g:4911:2: ( ( () otherlv_1= 'float32' ) ) + // InternalRos.g:4912:2: ( () otherlv_1= 'float32' ) { - // InternalRos.g:4868:2: ( () otherlv_1= 'float32' ) - // InternalRos.g:4869:3: () otherlv_1= 'float32' + // InternalRos.g:4912:2: ( () otherlv_1= 'float32' ) + // InternalRos.g:4913:3: () otherlv_1= 'float32' { - // InternalRos.g:4869:3: () - // InternalRos.g:4870:4: + // InternalRos.g:4913:3: () + // InternalRos.g:4914:4: { current = forceCreateModelElement( @@ -12312,7 +12410,7 @@ public final EObject rulefloat32() throws RecognitionException { // $ANTLR start "entryRulefloat64" - // InternalRos.g:4884:1: entryRulefloat64 returns [EObject current=null] : iv_rulefloat64= rulefloat64 EOF ; + // InternalRos.g:4928:1: entryRulefloat64 returns [EObject current=null] : iv_rulefloat64= rulefloat64 EOF ; public final EObject entryRulefloat64() throws RecognitionException { EObject current = null; @@ -12320,8 +12418,8 @@ public final EObject entryRulefloat64() throws RecognitionException { try { - // InternalRos.g:4884:48: (iv_rulefloat64= rulefloat64 EOF ) - // InternalRos.g:4885:2: iv_rulefloat64= rulefloat64 EOF + // InternalRos.g:4928:48: (iv_rulefloat64= rulefloat64 EOF ) + // InternalRos.g:4929:2: iv_rulefloat64= rulefloat64 EOF { newCompositeNode(grammarAccess.getFloat64Rule()); pushFollow(FOLLOW_1); @@ -12348,7 +12446,7 @@ public final EObject entryRulefloat64() throws RecognitionException { // $ANTLR start "rulefloat64" - // InternalRos.g:4891:1: rulefloat64 returns [EObject current=null] : ( () otherlv_1= 'float64' ) ; + // InternalRos.g:4935:1: rulefloat64 returns [EObject current=null] : ( () otherlv_1= 'float64' ) ; public final EObject rulefloat64() throws RecognitionException { EObject current = null; @@ -12358,14 +12456,14 @@ public final EObject rulefloat64() throws RecognitionException { enterRule(); try { - // InternalRos.g:4897:2: ( ( () otherlv_1= 'float64' ) ) - // InternalRos.g:4898:2: ( () otherlv_1= 'float64' ) + // InternalRos.g:4941:2: ( ( () otherlv_1= 'float64' ) ) + // InternalRos.g:4942:2: ( () otherlv_1= 'float64' ) { - // InternalRos.g:4898:2: ( () otherlv_1= 'float64' ) - // InternalRos.g:4899:3: () otherlv_1= 'float64' + // InternalRos.g:4942:2: ( () otherlv_1= 'float64' ) + // InternalRos.g:4943:3: () otherlv_1= 'float64' { - // InternalRos.g:4899:3: () - // InternalRos.g:4900:4: + // InternalRos.g:4943:3: () + // InternalRos.g:4944:4: { current = forceCreateModelElement( @@ -12402,7 +12500,7 @@ public final EObject rulefloat64() throws RecognitionException { // $ANTLR start "entryRulestring0" - // InternalRos.g:4914:1: entryRulestring0 returns [EObject current=null] : iv_rulestring0= rulestring0 EOF ; + // InternalRos.g:4958:1: entryRulestring0 returns [EObject current=null] : iv_rulestring0= rulestring0 EOF ; public final EObject entryRulestring0() throws RecognitionException { EObject current = null; @@ -12410,8 +12508,8 @@ public final EObject entryRulestring0() throws RecognitionException { try { - // InternalRos.g:4914:48: (iv_rulestring0= rulestring0 EOF ) - // InternalRos.g:4915:2: iv_rulestring0= rulestring0 EOF + // InternalRos.g:4958:48: (iv_rulestring0= rulestring0 EOF ) + // InternalRos.g:4959:2: iv_rulestring0= rulestring0 EOF { newCompositeNode(grammarAccess.getString0Rule()); pushFollow(FOLLOW_1); @@ -12438,7 +12536,7 @@ public final EObject entryRulestring0() throws RecognitionException { // $ANTLR start "rulestring0" - // InternalRos.g:4921:1: rulestring0 returns [EObject current=null] : ( () otherlv_1= 'string' ) ; + // InternalRos.g:4965:1: rulestring0 returns [EObject current=null] : ( () otherlv_1= 'string' ) ; public final EObject rulestring0() throws RecognitionException { EObject current = null; @@ -12448,14 +12546,14 @@ public final EObject rulestring0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4927:2: ( ( () otherlv_1= 'string' ) ) - // InternalRos.g:4928:2: ( () otherlv_1= 'string' ) + // InternalRos.g:4971:2: ( ( () otherlv_1= 'string' ) ) + // InternalRos.g:4972:2: ( () otherlv_1= 'string' ) { - // InternalRos.g:4928:2: ( () otherlv_1= 'string' ) - // InternalRos.g:4929:3: () otherlv_1= 'string' + // InternalRos.g:4972:2: ( () otherlv_1= 'string' ) + // InternalRos.g:4973:3: () otherlv_1= 'string' { - // InternalRos.g:4929:3: () - // InternalRos.g:4930:4: + // InternalRos.g:4973:3: () + // InternalRos.g:4974:4: { current = forceCreateModelElement( @@ -12492,7 +12590,7 @@ public final EObject rulestring0() throws RecognitionException { // $ANTLR start "entryRulebyte" - // InternalRos.g:4944:1: entryRulebyte returns [EObject current=null] : iv_rulebyte= rulebyte EOF ; + // InternalRos.g:4988:1: entryRulebyte returns [EObject current=null] : iv_rulebyte= rulebyte EOF ; public final EObject entryRulebyte() throws RecognitionException { EObject current = null; @@ -12500,8 +12598,8 @@ public final EObject entryRulebyte() throws RecognitionException { try { - // InternalRos.g:4944:45: (iv_rulebyte= rulebyte EOF ) - // InternalRos.g:4945:2: iv_rulebyte= rulebyte EOF + // InternalRos.g:4988:45: (iv_rulebyte= rulebyte EOF ) + // InternalRos.g:4989:2: iv_rulebyte= rulebyte EOF { newCompositeNode(grammarAccess.getByteRule()); pushFollow(FOLLOW_1); @@ -12528,7 +12626,7 @@ public final EObject entryRulebyte() throws RecognitionException { // $ANTLR start "rulebyte" - // InternalRos.g:4951:1: rulebyte returns [EObject current=null] : ( () otherlv_1= 'byte' ) ; + // InternalRos.g:4995:1: rulebyte returns [EObject current=null] : ( () otherlv_1= 'byte' ) ; public final EObject rulebyte() throws RecognitionException { EObject current = null; @@ -12538,14 +12636,14 @@ public final EObject rulebyte() throws RecognitionException { enterRule(); try { - // InternalRos.g:4957:2: ( ( () otherlv_1= 'byte' ) ) - // InternalRos.g:4958:2: ( () otherlv_1= 'byte' ) + // InternalRos.g:5001:2: ( ( () otherlv_1= 'byte' ) ) + // InternalRos.g:5002:2: ( () otherlv_1= 'byte' ) { - // InternalRos.g:4958:2: ( () otherlv_1= 'byte' ) - // InternalRos.g:4959:3: () otherlv_1= 'byte' + // InternalRos.g:5002:2: ( () otherlv_1= 'byte' ) + // InternalRos.g:5003:3: () otherlv_1= 'byte' { - // InternalRos.g:4959:3: () - // InternalRos.g:4960:4: + // InternalRos.g:5003:3: () + // InternalRos.g:5004:4: { current = forceCreateModelElement( @@ -12582,7 +12680,7 @@ public final EObject rulebyte() throws RecognitionException { // $ANTLR start "entryRuletime" - // InternalRos.g:4974:1: entryRuletime returns [EObject current=null] : iv_ruletime= ruletime EOF ; + // InternalRos.g:5018:1: entryRuletime returns [EObject current=null] : iv_ruletime= ruletime EOF ; public final EObject entryRuletime() throws RecognitionException { EObject current = null; @@ -12590,8 +12688,8 @@ public final EObject entryRuletime() throws RecognitionException { try { - // InternalRos.g:4974:45: (iv_ruletime= ruletime EOF ) - // InternalRos.g:4975:2: iv_ruletime= ruletime EOF + // InternalRos.g:5018:45: (iv_ruletime= ruletime EOF ) + // InternalRos.g:5019:2: iv_ruletime= ruletime EOF { newCompositeNode(grammarAccess.getTimeRule()); pushFollow(FOLLOW_1); @@ -12618,7 +12716,7 @@ public final EObject entryRuletime() throws RecognitionException { // $ANTLR start "ruletime" - // InternalRos.g:4981:1: ruletime returns [EObject current=null] : ( () otherlv_1= 'time' ) ; + // InternalRos.g:5025:1: ruletime returns [EObject current=null] : ( () otherlv_1= 'time' ) ; public final EObject ruletime() throws RecognitionException { EObject current = null; @@ -12628,14 +12726,14 @@ public final EObject ruletime() throws RecognitionException { enterRule(); try { - // InternalRos.g:4987:2: ( ( () otherlv_1= 'time' ) ) - // InternalRos.g:4988:2: ( () otherlv_1= 'time' ) + // InternalRos.g:5031:2: ( ( () otherlv_1= 'time' ) ) + // InternalRos.g:5032:2: ( () otherlv_1= 'time' ) { - // InternalRos.g:4988:2: ( () otherlv_1= 'time' ) - // InternalRos.g:4989:3: () otherlv_1= 'time' + // InternalRos.g:5032:2: ( () otherlv_1= 'time' ) + // InternalRos.g:5033:3: () otherlv_1= 'time' { - // InternalRos.g:4989:3: () - // InternalRos.g:4990:4: + // InternalRos.g:5033:3: () + // InternalRos.g:5034:4: { current = forceCreateModelElement( @@ -12672,7 +12770,7 @@ public final EObject ruletime() throws RecognitionException { // $ANTLR start "entryRuleduration" - // InternalRos.g:5004:1: entryRuleduration returns [EObject current=null] : iv_ruleduration= ruleduration EOF ; + // InternalRos.g:5048:1: entryRuleduration returns [EObject current=null] : iv_ruleduration= ruleduration EOF ; public final EObject entryRuleduration() throws RecognitionException { EObject current = null; @@ -12680,8 +12778,8 @@ public final EObject entryRuleduration() throws RecognitionException { try { - // InternalRos.g:5004:49: (iv_ruleduration= ruleduration EOF ) - // InternalRos.g:5005:2: iv_ruleduration= ruleduration EOF + // InternalRos.g:5048:49: (iv_ruleduration= ruleduration EOF ) + // InternalRos.g:5049:2: iv_ruleduration= ruleduration EOF { newCompositeNode(grammarAccess.getDurationRule()); pushFollow(FOLLOW_1); @@ -12708,7 +12806,7 @@ public final EObject entryRuleduration() throws RecognitionException { // $ANTLR start "ruleduration" - // InternalRos.g:5011:1: ruleduration returns [EObject current=null] : ( () otherlv_1= 'duration' ) ; + // InternalRos.g:5055:1: ruleduration returns [EObject current=null] : ( () otherlv_1= 'duration' ) ; public final EObject ruleduration() throws RecognitionException { EObject current = null; @@ -12718,14 +12816,14 @@ public final EObject ruleduration() throws RecognitionException { enterRule(); try { - // InternalRos.g:5017:2: ( ( () otherlv_1= 'duration' ) ) - // InternalRos.g:5018:2: ( () otherlv_1= 'duration' ) + // InternalRos.g:5061:2: ( ( () otherlv_1= 'duration' ) ) + // InternalRos.g:5062:2: ( () otherlv_1= 'duration' ) { - // InternalRos.g:5018:2: ( () otherlv_1= 'duration' ) - // InternalRos.g:5019:3: () otherlv_1= 'duration' + // InternalRos.g:5062:2: ( () otherlv_1= 'duration' ) + // InternalRos.g:5063:3: () otherlv_1= 'duration' { - // InternalRos.g:5019:3: () - // InternalRos.g:5020:4: + // InternalRos.g:5063:3: () + // InternalRos.g:5064:4: { current = forceCreateModelElement( @@ -12762,7 +12860,7 @@ public final EObject ruleduration() throws RecognitionException { // $ANTLR start "entryRuleboolArray" - // InternalRos.g:5034:1: entryRuleboolArray returns [EObject current=null] : iv_ruleboolArray= ruleboolArray EOF ; + // InternalRos.g:5078:1: entryRuleboolArray returns [EObject current=null] : iv_ruleboolArray= ruleboolArray EOF ; public final EObject entryRuleboolArray() throws RecognitionException { EObject current = null; @@ -12770,8 +12868,8 @@ public final EObject entryRuleboolArray() throws RecognitionException { try { - // InternalRos.g:5034:50: (iv_ruleboolArray= ruleboolArray EOF ) - // InternalRos.g:5035:2: iv_ruleboolArray= ruleboolArray EOF + // InternalRos.g:5078:50: (iv_ruleboolArray= ruleboolArray EOF ) + // InternalRos.g:5079:2: iv_ruleboolArray= ruleboolArray EOF { newCompositeNode(grammarAccess.getBoolArrayRule()); pushFollow(FOLLOW_1); @@ -12798,7 +12896,7 @@ public final EObject entryRuleboolArray() throws RecognitionException { // $ANTLR start "ruleboolArray" - // InternalRos.g:5041:1: ruleboolArray returns [EObject current=null] : ( () otherlv_1= 'bool[]' ) ; + // InternalRos.g:5085:1: ruleboolArray returns [EObject current=null] : ( () otherlv_1= 'bool[]' ) ; public final EObject ruleboolArray() throws RecognitionException { EObject current = null; @@ -12808,14 +12906,14 @@ public final EObject ruleboolArray() throws RecognitionException { enterRule(); try { - // InternalRos.g:5047:2: ( ( () otherlv_1= 'bool[]' ) ) - // InternalRos.g:5048:2: ( () otherlv_1= 'bool[]' ) + // InternalRos.g:5091:2: ( ( () otherlv_1= 'bool[]' ) ) + // InternalRos.g:5092:2: ( () otherlv_1= 'bool[]' ) { - // InternalRos.g:5048:2: ( () otherlv_1= 'bool[]' ) - // InternalRos.g:5049:3: () otherlv_1= 'bool[]' + // InternalRos.g:5092:2: ( () otherlv_1= 'bool[]' ) + // InternalRos.g:5093:3: () otherlv_1= 'bool[]' { - // InternalRos.g:5049:3: () - // InternalRos.g:5050:4: + // InternalRos.g:5093:3: () + // InternalRos.g:5094:4: { current = forceCreateModelElement( @@ -12852,7 +12950,7 @@ public final EObject ruleboolArray() throws RecognitionException { // $ANTLR start "entryRuleint8Array" - // InternalRos.g:5064:1: entryRuleint8Array returns [EObject current=null] : iv_ruleint8Array= ruleint8Array EOF ; + // InternalRos.g:5108:1: entryRuleint8Array returns [EObject current=null] : iv_ruleint8Array= ruleint8Array EOF ; public final EObject entryRuleint8Array() throws RecognitionException { EObject current = null; @@ -12860,8 +12958,8 @@ public final EObject entryRuleint8Array() throws RecognitionException { try { - // InternalRos.g:5064:50: (iv_ruleint8Array= ruleint8Array EOF ) - // InternalRos.g:5065:2: iv_ruleint8Array= ruleint8Array EOF + // InternalRos.g:5108:50: (iv_ruleint8Array= ruleint8Array EOF ) + // InternalRos.g:5109:2: iv_ruleint8Array= ruleint8Array EOF { newCompositeNode(grammarAccess.getInt8ArrayRule()); pushFollow(FOLLOW_1); @@ -12888,7 +12986,7 @@ public final EObject entryRuleint8Array() throws RecognitionException { // $ANTLR start "ruleint8Array" - // InternalRos.g:5071:1: ruleint8Array returns [EObject current=null] : ( () otherlv_1= 'int8[]' ) ; + // InternalRos.g:5115:1: ruleint8Array returns [EObject current=null] : ( () otherlv_1= 'int8[]' ) ; public final EObject ruleint8Array() throws RecognitionException { EObject current = null; @@ -12898,14 +12996,14 @@ public final EObject ruleint8Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5077:2: ( ( () otherlv_1= 'int8[]' ) ) - // InternalRos.g:5078:2: ( () otherlv_1= 'int8[]' ) + // InternalRos.g:5121:2: ( ( () otherlv_1= 'int8[]' ) ) + // InternalRos.g:5122:2: ( () otherlv_1= 'int8[]' ) { - // InternalRos.g:5078:2: ( () otherlv_1= 'int8[]' ) - // InternalRos.g:5079:3: () otherlv_1= 'int8[]' + // InternalRos.g:5122:2: ( () otherlv_1= 'int8[]' ) + // InternalRos.g:5123:3: () otherlv_1= 'int8[]' { - // InternalRos.g:5079:3: () - // InternalRos.g:5080:4: + // InternalRos.g:5123:3: () + // InternalRos.g:5124:4: { current = forceCreateModelElement( @@ -12942,7 +13040,7 @@ public final EObject ruleint8Array() throws RecognitionException { // $ANTLR start "entryRuleuint8Array" - // InternalRos.g:5094:1: entryRuleuint8Array returns [EObject current=null] : iv_ruleuint8Array= ruleuint8Array EOF ; + // InternalRos.g:5138:1: entryRuleuint8Array returns [EObject current=null] : iv_ruleuint8Array= ruleuint8Array EOF ; public final EObject entryRuleuint8Array() throws RecognitionException { EObject current = null; @@ -12950,8 +13048,8 @@ public final EObject entryRuleuint8Array() throws RecognitionException { try { - // InternalRos.g:5094:51: (iv_ruleuint8Array= ruleuint8Array EOF ) - // InternalRos.g:5095:2: iv_ruleuint8Array= ruleuint8Array EOF + // InternalRos.g:5138:51: (iv_ruleuint8Array= ruleuint8Array EOF ) + // InternalRos.g:5139:2: iv_ruleuint8Array= ruleuint8Array EOF { newCompositeNode(grammarAccess.getUint8ArrayRule()); pushFollow(FOLLOW_1); @@ -12978,7 +13076,7 @@ public final EObject entryRuleuint8Array() throws RecognitionException { // $ANTLR start "ruleuint8Array" - // InternalRos.g:5101:1: ruleuint8Array returns [EObject current=null] : ( () otherlv_1= 'uint8[]' ) ; + // InternalRos.g:5145:1: ruleuint8Array returns [EObject current=null] : ( () otherlv_1= 'uint8[]' ) ; public final EObject ruleuint8Array() throws RecognitionException { EObject current = null; @@ -12988,14 +13086,14 @@ public final EObject ruleuint8Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5107:2: ( ( () otherlv_1= 'uint8[]' ) ) - // InternalRos.g:5108:2: ( () otherlv_1= 'uint8[]' ) + // InternalRos.g:5151:2: ( ( () otherlv_1= 'uint8[]' ) ) + // InternalRos.g:5152:2: ( () otherlv_1= 'uint8[]' ) { - // InternalRos.g:5108:2: ( () otherlv_1= 'uint8[]' ) - // InternalRos.g:5109:3: () otherlv_1= 'uint8[]' + // InternalRos.g:5152:2: ( () otherlv_1= 'uint8[]' ) + // InternalRos.g:5153:3: () otherlv_1= 'uint8[]' { - // InternalRos.g:5109:3: () - // InternalRos.g:5110:4: + // InternalRos.g:5153:3: () + // InternalRos.g:5154:4: { current = forceCreateModelElement( @@ -13032,7 +13130,7 @@ public final EObject ruleuint8Array() throws RecognitionException { // $ANTLR start "entryRuleint16Array" - // InternalRos.g:5124:1: entryRuleint16Array returns [EObject current=null] : iv_ruleint16Array= ruleint16Array EOF ; + // InternalRos.g:5168:1: entryRuleint16Array returns [EObject current=null] : iv_ruleint16Array= ruleint16Array EOF ; public final EObject entryRuleint16Array() throws RecognitionException { EObject current = null; @@ -13040,8 +13138,8 @@ public final EObject entryRuleint16Array() throws RecognitionException { try { - // InternalRos.g:5124:51: (iv_ruleint16Array= ruleint16Array EOF ) - // InternalRos.g:5125:2: iv_ruleint16Array= ruleint16Array EOF + // InternalRos.g:5168:51: (iv_ruleint16Array= ruleint16Array EOF ) + // InternalRos.g:5169:2: iv_ruleint16Array= ruleint16Array EOF { newCompositeNode(grammarAccess.getInt16ArrayRule()); pushFollow(FOLLOW_1); @@ -13068,7 +13166,7 @@ public final EObject entryRuleint16Array() throws RecognitionException { // $ANTLR start "ruleint16Array" - // InternalRos.g:5131:1: ruleint16Array returns [EObject current=null] : ( () otherlv_1= 'int16[]' ) ; + // InternalRos.g:5175:1: ruleint16Array returns [EObject current=null] : ( () otherlv_1= 'int16[]' ) ; public final EObject ruleint16Array() throws RecognitionException { EObject current = null; @@ -13078,14 +13176,14 @@ public final EObject ruleint16Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5137:2: ( ( () otherlv_1= 'int16[]' ) ) - // InternalRos.g:5138:2: ( () otherlv_1= 'int16[]' ) + // InternalRos.g:5181:2: ( ( () otherlv_1= 'int16[]' ) ) + // InternalRos.g:5182:2: ( () otherlv_1= 'int16[]' ) { - // InternalRos.g:5138:2: ( () otherlv_1= 'int16[]' ) - // InternalRos.g:5139:3: () otherlv_1= 'int16[]' + // InternalRos.g:5182:2: ( () otherlv_1= 'int16[]' ) + // InternalRos.g:5183:3: () otherlv_1= 'int16[]' { - // InternalRos.g:5139:3: () - // InternalRos.g:5140:4: + // InternalRos.g:5183:3: () + // InternalRos.g:5184:4: { current = forceCreateModelElement( @@ -13122,7 +13220,7 @@ public final EObject ruleint16Array() throws RecognitionException { // $ANTLR start "entryRuleuint16Array" - // InternalRos.g:5154:1: entryRuleuint16Array returns [EObject current=null] : iv_ruleuint16Array= ruleuint16Array EOF ; + // InternalRos.g:5198:1: entryRuleuint16Array returns [EObject current=null] : iv_ruleuint16Array= ruleuint16Array EOF ; public final EObject entryRuleuint16Array() throws RecognitionException { EObject current = null; @@ -13130,8 +13228,8 @@ public final EObject entryRuleuint16Array() throws RecognitionException { try { - // InternalRos.g:5154:52: (iv_ruleuint16Array= ruleuint16Array EOF ) - // InternalRos.g:5155:2: iv_ruleuint16Array= ruleuint16Array EOF + // InternalRos.g:5198:52: (iv_ruleuint16Array= ruleuint16Array EOF ) + // InternalRos.g:5199:2: iv_ruleuint16Array= ruleuint16Array EOF { newCompositeNode(grammarAccess.getUint16ArrayRule()); pushFollow(FOLLOW_1); @@ -13158,7 +13256,7 @@ public final EObject entryRuleuint16Array() throws RecognitionException { // $ANTLR start "ruleuint16Array" - // InternalRos.g:5161:1: ruleuint16Array returns [EObject current=null] : ( () otherlv_1= 'uint16[]' ) ; + // InternalRos.g:5205:1: ruleuint16Array returns [EObject current=null] : ( () otherlv_1= 'uint16[]' ) ; public final EObject ruleuint16Array() throws RecognitionException { EObject current = null; @@ -13168,14 +13266,14 @@ public final EObject ruleuint16Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5167:2: ( ( () otherlv_1= 'uint16[]' ) ) - // InternalRos.g:5168:2: ( () otherlv_1= 'uint16[]' ) + // InternalRos.g:5211:2: ( ( () otherlv_1= 'uint16[]' ) ) + // InternalRos.g:5212:2: ( () otherlv_1= 'uint16[]' ) { - // InternalRos.g:5168:2: ( () otherlv_1= 'uint16[]' ) - // InternalRos.g:5169:3: () otherlv_1= 'uint16[]' + // InternalRos.g:5212:2: ( () otherlv_1= 'uint16[]' ) + // InternalRos.g:5213:3: () otherlv_1= 'uint16[]' { - // InternalRos.g:5169:3: () - // InternalRos.g:5170:4: + // InternalRos.g:5213:3: () + // InternalRos.g:5214:4: { current = forceCreateModelElement( @@ -13212,7 +13310,7 @@ public final EObject ruleuint16Array() throws RecognitionException { // $ANTLR start "entryRuleint32Array" - // InternalRos.g:5184:1: entryRuleint32Array returns [EObject current=null] : iv_ruleint32Array= ruleint32Array EOF ; + // InternalRos.g:5228:1: entryRuleint32Array returns [EObject current=null] : iv_ruleint32Array= ruleint32Array EOF ; public final EObject entryRuleint32Array() throws RecognitionException { EObject current = null; @@ -13220,8 +13318,8 @@ public final EObject entryRuleint32Array() throws RecognitionException { try { - // InternalRos.g:5184:51: (iv_ruleint32Array= ruleint32Array EOF ) - // InternalRos.g:5185:2: iv_ruleint32Array= ruleint32Array EOF + // InternalRos.g:5228:51: (iv_ruleint32Array= ruleint32Array EOF ) + // InternalRos.g:5229:2: iv_ruleint32Array= ruleint32Array EOF { newCompositeNode(grammarAccess.getInt32ArrayRule()); pushFollow(FOLLOW_1); @@ -13248,7 +13346,7 @@ public final EObject entryRuleint32Array() throws RecognitionException { // $ANTLR start "ruleint32Array" - // InternalRos.g:5191:1: ruleint32Array returns [EObject current=null] : ( () otherlv_1= 'int32[]' ) ; + // InternalRos.g:5235:1: ruleint32Array returns [EObject current=null] : ( () otherlv_1= 'int32[]' ) ; public final EObject ruleint32Array() throws RecognitionException { EObject current = null; @@ -13258,14 +13356,14 @@ public final EObject ruleint32Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5197:2: ( ( () otherlv_1= 'int32[]' ) ) - // InternalRos.g:5198:2: ( () otherlv_1= 'int32[]' ) + // InternalRos.g:5241:2: ( ( () otherlv_1= 'int32[]' ) ) + // InternalRos.g:5242:2: ( () otherlv_1= 'int32[]' ) { - // InternalRos.g:5198:2: ( () otherlv_1= 'int32[]' ) - // InternalRos.g:5199:3: () otherlv_1= 'int32[]' + // InternalRos.g:5242:2: ( () otherlv_1= 'int32[]' ) + // InternalRos.g:5243:3: () otherlv_1= 'int32[]' { - // InternalRos.g:5199:3: () - // InternalRos.g:5200:4: + // InternalRos.g:5243:3: () + // InternalRos.g:5244:4: { current = forceCreateModelElement( @@ -13302,7 +13400,7 @@ public final EObject ruleint32Array() throws RecognitionException { // $ANTLR start "entryRuleuint32Array" - // InternalRos.g:5214:1: entryRuleuint32Array returns [EObject current=null] : iv_ruleuint32Array= ruleuint32Array EOF ; + // InternalRos.g:5258:1: entryRuleuint32Array returns [EObject current=null] : iv_ruleuint32Array= ruleuint32Array EOF ; public final EObject entryRuleuint32Array() throws RecognitionException { EObject current = null; @@ -13310,8 +13408,8 @@ public final EObject entryRuleuint32Array() throws RecognitionException { try { - // InternalRos.g:5214:52: (iv_ruleuint32Array= ruleuint32Array EOF ) - // InternalRos.g:5215:2: iv_ruleuint32Array= ruleuint32Array EOF + // InternalRos.g:5258:52: (iv_ruleuint32Array= ruleuint32Array EOF ) + // InternalRos.g:5259:2: iv_ruleuint32Array= ruleuint32Array EOF { newCompositeNode(grammarAccess.getUint32ArrayRule()); pushFollow(FOLLOW_1); @@ -13338,7 +13436,7 @@ public final EObject entryRuleuint32Array() throws RecognitionException { // $ANTLR start "ruleuint32Array" - // InternalRos.g:5221:1: ruleuint32Array returns [EObject current=null] : ( () otherlv_1= 'uint32[]' ) ; + // InternalRos.g:5265:1: ruleuint32Array returns [EObject current=null] : ( () otherlv_1= 'uint32[]' ) ; public final EObject ruleuint32Array() throws RecognitionException { EObject current = null; @@ -13348,14 +13446,14 @@ public final EObject ruleuint32Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5227:2: ( ( () otherlv_1= 'uint32[]' ) ) - // InternalRos.g:5228:2: ( () otherlv_1= 'uint32[]' ) + // InternalRos.g:5271:2: ( ( () otherlv_1= 'uint32[]' ) ) + // InternalRos.g:5272:2: ( () otherlv_1= 'uint32[]' ) { - // InternalRos.g:5228:2: ( () otherlv_1= 'uint32[]' ) - // InternalRos.g:5229:3: () otherlv_1= 'uint32[]' + // InternalRos.g:5272:2: ( () otherlv_1= 'uint32[]' ) + // InternalRos.g:5273:3: () otherlv_1= 'uint32[]' { - // InternalRos.g:5229:3: () - // InternalRos.g:5230:4: + // InternalRos.g:5273:3: () + // InternalRos.g:5274:4: { current = forceCreateModelElement( @@ -13392,7 +13490,7 @@ public final EObject ruleuint32Array() throws RecognitionException { // $ANTLR start "entryRuleint64Array" - // InternalRos.g:5244:1: entryRuleint64Array returns [EObject current=null] : iv_ruleint64Array= ruleint64Array EOF ; + // InternalRos.g:5288:1: entryRuleint64Array returns [EObject current=null] : iv_ruleint64Array= ruleint64Array EOF ; public final EObject entryRuleint64Array() throws RecognitionException { EObject current = null; @@ -13400,8 +13498,8 @@ public final EObject entryRuleint64Array() throws RecognitionException { try { - // InternalRos.g:5244:51: (iv_ruleint64Array= ruleint64Array EOF ) - // InternalRos.g:5245:2: iv_ruleint64Array= ruleint64Array EOF + // InternalRos.g:5288:51: (iv_ruleint64Array= ruleint64Array EOF ) + // InternalRos.g:5289:2: iv_ruleint64Array= ruleint64Array EOF { newCompositeNode(grammarAccess.getInt64ArrayRule()); pushFollow(FOLLOW_1); @@ -13428,7 +13526,7 @@ public final EObject entryRuleint64Array() throws RecognitionException { // $ANTLR start "ruleint64Array" - // InternalRos.g:5251:1: ruleint64Array returns [EObject current=null] : ( () otherlv_1= 'int64[]' ) ; + // InternalRos.g:5295:1: ruleint64Array returns [EObject current=null] : ( () otherlv_1= 'int64[]' ) ; public final EObject ruleint64Array() throws RecognitionException { EObject current = null; @@ -13438,14 +13536,14 @@ public final EObject ruleint64Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5257:2: ( ( () otherlv_1= 'int64[]' ) ) - // InternalRos.g:5258:2: ( () otherlv_1= 'int64[]' ) + // InternalRos.g:5301:2: ( ( () otherlv_1= 'int64[]' ) ) + // InternalRos.g:5302:2: ( () otherlv_1= 'int64[]' ) { - // InternalRos.g:5258:2: ( () otherlv_1= 'int64[]' ) - // InternalRos.g:5259:3: () otherlv_1= 'int64[]' + // InternalRos.g:5302:2: ( () otherlv_1= 'int64[]' ) + // InternalRos.g:5303:3: () otherlv_1= 'int64[]' { - // InternalRos.g:5259:3: () - // InternalRos.g:5260:4: + // InternalRos.g:5303:3: () + // InternalRos.g:5304:4: { current = forceCreateModelElement( @@ -13482,7 +13580,7 @@ public final EObject ruleint64Array() throws RecognitionException { // $ANTLR start "entryRuleuint64Array" - // InternalRos.g:5274:1: entryRuleuint64Array returns [EObject current=null] : iv_ruleuint64Array= ruleuint64Array EOF ; + // InternalRos.g:5318:1: entryRuleuint64Array returns [EObject current=null] : iv_ruleuint64Array= ruleuint64Array EOF ; public final EObject entryRuleuint64Array() throws RecognitionException { EObject current = null; @@ -13490,8 +13588,8 @@ public final EObject entryRuleuint64Array() throws RecognitionException { try { - // InternalRos.g:5274:52: (iv_ruleuint64Array= ruleuint64Array EOF ) - // InternalRos.g:5275:2: iv_ruleuint64Array= ruleuint64Array EOF + // InternalRos.g:5318:52: (iv_ruleuint64Array= ruleuint64Array EOF ) + // InternalRos.g:5319:2: iv_ruleuint64Array= ruleuint64Array EOF { newCompositeNode(grammarAccess.getUint64ArrayRule()); pushFollow(FOLLOW_1); @@ -13518,7 +13616,7 @@ public final EObject entryRuleuint64Array() throws RecognitionException { // $ANTLR start "ruleuint64Array" - // InternalRos.g:5281:1: ruleuint64Array returns [EObject current=null] : ( () otherlv_1= 'uint64[]' ) ; + // InternalRos.g:5325:1: ruleuint64Array returns [EObject current=null] : ( () otherlv_1= 'uint64[]' ) ; public final EObject ruleuint64Array() throws RecognitionException { EObject current = null; @@ -13528,14 +13626,14 @@ public final EObject ruleuint64Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5287:2: ( ( () otherlv_1= 'uint64[]' ) ) - // InternalRos.g:5288:2: ( () otherlv_1= 'uint64[]' ) + // InternalRos.g:5331:2: ( ( () otherlv_1= 'uint64[]' ) ) + // InternalRos.g:5332:2: ( () otherlv_1= 'uint64[]' ) { - // InternalRos.g:5288:2: ( () otherlv_1= 'uint64[]' ) - // InternalRos.g:5289:3: () otherlv_1= 'uint64[]' + // InternalRos.g:5332:2: ( () otherlv_1= 'uint64[]' ) + // InternalRos.g:5333:3: () otherlv_1= 'uint64[]' { - // InternalRos.g:5289:3: () - // InternalRos.g:5290:4: + // InternalRos.g:5333:3: () + // InternalRos.g:5334:4: { current = forceCreateModelElement( @@ -13572,7 +13670,7 @@ public final EObject ruleuint64Array() throws RecognitionException { // $ANTLR start "entryRulefloat32Array" - // InternalRos.g:5304:1: entryRulefloat32Array returns [EObject current=null] : iv_rulefloat32Array= rulefloat32Array EOF ; + // InternalRos.g:5348:1: entryRulefloat32Array returns [EObject current=null] : iv_rulefloat32Array= rulefloat32Array EOF ; public final EObject entryRulefloat32Array() throws RecognitionException { EObject current = null; @@ -13580,8 +13678,8 @@ public final EObject entryRulefloat32Array() throws RecognitionException { try { - // InternalRos.g:5304:53: (iv_rulefloat32Array= rulefloat32Array EOF ) - // InternalRos.g:5305:2: iv_rulefloat32Array= rulefloat32Array EOF + // InternalRos.g:5348:53: (iv_rulefloat32Array= rulefloat32Array EOF ) + // InternalRos.g:5349:2: iv_rulefloat32Array= rulefloat32Array EOF { newCompositeNode(grammarAccess.getFloat32ArrayRule()); pushFollow(FOLLOW_1); @@ -13608,7 +13706,7 @@ public final EObject entryRulefloat32Array() throws RecognitionException { // $ANTLR start "rulefloat32Array" - // InternalRos.g:5311:1: rulefloat32Array returns [EObject current=null] : ( () otherlv_1= 'float32[]' ) ; + // InternalRos.g:5355:1: rulefloat32Array returns [EObject current=null] : ( () otherlv_1= 'float32[]' ) ; public final EObject rulefloat32Array() throws RecognitionException { EObject current = null; @@ -13618,14 +13716,14 @@ public final EObject rulefloat32Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5317:2: ( ( () otherlv_1= 'float32[]' ) ) - // InternalRos.g:5318:2: ( () otherlv_1= 'float32[]' ) + // InternalRos.g:5361:2: ( ( () otherlv_1= 'float32[]' ) ) + // InternalRos.g:5362:2: ( () otherlv_1= 'float32[]' ) { - // InternalRos.g:5318:2: ( () otherlv_1= 'float32[]' ) - // InternalRos.g:5319:3: () otherlv_1= 'float32[]' + // InternalRos.g:5362:2: ( () otherlv_1= 'float32[]' ) + // InternalRos.g:5363:3: () otherlv_1= 'float32[]' { - // InternalRos.g:5319:3: () - // InternalRos.g:5320:4: + // InternalRos.g:5363:3: () + // InternalRos.g:5364:4: { current = forceCreateModelElement( @@ -13662,7 +13760,7 @@ public final EObject rulefloat32Array() throws RecognitionException { // $ANTLR start "entryRulefloat64Array" - // InternalRos.g:5334:1: entryRulefloat64Array returns [EObject current=null] : iv_rulefloat64Array= rulefloat64Array EOF ; + // InternalRos.g:5378:1: entryRulefloat64Array returns [EObject current=null] : iv_rulefloat64Array= rulefloat64Array EOF ; public final EObject entryRulefloat64Array() throws RecognitionException { EObject current = null; @@ -13670,8 +13768,8 @@ public final EObject entryRulefloat64Array() throws RecognitionException { try { - // InternalRos.g:5334:53: (iv_rulefloat64Array= rulefloat64Array EOF ) - // InternalRos.g:5335:2: iv_rulefloat64Array= rulefloat64Array EOF + // InternalRos.g:5378:53: (iv_rulefloat64Array= rulefloat64Array EOF ) + // InternalRos.g:5379:2: iv_rulefloat64Array= rulefloat64Array EOF { newCompositeNode(grammarAccess.getFloat64ArrayRule()); pushFollow(FOLLOW_1); @@ -13698,7 +13796,7 @@ public final EObject entryRulefloat64Array() throws RecognitionException { // $ANTLR start "rulefloat64Array" - // InternalRos.g:5341:1: rulefloat64Array returns [EObject current=null] : ( () otherlv_1= 'float64[]' ) ; + // InternalRos.g:5385:1: rulefloat64Array returns [EObject current=null] : ( () otherlv_1= 'float64[]' ) ; public final EObject rulefloat64Array() throws RecognitionException { EObject current = null; @@ -13708,14 +13806,14 @@ public final EObject rulefloat64Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5347:2: ( ( () otherlv_1= 'float64[]' ) ) - // InternalRos.g:5348:2: ( () otherlv_1= 'float64[]' ) + // InternalRos.g:5391:2: ( ( () otherlv_1= 'float64[]' ) ) + // InternalRos.g:5392:2: ( () otherlv_1= 'float64[]' ) { - // InternalRos.g:5348:2: ( () otherlv_1= 'float64[]' ) - // InternalRos.g:5349:3: () otherlv_1= 'float64[]' + // InternalRos.g:5392:2: ( () otherlv_1= 'float64[]' ) + // InternalRos.g:5393:3: () otherlv_1= 'float64[]' { - // InternalRos.g:5349:3: () - // InternalRos.g:5350:4: + // InternalRos.g:5393:3: () + // InternalRos.g:5394:4: { current = forceCreateModelElement( @@ -13752,7 +13850,7 @@ public final EObject rulefloat64Array() throws RecognitionException { // $ANTLR start "entryRulestring0Array" - // InternalRos.g:5364:1: entryRulestring0Array returns [EObject current=null] : iv_rulestring0Array= rulestring0Array EOF ; + // InternalRos.g:5408:1: entryRulestring0Array returns [EObject current=null] : iv_rulestring0Array= rulestring0Array EOF ; public final EObject entryRulestring0Array() throws RecognitionException { EObject current = null; @@ -13760,8 +13858,8 @@ public final EObject entryRulestring0Array() throws RecognitionException { try { - // InternalRos.g:5364:53: (iv_rulestring0Array= rulestring0Array EOF ) - // InternalRos.g:5365:2: iv_rulestring0Array= rulestring0Array EOF + // InternalRos.g:5408:53: (iv_rulestring0Array= rulestring0Array EOF ) + // InternalRos.g:5409:2: iv_rulestring0Array= rulestring0Array EOF { newCompositeNode(grammarAccess.getString0ArrayRule()); pushFollow(FOLLOW_1); @@ -13788,7 +13886,7 @@ public final EObject entryRulestring0Array() throws RecognitionException { // $ANTLR start "rulestring0Array" - // InternalRos.g:5371:1: rulestring0Array returns [EObject current=null] : ( () otherlv_1= 'string[]' ) ; + // InternalRos.g:5415:1: rulestring0Array returns [EObject current=null] : ( () otherlv_1= 'string[]' ) ; public final EObject rulestring0Array() throws RecognitionException { EObject current = null; @@ -13798,14 +13896,14 @@ public final EObject rulestring0Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5377:2: ( ( () otherlv_1= 'string[]' ) ) - // InternalRos.g:5378:2: ( () otherlv_1= 'string[]' ) + // InternalRos.g:5421:2: ( ( () otherlv_1= 'string[]' ) ) + // InternalRos.g:5422:2: ( () otherlv_1= 'string[]' ) { - // InternalRos.g:5378:2: ( () otherlv_1= 'string[]' ) - // InternalRos.g:5379:3: () otherlv_1= 'string[]' + // InternalRos.g:5422:2: ( () otherlv_1= 'string[]' ) + // InternalRos.g:5423:3: () otherlv_1= 'string[]' { - // InternalRos.g:5379:3: () - // InternalRos.g:5380:4: + // InternalRos.g:5423:3: () + // InternalRos.g:5424:4: { current = forceCreateModelElement( @@ -13842,7 +13940,7 @@ public final EObject rulestring0Array() throws RecognitionException { // $ANTLR start "entryRulebyteArray" - // InternalRos.g:5394:1: entryRulebyteArray returns [EObject current=null] : iv_rulebyteArray= rulebyteArray EOF ; + // InternalRos.g:5438:1: entryRulebyteArray returns [EObject current=null] : iv_rulebyteArray= rulebyteArray EOF ; public final EObject entryRulebyteArray() throws RecognitionException { EObject current = null; @@ -13850,8 +13948,8 @@ public final EObject entryRulebyteArray() throws RecognitionException { try { - // InternalRos.g:5394:50: (iv_rulebyteArray= rulebyteArray EOF ) - // InternalRos.g:5395:2: iv_rulebyteArray= rulebyteArray EOF + // InternalRos.g:5438:50: (iv_rulebyteArray= rulebyteArray EOF ) + // InternalRos.g:5439:2: iv_rulebyteArray= rulebyteArray EOF { newCompositeNode(grammarAccess.getByteArrayRule()); pushFollow(FOLLOW_1); @@ -13878,7 +13976,7 @@ public final EObject entryRulebyteArray() throws RecognitionException { // $ANTLR start "rulebyteArray" - // InternalRos.g:5401:1: rulebyteArray returns [EObject current=null] : ( () otherlv_1= 'byte[]' ) ; + // InternalRos.g:5445:1: rulebyteArray returns [EObject current=null] : ( () otherlv_1= 'byte[]' ) ; public final EObject rulebyteArray() throws RecognitionException { EObject current = null; @@ -13888,14 +13986,14 @@ public final EObject rulebyteArray() throws RecognitionException { enterRule(); try { - // InternalRos.g:5407:2: ( ( () otherlv_1= 'byte[]' ) ) - // InternalRos.g:5408:2: ( () otherlv_1= 'byte[]' ) + // InternalRos.g:5451:2: ( ( () otherlv_1= 'byte[]' ) ) + // InternalRos.g:5452:2: ( () otherlv_1= 'byte[]' ) { - // InternalRos.g:5408:2: ( () otherlv_1= 'byte[]' ) - // InternalRos.g:5409:3: () otherlv_1= 'byte[]' + // InternalRos.g:5452:2: ( () otherlv_1= 'byte[]' ) + // InternalRos.g:5453:3: () otherlv_1= 'byte[]' { - // InternalRos.g:5409:3: () - // InternalRos.g:5410:4: + // InternalRos.g:5453:3: () + // InternalRos.g:5454:4: { current = forceCreateModelElement( @@ -13932,7 +14030,7 @@ public final EObject rulebyteArray() throws RecognitionException { // $ANTLR start "entryRuleHeader" - // InternalRos.g:5424:1: entryRuleHeader returns [EObject current=null] : iv_ruleHeader= ruleHeader EOF ; + // InternalRos.g:5468:1: entryRuleHeader returns [EObject current=null] : iv_ruleHeader= ruleHeader EOF ; public final EObject entryRuleHeader() throws RecognitionException { EObject current = null; @@ -13940,8 +14038,8 @@ public final EObject entryRuleHeader() throws RecognitionException { try { - // InternalRos.g:5424:47: (iv_ruleHeader= ruleHeader EOF ) - // InternalRos.g:5425:2: iv_ruleHeader= ruleHeader EOF + // InternalRos.g:5468:47: (iv_ruleHeader= ruleHeader EOF ) + // InternalRos.g:5469:2: iv_ruleHeader= ruleHeader EOF { newCompositeNode(grammarAccess.getHeaderRule()); pushFollow(FOLLOW_1); @@ -13968,7 +14066,7 @@ public final EObject entryRuleHeader() throws RecognitionException { // $ANTLR start "ruleHeader" - // InternalRos.g:5431:1: ruleHeader returns [EObject current=null] : ( () otherlv_1= 'Header' ) ; + // InternalRos.g:5475:1: ruleHeader returns [EObject current=null] : ( () otherlv_1= 'Header' ) ; public final EObject ruleHeader() throws RecognitionException { EObject current = null; @@ -13978,14 +14076,14 @@ public final EObject ruleHeader() throws RecognitionException { enterRule(); try { - // InternalRos.g:5437:2: ( ( () otherlv_1= 'Header' ) ) - // InternalRos.g:5438:2: ( () otherlv_1= 'Header' ) + // InternalRos.g:5481:2: ( ( () otherlv_1= 'Header' ) ) + // InternalRos.g:5482:2: ( () otherlv_1= 'Header' ) { - // InternalRos.g:5438:2: ( () otherlv_1= 'Header' ) - // InternalRos.g:5439:3: () otherlv_1= 'Header' + // InternalRos.g:5482:2: ( () otherlv_1= 'Header' ) + // InternalRos.g:5483:3: () otherlv_1= 'Header' { - // InternalRos.g:5439:3: () - // InternalRos.g:5440:4: + // InternalRos.g:5483:3: () + // InternalRos.g:5484:4: { current = forceCreateModelElement( @@ -13995,7 +14093,7 @@ public final EObject ruleHeader() throws RecognitionException { } - otherlv_1=(Token)match(input,39,FOLLOW_2); + otherlv_1=(Token)match(input,40,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getHeaderAccess().getHeaderKeyword_1()); @@ -14022,7 +14120,7 @@ public final EObject ruleHeader() throws RecognitionException { // $ANTLR start "entryRuleTopicSpecRef" - // InternalRos.g:5454:1: entryRuleTopicSpecRef returns [EObject current=null] : iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ; + // InternalRos.g:5498:1: entryRuleTopicSpecRef returns [EObject current=null] : iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ; public final EObject entryRuleTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14030,8 +14128,8 @@ public final EObject entryRuleTopicSpecRef() throws RecognitionException { try { - // InternalRos.g:5454:53: (iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ) - // InternalRos.g:5455:2: iv_ruleTopicSpecRef= ruleTopicSpecRef EOF + // InternalRos.g:5498:53: (iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ) + // InternalRos.g:5499:2: iv_ruleTopicSpecRef= ruleTopicSpecRef EOF { newCompositeNode(grammarAccess.getTopicSpecRefRule()); pushFollow(FOLLOW_1); @@ -14058,7 +14156,7 @@ public final EObject entryRuleTopicSpecRef() throws RecognitionException { // $ANTLR start "ruleTopicSpecRef" - // InternalRos.g:5461:1: ruleTopicSpecRef returns [EObject current=null] : ( ( ruleEString ) ) ; + // InternalRos.g:5505:1: ruleTopicSpecRef returns [EObject current=null] : ( ( ruleEString ) ) ; public final EObject ruleTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14066,14 +14164,14 @@ public final EObject ruleTopicSpecRef() throws RecognitionException { enterRule(); try { - // InternalRos.g:5467:2: ( ( ( ruleEString ) ) ) - // InternalRos.g:5468:2: ( ( ruleEString ) ) + // InternalRos.g:5511:2: ( ( ( ruleEString ) ) ) + // InternalRos.g:5512:2: ( ( ruleEString ) ) { - // InternalRos.g:5468:2: ( ( ruleEString ) ) - // InternalRos.g:5469:3: ( ruleEString ) + // InternalRos.g:5512:2: ( ( ruleEString ) ) + // InternalRos.g:5513:3: ( ruleEString ) { - // InternalRos.g:5469:3: ( ruleEString ) - // InternalRos.g:5470:4: ruleEString + // InternalRos.g:5513:3: ( ruleEString ) + // InternalRos.g:5514:4: ruleEString { if (current==null) { @@ -14117,7 +14215,7 @@ public final EObject ruleTopicSpecRef() throws RecognitionException { // $ANTLR start "entryRuleArrayTopicSpecRef" - // InternalRos.g:5487:1: entryRuleArrayTopicSpecRef returns [EObject current=null] : iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ; + // InternalRos.g:5531:1: entryRuleArrayTopicSpecRef returns [EObject current=null] : iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ; public final EObject entryRuleArrayTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14125,8 +14223,8 @@ public final EObject entryRuleArrayTopicSpecRef() throws RecognitionException { try { - // InternalRos.g:5487:58: (iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ) - // InternalRos.g:5488:2: iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF + // InternalRos.g:5531:58: (iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ) + // InternalRos.g:5532:2: iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF { newCompositeNode(grammarAccess.getArrayTopicSpecRefRule()); pushFollow(FOLLOW_1); @@ -14153,7 +14251,7 @@ public final EObject entryRuleArrayTopicSpecRef() throws RecognitionException { // $ANTLR start "ruleArrayTopicSpecRef" - // InternalRos.g:5494:1: ruleArrayTopicSpecRef returns [EObject current=null] : ( ( ( ruleEString ) ) otherlv_1= '[]' ) ; + // InternalRos.g:5538:1: ruleArrayTopicSpecRef returns [EObject current=null] : ( ( ( ruleEString ) ) otherlv_1= '[]' ) ; public final EObject ruleArrayTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14163,17 +14261,17 @@ public final EObject ruleArrayTopicSpecRef() throws RecognitionException { enterRule(); try { - // InternalRos.g:5500:2: ( ( ( ( ruleEString ) ) otherlv_1= '[]' ) ) - // InternalRos.g:5501:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) + // InternalRos.g:5544:2: ( ( ( ( ruleEString ) ) otherlv_1= '[]' ) ) + // InternalRos.g:5545:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) { - // InternalRos.g:5501:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) - // InternalRos.g:5502:3: ( ( ruleEString ) ) otherlv_1= '[]' + // InternalRos.g:5545:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) + // InternalRos.g:5546:3: ( ( ruleEString ) ) otherlv_1= '[]' { - // InternalRos.g:5502:3: ( ( ruleEString ) ) - // InternalRos.g:5503:4: ( ruleEString ) + // InternalRos.g:5546:3: ( ( ruleEString ) ) + // InternalRos.g:5547:4: ( ruleEString ) { - // InternalRos.g:5503:4: ( ruleEString ) - // InternalRos.g:5504:5: ruleEString + // InternalRos.g:5547:4: ( ruleEString ) + // InternalRos.g:5548:5: ruleEString { if (current==null) { @@ -14224,7 +14322,7 @@ public final EObject ruleArrayTopicSpecRef() throws RecognitionException { // $ANTLR start "entryRuleKEYWORD" - // InternalRos.g:5526:1: entryRuleKEYWORD returns [String current=null] : iv_ruleKEYWORD= ruleKEYWORD EOF ; + // InternalRos.g:5570:1: entryRuleKEYWORD returns [String current=null] : iv_ruleKEYWORD= ruleKEYWORD EOF ; public final String entryRuleKEYWORD() throws RecognitionException { String current = null; @@ -14232,8 +14330,8 @@ public final String entryRuleKEYWORD() throws RecognitionException { try { - // InternalRos.g:5526:47: (iv_ruleKEYWORD= ruleKEYWORD EOF ) - // InternalRos.g:5527:2: iv_ruleKEYWORD= ruleKEYWORD EOF + // InternalRos.g:5570:47: (iv_ruleKEYWORD= ruleKEYWORD EOF ) + // InternalRos.g:5571:2: iv_ruleKEYWORD= ruleKEYWORD EOF { newCompositeNode(grammarAccess.getKEYWORDRule()); pushFollow(FOLLOW_1); @@ -14260,7 +14358,7 @@ public final String entryRuleKEYWORD() throws RecognitionException { // $ANTLR start "ruleKEYWORD" - // InternalRos.g:5533:1: ruleKEYWORD returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ; + // InternalRos.g:5577:1: ruleKEYWORD returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ; public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -14270,79 +14368,79 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { enterRule(); try { - // InternalRos.g:5539:2: ( (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ) - // InternalRos.g:5540:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) + // InternalRos.g:5583:2: ( (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ) + // InternalRos.g:5584:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) { - // InternalRos.g:5540:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) - int alt72=11; + // InternalRos.g:5584:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) + int alt74=11; switch ( input.LA(1) ) { - case 43: + case 44: { - alt72=1; + alt74=1; } break; - case 41: + case 42: { - alt72=2; + alt74=2; } break; - case 44: + case 45: { - alt72=3; + alt74=3; } break; - case 45: + case 46: { - alt72=4; + alt74=4; } break; - case 47: + case 48: { - alt72=5; + alt74=5; } break; case 82: { - alt72=6; + alt74=6; } break; - case 56: + case 57: { - alt72=7; + alt74=7; } break; case 72: { - alt72=8; + alt74=8; } break; - case 62: + case 63: { - alt72=9; + alt74=9; } break; case 98: { - alt72=10; + alt74=10; } break; case 97: { - alt72=11; + alt74=11; } break; default: NoViableAltException nvae = - new NoViableAltException("", 72, 0, input); + new NoViableAltException("", 74, 0, input); throw nvae; } - switch (alt72) { + switch (alt74) { case 1 : - // InternalRos.g:5541:3: kw= 'goal' + // InternalRos.g:5585:3: kw= 'goal' { - kw=(Token)match(input,43,FOLLOW_2); + kw=(Token)match(input,44,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getGoalKeyword_0()); @@ -14351,9 +14449,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 2 : - // InternalRos.g:5547:3: kw= 'message' + // InternalRos.g:5591:3: kw= 'message' { - kw=(Token)match(input,41,FOLLOW_2); + kw=(Token)match(input,42,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getMessageKeyword_1()); @@ -14362,9 +14460,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 3 : - // InternalRos.g:5553:3: kw= 'result' + // InternalRos.g:5597:3: kw= 'result' { - kw=(Token)match(input,44,FOLLOW_2); + kw=(Token)match(input,45,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getResultKeyword_2()); @@ -14373,9 +14471,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 4 : - // InternalRos.g:5559:3: kw= 'feedback' + // InternalRos.g:5603:3: kw= 'feedback' { - kw=(Token)match(input,45,FOLLOW_2); + kw=(Token)match(input,46,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getFeedbackKeyword_3()); @@ -14384,9 +14482,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 5 : - // InternalRos.g:5565:3: kw= 'name' + // InternalRos.g:5609:3: kw= 'name' { - kw=(Token)match(input,47,FOLLOW_2); + kw=(Token)match(input,48,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getNameKeyword_4()); @@ -14395,7 +14493,7 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 6 : - // InternalRos.g:5571:3: kw= 'value' + // InternalRos.g:5615:3: kw= 'value' { kw=(Token)match(input,82,FOLLOW_2); @@ -14406,9 +14504,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 7 : - // InternalRos.g:5577:3: kw= 'service' + // InternalRos.g:5621:3: kw= 'service' { - kw=(Token)match(input,56,FOLLOW_2); + kw=(Token)match(input,57,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getServiceKeyword_6()); @@ -14417,7 +14515,7 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 8 : - // InternalRos.g:5583:3: kw= 'type' + // InternalRos.g:5627:3: kw= 'type' { kw=(Token)match(input,72,FOLLOW_2); @@ -14428,9 +14526,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 9 : - // InternalRos.g:5589:3: kw= 'action' + // InternalRos.g:5633:3: kw= 'action' { - kw=(Token)match(input,62,FOLLOW_2); + kw=(Token)match(input,63,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getActionKeyword_8()); @@ -14439,7 +14537,7 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 10 : - // InternalRos.g:5595:3: kw= 'duration' + // InternalRos.g:5639:3: kw= 'duration' { kw=(Token)match(input,98,FOLLOW_2); @@ -14450,7 +14548,7 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 11 : - // InternalRos.g:5601:3: kw= 'time' + // InternalRos.g:5645:3: kw= 'time' { kw=(Token)match(input,97,FOLLOW_2); @@ -14484,7 +14582,7 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { // Delegated rules - protected DFA71 dfa71 = new DFA71(this); + protected DFA73 dfa73 = new DFA73(this); static final String dfa_1s = "\42\uffff"; static final String dfa_2s = "\36\uffff\2\41\2\uffff"; static final String dfa_3s = "\1\4\35\uffff\2\4\2\uffff"; @@ -14492,7 +14590,7 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { static final String dfa_5s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\2\uffff\1\37\1\36"; static final String dfa_6s = "\42\uffff}>"; static final String[] dfa_7s = { - "\1\36\1\37\41\uffff\1\20\54\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35", + "\1\36\1\37\42\uffff\1\20\53\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35", "", "", "", @@ -14522,8 +14620,8 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { "", "", "", - "\2\41\6\uffff\1\41\34\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\11\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", - "\2\41\6\uffff\1\41\34\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\11\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", + "\2\41\6\uffff\1\41\35\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\10\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", + "\2\41\6\uffff\1\41\35\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\10\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", "", "" }; @@ -14536,11 +14634,11 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); - class DFA71 extends DFA { + class DFA73 extends DFA { - public DFA71(BaseRecognizer recognizer) { + public DFA73(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 71; + this.decisionNumber = 73; this.eot = dfa_1; this.eof = dfa_2; this.min = dfa_3; @@ -14550,7 +14648,7 @@ public DFA71(BaseRecognizer recognizer) { this.transition = dfa_7; } public String getDescription() { - return "4301:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef )"; + return "4345:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef )"; } } @@ -14558,54 +14656,54 @@ public String getDescription() { public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000230000000L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000430000000L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000018000000L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000220000000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000420000000L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000030L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000150000000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000044800000000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000110000000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000100000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000080000060L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000400010000000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000550000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000510000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000418000000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000006L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000003010000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000002010000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000018000000030L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000020010000000L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000380010000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000300010000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000200010000000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000008010000030L,0x0000FFFFFFF00000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x007F000010000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0080000000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x007E000010000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0400000000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x007C000010000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0800000000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0078000010000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x1000000000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0070000010000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0060000010000000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0040000010000000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000002D0000000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000290000000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000089000000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000210000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000100000060L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000800010000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000AD0000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000A90000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000030L,0x0000000000000004L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000006010000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000004010000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000030000000030L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000040010000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000700010000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000600010000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000400010000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000010010000030L,0x0000FFFFFFF00000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x00FE000010000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00FC000010000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0800000000000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x00F8000010000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x00F0000010000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x00E0000010000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x00C0000010000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0080000010000000L}); public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0200000010000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0400000010000000L}); public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000068L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x8000000000000000L}); public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000100L}); public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000010000000000L,0x000000000001EE00L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000020000000000L,0x000000000001EE00L}); public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000400L}); public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000200L}); @@ -14616,7 +14714,7 @@ public String getDescription() { public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000010000000L,0x0000000000040000L}); public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x4100BA0000001030L,0x0000000600040100L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x8201740000001030L,0x0000000600040100L}); public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L}); } \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java index 68f1db07a..87ab95b59 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java @@ -407,7 +407,13 @@ protected void sequence_Artifact(ISerializationContext context, Artifact semanti * CatkinPackage returns CatkinPackage * * Constraint: - * (name=RosNames (spec+=SpecBase spec+=SpecBase*)? (artifact+=Artifact artifact+=Artifact*)? (dependency+=Dependency dependency+=Dependency*)?) + * ( + * name=RosNames + * fromGitRepo=EString? + * (dependency+=Dependency dependency+=Dependency*)? + * (spec+=SpecBase spec+=SpecBase*)? + * (artifact+=Artifact artifact+=Artifact*)? + * ) */ protected void sequence_CatkinPackage(ISerializationContext context, CatkinPackage semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -518,7 +524,7 @@ protected void sequence_PackageDependency(ISerializationContext context, Package errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, RosPackage.Literals.PACKAGE_DEPENDENCY__PACKAGE)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1(), semanticObject.eGet(RosPackage.Literals.PACKAGE_DEPENDENCY__PACKAGE, false)); + feeder.accept(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1(), semanticObject.eGet(RosPackage.Literals.PACKAGE_DEPENDENCY__PACKAGE, false)); feeder.finish(); } @@ -541,7 +547,7 @@ protected void sequence_PackageSet(ISerializationContext context, PackageSet sem * Package_Impl returns Package * * Constraint: - * (name=EString (spec+=SpecBase spec+=SpecBase*)? (artifact+=Artifact artifact+=Artifact*)?) + * (name=EString fromGitRepo=EString? (spec+=SpecBase spec+=SpecBase*)? (artifact+=Artifact artifact+=Artifact*)?) */ protected void sequence_Package_Impl(ISerializationContext context, ros.Package semanticObject) { genericSequencer.createSequence(context, semanticObject); diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java index d7e6f22c7..e26ba58d2 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java @@ -180,29 +180,34 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); - private final Keyword cSpecsKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); - private final Assignment cSpecAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); - private final RuleCall cSpecSpecBaseParserRuleCall_4_2_0 = (RuleCall)cSpecAssignment_4_2.eContents().get(0); - private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3); - private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0); - private final Assignment cSpecAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1); - private final RuleCall cSpecSpecBaseParserRuleCall_4_3_1_0 = (RuleCall)cSpecAssignment_4_3_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); + private final Keyword cFromGitRepoKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cFromGitRepoAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final RuleCall cFromGitRepoEStringParserRuleCall_4_1_0 = (RuleCall)cFromGitRepoAssignment_4_1.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Assignment cArtifactAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0); - private final RuleCall cArtifactArtifactParserRuleCall_5_0_0 = (RuleCall)cArtifactAssignment_5_0.eContents().get(0); - private final Group cGroup_5_1 = (Group)cGroup_5.eContents().get(1); - private final Keyword cCommaKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0); - private final Assignment cArtifactAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1); - private final RuleCall cArtifactArtifactParserRuleCall_5_1_1_0 = (RuleCall)cArtifactAssignment_5_1_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Keyword cSpecsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cSpecAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cSpecSpecBaseParserRuleCall_5_2_0 = (RuleCall)cSpecAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cSpecAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cSpecSpecBaseParserRuleCall_5_3_1_0 = (RuleCall)cSpecAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Assignment cArtifactAssignment_6_0 = (Assignment)cGroup_6.eContents().get(0); + private final RuleCall cArtifactArtifactParserRuleCall_6_0_0 = (RuleCall)cArtifactAssignment_6_0.eContents().get(0); + private final Group cGroup_6_1 = (Group)cGroup_6.eContents().get(1); + private final Keyword cCommaKeyword_6_1_0 = (Keyword)cGroup_6_1.eContents().get(0); + private final Assignment cArtifactAssignment_6_1_1 = (Assignment)cGroup_6_1.eContents().get(1); + private final RuleCall cArtifactArtifactParserRuleCall_6_1_1_0 = (RuleCall)cArtifactAssignment_6_1_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); //Package_Impl returns Package: // {Package} // 'Package' // name=EString // '{' + // ('FromGitRepo' fromGitRepo=EString)? // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? // (artifact+=Artifact ( "," artifact+=Artifact)*)? // '}'; @@ -212,6 +217,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //'Package' //name=EString //'{' + // ('FromGitRepo' fromGitRepo=EString)? // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? // (artifact+=Artifact ( "," artifact+=Artifact)*)? //'}' @@ -232,59 +238,71 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + //('FromGitRepo' fromGitRepo=EString)? public Group getGroup_4() { return cGroup_4; } + //'FromGitRepo' + public Keyword getFromGitRepoKeyword_4_0() { return cFromGitRepoKeyword_4_0; } + + //fromGitRepo=EString + public Assignment getFromGitRepoAssignment_4_1() { return cFromGitRepoAssignment_4_1; } + + //EString + public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } + + //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + public Group getGroup_5() { return cGroup_5; } + //'Specs' - public Keyword getSpecsKeyword_4_0() { return cSpecsKeyword_4_0; } + public Keyword getSpecsKeyword_5_0() { return cSpecsKeyword_5_0; } //'{' - public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; } + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } //spec+=SpecBase - public Assignment getSpecAssignment_4_2() { return cSpecAssignment_4_2; } + public Assignment getSpecAssignment_5_2() { return cSpecAssignment_5_2; } //SpecBase - public RuleCall getSpecSpecBaseParserRuleCall_4_2_0() { return cSpecSpecBaseParserRuleCall_4_2_0; } + public RuleCall getSpecSpecBaseParserRuleCall_5_2_0() { return cSpecSpecBaseParserRuleCall_5_2_0; } //( "," spec+=SpecBase)* - public Group getGroup_4_3() { return cGroup_4_3; } + public Group getGroup_5_3() { return cGroup_5_3; } //"," - public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; } + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } //spec+=SpecBase - public Assignment getSpecAssignment_4_3_1() { return cSpecAssignment_4_3_1; } + public Assignment getSpecAssignment_5_3_1() { return cSpecAssignment_5_3_1; } //SpecBase - public RuleCall getSpecSpecBaseParserRuleCall_4_3_1_0() { return cSpecSpecBaseParserRuleCall_4_3_1_0; } + public RuleCall getSpecSpecBaseParserRuleCall_5_3_1_0() { return cSpecSpecBaseParserRuleCall_5_3_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; } + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } //(artifact+=Artifact ( "," artifact+=Artifact)*)? - public Group getGroup_5() { return cGroup_5; } + public Group getGroup_6() { return cGroup_6; } //artifact+=Artifact - public Assignment getArtifactAssignment_5_0() { return cArtifactAssignment_5_0; } + public Assignment getArtifactAssignment_6_0() { return cArtifactAssignment_6_0; } //Artifact - public RuleCall getArtifactArtifactParserRuleCall_5_0_0() { return cArtifactArtifactParserRuleCall_5_0_0; } + public RuleCall getArtifactArtifactParserRuleCall_6_0_0() { return cArtifactArtifactParserRuleCall_6_0_0; } //( "," artifact+=Artifact)* - public Group getGroup_5_1() { return cGroup_5_1; } + public Group getGroup_6_1() { return cGroup_6_1; } //"," - public Keyword getCommaKeyword_5_1_0() { return cCommaKeyword_5_1_0; } + public Keyword getCommaKeyword_6_1_0() { return cCommaKeyword_6_1_0; } //artifact+=Artifact - public Assignment getArtifactAssignment_5_1_1() { return cArtifactAssignment_5_1_1; } + public Assignment getArtifactAssignment_6_1_1() { return cArtifactAssignment_6_1_1; } //Artifact - public RuleCall getArtifactArtifactParserRuleCall_5_1_1_0() { return cArtifactArtifactParserRuleCall_5_1_1_0; } + public RuleCall getArtifactArtifactParserRuleCall_6_1_1_0() { return cArtifactArtifactParserRuleCall_6_1_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } } public class EStringElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.EString"); @@ -411,42 +429,47 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { private final RuleCall cNameRosNamesParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); - private final Keyword cSpecsKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); - private final Assignment cSpecAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); - private final RuleCall cSpecSpecBaseParserRuleCall_4_2_0 = (RuleCall)cSpecAssignment_4_2.eContents().get(0); - private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3); - private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0); - private final Assignment cSpecAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1); - private final RuleCall cSpecSpecBaseParserRuleCall_4_3_1_0 = (RuleCall)cSpecAssignment_4_3_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); + private final Keyword cFromGitRepoKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cFromGitRepoAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final RuleCall cFromGitRepoEStringParserRuleCall_4_1_0 = (RuleCall)cFromGitRepoAssignment_4_1.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Assignment cArtifactAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0); - private final RuleCall cArtifactArtifactParserRuleCall_5_0_0 = (RuleCall)cArtifactAssignment_5_0.eContents().get(0); - private final Group cGroup_5_1 = (Group)cGroup_5.eContents().get(1); - private final Keyword cCommaKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0); - private final Assignment cArtifactAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1); - private final RuleCall cArtifactArtifactParserRuleCall_5_1_1_0 = (RuleCall)cArtifactAssignment_5_1_1.eContents().get(0); + private final Keyword cDependenciesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cDependencyAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cDependencyDependencyParserRuleCall_5_2_0 = (RuleCall)cDependencyAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cDependencyAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cDependencyDependencyParserRuleCall_5_3_1_0 = (RuleCall)cDependencyAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); - private final Keyword cDependenciesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cSpecsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); - private final Assignment cDependencyAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); - private final RuleCall cDependencyDependencyParserRuleCall_6_2_0 = (RuleCall)cDependencyAssignment_6_2.eContents().get(0); + private final Assignment cSpecAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cSpecSpecBaseParserRuleCall_6_2_0 = (RuleCall)cSpecAssignment_6_2.eContents().get(0); private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); - private final Assignment cDependencyAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); - private final RuleCall cDependencyDependencyParserRuleCall_6_3_1_0 = (RuleCall)cDependencyAssignment_6_3_1.eContents().get(0); + private final Assignment cSpecAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cSpecSpecBaseParserRuleCall_6_3_1_0 = (RuleCall)cSpecAssignment_6_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); - private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Assignment cArtifactAssignment_7_0 = (Assignment)cGroup_7.eContents().get(0); + private final RuleCall cArtifactArtifactParserRuleCall_7_0_0 = (RuleCall)cArtifactAssignment_7_0.eContents().get(0); + private final Group cGroup_7_1 = (Group)cGroup_7.eContents().get(1); + private final Keyword cCommaKeyword_7_1_0 = (Keyword)cGroup_7_1.eContents().get(0); + private final Assignment cArtifactAssignment_7_1_1 = (Assignment)cGroup_7_1.eContents().get(1); + private final RuleCall cArtifactArtifactParserRuleCall_7_1_1_0 = (RuleCall)cArtifactAssignment_7_1_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); //CatkinPackage returns CatkinPackage: // {CatkinPackage} // 'CatkinPackage' // name=RosNames // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? // (artifact+=Artifact ( "," artifact+=Artifact)*)? - // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? // '}'; @Override public ParserRule getRule() { return rule; } @@ -454,9 +477,10 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //'CatkinPackage' //name=RosNames //'{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? // (artifact+=Artifact ( "," artifact+=Artifact)*)? - // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? //'}' public Group getGroup() { return cGroup; } @@ -475,89 +499,101 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + //('FromGitRepo' fromGitRepo=EString)? public Group getGroup_4() { return cGroup_4; } + //'FromGitRepo' + public Keyword getFromGitRepoKeyword_4_0() { return cFromGitRepoKeyword_4_0; } + + //fromGitRepo=EString + public Assignment getFromGitRepoAssignment_4_1() { return cFromGitRepoAssignment_4_1; } + + //EString + public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } + + //('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + public Group getGroup_5() { return cGroup_5; } + + //'Dependencies' + public Keyword getDependenciesKeyword_5_0() { return cDependenciesKeyword_5_0; } + + //'{' + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //dependency+=Dependency + public Assignment getDependencyAssignment_5_2() { return cDependencyAssignment_5_2; } + + //Dependency + public RuleCall getDependencyDependencyParserRuleCall_5_2_0() { return cDependencyDependencyParserRuleCall_5_2_0; } + + //( "," dependency+=Dependency)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //dependency+=Dependency + public Assignment getDependencyAssignment_5_3_1() { return cDependencyAssignment_5_3_1; } + + //Dependency + public RuleCall getDependencyDependencyParserRuleCall_5_3_1_0() { return cDependencyDependencyParserRuleCall_5_3_1_0; } + + //'}' + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + public Group getGroup_6() { return cGroup_6; } + //'Specs' - public Keyword getSpecsKeyword_4_0() { return cSpecsKeyword_4_0; } + public Keyword getSpecsKeyword_6_0() { return cSpecsKeyword_6_0; } //'{' - public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; } + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } //spec+=SpecBase - public Assignment getSpecAssignment_4_2() { return cSpecAssignment_4_2; } + public Assignment getSpecAssignment_6_2() { return cSpecAssignment_6_2; } //SpecBase - public RuleCall getSpecSpecBaseParserRuleCall_4_2_0() { return cSpecSpecBaseParserRuleCall_4_2_0; } + public RuleCall getSpecSpecBaseParserRuleCall_6_2_0() { return cSpecSpecBaseParserRuleCall_6_2_0; } //( "," spec+=SpecBase)* - public Group getGroup_4_3() { return cGroup_4_3; } + public Group getGroup_6_3() { return cGroup_6_3; } //"," - public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; } + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } //spec+=SpecBase - public Assignment getSpecAssignment_4_3_1() { return cSpecAssignment_4_3_1; } + public Assignment getSpecAssignment_6_3_1() { return cSpecAssignment_6_3_1; } //SpecBase - public RuleCall getSpecSpecBaseParserRuleCall_4_3_1_0() { return cSpecSpecBaseParserRuleCall_4_3_1_0; } + public RuleCall getSpecSpecBaseParserRuleCall_6_3_1_0() { return cSpecSpecBaseParserRuleCall_6_3_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; } + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } //(artifact+=Artifact ( "," artifact+=Artifact)*)? - public Group getGroup_5() { return cGroup_5; } + public Group getGroup_7() { return cGroup_7; } //artifact+=Artifact - public Assignment getArtifactAssignment_5_0() { return cArtifactAssignment_5_0; } + public Assignment getArtifactAssignment_7_0() { return cArtifactAssignment_7_0; } //Artifact - public RuleCall getArtifactArtifactParserRuleCall_5_0_0() { return cArtifactArtifactParserRuleCall_5_0_0; } + public RuleCall getArtifactArtifactParserRuleCall_7_0_0() { return cArtifactArtifactParserRuleCall_7_0_0; } //( "," artifact+=Artifact)* - public Group getGroup_5_1() { return cGroup_5_1; } + public Group getGroup_7_1() { return cGroup_7_1; } //"," - public Keyword getCommaKeyword_5_1_0() { return cCommaKeyword_5_1_0; } + public Keyword getCommaKeyword_7_1_0() { return cCommaKeyword_7_1_0; } //artifact+=Artifact - public Assignment getArtifactAssignment_5_1_1() { return cArtifactAssignment_5_1_1; } + public Assignment getArtifactAssignment_7_1_1() { return cArtifactAssignment_7_1_1; } //Artifact - public RuleCall getArtifactArtifactParserRuleCall_5_1_1_0() { return cArtifactArtifactParserRuleCall_5_1_1_0; } - - //('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? - public Group getGroup_6() { return cGroup_6; } - - //'Dependencies' - public Keyword getDependenciesKeyword_6_0() { return cDependenciesKeyword_6_0; } - - //'{' - public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } - - //dependency+=Dependency - public Assignment getDependencyAssignment_6_2() { return cDependencyAssignment_6_2; } - - //Dependency - public RuleCall getDependencyDependencyParserRuleCall_6_2_0() { return cDependencyDependencyParserRuleCall_6_2_0; } - - //( "," dependency+=Dependency)* - public Group getGroup_6_3() { return cGroup_6_3; } - - //"," - public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } - - //dependency+=Dependency - public Assignment getDependencyAssignment_6_3_1() { return cDependencyAssignment_6_3_1; } - - //Dependency - public RuleCall getDependencyDependencyParserRuleCall_6_3_1_0() { return cDependencyDependencyParserRuleCall_6_3_1_0; } - - //'}' - public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + public RuleCall getArtifactArtifactParserRuleCall_7_1_1_0() { return cArtifactArtifactParserRuleCall_7_1_1_0; } //'}' - public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } } public class ServiceSpecElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.ServiceSpec"); @@ -1667,33 +1703,23 @@ public class GraphNameElements extends AbstractParserRuleElementFinder { } public class PackageDependencyElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.PackageDependency"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cPackageDependencyKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cPackageAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cPackagePackageCrossReference_1_0 = (CrossReference)cPackageAssignment_1.eContents().get(0); - private final RuleCall cPackagePackageEStringParserRuleCall_1_0_1 = (RuleCall)cPackagePackageCrossReference_1_0.eContents().get(1); + private final Assignment cPackageAssignment = (Assignment)rule.eContents().get(1); + private final CrossReference cPackagePackageCrossReference_0 = (CrossReference)cPackageAssignment.eContents().get(0); + private final RuleCall cPackagePackageEStringParserRuleCall_0_1 = (RuleCall)cPackagePackageCrossReference_0.eContents().get(1); //PackageDependency returns PackageDependency: - // 'PackageDependency' - // package=[Package|EString] + // package=[Package|EString] //; @Override public ParserRule getRule() { return rule; } - //'PackageDependency' - // package=[Package|EString] - public Group getGroup() { return cGroup; } - - //'PackageDependency' - public Keyword getPackageDependencyKeyword_0() { return cPackageDependencyKeyword_0; } - //package=[Package|EString] - public Assignment getPackageAssignment_1() { return cPackageAssignment_1; } + public Assignment getPackageAssignment() { return cPackageAssignment; } //[Package|EString] - public CrossReference getPackagePackageCrossReference_1_0() { return cPackagePackageCrossReference_1_0; } + public CrossReference getPackagePackageCrossReference_0() { return cPackagePackageCrossReference_0; } //EString - public RuleCall getPackagePackageEStringParserRuleCall_1_0_1() { return cPackagePackageEStringParserRuleCall_1_0_1; } + public RuleCall getPackagePackageEStringParserRuleCall_0_1() { return cPackagePackageEStringParserRuleCall_0_1; } } public class ExternalDependencyElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.ExternalDependency"); @@ -4186,6 +4212,7 @@ public ParserRule getNamespaceRule() { // 'Package' // name=EString // '{' + // ('FromGitRepo' fromGitRepo=EString)? // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? // (artifact+=Artifact ( "," artifact+=Artifact)*)? // '}'; @@ -4261,9 +4288,10 @@ public ParserRule getArtifactRule() { // 'CatkinPackage' // name=RosNames // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? // (artifact+=Artifact ( "," artifact+=Artifact)*)? - // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? // '}'; public CatkinPackageElements getCatkinPackageAccess() { return pCatkinPackage; @@ -4455,8 +4483,7 @@ public ParserRule getGraphNameRule() { } //PackageDependency returns PackageDependency: - // 'PackageDependency' - // package=[Package|EString] + // package=[Package|EString] //; public PackageDependencyElements getPackageDependencyAccess() { return pPackageDependency; diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext index fcb04825c..feef52a84 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext @@ -33,6 +33,7 @@ Package_Impl returns Package: 'Package' name=EString '{' + ('FromGitRepo' fromGitRepo=EString)? ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? (artifact+=Artifact ( "," artifact+=Artifact)*)? '}'; @@ -67,9 +68,10 @@ CatkinPackage returns CatkinPackage: 'CatkinPackage' name=RosNames '{' + ('FromGitRepo' fromGitRepo=EString)? + ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? (artifact+=Artifact ( "," artifact+=Artifact)*)? - ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? '}'; ServiceSpec returns ServiceSpec: @@ -172,8 +174,7 @@ GraphName returns GraphName: PackageDependency returns PackageDependency: - 'PackageDependency' - package=[Package|EString] + package=[Package|EString] ; ExternalDependency returns ExternalDependency: diff --git a/plugins/de.fraunhofer.ipa.ros/model/ros.ecore b/plugins/de.fraunhofer.ipa.ros/model/ros.ecore index 1d6afa9de..ed1dfea0c 100644 --- a/plugins/de.fraunhofer.ipa.ros/model/ros.ecore +++ b/plugins/de.fraunhofer.ipa.ros/model/ros.ecore @@ -25,6 +25,9 @@ containment="true" eOpposite="#//SpecBase/package"/> + + @@ -48,10 +51,7 @@ - - - + diff --git a/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel b/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel index 44e6e572d..d09478225 100644 --- a/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel +++ b/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel @@ -21,6 +21,8 @@ + + @@ -39,9 +41,7 @@ - - - + diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/CatkinPackage.java b/plugins/de.fraunhofer.ipa.ros/src/ros/CatkinPackage.java index 0b87820df..c3fa57299 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/CatkinPackage.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/CatkinPackage.java @@ -2,39 +2,16 @@ */ package ros; -import org.eclipse.emf.common.util.EList; - /** * * A representation of the model object 'Catkin Package'. * * - *

    - * The following features are supported: - *

    - *
      - *
    • {@link ros.CatkinPackage#getDependency Dependency}
    • - *
    * * @see ros.RosPackage#getCatkinPackage() * @model * @generated */ public interface CatkinPackage extends ros.Package { - /** - * Returns the value of the 'Dependency' containment reference list. - * The list contents are of type {@link ros.Dependency}. - * - *

    - * If the meaning of the 'Dependency' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Dependency' containment reference list. - * @see ros.RosPackage#getCatkinPackage_Dependency() - * @model containment="true" - * @generated - */ - EList getDependency(); } // CatkinPackage diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/Package.java b/plugins/de.fraunhofer.ipa.ros/src/ros/Package.java index a224085f8..b4126e625 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/Package.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/Package.java @@ -18,6 +18,8 @@ *
  • {@link ros.Package#getName Name}
  • *
  • {@link ros.Package#getSpec Spec}
  • *
  • {@link ros.Package#getArtifact Artifact}
  • + *
  • {@link ros.Package#getFromGitRepo From Git Repo}
  • + *
  • {@link ros.Package#getDependency Dependency}
  • * * * @see ros.RosPackage#getPackage() @@ -85,4 +87,38 @@ public interface Package extends EObject { */ EList getArtifact(); + /** + * Returns the value of the 'From Git Repo' attribute. + * + * + * @return the value of the 'From Git Repo' attribute. + * @see #setFromGitRepo(String) + * @see ros.RosPackage#getPackage_FromGitRepo() + * @model + * @generated + */ + String getFromGitRepo(); + + /** + * Sets the value of the '{@link ros.Package#getFromGitRepo From Git Repo}' attribute. + * + * + * @param value the new value of the 'From Git Repo' attribute. + * @see #getFromGitRepo() + * @generated + */ + void setFromGitRepo(String value); + + /** + * Returns the value of the 'Dependency' containment reference list. + * The list contents are of type {@link ros.Dependency}. + * + * + * @return the value of the 'Dependency' containment reference list. + * @see ros.RosPackage#getPackage_Dependency() + * @model containment="true" + * @generated + */ + EList getDependency(); + } // Package diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java b/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java index 27b52e8d3..6b39b3e43 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java @@ -194,6 +194,24 @@ public interface RosPackage extends EPackage { */ int PACKAGE__ARTIFACT = 2; + /** + * The feature id for the 'From Git Repo' attribute. + * + * + * @generated + * @ordered + */ + int PACKAGE__FROM_GIT_REPO = 3; + + /** + * The feature id for the 'Dependency' containment reference list. + * + * + * @generated + * @ordered + */ + int PACKAGE__DEPENDENCY = 4; + /** * The number of structural features of the 'Package' class. * @@ -201,7 +219,7 @@ public interface RosPackage extends EPackage { * @generated * @ordered */ - int PACKAGE_FEATURE_COUNT = 3; + int PACKAGE_FEATURE_COUNT = 5; /** * The number of operations of the 'Package' class. @@ -764,6 +782,15 @@ public interface RosPackage extends EPackage { */ int CATKIN_PACKAGE__ARTIFACT = PACKAGE__ARTIFACT; + /** + * The feature id for the 'From Git Repo' attribute. + * + * + * @generated + * @ordered + */ + int CATKIN_PACKAGE__FROM_GIT_REPO = PACKAGE__FROM_GIT_REPO; + /** * The feature id for the 'Dependency' containment reference list. * @@ -771,7 +798,7 @@ public interface RosPackage extends EPackage { * @generated * @ordered */ - int CATKIN_PACKAGE__DEPENDENCY = PACKAGE_FEATURE_COUNT + 0; + int CATKIN_PACKAGE__DEPENDENCY = PACKAGE__DEPENDENCY; /** * The number of structural features of the 'Catkin Package' class. @@ -780,7 +807,7 @@ public interface RosPackage extends EPackage { * @generated * @ordered */ - int CATKIN_PACKAGE_FEATURE_COUNT = PACKAGE_FEATURE_COUNT + 1; + int CATKIN_PACKAGE_FEATURE_COUNT = PACKAGE_FEATURE_COUNT + 0; /** * The number of operations of the 'Catkin Package' class. @@ -2390,6 +2417,28 @@ public interface RosPackage extends EPackage { */ EReference getPackage_Artifact(); + /** + * Returns the meta object for the attribute '{@link ros.Package#getFromGitRepo From Git Repo}'. + * + * + * @return the meta object for the attribute 'From Git Repo'. + * @see ros.Package#getFromGitRepo() + * @see #getPackage() + * @generated + */ + EAttribute getPackage_FromGitRepo(); + + /** + * Returns the meta object for the containment reference list '{@link ros.Package#getDependency Dependency}'. + * + * + * @return the meta object for the containment reference list 'Dependency'. + * @see ros.Package#getDependency() + * @see #getPackage() + * @generated + */ + EReference getPackage_Dependency(); + /** * Returns the meta object for class '{@link ros.Dependency Dependency}'. * @@ -2547,17 +2596,6 @@ public interface RosPackage extends EPackage { */ EClass getCatkinPackage(); - /** - * Returns the meta object for the containment reference list '{@link ros.CatkinPackage#getDependency Dependency}'. - * - * - * @return the meta object for the containment reference list 'Dependency'. - * @see ros.CatkinPackage#getDependency() - * @see #getCatkinPackage() - * @generated - */ - EReference getCatkinPackage_Dependency(); - /** * Returns the meta object for class '{@link ros.Artifact Artifact}'. * @@ -3575,6 +3613,22 @@ interface Literals { */ EReference PACKAGE__ARTIFACT = eINSTANCE.getPackage_Artifact(); + /** + * The meta object literal for the 'From Git Repo' attribute feature. + * + * + * @generated + */ + EAttribute PACKAGE__FROM_GIT_REPO = eINSTANCE.getPackage_FromGitRepo(); + + /** + * The meta object literal for the 'Dependency' containment reference list feature. + * + * + * @generated + */ + EReference PACKAGE__DEPENDENCY = eINSTANCE.getPackage_Dependency(); + /** * The meta object literal for the '{@link ros.impl.DependencyImpl Dependency}' class. * @@ -3711,14 +3765,6 @@ interface Literals { */ EClass CATKIN_PACKAGE = eINSTANCE.getCatkinPackage(); - /** - * The meta object literal for the 'Dependency' containment reference list feature. - * - * - * @generated - */ - EReference CATKIN_PACKAGE__DEPENDENCY = eINSTANCE.getCatkinPackage_Dependency(); - /** * The meta object literal for the '{@link ros.impl.ArtifactImpl Artifact}' class. * diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/CatkinPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/CatkinPackageImpl.java index 543274d13..d352ef69f 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/CatkinPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/CatkinPackageImpl.java @@ -2,46 +2,18 @@ */ package ros.impl; -import java.util.Collection; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - import ros.CatkinPackage; -import ros.Dependency; import ros.RosPackage; /** * * An implementation of the model object 'Catkin Package'. * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link ros.impl.CatkinPackageImpl#getDependency Dependency}
    • - *
    * * @generated */ public class CatkinPackageImpl extends PackageImpl implements CatkinPackage { - /** - * The cached value of the '{@link #getDependency() Dependency}' containment reference list. - * - * - * @see #getDependency() - * @generated - * @ordered - */ - protected EList dependency; - /** * * @@ -61,91 +33,4 @@ protected EClass eStaticClass() { return RosPackage.Literals.CATKIN_PACKAGE; } - /** - * - * - * @generated - */ - @Override - public EList getDependency() { - if (dependency == null) { - dependency = new EObjectContainmentEList(Dependency.class, this, RosPackage.CATKIN_PACKAGE__DEPENDENCY); - } - return dependency; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case RosPackage.CATKIN_PACKAGE__DEPENDENCY: - return ((InternalEList)getDependency()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case RosPackage.CATKIN_PACKAGE__DEPENDENCY: - return getDependency(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case RosPackage.CATKIN_PACKAGE__DEPENDENCY: - getDependency().clear(); - getDependency().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case RosPackage.CATKIN_PACKAGE__DEPENDENCY: - getDependency().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case RosPackage.CATKIN_PACKAGE__DEPENDENCY: - return dependency != null && !dependency.isEmpty(); - } - return super.eIsSet(featureID); - } - } //CatkinPackageImpl diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java index d24146fa5..68e99504a 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java @@ -20,6 +20,7 @@ import org.eclipse.emf.ecore.util.InternalEList; import ros.Artifact; +import ros.Dependency; import ros.RosPackage; import ros.SpecBase; @@ -34,6 +35,8 @@ *
  • {@link ros.impl.PackageImpl#getName Name}
  • *
  • {@link ros.impl.PackageImpl#getSpec Spec}
  • *
  • {@link ros.impl.PackageImpl#getArtifact Artifact}
  • + *
  • {@link ros.impl.PackageImpl#getFromGitRepo From Git Repo}
  • + *
  • {@link ros.impl.PackageImpl#getDependency Dependency}
  • * * * @generated @@ -79,6 +82,36 @@ public class PackageImpl extends MinimalEObjectImpl.Container implements ros.Pac */ protected EList artifact; + /** + * The default value of the '{@link #getFromGitRepo() From Git Repo}' attribute. + * + * + * @see #getFromGitRepo() + * @generated + * @ordered + */ + protected static final String FROM_GIT_REPO_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFromGitRepo() From Git Repo}' attribute. + * + * + * @see #getFromGitRepo() + * @generated + * @ordered + */ + protected String fromGitRepo = FROM_GIT_REPO_EDEFAULT; + + /** + * The cached value of the '{@link #getDependency() Dependency}' containment reference list. + * + * + * @see #getDependency() + * @generated + * @ordered + */ + protected EList dependency; + /** * * @@ -147,6 +180,42 @@ public EList getArtifact() { return artifact; } + /** + * + * + * @generated + */ + @Override + public String getFromGitRepo() { + return fromGitRepo; + } + + /** + * + * + * @generated + */ + @Override + public void setFromGitRepo(String newFromGitRepo) { + String oldFromGitRepo = fromGitRepo; + fromGitRepo = newFromGitRepo; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, RosPackage.PACKAGE__FROM_GIT_REPO, oldFromGitRepo, fromGitRepo)); + } + + /** + * + * + * @generated + */ + @Override + public EList getDependency() { + if (dependency == null) { + dependency = new EObjectContainmentEList(Dependency.class, this, RosPackage.PACKAGE__DEPENDENCY); + } + return dependency; + } + /** * * @@ -174,6 +243,8 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, return ((InternalEList)getSpec()).basicRemove(otherEnd, msgs); case RosPackage.PACKAGE__ARTIFACT: return ((InternalEList)getArtifact()).basicRemove(otherEnd, msgs); + case RosPackage.PACKAGE__DEPENDENCY: + return ((InternalEList)getDependency()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } @@ -192,6 +263,10 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { return getSpec(); case RosPackage.PACKAGE__ARTIFACT: return getArtifact(); + case RosPackage.PACKAGE__FROM_GIT_REPO: + return getFromGitRepo(); + case RosPackage.PACKAGE__DEPENDENCY: + return getDependency(); } return super.eGet(featureID, resolve, coreType); } @@ -216,6 +291,13 @@ public void eSet(int featureID, Object newValue) { getArtifact().clear(); getArtifact().addAll((Collection)newValue); return; + case RosPackage.PACKAGE__FROM_GIT_REPO: + setFromGitRepo((String)newValue); + return; + case RosPackage.PACKAGE__DEPENDENCY: + getDependency().clear(); + getDependency().addAll((Collection)newValue); + return; } super.eSet(featureID, newValue); } @@ -237,6 +319,12 @@ public void eUnset(int featureID) { case RosPackage.PACKAGE__ARTIFACT: getArtifact().clear(); return; + case RosPackage.PACKAGE__FROM_GIT_REPO: + setFromGitRepo(FROM_GIT_REPO_EDEFAULT); + return; + case RosPackage.PACKAGE__DEPENDENCY: + getDependency().clear(); + return; } super.eUnset(featureID); } @@ -255,6 +343,10 @@ public boolean eIsSet(int featureID) { return spec != null && !spec.isEmpty(); case RosPackage.PACKAGE__ARTIFACT: return artifact != null && !artifact.isEmpty(); + case RosPackage.PACKAGE__FROM_GIT_REPO: + return FROM_GIT_REPO_EDEFAULT == null ? fromGitRepo != null : !FROM_GIT_REPO_EDEFAULT.equals(fromGitRepo); + case RosPackage.PACKAGE__DEPENDENCY: + return dependency != null && !dependency.isEmpty(); } return super.eIsSet(featureID); } @@ -271,6 +363,8 @@ public String toString() { StringBuilder result = new StringBuilder(super.toString()); result.append(" (name: "); result.append(name); + result.append(", fromGitRepo: "); + result.append(fromGitRepo); result.append(')'); return result.toString(); } diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java index 9188a52c6..e3375ab26 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java @@ -614,6 +614,26 @@ public EReference getPackage_Artifact() { return (EReference)packageEClass.getEStructuralFeatures().get(2); } + /** + * + * + * @generated + */ + @Override + public EAttribute getPackage_FromGitRepo() { + return (EAttribute)packageEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EReference getPackage_Dependency() { + return (EReference)packageEClass.getEStructuralFeatures().get(4); + } + /** * * @@ -764,16 +784,6 @@ public EClass getCatkinPackage() { return catkinPackageEClass; } - /** - * - * - * @generated - */ - @Override - public EReference getCatkinPackage_Dependency() { - return (EReference)catkinPackageEClass.getEStructuralFeatures().get(0); - } - /** * * @@ -1657,6 +1667,8 @@ public void createPackageContents() { createEAttribute(packageEClass, PACKAGE__NAME); createEReference(packageEClass, PACKAGE__SPEC); createEReference(packageEClass, PACKAGE__ARTIFACT); + createEAttribute(packageEClass, PACKAGE__FROM_GIT_REPO); + createEReference(packageEClass, PACKAGE__DEPENDENCY); dependencyEClass = createEClass(DEPENDENCY); @@ -1677,7 +1689,6 @@ public void createPackageContents() { createEAttribute(externalDependencyEClass, EXTERNAL_DEPENDENCY__NAME); catkinPackageEClass = createEClass(CATKIN_PACKAGE); - createEReference(catkinPackageEClass, CATKIN_PACKAGE__DEPENDENCY); publisherEClass = createEClass(PUBLISHER); createEReference(publisherEClass, PUBLISHER__MESSAGE); @@ -1890,6 +1901,8 @@ public void initializePackageContents() { initEAttribute(getPackage_Name(), ecorePackage.getEString(), "name", null, 1, 1, ros.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getPackage_Spec(), this.getSpecBase(), this.getSpecBase_Package(), "spec", null, 0, -1, ros.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getPackage_Artifact(), this.getArtifact(), null, "artifact", null, 0, -1, ros.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getPackage_FromGitRepo(), ecorePackage.getEString(), "fromGitRepo", null, 0, 1, ros.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPackage_Dependency(), this.getDependency(), null, "dependency", null, 0, -1, ros.Package.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(dependencyEClass, Dependency.class, "Dependency", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -1910,7 +1923,6 @@ public void initializePackageContents() { initEAttribute(getExternalDependency_Name(), ecorePackage.getEString(), "name", null, 1, 1, ExternalDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(catkinPackageEClass, CatkinPackage.class, "CatkinPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getCatkinPackage_Dependency(), this.getDependency(), null, "dependency", null, 0, -1, CatkinPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(publisherEClass, Publisher.class, "Publisher", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getPublisher_Message(), this.getTopicSpec(), null, "message", null, 1, 1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.ros b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.ros index 014b5c722..dc028ba19 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.ros +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.ros @@ -1,16 +1,16 @@ PackageSet { CatkinPackage test_pkg { - Artifact test_node { - Node { name test_node + FromGitRepo "https://github.com/myTest/myrepo" + Artifact test_node { Node { name test_node ServiceServers { ServiceServer {name setBool service "std_srvs.SetBool"}} - Publishers { + Publishers { Publisher { name scan message "sensor_msgs.LaserScan" }} Subscribers { Subscriber { name power_state message "sensor_msgs.BatteryState"}} ServiceClients { ServiceClient { name init service "std_srvs.Trigger"}} - Parameters { + Parameters { Parameter { name string_test type String default test}, Parameter { name bool_tets type Boolean }, Parameter { name array_tets type Array {type String}}, @@ -18,10 +18,28 @@ PackageSet { Parameter { name double_test type Double}, Parameter {name int_test type Integer}, Parameter {name list_test type List {Integer,Integer,String}}, - Parameter {name struct_test type Struct + Parameter {name struc_test type Struct {first_element Integer , second_element List { Integer, String}, third_element String , last_element Struct { hola Integer, what String}} } - }}}}} + }}}}, + CatkinPackage test_pkg2 { + Artifact test_node { Node { name test_node + ServiceServers { + ServiceServer {name init service "std_srvs.Trigger"}} + Publishers { + Publisher { name power_state message "sensor_msgs.BatteryState"}} + Subscribers { + Subscriber { name scan message "sensor_msgs.LaserScan" }} + ServiceClients { + ServiceClient { name SetBool service "std_srvs.SetBool"}} + }}}, + CatkinPackage sensor_msgs{ Specs { + TopicSpec LaserScan{ message { Header header float32 angle_min float32 angle_max float32 angle_increment float32 time_increment float32 scan_time float32 range_min float32 range_max float32[] ranges float32[] intensities }}, + TopicSpec BatteryState{ message { uint8 POWER_SUPPLY_STATUS_UNKNOWN=0 uint8 POWER_SUPPLY_STATUS_CHARGING=1 uint8 POWER_SUPPLY_STATUS_DISCHARGING=2 uint8 POWER_SUPPLY_STATUS_NOT_CHARGING=3 uint8 POWER_SUPPLY_STATUS_FULL=4 uint8 POWER_SUPPLY_HEALTH_UNKNOWN=0 uint8 POWER_SUPPLY_HEALTH_GOOD=1 uint8 POWER_SUPPLY_HEALTH_OVERHEAT=2 uint8 POWER_SUPPLY_HEALTH_DEAD=3 uint8 POWER_SUPPLY_HEALTH_OVERVOLTAGE=4 uint8 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE=5 uint8 POWER_SUPPLY_HEALTH_COLD=6 uint8 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE=7 uint8 POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE=8 uint8 POWER_SUPPLY_TECHNOLOGY_UNKNOWN=0 uint8 POWER_SUPPLY_TECHNOLOGY_NIMH=1 uint8 POWER_SUPPLY_TECHNOLOGY_LION=2 uint8 POWER_SUPPLY_TECHNOLOGY_LIPO=3 uint8 POWER_SUPPLY_TECHNOLOGY_LIFE=4 uint8 POWER_SUPPLY_TECHNOLOGY_NICD=5 uint8 POWER_SUPPLY_TECHNOLOGY_LIMN=6 Header header float32 voltage float32 current float32 charge float32 capacity float32 design_capacity float32 percentage uint8 power_supply_status uint8 power_supply_health uint8 power_supply_technology bool present float32[] cell_voltage string location string serial_number }}}}, + CatkinPackage std_srvs{ Specs { + ServiceSpec SetBool{ request { bool data } response { bool success string message } }, + ServiceSpec Trigger{ request { } response { bool success string message }}}} +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.rossystem b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.rossystem index cee8e4eb9..69e9a9164 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.rossystem +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test.rossystem @@ -1,5 +1,5 @@ RosSystem { Name 'test_system' RosComponents ( - ComponentInterface { name test_node + ComponentInterface { name test_node FromRosNode "test_pkg.test_node.test_node" RosPublishers{ RosPublisher "scan" { RefPublisher "test_pkg.test_node.test_node.scan"} } RosSubscribers{ RosSubscriber "power_state" { RefSubscriber "test_pkg.test_node.test_node.power_state"} } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/.rosinstall new file mode 100644 index 000000000..fca5e848b --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/.rosinstall @@ -0,0 +1 @@ +- git: {local-name: myrepo, uri: 'https://github.com/myTest/myrepo'} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/.rosinstall new file mode 100644 index 000000000..e69de29bb diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/.rosinstall new file mode 100644 index 000000000..fca5e848b --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/.rosinstall @@ -0,0 +1 @@ +- git: {local-name: myrepo, uri: 'https://github.com/myTest/myrepo'} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile new file mode 100644 index 000000000..0c69f24b4 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile @@ -0,0 +1,40 @@ +# syntax=docker/dockerfile:experimental +ARG SUFFIX= +ARG PREFIX= +FROM ros:melodic-ros-core as base +FROM ${PREFIX}builder${SUFFIX} as builder + +FROM base as build +COPY . /root/ws/src/test_system/ +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash build_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as test +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash test_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as install +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM install as full +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM base as deploy +RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* +COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO + +FROM deploy as launch +CMD ["roslaunch", "test_system", "test_system.launch"] diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src-gen/de/fraunhofer/ipa/rossystem/tests/RosSystemInjectorProvider.java b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src-gen/de/fraunhofer/ipa/rossystem/tests/RosSystemInjectorProvider.java index b67ff1ef5..1b43eaf32 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src-gen/de/fraunhofer/ipa/rossystem/tests/RosSystemInjectorProvider.java +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src-gen/de/fraunhofer/ipa/rossystem/tests/RosSystemInjectorProvider.java @@ -1,5 +1,5 @@ /* - * generated by Xtext 2.25.0 + * generated by Xtext 2.16.0 */ package de.fraunhofer.ipa.rossystem.tests; @@ -25,6 +25,7 @@ public class RosSystemInjectorProvider implements IInjectorProvider, IRegistryCo @Override public Injector getInjector() { if (injector == null) { + stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); this.injector = internalCreateInjector(); stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); } @@ -55,15 +56,11 @@ public ClassLoader bindClassLoaderToInstance() { @Override public void restoreRegistry() { stateBeforeInjectorCreation.restoreGlobalState(); - stateBeforeInjectorCreation = null; } @Override public void setupRegistry() { - stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); - if (injector == null) { - getInjector(); - } + getInjector(); stateAfterInjectorCreation.restoreGlobalState(); } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend index 7cc4459da..c65a5471c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend @@ -43,6 +43,7 @@ class RosSystemGeneratorTest { ros_model.load(new StringInputStream( ''' PackageSet { CatkinPackage test_pkg { + FromGitRepo "https://github.com/myTest/myrepo" Artifact test_node { Node { name test_node ServiceServers { ServiceServer {name setBool service "std_srvs.SetBool"}} @@ -111,6 +112,14 @@ class RosSystemGeneratorTest { // Test the generated CMakeLists.txt file Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', 'CMakeLists.txt'))).trim, fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/CMakeLists.txt').toString.trim) + + // Test the generated Dockerfile file + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', 'Dockerfile'))).trim, + fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/Dockerfile').toString.trim) + + // Test the generated .rosinstall file + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', '.rosinstall'))).trim, + fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/.rosinstall').toString.trim) // Test the generated component interface Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system.componentinterface'))).trim, @@ -118,7 +127,7 @@ class RosSystemGeneratorTest { //STACKS val system_name = new String('test_stacks') - val stcak_names = newArrayList('stack1', 'stack2') + val stacks_names = newArrayList('stack1', 'stack2') val gen_system_prefix = new String(String.format("%s%s", CustomOutputProvider::DEFAULT_OUTPUT,system_name)) val system_prefix = new String(String.format("%s/%s",RESOURCES_BASE_DIR, system_name)) @@ -127,7 +136,7 @@ class RosSystemGeneratorTest { generator.doGenerate(model_stack.eResource, fsa, new GeneratorContext) - for (String name : stcak_names) { + for (String name : stacks_names) { val gen_stack_prefix = new String(String.format("%s/%s_%s", gen_system_prefix, system_name, name)) val stack_prefix = new String(String.format("%s/%s_%s", system_prefix, system_name, name)) @@ -152,6 +161,10 @@ class RosSystemGeneratorTest { // Test the generated component interface Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, 'Dockerfile'))).trim, fsa.textFiles.get(String.format("%s/Dockerfile", gen_stack_prefix)).toString.trim) + + // Test the generated component interface + Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, '.rosinstall'))).trim, + fsa.textFiles.get(String.format("%s/.rosinstall", gen_stack_prefix)).toString.trim) } Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/docker-compose.yml", gen_system_prefix))) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/ComponentInterfaceCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/ComponentInterfaceCompiler.xtend index 033992208..ec758413b 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/ComponentInterfaceCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/ComponentInterfaceCompiler.xtend @@ -103,7 +103,7 @@ ComponentInterface { name «system.name» RosPublishers{ «FOR pub:pubs» «val count_pub=count_pub--» - RosPublisher "«pub.name»" { RefPublisher "«pub.publisher.package_pub».«pub.publisher.getArtifact».«pub.publisher.getNode».«pub.publisher.name»"}«IF count_pub > 1 »,«ENDIF» + RosPublisher "«pub.name»" { RefPublisher "«pub.publisher.package_pub.name».«pub.publisher.getArtifact».«pub.publisher.getNode».«pub.publisher.name»"}«IF count_pub > 1 »,«ENDIF» «ENDFOR» } «ENDIF» @@ -111,7 +111,7 @@ RosPublishers{ RosSubscribers{ «FOR sub:subs» «val count_sub=count_sub--» - RosSubscriber "«sub.name»" { RefSubscriber "«sub.subscriber.package_sub».«sub.subscriber.getArtifact».«sub.subscriber.getNode».«sub.subscriber.name»"}«IF count_sub > 1 »,«ENDIF» + RosSubscriber "«sub.name»" { RefSubscriber "«sub.subscriber.package_sub.name».«sub.subscriber.getArtifact».«sub.subscriber.getNode».«sub.subscriber.name»"}«IF count_sub > 1 »,«ENDIF» «ENDFOR» } «ENDIF» @@ -119,7 +119,7 @@ RosSubscribers{ RosSrvServers{ «FOR svrs:svrs» «val count_srvs=count_srvs--» - RosServiceServer "«svrs.name»" { RefServer "«svrs.srvserver.package_srvserv».«svrs.srvserver.getArtifact».«svrs.srvserver.getNode».«svrs.srvserver.name»"}«IF count_srvs > 1 »,«ENDIF» + RosServiceServer "«svrs.name»" { RefServer "«svrs.srvserver.package_srvserv.name».«svrs.srvserver.getArtifact».«svrs.srvserver.getNode».«svrs.srvserver.name»"}«IF count_srvs > 1 »,«ENDIF» «ENDFOR» } «ENDIF» @@ -127,7 +127,7 @@ RosSrvServers{ RosSrvClients{ «FOR svrc:svrc» «val count_srvc=count_srvc--» - RosServiceClient "«svrc.name»" { RefClient "«svrc.srvclient.package_srvcli».«svrc.srvclient.getArtifact».«svrc.srvclient.getNode».«svrc.srvclient.name»"}«IF count_srvc > 1 »,«ENDIF» + RosServiceClient "«svrc.name»" { RefClient "«svrc.srvclient.package_srvcli.name».«svrc.srvclient.getArtifact».«svrc.srvclient.getNode».«svrc.srvclient.name»"}«IF count_srvc > 1 »,«ENDIF» «ENDFOR» } «ENDIF» @@ -135,7 +135,7 @@ RosSrvClients{ RosActionServers{ «FOR acts:acts» «val count_acts=count_acts--» - RosActionServer "«acts.name»" { RefServer "«acts.actserver.package_actserver».«acts.actserver.getArtifact».«acts.actserver.getNode».«acts.actserver.name»"}«IF count_acts > 1 »,«ENDIF» + RosActionServer "«acts.name»" { RefServer "«acts.actserver.package_actserver.name».«acts.actserver.getArtifact».«acts.actserver.getNode».«acts.actserver.name»"}«IF count_acts > 1 »,«ENDIF» «ENDFOR» } «ENDIF» @@ -143,7 +143,7 @@ RosActionServers{ RosActionClients{ «FOR actc:actc» «val count_actc=count_actc--» - RosActionClient "«actc.name»" { RefClient "«actc.actclient.package_actclient».«actc.actclient.getArtifact».«actc.actclient.getNode».«actc.actclient.name»"}«IF count_actc > 1 »,«ENDIF» + RosActionClient "«actc.name»" { RefClient "«actc.actclient.package_actclient.name».«actc.actclient.getArtifact».«actc.actclient.getNode».«actc.actclient.name»"}«IF count_actc > 1 »,«ENDIF» «ENDFOR» } «ENDIF» @@ -151,7 +151,7 @@ RosActionClients{ RosParameters{ «FOR param:rosparams» «val count_param=count_param--» - RosParameter "«compile_param_name(param.parameter,"")»" { RefParameter "«param.parameter.package_rosparam».«param.parameter.getArtifact».«param.parameter.getNode».«param.parameter.name»"«IF param.value!==null » value «compile_rosparam_value(param.value)»«ENDIF» }«IF count_param > 1»,«ENDIF» + RosParameter "«compile_param_name(param.parameter,"")»" { RefParameter "«param.parameter.package_rosparam.name».«param.parameter.getArtifact».«param.parameter.getNode».«param.parameter.name»"«IF param.value!==null » value «compile_rosparam_value(param.value)»«ENDIF» }«IF count_param > 1»,«ENDIF» «ENDFOR»«FOR param:system.parameter» «val count_param=count_param--» RosParameter "«param.name»" { RefParameter "«param.name»"«IF param.value!==null » value «compile_rosparam_value(param.value)»«ENDIF» }«IF count_param > 1»,«ENDIF» diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend index 7825d463a..b1795dfff 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend @@ -14,6 +14,7 @@ import java.util.List import ros.Node import ros.impl.PackageImpl import rossystem.ComponentStack +import org.eclipse.emf.ecore.EObject class GeneratorHelpers { @@ -56,39 +57,64 @@ class GeneratorHelpers { } def compile_pkg(ComponentInterface component) -'''«IF !(component.fromRosNode===null) »«component.fromRosNode.getPackage_node»«ELSEIF !PackageSet && !component.rospublisher.empty»«FOR Rospublisher:component.rospublisher»«IF !PackageSet»«Rospublisher.publisher.getPackage_pub()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rossubscriber.empty»«FOR Rossubscriber:component.rossubscriber»«IF !PackageSet»«Rossubscriber.subscriber.getPackage_sub()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosserviceserver.empty»«FOR Rosserviceserver:component.rosserviceserver»«IF !PackageSet»«Rosserviceserver.srvserver.getPackage_srvserv()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosserviceclient.empty»«FOR Rosserviceclient:component.rosserviceclient»«IF !PackageSet»«Rosserviceclient.srvclient.getPackage_srvcli()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosparameter.empty»«FOR Rosparameter:component.rosparameter»«IF !PackageSet»«Rosparameter.parameter.getPackage_rosparam()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosactionserver.empty»«FOR RosActionSever:component.rosactionserver»«IF !PackageSet»«RosActionSever.actserver.getPackage_actserver()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosactionclient.empty»«FOR RosActionClient:component.rosactionclient»«IF !PackageSet»«RosActionClient.actclient.getPackage_actclient()»«ENDIF»«ENDFOR»«ENDIF»''' +'''«IF !(component.fromRosNode===null) »«component.fromRosNode.getPackage_node.name»«ELSEIF !PackageSet && !component.rospublisher.empty»«FOR Rospublisher:component.rospublisher»«IF !PackageSet»«Rospublisher.publisher.getPackage_pub().name»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rossubscriber.empty»«FOR Rossubscriber:component.rossubscriber»«IF !PackageSet»«Rossubscriber.subscriber.getPackage_sub().name»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosserviceserver.empty»«FOR Rosserviceserver:component.rosserviceserver»«IF !PackageSet»«Rosserviceserver.srvserver.getPackage_srvserv().name»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosserviceclient.empty»«FOR Rosserviceclient:component.rosserviceclient»«IF !PackageSet»«Rosserviceclient.srvclient.getPackage_srvcli().name»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosparameter.empty»«FOR Rosparameter:component.rosparameter»«IF !PackageSet»«Rosparameter.parameter.getPackage_rosparam().name»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosactionserver.empty»«FOR RosActionSever:component.rosactionserver»«IF !PackageSet»«RosActionSever.actserver.getPackage_actserver().name»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosactionclient.empty»«FOR RosActionClient:component.rosactionclient»«IF !PackageSet»«RosActionClient.actclient.getPackage_actclient().name»«ENDIF»«ENDFOR»«ENDIF»''' + + def PackageImpl get_pkg(ComponentInterface component) { + if (component.fromRosNode!==null){ + return getPackage_node(component.fromRosNode) + } else if(!component.rospublisher.empty){ + return getPacakge_fromObject(component.rospublisher.get(0).publisher) + } else if (!component.rossubscriber.empty){ + return getPacakge_fromObject(component.rossubscriber.get(0).subscriber) + } else if (!component.rosserviceclient.empty){ + return getPacakge_fromObject(component.rosserviceclient.get(0).srvclient) + } else if (!component.rosserviceserver.empty){ + return getPacakge_fromObject(component.rosserviceserver.get(0).srvserver) + } else if (!component.rosactionclient.empty){ + return getPacakge_fromObject(component.rosactionclient.get(0).actclient) + } else if (!component.rosactionserver.empty){ + return getPacakge_fromObject(component.rosactionserver.get(0).actserver) + } else if (!component.rosparameter.empty){ + return getPacakge_fromObject(component.rosparameter.get(0).parameter) + } + } + + def getPacakge_fromObject (EObject object){ + package_impl = object.eContainer.eContainer.eContainer as PackageImpl; + return package_impl; + } def getPackage_pub(Publisher publisher){ package_impl = publisher.eContainer.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } def getPackage_sub(Subscriber subscriber){ package_impl = subscriber.eContainer.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } def getPackage_srvserv(ServiceServer serviceserver){ package_impl = serviceserver.eContainer.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } def getPackage_srvcli(ServiceClient serviceclient){ package_impl = serviceclient.eContainer.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } def getPackage_actserver(ActionServer actionserver){ package_impl = actionserver.eContainer.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } def getPackage_actclient(ActionClient actionclient){ package_impl = actionclient.eContainer.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } def getPackage_rosparam (Parameter param){ package_impl = param.eContainer.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } def getPackage_node (Node node){ package_impl = node.eContainer.eContainer as PackageImpl; - return package_impl.name; + return package_impl; } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosInstallCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosInstallCompiler.xtend new file mode 100644 index 000000000..591179fcb --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosInstallCompiler.xtend @@ -0,0 +1,64 @@ +package de.fraunhofer.ipa.rossystem.generator + +import com.google.inject.Inject +import rossystem.RosSystem +import java.util.List +import componentInterface.ComponentInterface +import ros.impl.PackageImpl +import ros.Dependency +import ros.PackageDependency +import java.util.ArrayList +import java.util.Set +import java.util.HashSet +import rossystem.ComponentStack + +class RosInstallCompiler { + + @Inject extension GeneratorHelpers + PackageImpl component_package; + Set Repos; + List PkgsList + List ComponentsList + + + def compile_toRosInstall (RosSystem system,ComponentStack stack) '''«init_pkg()» +«IF stack===null»«FOR repo:system.listOfRepos» +- git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: '«repo»'} +«ENDFOR» +«ELSE»«FOR repo:stack.listOfRepos» +- git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: '«repo»'} +«ENDFOR» +«ENDIF» +''' + + def Set listOfRepos(Object subsystem) { + PkgsList = new ArrayList() + ComponentsList = new ArrayList(); + if (subsystem.class.toString.contains("RosSystemImpl")){ + ComponentsList = (subsystem as RosSystem).rosComponent + } else if (subsystem.class.toString.contains("ComponentStackImpl")) { + ComponentsList = (subsystem as ComponentStack).rosComponent + } + + + Repos = new HashSet(); + for (ComponentInterface component: ComponentsList){ + component_package = null; + component_package = get_pkg(component); + if (component_package !== null){ + if (component_package.fromGitRepo !== null){ + Repos.add(component_package.fromGitRepo); + } + if (!component_package.dependency.empty){ + for (Dependency depend: component_package.dependency){ + if ((depend as PackageDependency).package !== null){ + if ((depend as PackageDependency).package.fromGitRepo !== null){ + Repos.add((depend as PackageDependency).package.fromGitRepo); + } + } + } + }}} + return Repos; + } + +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index 79226d582..c3d936ef7 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -48,6 +48,8 @@ class RosSystemGenerator extends AbstractGenerator { @Inject extension SetupPyCompile @Inject extension DockerComposeCompiler @Inject extension DockerContainerCompiler + @Inject extension RosInstallCompiler + //@Inject extension InstallScriptCompiler @@ -60,19 +62,22 @@ class RosSystemGenerator extends AbstractGenerator { // } - // ROS1 package with docker composition for component Stacks + // ROS1 package for (system : resource.allContents.toIterable.filter(RosSystem)){ if (system.componentStack.size==0){ fsa.generateFile(system.getName().toLowerCase+"/package.xml",compile_package_xml_format2(system, null)) fsa.generateFile(system.getName().toLowerCase+"/CMakeLists.txt",compile_CMakeLists_ROS1(system, null)) fsa.generateFile(system.getName().toLowerCase+"/launch/"+system.getName()+".launch",compile_toROS1launch(system, null).toString().replace("\t"," ")) fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",compile_toDockerContainer(system, null)) + fsa.generateFile(system.getName().toLowerCase+"/.rosinstall",compile_toRosInstall(system,null)) } else { for (stack : system.componentStack){ fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format2(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS1(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS1launch(system, stack).toString().replace("\t"," ")) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),compile_toDockerContainer(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase,".rosinstall"),compile_toRosInstall(system,stack)) + } fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),compile_toDockerCompose(system)) } From c22edc2c08d836c55f2a221ca8f0a7458d6c5c49 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Thu, 9 Sep 2021 13:38:52 +0200 Subject: [PATCH 07/48] move listOfRepos to GeneratorHelpers --- .../generator/GeneratorHelpers.xtend | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend index b1795dfff..da34a274c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend @@ -15,6 +15,10 @@ import ros.Node import ros.impl.PackageImpl import rossystem.ComponentStack import org.eclipse.emf.ecore.EObject +import java.util.Set +import java.util.HashSet +import ros.Dependency +import ros.PackageDependency class GeneratorHelpers { @@ -24,6 +28,8 @@ class GeneratorHelpers { List PkgsList String Pkg List ComponentsList + PackageImpl component_package + Set Repos def void init_pkg(){ PackageSet=false @@ -116,5 +122,36 @@ class GeneratorHelpers { package_impl = node.eContainer.eContainer as PackageImpl; return package_impl; } + + +def Set listOfRepos(Object subsystem) { + PkgsList = new ArrayList() + ComponentsList = new ArrayList(); + if (subsystem.class.toString.contains("RosSystemImpl")){ + ComponentsList = (subsystem as RosSystem).rosComponent + } else if (subsystem.class.toString.contains("ComponentStackImpl")) { + ComponentsList = (subsystem as ComponentStack).rosComponent + } + + + Repos = new HashSet(); + for (ComponentInterface component: ComponentsList){ + component_package = null; + component_package = get_pkg(component); + if (component_package !== null){ + if (component_package.fromGitRepo !== null){ + Repos.add(component_package.fromGitRepo); + } + if (!component_package.dependency.empty){ + for (Dependency depend: component_package.dependency){ + if ((depend as PackageDependency).package !== null){ + if ((depend as PackageDependency).package.fromGitRepo !== null){ + Repos.add((depend as PackageDependency).package.fromGitRepo); + } + } + } + }}} + return Repos; +} } From 9dafac0fef1dfa78b4f95a37b282370915fd0d75 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Thu, 9 Sep 2021 13:38:28 +0200 Subject: [PATCH 08/48] Check if extra layer is needed in dockerfile --- .../generator/DockerContainerCompiler.xtend | 61 +++++++++++++++++-- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend index 2b495cbad..1eeffd64f 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend @@ -5,14 +5,25 @@ import rossystem.RosSystem import rossystem.ComponentStack class DockerContainerCompiler { - @Inject extension GeneratorHelpers - - def compile_toDockerContainer(RosSystem system, ComponentStack stack) '''«init_pkg()» + + def compile_toDockerContainer(RosSystem system, ComponentStack stack) '''«init_pkg()» # syntax=docker/dockerfile:experimental ARG SUFFIX= ARG PREFIX= +«IF stack===null» + «IF system.listOfRepos.isEmpty()» +FROM ros:melodic-ros-core as base + «ELSE» +FROM ${PREFIX}extra_layer_«system.name.toLowerCase»${SUFFIX} as base + «ENDIF» +«ELSE» + «IF stack.listOfRepos.isEmpty()» FROM ros:melodic-ros-core as base + «ELSE» +FROM ${PREFIX}extra_layer_«stack.name.toLowerCase»${SUFFIX} as base + «ENDIF» +«ENDIF» FROM ${PREFIX}builder${SUFFIX} as builder FROM base as build @@ -51,4 +62,46 @@ FROM deploy as launch «IF stack===null»CMD ["roslaunch", "«system.name»", "«system.name».launch"]«ELSE»CMD ["roslaunch", "«system.name.toLowerCase»_«stack.name.toLowerCase»", "«stack.name.toLowerCase».launch"]«ENDIF» ''' -} \ No newline at end of file + def compile_toDockerImageExtraLayer(RosSystem system, ComponentStack stack) '''«init_pkg()» +«IF (stack===null && !system.listOfRepos.isEmpty()) || (stack !==null && !stack.listOfRepos.isEmpty()) » +# syntax=docker/dockerfile:experimental +ARG SUFFIX= +ARG PREFIX= +FROM ros:melodic-ros-core as base +FROM ${PREFIX}builder${SUFFIX} as builder + +FROM base as build +COPY * /root/ws/src/ +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash build_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as test +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash test_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as install +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM install as full +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM base as deploy +RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* +COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO + «ENDIF» +''' + +} From bae825d1e059a0d3cdeacefff4ac4f790351eafd Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Sat, 11 Sep 2021 01:46:40 +0200 Subject: [PATCH 09/48] add pre_build to prepare new source for install package in extra_layer --- .../generator/DockerContainerCompiler.xtend | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend index 1eeffd64f..e4d02e2e7 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend @@ -10,6 +10,7 @@ class DockerContainerCompiler { def compile_toDockerContainer(RosSystem system, ComponentStack stack) '''«init_pkg()» # syntax=docker/dockerfile:experimental ARG SUFFIX= +ARG BUILDER_SUFFIX=:melodic ARG PREFIX= «IF stack===null» «IF system.listOfRepos.isEmpty()» @@ -24,7 +25,7 @@ FROM ros:melodic-ros-core as base FROM ${PREFIX}extra_layer_«stack.name.toLowerCase»${SUFFIX} as base «ENDIF» «ENDIF» -FROM ${PREFIX}builder${SUFFIX} as builder +FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder FROM base as build COPY . /root/ws/src/«IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF»/ @@ -67,11 +68,19 @@ FROM deploy as launch # syntax=docker/dockerfile:experimental ARG SUFFIX= ARG PREFIX= +«««Todo: get distro from model +ARG BUILDER_SUFFIX=:melodic FROM ros:melodic-ros-core as base -FROM ${PREFIX}builder${SUFFIX} as builder +FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder -FROM base as build +FROM base as pre_build COPY * /root/ws/src/ +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash update_list /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM pre_build as build RUN --mount=type=bind,from=builder,target=/builder \ apt-get update -qq && \ /builder/workspace.bash build_workspace /root/ws && \ @@ -95,8 +104,9 @@ RUN --mount=type=bind,from=builder,target=/builder \ /builder/workspace.bash install_depends /root/ws && \ rm -rf /var/lib/apt/lists/* -FROM base as deploy -RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ +FROM pre_build as deploy +RUN --mount=type=bind,from=builder,target=/builder \ + --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ apt-get update -qq && \ /builder/workspace.bash install_depends /root/ws && \ rm -rf /var/lib/apt/lists/* From 50ee438eb75b9685b9835c4d6f61867246cea911 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Wed, 18 Aug 2021 12:37:25 +0200 Subject: [PATCH 10/48] Generate git action workflow(upload image to dockerhub) --- .../generator/GitActionCompiler.xtend | 121 ++++++++++++++++++ .../generator/RosSystemGenerator.xtend | 19 ++- 2 files changed, 133 insertions(+), 7 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GitActionCompiler.xtend diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GitActionCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GitActionCompiler.xtend new file mode 100644 index 000000000..a31927c6a --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GitActionCompiler.xtend @@ -0,0 +1,121 @@ +package de.fraunhofer.ipa.rossystem.generator + +import com.google.inject.Inject +import rossystem.RosSystem + +class GitActionCompiler { + @Inject extension GeneratorHelpers + def default_part(String layer, String context_path, String needed_layer, String tag)''' +«layer»: + runs-on: ubuntu-latest + «IF needed_layer !== null» + needs: «needed_layer» + «ENDIF» + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + «tag» + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: «context_path» + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + ''' + def build_layer()''' + «default_part("builder", "./builder", null, "type=raw,value=${{ env.BUILDER_SUFFIX }}")» +''' + def extra_layer(String name, String path)''' + «default_part("extra_layer_"+name, String.join("/", ".",path,"extra_layer"), "builder", "type=ref,event=branch")» +''' + def system_layer(String sys_name, Boolean need_extra)''' + «IF need_extra» + «default_part(sys_name, "./"+sys_name, "extra_layer_"+sys_name, "type=ref,event=branch")» + «ELSE» + «default_part(sys_name, "./"+sys_name, "builder", "type=ref,event=branch")» + «ENDIF» + ''' + def stack_layer(String sys_name, String stack_name, Boolean need_extra)''' + «IF need_extra» + «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "extra_layer_"+stack_name, "type=ref,event=branch")» + «ELSE» + «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "builder", "type=ref,event=branch")» + «ENDIF» +''' + def compile_toGitAction(RosSystem system) '''«init_pkg()» +name: «system.name.toLowerCase» +on: + push: + paths: + - '«system.name.toLowerCase»/**' +env: + PREFIX: "${{ secrets.DOCKER_USERNAME }}/" + SUFFIX: "" +««« Todo: get distro from model + BUILDER_SUFFIX: melodic +jobs: + «build_layer()» + «IF system.getComponentStack().isEmpty()» + «IF !system.listOfRepos.isEmpty()» + «extra_layer(system.name.toLowerCase, system.name.toLowerCase)» + «system_layer(system.name.toLowerCase, true)» + «ELSE» + «system_layer(system.name.toLowerCase, false)» +«ENDIF» +«ELSE»«FOR stack : system.getComponentStack()»«IF !stack.listOfRepos.isEmpty()» + «extra_layer(stack.name.toLowerCase, String.join("/", system.name.toLowerCase, system.name.toLowerCase + "_" + stack.name.toLowerCase))» + «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, true)» + «ELSE» + «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, false)» +«ENDIF» + «ENDFOR» +«ENDIF» +''' +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index c3d936ef7..885c46c01 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -16,7 +16,7 @@ import rossystem.RosSystem class CustomOutputProvider implements IOutputConfigurationProvider { public final static String CM_CONFIGURATION = "CM_CONFIGURATION" public final static String DEFAULT_OUTPUT = "DEFAULT_OUTPUT" - + override Set getOutputConfigurations() { var OutputConfiguration cm_config = new OutputConfiguration(CM_CONFIGURATION) @@ -49,9 +49,9 @@ class RosSystemGenerator extends AbstractGenerator { @Inject extension DockerComposeCompiler @Inject extension DockerContainerCompiler @Inject extension RosInstallCompiler - + @Inject extension GitActionCompiler //@Inject extension InstallScriptCompiler - + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { for (system : resource.allContents.toIterable.filter(RosSystem)){ @@ -69,20 +69,26 @@ class RosSystemGenerator extends AbstractGenerator { fsa.generateFile(system.getName().toLowerCase+"/CMakeLists.txt",compile_CMakeLists_ROS1(system, null)) fsa.generateFile(system.getName().toLowerCase+"/launch/"+system.getName()+".launch",compile_toROS1launch(system, null).toString().replace("\t"," ")) fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",compile_toDockerContainer(system, null)) - fsa.generateFile(system.getName().toLowerCase+"/.rosinstall",compile_toRosInstall(system,null)) + fsa.generateFile(system.getName().toLowerCase+"/extra_layer/" + system.getName().toLowerCase + ".rosinstall",compile_toRosInstall(system,null)) + fsa.generateFile(system.getName().toLowerCase+"/extra_layer/Dockerfile",compile_toDockerImageExtraLayer(system, null)) } else { for (stack : system.componentStack){ fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format2(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS1(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS1launch(system, stack).toString().replace("\t"," ")) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),compile_toDockerContainer(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase,".rosinstall"),compile_toRosInstall(system,stack)) - + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", stack.name.toLowerCase+".rosinstall"),compile_toRosInstall(system,stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", "Dockerfile"),compile_toDockerImageExtraLayer(system,stack)) } fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),compile_toDockerCompose(system)) } } + // git action workflow + for (system : resource.allContents.toIterable.filter(RosSystem)){ + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.getName().toLowerCase + "_workflow.yml") ,compile_toGitAction(system)) + } + //ROS2 package for (system : resource.allContents.toIterable.filter(RosSystem)){ fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch.py",system.compile_toROS2launch.toString().replace("\t"," ")) @@ -94,4 +100,3 @@ class RosSystemGenerator extends AbstractGenerator { } } } - From a8b99af33ae771bfaaa03a00be166bead329e1e7 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Sat, 11 Sep 2021 01:53:08 +0200 Subject: [PATCH 11/48] update test results --- .../test_stacks/test_stacks_stack1/Dockerfile | 5 +- .../test_stacks_stack1/extra_layer/Dockerfile | 45 ++++ .../stack1.rosinstall} | 0 .../test_stacks/test_stacks_stack2/Dockerfile | 3 +- .../{.rosinstall => extra_layer/Dockerfile} | 0 .../extra_layer/stack2.rosinstall | 0 .../test_stacks/test_stacks_workflow.yml | 249 ++++++++++++++++++ .../resources/test_system/Dockerfile | 5 +- .../test_system/extra_layer/Dockerfile | 45 ++++ .../extra_layer/test_system.rosinstall | 1 + .../test_system/test_system_workflow.yml | 189 +++++++++++++ 11 files changed, 537 insertions(+), 5 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile rename plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/{.rosinstall => extra_layer/stack1.rosinstall} (100%) rename plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/{.rosinstall => extra_layer/Dockerfile} (100%) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/stack2.rosinstall create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall create mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile index 5a9b7f3b8..4449ac527 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile @@ -1,8 +1,9 @@ # syntax=docker/dockerfile:experimental ARG SUFFIX= +ARG BUILDER_SUFFIX=:melodic ARG PREFIX= -FROM ros:melodic-ros-core as base -FROM ${PREFIX}builder${SUFFIX} as builder +FROM ${PREFIX}extra_layer_stack1${SUFFIX} as base +FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder FROM base as build COPY . /root/ws/src/test_stacks_stack1/ diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile new file mode 100644 index 000000000..0a84ccb0a --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile @@ -0,0 +1,45 @@ +# syntax=docker/dockerfile:experimental +ARG SUFFIX= +ARG PREFIX= +ARG BUILDER_SUFFIX=:melodic +FROM ros:melodic-ros-core as base +FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder + +FROM base as pre_build +COPY * /root/ws/src/ +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash update_list /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM pre_build as build +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash build_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as test +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash test_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as install +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM install as full +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM pre_build as deploy +RUN --mount=type=bind,from=builder,target=/builder \ + --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* +COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/stack1.rosinstall similarity index 100% rename from plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/.rosinstall rename to plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/stack1.rosinstall diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile index 6892540ed..90a8298a5 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile @@ -1,8 +1,9 @@ # syntax=docker/dockerfile:experimental ARG SUFFIX= +ARG BUILDER_SUFFIX=:melodic ARG PREFIX= FROM ros:melodic-ros-core as base -FROM ${PREFIX}builder${SUFFIX} as builder +FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder FROM base as build COPY . /root/ws/src/test_stacks_stack2/ diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/Dockerfile similarity index 100% rename from plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/.rosinstall rename to plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/Dockerfile diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/stack2.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/stack2.rosinstall new file mode 100644 index 000000000..e69de29bb diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml new file mode 100644 index 000000000..083828434 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml @@ -0,0 +1,249 @@ +name: test_stacks +on: + push: + paths: + - 'test_stacks/**' +env: + PREFIX: "${{ secrets.DOCKER_USERNAME }}/" + SUFFIX: "" + BUILDER_SUFFIX: melodic +jobs: + builder: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + type=raw,value=${{ env.BUILDER_SUFFIX }} + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./builder + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + extra_layer_stack1: + runs-on: ubuntu-latest + needs: builder + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + type=ref,event=branch + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./test_stacks/test_stacks_stack1/extra_layer + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + test_stacks_stack1: + runs-on: ubuntu-latest + needs: extra_layer_stack1 + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + type=ref,event=branch + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./test_stacks/test_stacks_stack1 + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + test_stacks_stack2: + runs-on: ubuntu-latest + needs: builder + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + type=ref,event=branch + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./test_stacks/test_stacks_stack2 + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile index 0c69f24b4..2d72636d2 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile @@ -1,8 +1,9 @@ # syntax=docker/dockerfile:experimental ARG SUFFIX= +ARG BUILDER_SUFFIX=:melodic ARG PREFIX= -FROM ros:melodic-ros-core as base -FROM ${PREFIX}builder${SUFFIX} as builder +FROM ${PREFIX}extra_layer_test_system${SUFFIX} as base +FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder FROM base as build COPY . /root/ws/src/test_system/ diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile new file mode 100644 index 000000000..0a84ccb0a --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile @@ -0,0 +1,45 @@ +# syntax=docker/dockerfile:experimental +ARG SUFFIX= +ARG PREFIX= +ARG BUILDER_SUFFIX=:melodic +FROM ros:melodic-ros-core as base +FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder + +FROM base as pre_build +COPY * /root/ws/src/ +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash update_list /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM pre_build as build +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash build_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as test +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash test_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM build as install +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_workspace /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM install as full +RUN --mount=type=bind,from=builder,target=/builder \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* + +FROM pre_build as deploy +RUN --mount=type=bind,from=builder,target=/builder \ + --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ + apt-get update -qq && \ + /builder/workspace.bash install_depends /root/ws && \ + rm -rf /var/lib/apt/lists/* +COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall new file mode 100644 index 000000000..fca5e848b --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall @@ -0,0 +1 @@ +- git: {local-name: myrepo, uri: 'https://github.com/myTest/myrepo'} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml new file mode 100644 index 000000000..63518ce47 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml @@ -0,0 +1,189 @@ +name: test_system +on: + push: + paths: + - 'test_system/**' +env: + PREFIX: "${{ secrets.DOCKER_USERNAME }}/" + SUFFIX: "" + BUILDER_SUFFIX: melodic +jobs: + builder: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + type=raw,value=${{ env.BUILDER_SUFFIX }} + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./builder + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + extra_layer_test_system: + runs-on: ubuntu-latest + needs: builder + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + type=ref,event=branch + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./test_system/extra_layer + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + test_system: + runs-on: ubuntu-latest + needs: extra_layer_test_system + steps: + - + name: Checkout + uses: actions/checkout@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + - + name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - + name: Docker meta + id: docker_meta + uses: docker/metadata-action@v3 + with: + images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} + tags: | + type=ref,event=branch + type=raw,value=latest + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + - + name: Build and Push Docker Image + uses: docker/build-push-action@v2 + with: + context: ./test_system + push: true + tags: ${{ steps.docker_meta.outputs.tags }} + labels: ${{ steps.docker_meta.outputs.labels }} + build-args: | + SUFFIX=:${{ steps.extract_branch.outputs.branch }} + BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} + PREFIX=${{ env.PREFIX }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + - + name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache From 1962e0140355c414b622a440335f7ae4ecc16f9b Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Fri, 17 Sep 2021 12:55:21 +0200 Subject: [PATCH 12/48] Support list of structs definition for the launch file generator --- .../generator/LaunchFileCompiler_ROS1.xtend | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend index 54a05dfdd..69ebdcdf2 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend @@ -19,6 +19,7 @@ import componentInterface.RosActionClient import rossystem.ActionConnection import componentInterface.RosActionServer import rossystem.ComponentStack +import ros.ParameterStructMember class LaunchFileCompiler_ROS1 { @Inject extension GeneratorHelpers @@ -85,14 +86,18 @@ class LaunchFileCompiler_ROS1 { «remapping_function_actc(rosActionClient, component.hasNS, inActionToConnection(rosActionClient, system.actionConnections),component.check_ns)» «ENDFOR» «FOR rosParameter:component.rosparameter» - «IF rosParameter.parameter.type.toString.contains("ParameterStructType")»«str_output=""» - +«IF rosParameter.parameter.type.toString.contains("ParameterStructType")»«str_output=""» + «rosParameter.name»: - «IF rosParameter.value.eContents !== null» - «compile_struct_param(rosParameter.value.eContents,false)» - «ENDIF» - - «ELSE» +«IF rosParameter.value.eContents !== null»«compile_struct_param(rosParameter.value.eContents,false)»«ENDIF» + +«ELSEIF rosParameter.parameter.type.toString.contains("ParameterListType") && rosParameter.parameter.eContents.get(0).eContents.get(0).eClass.toString.contains("ParameterStructType")» + + «rosParameter.name»: + «FOR member: rosParameter.value.eContents»- «FOR submember:member.eContents»«FOR subsubmember:submember.eContents»«(subsubmember as ParameterStructMember).name» : «(subsubmember as ParameterStructMember).value.compile_param_value»«ENDFOR» + «" "»«ENDFOR»«ENDFOR» + +«ELSE» «IF rosParameter.value!==null»«ENDIF» «ENDIF» «ENDFOR» From 1ddd1d30e7705f80407651143ddda74d8a9af430 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Mon, 20 Sep 2021 16:37:17 +0200 Subject: [PATCH 13/48] Create a separate plugin for the deployment artifacts generators --- .../.classpath | 8 + .../.project | 34 +++ .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 18 ++ .../build.properties | 18 ++ .../plugin.xml | 50 ++++ .../pom.xml | 31 +++ .../ipa/rossystem/deployment/Activator.java | 7 + .../DeploymentArtifactsGenerator.xtend | 72 +++++ ...tsGeneratorExecutableExtensionFactory.java | 19 ++ .../deployment}/DockerComposeCompiler.xtend | 9 +- .../deployment}/DockerContainerCompiler.xtend | 16 +- .../deployment/GenerationHandler.java | 83 ++++++ .../deployment}/GitActionCompiler.xtend | 14 +- .../deployment}/RosInstallCompiler.xtend | 13 +- .../resources/test_stacks/docker-compose.yml | 35 --- .../test_stacks/test_stacks_stack1/Dockerfile | 41 --- .../test_stacks_stack1/extra_layer/Dockerfile | 45 ---- .../extra_layer/stack1.rosinstall | 1 - .../test_stacks/test_stacks_stack2/Dockerfile | 41 --- .../test_stacks_stack2/extra_layer/Dockerfile | 0 .../extra_layer/stack2.rosinstall | 0 .../test_stacks/test_stacks_workflow.yml | 249 ------------------ .../resources/test_system/Dockerfile | 41 --- .../test_system/extra_layer/Dockerfile | 45 ---- .../extra_layer/test_system.rosinstall | 1 - .../test_system/test_system_workflow.yml | 189 ------------- .../tests/RosSystemGeneratorTest.xtend | 22 +- .../generator/RosSystemGenerator.xtend | 16 -- 30 files changed, 377 insertions(+), 750 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/.classpath create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/.project create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.core.resources.prefs create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/build.properties create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/plugin.xml create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/Activator.java create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGeneratorExecutableExtensionFactory.java rename plugins/{de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator => de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment}/DockerComposeCompiler.xtend (74%) rename plugins/{de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator => de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment}/DockerContainerCompiler.xtend (87%) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java rename plugins/{de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator => de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment}/GitActionCompiler.xtend (90%) rename plugins/{de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator => de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment}/RosInstallCompiler.xtend (87%) delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/stack1.rosinstall delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/Dockerfile delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/stack2.rosinstall delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall delete mode 100644 plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/.classpath b/plugins/de.fraunhofer.ipa.rossystem.deployment/.classpath new file mode 100644 index 000000000..428337e56 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/.project b/plugins/de.fraunhofer.ipa.rossystem.deployment/.project new file mode 100644 index 000000000..c2616bc9f --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/.project @@ -0,0 +1,34 @@ + + + de.fraunhofer.ipa.rossystem.deployment + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.core.resources.prefs b/plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..99f26c020 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.jdt.core.prefs b/plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..0c68a61dc --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF new file mode 100644 index 000000000..994aeb249 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: de.fraunhofer.ipa.rossystem.deployment +Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.deployment;singleton:=true +Bundle-Version: 1.5.0.qualifier +Export-Package: de.fraunhofer.ipa.rossystem.deployment +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Import-Package: javax.inject;version="1.0.0", + org.eclipse.ui.handlers, + org.eclipse.xtext.ui.resource +Bundle-ActivationPolicy: lazy +Bundle-Activator: de.fraunhofer.ipa.rossystem.deployment.Activator +Require-Bundle: org.eclipse.xtext.builder, + org.eclipse.xtext.ui, + de.fraunhofer.ipa.rossystem.xtext;bundle-version="1.5.0", + de.fraunhofer.ipa.rossystem.xtext.ide;bundle-version="1.5.0", + de.fraunhofer.ipa.rossystem.xtext.ui;bundle-version="1.5.0", + de.fraunhofer.ipa.rossystem;bundle-version="1.5.0" diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/build.properties b/plugins/de.fraunhofer.ipa.rossystem.deployment/build.properties new file mode 100644 index 000000000..b7541b62b --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/build.properties @@ -0,0 +1,18 @@ +source.. = src/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.mwe2,\ + **/*.xtend +additional.bundles = org.eclipse.xtext.xbase,\ + org.eclipse.xtext.common.types,\ + org.eclipse.xtext.xtext.generator,\ + org.eclipse.emf.codegen.ecore,\ + org.eclipse.emf.mwe.utils,\ + org.eclipse.emf.mwe2.lib,\ + org.objectweb.asm,\ + org.apache.commons.logging,\ + org.apache.log4j,\ + com.ibm.icu,\ + org.eclipse.xtext.generator diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/plugin.xml b/plugins/de.fraunhofer.ipa.rossystem.deployment/plugin.xml new file mode 100644 index 000000000..53a752438 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/plugin.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml new file mode 100644 index 000000000..492d82d22 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml @@ -0,0 +1,31 @@ + + 4.0.0 + + de.fraunhofer.ipa.ros + de.fraunhofer.ipa.ros.parent + 1.5.0-SNAPSHOT + ../de.fraunhofer.ipa.ros.parent/pom.xml + + de.fraunhofer.ipa.rossystem.deployment + eclipse-plugin + + + + + org.eclipse.xtend + xtend-maven-plugin + + + org.apache.maven.plugins + maven-clean-plugin + + + xtend-gen-clean + clean + + + + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/Activator.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/Activator.java new file mode 100644 index 000000000..5e6b08b79 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/Activator.java @@ -0,0 +1,7 @@ +package de.fraunhofer.ipa.rossystem.deployment; + +import de.fraunhofer.ipa.rossystem.xtext.ui.internal.XtextActivator; + +public class Activator extends XtextActivator { + +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend new file mode 100644 index 000000000..f2bda89d1 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend @@ -0,0 +1,72 @@ +package de.fraunhofer.ipa.rossystem.deployment + +import java.util.Set +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.generator.AbstractGenerator +import org.eclipse.xtext.generator.IFileSystemAccess2 +import org.eclipse.xtext.generator.IGeneratorContext +import org.eclipse.xtext.generator.IOutputConfigurationProvider +import org.eclipse.xtext.generator.OutputConfiguration +import de.fraunhofer.ipa.rossystem.deployment.RosInstallCompiler +import de.fraunhofer.ipa.rossystem.deployment.DockerComposeCompiler +import de.fraunhofer.ipa.rossystem.deployment.DockerContainerCompiler +import de.fraunhofer.ipa.rossystem.deployment.GitActionCompiler +import rossystem.RosSystem; + +class CustomOutputProvider implements IOutputConfigurationProvider { + public final static String DEFAULT_OUTPUT = "DEFAULT_OUTPUT" + + + override Set getOutputConfigurations() { + var OutputConfiguration default_config = new OutputConfiguration(DEFAULT_OUTPUT) + default_config.setDescription("DEFAULT_OUTPUT"); + default_config.setOutputDirectory("./src-gen/"); + default_config.setOverrideExistingResources(true); + default_config.setCreateOutputDirectory(true); + default_config.setCleanUpDerivedResources(true); + default_config.setSetDerivedProperty(true); + return newHashSet(default_config) + } +} + +/** + * Generates code from your model files on save. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation + */ +class DeploymentArtifactsGenerator extends AbstractGenerator { + + DockerContainerCompiler docker_compiler = new DockerContainerCompiler() + RosInstallCompiler rosintall_compiler = new RosInstallCompiler() + DockerComposeCompiler dockercompose_compiler = new DockerComposeCompiler() + GitActionCompiler gitaction_compiler = new GitActionCompiler() + + + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { + // ROS1 package + for (system : resource.allContents.toIterable.filter(RosSystem)){ + if (system.componentStack.size==0){ + fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",docker_compiler.compile_toDockerContainer(system, null)) + fsa.generateFile(system.getName().toLowerCase+"/extra_layer/" + system.getName().toLowerCase + ".rosinstall",rosintall_compiler.compile_toRosInstall(system,null)) + fsa.generateFile(system.getName().toLowerCase+"/extra_layer/Dockerfile",docker_compiler.compile_toDockerImageExtraLayer(system, null)) + } else { + for (stack : system.componentStack){ + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),docker_compiler.compile_toDockerContainer(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", stack.name.toLowerCase+".rosinstall"),rosintall_compiler.compile_toRosInstall(system,stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack)) + } + fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system)) + } + } + + // git action workflow + for (system : resource.allContents.toIterable.filter(RosSystem)){ + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.getName().toLowerCase + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system)) + } + + } + +} + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGeneratorExecutableExtensionFactory.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGeneratorExecutableExtensionFactory.java new file mode 100644 index 000000000..d3470060c --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGeneratorExecutableExtensionFactory.java @@ -0,0 +1,19 @@ +package de.fraunhofer.ipa.rossystem.deployment; + +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; + +import com.google.inject.Injector; + +public class DeploymentArtifactsGeneratorExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + @Override + protected Bundle getBundle() { + return Activator.getInstance().getBundle(); + } + + @Override + protected Injector getInjector() { + return Activator.getInstance().getInjector(Activator.DE_FRAUNHOFER_IPA_ROSSYSTEM_ROSSYSTEM); + } + } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerComposeCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend similarity index 74% rename from plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerComposeCompiler.xtend rename to plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend index 2f717395a..feaa63565 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerComposeCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend @@ -1,14 +1,13 @@ -package de.fraunhofer.ipa.rossystem.generator +package de.fraunhofer.ipa.rossystem.deployment -import com.google.inject.Inject import rossystem.RosSystem -import rossystem.ComponentStack +import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers class DockerComposeCompiler { - @Inject extension GeneratorHelpers + GeneratorHelpers generator_helper = new GeneratorHelpers() - def compile_toDockerCompose(RosSystem system) '''«init_pkg()» + def compile_toDockerCompose(RosSystem system) '''«generator_helper.init_pkg()» version: "3.3" networks: ros: diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend similarity index 87% rename from plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend rename to plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend index e4d02e2e7..2d5c0c069 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/DockerContainerCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend @@ -1,25 +1,25 @@ -package de.fraunhofer.ipa.rossystem.generator +package de.fraunhofer.ipa.rossystem.deployment -import com.google.inject.Inject import rossystem.RosSystem import rossystem.ComponentStack +import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers class DockerContainerCompiler { - @Inject extension GeneratorHelpers + GeneratorHelpers generator_helper = new GeneratorHelpers() - def compile_toDockerContainer(RosSystem system, ComponentStack stack) '''«init_pkg()» + def compile_toDockerContainer(RosSystem system, ComponentStack stack) '''«generator_helper.init_pkg()» # syntax=docker/dockerfile:experimental ARG SUFFIX= ARG BUILDER_SUFFIX=:melodic ARG PREFIX= «IF stack===null» - «IF system.listOfRepos.isEmpty()» + «IF generator_helper.listOfRepos(system).isEmpty()» FROM ros:melodic-ros-core as base «ELSE» FROM ${PREFIX}extra_layer_«system.name.toLowerCase»${SUFFIX} as base «ENDIF» «ELSE» - «IF stack.listOfRepos.isEmpty()» + «IF generator_helper.listOfRepos(stack).isEmpty()» FROM ros:melodic-ros-core as base «ELSE» FROM ${PREFIX}extra_layer_«stack.name.toLowerCase»${SUFFIX} as base @@ -63,8 +63,8 @@ FROM deploy as launch «IF stack===null»CMD ["roslaunch", "«system.name»", "«system.name».launch"]«ELSE»CMD ["roslaunch", "«system.name.toLowerCase»_«stack.name.toLowerCase»", "«stack.name.toLowerCase».launch"]«ENDIF» ''' - def compile_toDockerImageExtraLayer(RosSystem system, ComponentStack stack) '''«init_pkg()» -«IF (stack===null && !system.listOfRepos.isEmpty()) || (stack !==null && !stack.listOfRepos.isEmpty()) » + def compile_toDockerImageExtraLayer(RosSystem system, ComponentStack stack) '''«generator_helper.init_pkg()» +«IF (stack===null && !generator_helper.listOfRepos(system).isEmpty()) || (stack !==null && !generator_helper.listOfRepos(stack).isEmpty()) » # syntax=docker/dockerfile:experimental ARG SUFFIX= ARG PREFIX= diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java new file mode 100644 index 000000000..b45fdf13a --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -0,0 +1,83 @@ +package de.fraunhofer.ipa.rossystem.deployment; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.IHandler; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.handlers.HandlerUtil; +import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2; +import org.eclipse.xtext.generator.GeneratorContext; +import org.eclipse.xtext.generator.IOutputConfigurationProvider; +import org.eclipse.xtext.generator.OutputConfiguration; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.ui.resource.IResourceSetProvider; + +import com.google.inject.Inject; +import com.google.inject.Provider; + +import de.fraunhofer.ipa.rossystem.deployment.CustomOutputProvider; +import de.fraunhofer.ipa.rossystem.deployment.DeploymentArtifactsGenerator; + +public class GenerationHandler extends AbstractHandler implements IHandler { + + @Inject + private Provider fileAccessProvider; + + @Inject + IResourceDescriptions resourceDescriptions; + + @Inject + IResourceSetProvider resourceSetProvider; + + static Map getOutputConfigurationsAsMap(IOutputConfigurationProvider provider) { + Map outputs = new HashMap(); + for(OutputConfiguration c: provider.getOutputConfigurations()) { + outputs.put(c.getName(), c); + } + return outputs; + } + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + + ISelection selection = HandlerUtil.getCurrentSelection(event); + if (selection instanceof IStructuredSelection) { + IStructuredSelection structuredSelection = (IStructuredSelection) selection; + Object firstElement = structuredSelection.getFirstElement(); + if (firstElement instanceof IFile) { + IFile file = (IFile) firstElement; + IProject project = file.getProject(); + + final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get(); + fsa.setProject(project); + fsa.setOutputConfigurations(getOutputConfigurationsAsMap(new CustomOutputProvider())); + fsa.setMonitor(new NullProgressMonitor()); + + URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true); + ResourceSet rs = resourceSetProvider.get(project); + Resource r = rs.getResource(uri, true); + + DeploymentArtifactsGenerator generator = new DeploymentArtifactsGenerator(); + generator.doGenerate(r, fsa, new GeneratorContext()); + + } + } + return null; + } + + @Override + public boolean isEnabled() { + return true; + } + } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GitActionCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend similarity index 90% rename from plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GitActionCompiler.xtend rename to plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend index a31927c6a..51686277a 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GitActionCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend @@ -1,10 +1,12 @@ -package de.fraunhofer.ipa.rossystem.generator +package de.fraunhofer.ipa.rossystem.deployment -import com.google.inject.Inject import rossystem.RosSystem +import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers class GitActionCompiler { - @Inject extension GeneratorHelpers + + GeneratorHelpers generator_helper = new GeneratorHelpers() + def default_part(String layer, String context_path, String needed_layer, String tag)''' «layer»: runs-on: ubuntu-latest @@ -89,7 +91,7 @@ class GitActionCompiler { «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "builder", "type=ref,event=branch")» «ENDIF» ''' - def compile_toGitAction(RosSystem system) '''«init_pkg()» + def compile_toGitAction(RosSystem system) '''«generator_helper.init_pkg()» name: «system.name.toLowerCase» on: push: @@ -103,13 +105,13 @@ env: jobs: «build_layer()» «IF system.getComponentStack().isEmpty()» - «IF !system.listOfRepos.isEmpty()» + «IF !generator_helper.listOfRepos(system).isEmpty()» «extra_layer(system.name.toLowerCase, system.name.toLowerCase)» «system_layer(system.name.toLowerCase, true)» «ELSE» «system_layer(system.name.toLowerCase, false)» «ENDIF» -«ELSE»«FOR stack : system.getComponentStack()»«IF !stack.listOfRepos.isEmpty()» +«ELSE»«FOR stack : system.getComponentStack()»«IF !generator_helper.listOfRepos(stack).isEmpty()» «extra_layer(stack.name.toLowerCase, String.join("/", system.name.toLowerCase, system.name.toLowerCase + "_" + stack.name.toLowerCase))» «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, true)» «ELSE» diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosInstallCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend similarity index 87% rename from plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosInstallCompiler.xtend rename to plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend index 591179fcb..da2790d5d 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosInstallCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend @@ -1,6 +1,5 @@ -package de.fraunhofer.ipa.rossystem.generator +package de.fraunhofer.ipa.rossystem.deployment -import com.google.inject.Inject import rossystem.RosSystem import java.util.List import componentInterface.ComponentInterface @@ -11,17 +10,17 @@ import java.util.ArrayList import java.util.Set import java.util.HashSet import rossystem.ComponentStack +import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers class RosInstallCompiler { - @Inject extension GeneratorHelpers PackageImpl component_package; Set Repos; List PkgsList List ComponentsList + GeneratorHelpers generator_helper = new GeneratorHelpers() - - def compile_toRosInstall (RosSystem system,ComponentStack stack) '''«init_pkg()» + def compile_toRosInstall (RosSystem system,ComponentStack stack) '''«generator_helper.init_pkg()» «IF stack===null»«FOR repo:system.listOfRepos» - git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: '«repo»'} «ENDFOR» @@ -44,7 +43,7 @@ class RosInstallCompiler { Repos = new HashSet(); for (ComponentInterface component: ComponentsList){ component_package = null; - component_package = get_pkg(component); + component_package = generator_helper.get_pkg(component); if (component_package !== null){ if (component_package.fromGitRepo !== null){ Repos.add(component_package.fromGitRepo); @@ -61,4 +60,4 @@ class RosInstallCompiler { return Repos; } -} \ No newline at end of file +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml deleted file mode 100644 index 0d9170954..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/docker-compose.yml +++ /dev/null @@ -1,35 +0,0 @@ -version: "3.3" -networks: - ros: - driver: bridge - -services: - ros-master: - image: ros:melodic-ros-core - command: stdbuf -o L roscore - networks: - - ros - - test_stacks_stack1: - image: "test_stacks_stack1:latest" - depends_on: - - ros-master - environment: - - "ROS_MASTER_URI=http://ros-master:11311" - - "ROS_HOSTNAME=stack1" - networks: - - ros - command: stdbuf -o L roslaunch test_stacks_stack1 stack1.launch --wait - - test_stacks_stack2: - image: "test_stacks_stack2:latest" - depends_on: - - ros-master - environment: - - "ROS_MASTER_URI=http://ros-master:11311" - - "ROS_HOSTNAME=stack2" - networks: - - ros - command: stdbuf -o L roslaunch test_stacks_stack2 stack2.launch --wait - - diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile deleted file mode 100644 index 4449ac527..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -# syntax=docker/dockerfile:experimental -ARG SUFFIX= -ARG BUILDER_SUFFIX=:melodic -ARG PREFIX= -FROM ${PREFIX}extra_layer_stack1${SUFFIX} as base -FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder - -FROM base as build -COPY . /root/ws/src/test_stacks_stack1/ -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash build_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as test -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash test_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as install -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM install as full -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM base as deploy -RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* -COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO - -FROM deploy as launch -CMD ["roslaunch", "test_stacks_stack1", "stack1.launch"] diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile deleted file mode 100644 index 0a84ccb0a..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -# syntax=docker/dockerfile:experimental -ARG SUFFIX= -ARG PREFIX= -ARG BUILDER_SUFFIX=:melodic -FROM ros:melodic-ros-core as base -FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder - -FROM base as pre_build -COPY * /root/ws/src/ -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash update_list /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM pre_build as build -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash build_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as test -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash test_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as install -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM install as full -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM pre_build as deploy -RUN --mount=type=bind,from=builder,target=/builder \ - --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* -COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/stack1.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/stack1.rosinstall deleted file mode 100644 index fca5e848b..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack1/extra_layer/stack1.rosinstall +++ /dev/null @@ -1 +0,0 @@ -- git: {local-name: myrepo, uri: 'https://github.com/myTest/myrepo'} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile deleted file mode 100644 index 90a8298a5..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -# syntax=docker/dockerfile:experimental -ARG SUFFIX= -ARG BUILDER_SUFFIX=:melodic -ARG PREFIX= -FROM ros:melodic-ros-core as base -FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder - -FROM base as build -COPY . /root/ws/src/test_stacks_stack2/ -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash build_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as test -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash test_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as install -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM install as full -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM base as deploy -RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* -COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO - -FROM deploy as launch -CMD ["roslaunch", "test_stacks_stack2", "stack2.launch"] diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/Dockerfile deleted file mode 100644 index e69de29bb..000000000 diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/stack2.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_stack2/extra_layer/stack2.rosinstall deleted file mode 100644 index e69de29bb..000000000 diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml deleted file mode 100644 index 083828434..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_stacks/test_stacks_workflow.yml +++ /dev/null @@ -1,249 +0,0 @@ -name: test_stacks -on: - push: - paths: - - 'test_stacks/**' -env: - PREFIX: "${{ secrets.DOCKER_USERNAME }}/" - SUFFIX: "" - BUILDER_SUFFIX: melodic -jobs: - builder: - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v2 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - with: - driver-opts: network=host - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} - tags: | - type=raw,value=${{ env.BUILDER_SUFFIX }} - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) - - - name: Build and Push Docker Image - uses: docker/build-push-action@v2 - with: - context: ./builder - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - build-args: | - SUFFIX=:${{ steps.extract_branch.outputs.branch }} - BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} - PREFIX=${{ env.PREFIX }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache - extra_layer_stack1: - runs-on: ubuntu-latest - needs: builder - steps: - - - name: Checkout - uses: actions/checkout@v2 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - with: - driver-opts: network=host - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} - tags: | - type=ref,event=branch - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) - - - name: Build and Push Docker Image - uses: docker/build-push-action@v2 - with: - context: ./test_stacks/test_stacks_stack1/extra_layer - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - build-args: | - SUFFIX=:${{ steps.extract_branch.outputs.branch }} - BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} - PREFIX=${{ env.PREFIX }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache - test_stacks_stack1: - runs-on: ubuntu-latest - needs: extra_layer_stack1 - steps: - - - name: Checkout - uses: actions/checkout@v2 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - with: - driver-opts: network=host - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} - tags: | - type=ref,event=branch - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) - - - name: Build and Push Docker Image - uses: docker/build-push-action@v2 - with: - context: ./test_stacks/test_stacks_stack1 - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - build-args: | - SUFFIX=:${{ steps.extract_branch.outputs.branch }} - BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} - PREFIX=${{ env.PREFIX }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache - test_stacks_stack2: - runs-on: ubuntu-latest - needs: builder - steps: - - - name: Checkout - uses: actions/checkout@v2 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - with: - driver-opts: network=host - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} - tags: | - type=ref,event=branch - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) - - - name: Build and Push Docker Image - uses: docker/build-push-action@v2 - with: - context: ./test_stacks/test_stacks_stack2 - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - build-args: | - SUFFIX=:${{ steps.extract_branch.outputs.branch }} - BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} - PREFIX=${{ env.PREFIX }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile deleted file mode 100644 index 2d72636d2..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -# syntax=docker/dockerfile:experimental -ARG SUFFIX= -ARG BUILDER_SUFFIX=:melodic -ARG PREFIX= -FROM ${PREFIX}extra_layer_test_system${SUFFIX} as base -FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder - -FROM base as build -COPY . /root/ws/src/test_system/ -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash build_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as test -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash test_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as install -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM install as full -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM base as deploy -RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* -COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO - -FROM deploy as launch -CMD ["roslaunch", "test_system", "test_system.launch"] diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile deleted file mode 100644 index 0a84ccb0a..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -# syntax=docker/dockerfile:experimental -ARG SUFFIX= -ARG PREFIX= -ARG BUILDER_SUFFIX=:melodic -FROM ros:melodic-ros-core as base -FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder - -FROM base as pre_build -COPY * /root/ws/src/ -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash update_list /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM pre_build as build -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash build_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as test -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash test_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM build as install -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_workspace /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM install as full -RUN --mount=type=bind,from=builder,target=/builder \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* - -FROM pre_build as deploy -RUN --mount=type=bind,from=builder,target=/builder \ - --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ - apt-get update -qq && \ - /builder/workspace.bash install_depends /root/ws && \ - rm -rf /var/lib/apt/lists/* -COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall deleted file mode 100644 index fca5e848b..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/extra_layer/test_system.rosinstall +++ /dev/null @@ -1 +0,0 @@ -- git: {local-name: myrepo, uri: 'https://github.com/myTest/myrepo'} diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml deleted file mode 100644 index 63518ce47..000000000 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/resources/test_system/test_system_workflow.yml +++ /dev/null @@ -1,189 +0,0 @@ -name: test_system -on: - push: - paths: - - 'test_system/**' -env: - PREFIX: "${{ secrets.DOCKER_USERNAME }}/" - SUFFIX: "" - BUILDER_SUFFIX: melodic -jobs: - builder: - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v2 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - with: - driver-opts: network=host - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} - tags: | - type=raw,value=${{ env.BUILDER_SUFFIX }} - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) - - - name: Build and Push Docker Image - uses: docker/build-push-action@v2 - with: - context: ./builder - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - build-args: | - SUFFIX=:${{ steps.extract_branch.outputs.branch }} - BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} - PREFIX=${{ env.PREFIX }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache - extra_layer_test_system: - runs-on: ubuntu-latest - needs: builder - steps: - - - name: Checkout - uses: actions/checkout@v2 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - with: - driver-opts: network=host - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} - tags: | - type=ref,event=branch - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) - - - name: Build and Push Docker Image - uses: docker/build-push-action@v2 - with: - context: ./test_system/extra_layer - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - build-args: | - SUFFIX=:${{ steps.extract_branch.outputs.branch }} - BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} - PREFIX=${{ env.PREFIX }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache - test_system: - runs-on: ubuntu-latest - needs: extra_layer_test_system - steps: - - - name: Checkout - uses: actions/checkout@v2 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - with: - driver-opts: network=host - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Docker meta - id: docker_meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} - tags: | - type=ref,event=branch - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) - - - name: Build and Push Docker Image - uses: docker/build-push-action@v2 - with: - context: ./test_system - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - build-args: | - SUFFIX=:${{ steps.extract_branch.outputs.branch }} - BUILDER_SUFFIX=:${{ env.BUILDER_SUFFIX }} - PREFIX=${{ env.PREFIX }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend index c65a5471c..c4eecd33c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/src/de/fraunhofer/ipa/rossystem/tests/RosSystemGeneratorTest.xtend @@ -113,14 +113,6 @@ class RosSystemGeneratorTest { Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', 'CMakeLists.txt'))).trim, fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/CMakeLists.txt').toString.trim) - // Test the generated Dockerfile file - Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', 'Dockerfile'))).trim, - fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/Dockerfile').toString.trim) - - // Test the generated .rosinstall file - Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system/', '.rosinstall'))).trim, - fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT+'test_system/.rosinstall').toString.trim) - // Test the generated component interface Assert.assertEquals(new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR+'/test_system.componentinterface'))).trim, fsa.textFiles.get(CustomOutputProvider::CM_CONFIGURATION + "test_system.componentinterface").toString.trim) @@ -144,8 +136,7 @@ class RosSystemGeneratorTest { Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/launch/%s.launch", gen_stack_prefix, name))) Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/package.xml", gen_stack_prefix))) Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/CMakeLists.txt", gen_stack_prefix))) - Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/Dockerfile", gen_stack_prefix))) - + // Test the generated launch file Assert.assertEquals(new String(Files.readAllBytes(Paths.get(String.format("%s/launch/%s.launch", stack_prefix, name)))).trim, fsa.textFiles.get(String.format("%s/launch/%s.launch", gen_stack_prefix, name)).toString.trim) @@ -158,17 +149,8 @@ class RosSystemGeneratorTest { Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, 'CMakeLists.txt'))).trim, fsa.textFiles.get(String.format("%s/CMakeLists.txt", gen_stack_prefix)).toString.trim) - // Test the generated component interface - Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, 'Dockerfile'))).trim, - fsa.textFiles.get(String.format("%s/Dockerfile", gen_stack_prefix)).toString.trim) - - // Test the generated component interface - Assert.assertEquals(new String(Files.readAllBytes(Paths.get(stack_prefix, '.rosinstall'))).trim, - fsa.textFiles.get(String.format("%s/.rosinstall", gen_stack_prefix)).toString.trim) } - Assert.assertTrue(fsa.textFiles.containsKey(String.format("%s/docker-compose.yml", gen_system_prefix))) - Assert.assertEquals(new String(Files.readAllBytes(Paths.get(system_prefix, 'docker-compose.yml'))).trim, - fsa.textFiles.get(String.format("%s/docker-compose.yml", gen_system_prefix)).toString.trim) + } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index 885c46c01..2efe01db3 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -46,10 +46,6 @@ class RosSystemGenerator extends AbstractGenerator { @Inject extension LaunchFileCompiler_ROS1 @Inject extension LaunchFileCompiler_ROS2 @Inject extension SetupPyCompile - @Inject extension DockerComposeCompiler - @Inject extension DockerContainerCompiler - @Inject extension RosInstallCompiler - @Inject extension GitActionCompiler //@Inject extension InstallScriptCompiler @@ -68,27 +64,15 @@ class RosSystemGenerator extends AbstractGenerator { fsa.generateFile(system.getName().toLowerCase+"/package.xml",compile_package_xml_format2(system, null)) fsa.generateFile(system.getName().toLowerCase+"/CMakeLists.txt",compile_CMakeLists_ROS1(system, null)) fsa.generateFile(system.getName().toLowerCase+"/launch/"+system.getName()+".launch",compile_toROS1launch(system, null).toString().replace("\t"," ")) - fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",compile_toDockerContainer(system, null)) - fsa.generateFile(system.getName().toLowerCase+"/extra_layer/" + system.getName().toLowerCase + ".rosinstall",compile_toRosInstall(system,null)) - fsa.generateFile(system.getName().toLowerCase+"/extra_layer/Dockerfile",compile_toDockerImageExtraLayer(system, null)) } else { for (stack : system.componentStack){ fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format2(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS1(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS1launch(system, stack).toString().replace("\t"," ")) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),compile_toDockerContainer(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", stack.name.toLowerCase+".rosinstall"),compile_toRosInstall(system,stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", "Dockerfile"),compile_toDockerImageExtraLayer(system,stack)) } - fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),compile_toDockerCompose(system)) } } - // git action workflow - for (system : resource.allContents.toIterable.filter(RosSystem)){ - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.getName().toLowerCase + "_workflow.yml") ,compile_toGitAction(system)) - } - //ROS2 package for (system : resource.allContents.toIterable.filter(RosSystem)){ fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch.py",system.compile_toROS2launch.toString().replace("\t"," ")) From 1713b0503212e0af96b3c89f9f4f32d1b4e948bf Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Tue, 28 Sep 2021 11:26:30 +0200 Subject: [PATCH 14/48] add common functions for ROS1 and ROS2 launch files generators to the generator helper --- .../generator/GeneratorHelpers.xtend | 19 +++++++++++++++++++ .../generator/LaunchFileCompiler_ROS1.xtend | 18 +----------------- .../generator/LaunchFileCompiler_ROS2.xtend | 18 ------------------ 3 files changed, 20 insertions(+), 35 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend index 7825d463a..2eec7f5aa 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend @@ -91,4 +91,23 @@ class GeneratorHelpers { return package_impl.name; } + //Launch files generators + def check_ns(ComponentInterface component){ + if (component.hasNS){ + return component.get_ns(); + }else { + return ""; + } + } + def boolean hasNS(ComponentInterface component){ + if(!component.nameSpace.nullOrEmpty){ + return true; + }else{ + return false + } + } + def String get_ns(ComponentInterface component){ + return component.nameSpace.replaceFirst("/",""); + } + } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend index 69ebdcdf2..096882983 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend @@ -244,13 +244,7 @@ class LaunchFileCompiler_ROS1 { } // - def check_ns(ComponentInterface component){ - if (component.hasNS){ - return component.get_ns(); - }else { - return ""; - } - } + def String compile_struct_param(List paramMembers,Boolean sub){ if (!sub){ @@ -320,16 +314,6 @@ class LaunchFileCompiler_ROS1 { return ListInterfaceDef } - def boolean hasNS(ComponentInterface component){ - if(!component.nameSpace.nullOrEmpty){ - return true; - }else{ - return false - } - } - def String get_ns(ComponentInterface component){ - return component.nameSpace.replaceFirst("/",""); - } def getParamName (EObject paramdef){ return (paramdef as ParameterStructMemberImpl).name; diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend index 29ce01418..eff6240e0 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend @@ -50,14 +50,6 @@ def generate_launch_description(): return ld ''' - def check_ns(ComponentInterface component){ - if (component.hasNS){ - return component.get_ns(); - }else { - return ""; - } - } - def List InterfaceDef(String name, String type){ ListInterfaceDef = new ArrayList() ListInterfaceDef.add(name.replace("/","_")) @@ -66,16 +58,6 @@ def generate_launch_description(): return ListInterfaceDef } - def boolean hasNS(ComponentInterface component){ - if(!component.nameSpace.nullOrEmpty){ - return true; - }else{ - return false - } - } - def String get_ns(ComponentInterface component){ - return component.nameSpace.replaceFirst("/",""); - } def String compile_remappings_str(ComponentInterface component) { var remap_str = ""; From 8e5821214c73891afdfd51a8af60732ef0b2b66b Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Thu, 30 Sep 2021 17:14:35 +0200 Subject: [PATCH 15/48] remove old version of the objects, they should be taken from the repository https://github.com/ipa320/RosCommonObjects/ --- ROSCommonObjects/.gitignore | 4 - .../.project | 19 --- .../BasicSpecs/Joy.ros | 8 -- .../BasicSpecs/Laser2DScan.ros | 9 -- .../BasicSpecs/Teleop.ros | 8 -- .../basic_msgs/common_msgs.ros | 120 ------------------ .../basic_msgs/control_msgs.ros | 48 ------- .../basic_msgs/controller_manager_msgs.ros | 15 --- .../basic_msgs/dynamic_reconfigure.ros | 16 --- .../generate_messages_model_helper.sh | 49 ------- .../basic_msgs/map_msgs.ros | 19 --- .../basic_msgs/move_base_msgs.ros | 13 -- .../basic_msgs/nodelet.ros | 8 -- .../basic_msgs/ros_core.ros | 41 ------ .../basic_msgs/theora_image_transport.ros | 6 - 15 files changed, 383 deletions(-) delete mode 100644 ROSCommonObjects/.gitignore delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/.project delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Joy.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Laser2DScan.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Teleop.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/common_msgs.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/control_msgs.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/controller_manager_msgs.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/dynamic_reconfigure.ros delete mode 100755 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/generate_messages_model_helper.sh delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/map_msgs.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/move_base_msgs.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/nodelet.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/ros_core.ros delete mode 100644 ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/theora_image_transport.ros diff --git a/ROSCommonObjects/.gitignore b/ROSCommonObjects/.gitignore deleted file mode 100644 index 3a64ab52a..000000000 --- a/ROSCommonObjects/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -src-gen/ -components/ -*.rossystem -!robotino.rossystem diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/.project b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/.project deleted file mode 100644 index 77d16852c..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/.project +++ /dev/null @@ -1,19 +0,0 @@ - - - de.fraunhofer.ipa.ros.communication.objects - - - CommBasicObjects - de.fraunhofer.ipa.ros - - - - org.eclipse.xtext.ui.shared.xtextBuilder - - - - - - org.eclipse.xtext.ui.shared.xtextNature - - diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Joy.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Joy.ros deleted file mode 100644 index 7b6539de1..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Joy.ros +++ /dev/null @@ -1,8 +0,0 @@ -PackageSet { package { - CatkinPackage joy { artifact { - Artifact joy_node { node Node { name joy_node - publisher { - Publisher { name "joy" message "sensor_msgs.Joy" }, - Publisher { name "diagnostics" message "diagnostic_msgs.DiagnosticArray" } - }} -}}}}} \ No newline at end of file diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Laser2DScan.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Laser2DScan.ros deleted file mode 100644 index d62e66072..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Laser2DScan.ros +++ /dev/null @@ -1,9 +0,0 @@ -PackageSet { package { - CatkinPackage scan_2d { artifact { - Artifact scan_2d { node Node { name scan_2d - publisher { - Publisher { name scan message "sensor_msgs.LaserScan" } , - Publisher { name diagnostics message "diagnostic_msgs.DiagnosticArray" - }}}} - -}}}} \ No newline at end of file diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Teleop.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Teleop.ros deleted file mode 100644 index 05e0ba8e5..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/BasicSpecs/Teleop.ros +++ /dev/null @@ -1,8 +0,0 @@ -PackageSet { package { - CatkinPackage teleop { artifact { - Artifact joystick_teleop_node { - node Node { name joystick_teleop_node - publisher { Publisher { name cmd_vel message "geometry_msgs.Twist" } } - subscriber { Subscriber { name joy message "sensor_msgs.Joy" } } - } - }}}}} \ No newline at end of file diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/common_msgs.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/common_msgs.ros deleted file mode 100644 index fa271834a..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/common_msgs.ros +++ /dev/null @@ -1,120 +0,0 @@ -PackageSet{package{ - Package geometry_msgs{ spec { - TopicSpec Accel{ message { Vector3 linear Vector3 angular }}, - TopicSpec AccelStamped{ message { Header header Accel accel }}, - TopicSpec AccelWithCovariance{ message { Accel accel float64[] covariance }}, - TopicSpec AccelWithCovarianceStamped{ message { Header header AccelWithCovariance accel }}, - TopicSpec Inertia{ message { float64 m "geometry_msgs.Vector3" com float64 ixx float64 ixy float64 ixz float64 iyy float64 iyz float64 izz }}, - TopicSpec InertiaStamped{ message { Header header Inertia inertia }}, - TopicSpec Point{ message { float64 x float64 y float64 z }}, - TopicSpec Point32{ message { float32 x float32 y float32 z }}, - TopicSpec PointStamped{ message { Header header Point point }}, - TopicSpec Polygon{ message { Point32[] points }}, - TopicSpec PolygonStamped{ message { Header header Polygon polygon }}, - TopicSpec Pose{ message { Point position Quaternion orientation }}, - TopicSpec Pose2D{ message { float64 x float64 y float64 theta }}, - TopicSpec PoseArray{ message { Header header Pose[] poses }}, - TopicSpec PoseStamped{ message { Header header Pose pose }}, - TopicSpec PoseWithCovariance{ message { Pose pose float64[] covariance }}, - TopicSpec PoseWithCovarianceStamped{ message { Header header PoseWithCovariance pose }}, - TopicSpec Quaternion{ message { float64 x float64 y float64 z float64 w }}, - TopicSpec QuaternionStamped{ message { Header header Quaternion quaternion }}, - TopicSpec Transform{ message { Vector3 translation Quaternion rotation }}, - TopicSpec TransformStamped{ message { Header header string child_frame_id Transform transform }}, - TopicSpec Twist{ message { Vector3 linear Vector3 angular }}, - TopicSpec TwistStamped{ message { Header header Twist twist }}, - TopicSpec TwistWithCovariance{ message { Twist twist float64[] covariance }}, - TopicSpec TwistWithCovarianceStamped{ message { Header header TwistWithCovariance twist }}, - TopicSpec Vector3{ message { float64 x float64 y float64 z }}, - TopicSpec Vector3Stamped{ message { Header header Vector3 vector }}, - TopicSpec Wrench{ message { Vector3 force Vector3 torque }}, - TopicSpec WrenchStamped{ message { Header header Wrench wrench }} - }}, - Package actionlib_msgs{ spec { - TopicSpec GoalID{ message { time stamp string id }}, - TopicSpec GoalStatus{ message { GoalID goal_id uint8 status uint8 PENDING=0 uint8 ACTIVE=1 uint8 PREEMPTED=2 uint8 SUCCEEDED=3 uint8 ABORTED=4 uint8 REJECTED=5 uint8 PREEMPTING=6 uint8 RECALLING=7 uint8 RECALLED=8 uint8 LOST=9 string text }}, - TopicSpec GoalStatusArray{ message { Header header GoalStatus[] status_list }} - }}, - Package diagnostic_msgs{ spec { - TopicSpec DiagnosticArray{ message { Header header DiagnosticStatus[] status }}, - TopicSpec DiagnosticStatus{ message { byte OK=0 byte WARN=1 byte ERROR=2 byte STALE=3 byte level string name string message string hardware_id KeyValue[] values }}, - TopicSpec KeyValue{ message { string key string value }}, - ServiceSpec AddDiagnostics{ request { string load_namespace } response { bool success string message } }, - ServiceSpec SelfTest{ request { } response { string id byte passed DiagnosticStatus[] status } } - }}, - Package nav_msgs{ spec { - TopicSpec GetMapAction{ message { GetMapActionGoal action_goal GetMapActionResult action_result GetMapActionFeedback action_feedback }}, - TopicSpec GetMapActionFeedback{ message { Header header "actionlib_msgs.GoalStatus" status GetMapFeedback feedback }}, - TopicSpec GetMapActionGoal{ message { Header header "actionlib_msgs.GoalID" goal_id GetMapGoal goal }}, - TopicSpec GetMapActionResult{ message { Header header "actionlib_msgs.GoalStatus" status GetMapResult result }}, - TopicSpec GetMapFeedback{ message { }}, - TopicSpec GetMapGoal{ message { }}, - TopicSpec GetMapResult{ message { "nav_msgs.OccupancyGrid" map }}, - TopicSpec GridCells{ message { Header header float32 cell_width float32 cell_height "geometry_msgs.Point"[] cells }}, - TopicSpec MapMetaData{ message { time map_load_time float32 resolution uint32 width uint32 height "geometry_msgs.Pose" origin }}, - TopicSpec OccupancyGrid{ message { Header header MapMetaData info int8[] data }}, - TopicSpec Odometry{ message { Header header string child_frame_id "geometry_msgs.PoseWithCovariance" pose "geometry_msgs.TwistWithCovariance" twist }}, - TopicSpec Path{ message { Header header "geometry_msgs.PoseStamped"[] poses }}, - ServiceSpec GetMap{ request { } response { "nav_msgs.OccupancyGrid" map } }, - ServiceSpec GetPlan{ request { "geometry_msgs.PoseStamped" start "geometry_msgs.PoseStamped" goal float32 tolerance } response { "nav_msgs.Path" plan } }, - ServiceSpec SetMap{ request { "nav_msgs.OccupancyGrid" map "geometry_msgs.PoseWithCovarianceStamped" initial_pose } response { bool success } } - }}, - Package sensor_msgs{ spec { - TopicSpec BatteryState{ message { uint8 POWER_SUPPLY_STATUS_UNKNOWN=0 uint8 POWER_SUPPLY_STATUS_CHARGING=1 uint8 POWER_SUPPLY_STATUS_DISCHARGING=2 uint8 POWER_SUPPLY_STATUS_NOT_CHARGING=3 uint8 POWER_SUPPLY_STATUS_FULL=4 uint8 POWER_SUPPLY_HEALTH_UNKNOWN=0 uint8 POWER_SUPPLY_HEALTH_GOOD=1 uint8 POWER_SUPPLY_HEALTH_OVERHEAT=2 uint8 POWER_SUPPLY_HEALTH_DEAD=3 uint8 POWER_SUPPLY_HEALTH_OVERVOLTAGE=4 uint8 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE=5 uint8 POWER_SUPPLY_HEALTH_COLD=6 uint8 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE=7 uint8 POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE=8 uint8 POWER_SUPPLY_TECHNOLOGY_UNKNOWN=0 uint8 POWER_SUPPLY_TECHNOLOGY_NIMH=1 uint8 POWER_SUPPLY_TECHNOLOGY_LION=2 uint8 POWER_SUPPLY_TECHNOLOGY_LIPO=3 uint8 POWER_SUPPLY_TECHNOLOGY_LIFE=4 uint8 POWER_SUPPLY_TECHNOLOGY_NICD=5 uint8 POWER_SUPPLY_TECHNOLOGY_LIMN=6 Header header float32 voltage float32 current float32 charge float32 capacity float32 design_capacity float32 percentage uint8 power_supply_status uint8 power_supply_health uint8 power_supply_technology bool present float32[] cell_voltage string location string serial_number }}, - TopicSpec CameraInfo{ message { Header header uint32 height uint32 width string distortion_model float64[] D float64[] K float64[] R float64[] P uint32 binning_x uint32 binning_y RegionOfInterest roi }}, - TopicSpec ChannelFloat32{ message { string name float32[] values }}, - TopicSpec CompressedImage{ message { Header header string format uint8[] data }}, - TopicSpec FluidPressure{ message { Header header float64 fluid_pressure float64 variance }}, - TopicSpec Illuminance{ message { Header header float64 illuminance float64 variance }}, - TopicSpec Image{ message { Header header uint32 height uint32 width string encoding uint8 is_bigendian uint32 step uint8[] data }}, - TopicSpec Imu{ message { Header header "geometry_msgs.Quaternion" orientation float64[] orientation_covariance "geometry_msgs.Vector3" angular_velocity float64[] angular_velocity_covariance "geometry_msgs.Vector3" linear_acceleration float64[] linear_acceleration_covariance }}, - TopicSpec JointState{ message { Header header string[] name float64[] position float64[] velocity float64[] effort }}, - TopicSpec Joy{ message { Header header float32[] axes int32[] buttons }}, - TopicSpec JoyFeedback{ message { uint8 TYPE_LED=0 uint8 TYPE_RUMBLE=1 uint8 TYPE_BUZZER=2 uint8 type uint8 id float32 intensity }}, - TopicSpec JoyFeedbackArray{ message { JoyFeedback[] array }}, - TopicSpec LaserEcho{ message { float32[] echoes }}, - TopicSpec LaserScan{ message { Header header float32 angle_min float32 angle_max float32 angle_increment float32 time_increment float32 scan_time float32 range_min float32 range_max float32[] ranges float32[] intensities }}, - TopicSpec MagneticField{ message { Header header "geometry_msgs.Vector3" magnetic_field float64[] magnetic_field_covariance }}, - TopicSpec MultiDOFJointState{ message { Header header string[] joint_names "geometry_msgs.Transform"[] transforms "geometry_msgs.Twist"[] twist "geometry_msgs.Wrench"[] wrench }}, - TopicSpec MultiEchoLaserScan{ message { Header header float32 angle_min float32 angle_max float32 angle_increment float32 time_increment float32 scan_time float32 range_min float32 range_max LaserEcho[] ranges LaserEcho[] intensities }}, - TopicSpec NavSatFix{ message { Header header NavSatStatus status float64 latitude float64 longitude float64 altitude float64[] position_covariance uint8 COVARIANCE_TYPE_UNKNOWN=0 uint8 COVARIANCE_TYPE_APPROXIMATED=1 uint8 COVARIANCE_TYPE_DIAGONAL_KNOWN=2 uint8 COVARIANCE_TYPE_KNOWN=3 uint8 position_covariance_type }}, - TopicSpec NavSatStatus{ message { int8 STATUS_NO_FIX=-1 int8 STATUS_FIX=0 int8 STATUS_SBAS_FIX=1 int8 STATUS_GBAS_FIX=2 int8 status uint16 SERVICE_GPS=1 uint16 SERVICE_GLONASS=2 uint16 SERVICE_COMPASS=4 uint16 SERVICE_GALILEO=8 uint16 service }}, - TopicSpec PointCloud{ message { Header header "geometry_msgs.Point32"[] points ChannelFloat32[] channels }}, - TopicSpec PointCloud2{ message { Header header uint32 height uint32 width PointField[] fields bool is_bigendian uint32 point_step uint32 row_step uint8[] data bool is_dense }}, - TopicSpec PointField{ message { uint8 INT8=1 uint8 UINT8=2 uint8 INT16=3 uint8 UINT16=4 uint8 INT32=5 uint8 UINT32=6 uint8 FLOAT32=7 uint8 FLOAT64=8 string name uint32 offset uint8 datatype uint32 count }}, - TopicSpec Range{ message { Header header uint8 ULTRASOUND=0 uint8 INFRARED=1 uint8 radiation_type float32 field_of_view float32 min_range float32 max_range float32 range }}, - TopicSpec RegionOfInterest{ message { uint32 x_offset uint32 y_offset uint32 height uint32 width bool do_rectify }}, - TopicSpec RelativeHumidity{ message { Header header float64 relative_humidity float64 variance }}, - TopicSpec Temperature{ message { Header header float64 temperature float64 variance }}, - TopicSpec TimeReference{ message { Header header time time_ref string source }}, - ServiceSpec SetCameraInfo{ request { "sensor_msgs.CameraInfo" camera_info } response { bool success string status_message } } - }}, - Package shape_msgs{ spec { - TopicSpec Mesh{ message { MeshTriangle[] triangles "geometry_msgs.Point"[] vertices }}, - TopicSpec MeshTriangle{ message { uint32[] vertex_indices }}, - TopicSpec Plane{ message { float64[] coef }}, - TopicSpec SolidPrimitive{ message { uint8 BOX=1 uint8 SPHERE=2 uint8 CYLINDER=3 uint8 CONE=4 uint8 type float64[] dimensions uint8 BOX_X=0 uint8 BOX_Y=1 uint8 BOX_Z=2 uint8 SPHERE_RADIUS=0 uint8 CYLINDER_HEIGHT=0 uint8 CYLINDER_RADIUS=1 uint8 CONE_HEIGHT=0 uint8 CONE_RADIUS=1 }} - }}, - Package stereo_msgs{ spec { - TopicSpec DisparityImage{ message { Header header "sensor_msgs.Image" image float32 f float32 T "sensor_msgs.RegionOfInterest" valid_window float32 min_disparity float32 max_disparity float32 delta_d }} - }}, - Package trajectory_msgs{ spec { - TopicSpec JointTrajectory{ message { Header header string[] joint_names JointTrajectoryPoint[] points }}, - TopicSpec JointTrajectoryPoint{ message { float64[] positions float64[] velocities float64[] accelerations float64[] effort duration time_from_start }}, - TopicSpec MultiDOFJointTrajectory{ message { Header header string[] joint_names MultiDOFJointTrajectoryPoint[] points }}, - TopicSpec MultiDOFJointTrajectoryPoint{ message { "geometry_msgs.Transform"[] transforms "geometry_msgs.Twist"[] velocities "geometry_msgs.Twist"[] accelerations duration time_from_start }} - }}, - Package visualization_msgs{ spec { - TopicSpec ImageMarker{ message { uint8 CIRCLE=0 uint8 LINE_STRIP=1 uint8 LINE_LIST=2 uint8 POLYGON=3 uint8 POINTS=4 uint8 ADD=0 uint8 REMOVE=1 Header header string ns int32 id int32 type int32 action "geometry_msgs.Point" position float32 scale "std_msgs.ColorRGBA" outline_color uint8 filled "std_msgs.ColorRGBA" fill_color duration lifetime "geometry_msgs.Point"[] points "std_msgs.ColorRGBA"[] outline_colors }}, - TopicSpec InteractiveMarker{ message { Header header "geometry_msgs.Pose" pose string name string description float32 scale MenuEntry[] menu_entries InteractiveMarkerControl[] controls }}, - TopicSpec InteractiveMarkerControl{ message { string name "geometry_msgs.Quaternion" orientation uint8 INHERIT=0 uint8 FIXED=1 uint8 VIEW_FACING=2 uint8 orientation_mode uint8 NONE=0 uint8 MENU=1 uint8 BUTTON=2 uint8 MOVE_AXIS=3 uint8 MOVE_PLANE=4 uint8 ROTATE_AXIS=5 uint8 MOVE_ROTATE=6 uint8 MOVE_3D=7 uint8 ROTATE_3D=8 uint8 MOVE_ROTATE_3D=9 uint8 interaction_mode bool always_visible Marker[] markers bool independent_marker_orientation string description }}, - TopicSpec InteractiveMarkerFeedback{ message { Header header string client_id string marker_name string control_name uint8 KEEP_ALIVE=0 uint8 POSE_UPDATE=1 uint8 MENU_SELECT=2 uint8 BUTTON_CLICK=3 uint8 MOUSE_DOWN=4 uint8 MOUSE_UP=5 uint8 event_type "geometry_msgs.Pose" pose uint32 menu_entry_id "geometry_msgs.Point" mouse_point bool mouse_point_valid }}, - TopicSpec InteractiveMarkerInit{ message { string server_id uint64 seq_num InteractiveMarker[] markers }}, - TopicSpec InteractiveMarkerPose{ message { Header header "geometry_msgs.Pose" pose string name }}, - TopicSpec InteractiveMarkerUpdate{ message { string server_id uint64 seq_num uint8 KEEP_ALIVE=0 uint8 UPDATE=1 uint8 type InteractiveMarker[] markers InteractiveMarkerPose[] poses string[] erases }}, - TopicSpec Marker{ message { uint8 ARROW=0 uint8 CUBE=1 uint8 SPHERE=2 uint8 CYLINDER=3 uint8 LINE_STRIP=4 uint8 LINE_LIST=5 uint8 CUBE_LIST=6 uint8 SPHERE_LIST=7 uint8 POINTS=8 uint8 TEXT_VIEW_FACING=9 uint8 MESH_RESOURCE=10 uint8 TRIANGLE_LIST=11 uint8 ADD=0 uint8 MODIFY=0 uint8 DELETE=2 uint8 DELETEALL=3 Header header string ns int32 id int32 type int32 action "geometry_msgs.Pose" pose "geometry_msgs.Vector3" scale "std_msgs.ColorRGBA" color duration lifetime bool frame_locked "geometry_msgs.Point"[] points "std_msgs.ColorRGBA"[] colors string text string mesh_resource bool mesh_use_embedded_materials }}, - TopicSpec MarkerArray{ message { Marker[] markers }}, - TopicSpec MenuEntry{ message { uint32 id uint32 parent_id string title string command uint8 FEEDBACK=0 uint8 ROSRUN=1 uint8 ROSLAUNCH=2 uint8 command_type }} - }} - } -} \ No newline at end of file diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/control_msgs.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/control_msgs.ros deleted file mode 100644 index 65c58dc2c..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/control_msgs.ros +++ /dev/null @@ -1,48 +0,0 @@ -PackageSet{package{ - Package control_msgs{ spec { - TopicSpec FollowJointTrajectoryAction{ message { FollowJointTrajectoryActionGoal action_goal FollowJointTrajectoryActionResult action_result FollowJointTrajectoryActionFeedback action_feedback }}, - TopicSpec FollowJointTrajectoryActionFeedback{ message { Header header "actionlib_msgs.GoalStatus" status FollowJointTrajectoryFeedback feedback }}, - TopicSpec FollowJointTrajectoryActionGoal{ message { Header header "actionlib_msgs.GoalID" goal_id FollowJointTrajectoryGoal goal }}, - TopicSpec FollowJointTrajectoryActionResult{ message { Header header "actionlib_msgs.GoalStatus" status FollowJointTrajectoryResult result }}, - TopicSpec FollowJointTrajectoryFeedback{ message { Header header string[] joint_names "trajectory_msgs.JointTrajectoryPoint" desired "trajectory_msgs.JointTrajectoryPoint" actual "trajectory_msgs.JointTrajectoryPoint" error }}, - TopicSpec FollowJointTrajectoryGoal{ message { "trajectory_msgs.JointTrajectory" trajectory JointTolerance[] path_tolerance JointTolerance[] goal_tolerance duration goal_time_tolerance }}, - TopicSpec FollowJointTrajectoryResult{ message { int32 error_code int32 SUCCESSFUL=0 int32 INVALID_GOAL=-1 int32 INVALID_JOINTS=-2 int32 OLD_HEADER_TIMESTAMP=-3 int32 PATH_TOLERANCE_VIOLATED=-4 int32 GOAL_TOLERANCE_VIOLATED=-5 string error_string }}, - TopicSpec GripperCommand{ message { float64 position float64 max_effort }}, - TopicSpec GripperCommandAction{ message { GripperCommandActionGoal action_goal GripperCommandActionResult action_result GripperCommandActionFeedback action_feedback }}, - TopicSpec GripperCommandActionFeedback{ message { Header header "actionlib_msgs.GoalStatus" status GripperCommandFeedback feedback }}, - TopicSpec GripperCommandActionGoal{ message { Header header "actionlib_msgs.GoalID" goal_id GripperCommandGoal goal }}, - TopicSpec GripperCommandActionResult{ message { Header header "actionlib_msgs.GoalStatus" status GripperCommandResult result }}, - TopicSpec GripperCommandFeedback{ message { float64 position float64 effort bool stalled bool reached_goal }}, - TopicSpec GripperCommandGoal{ message { GripperCommand command }}, - TopicSpec GripperCommandResult{ message { float64 position float64 effort bool stalled bool reached_goal }}, - TopicSpec JointControllerState{ message { Header header float64 set_point float64 process_value float64 process_value_dot float64 error float64 time_step float64 command float64 p float64 i float64 d float64 i_clamp bool antiwindup }}, - TopicSpec JointJog{ message { Header header string[] joint_names float64[] displacements float64[] velocities float64 duration }}, - TopicSpec JointTolerance{ message { string name float64 position float64 velocity float64 acceleration }}, - TopicSpec JointTrajectoryAction{ message { JointTrajectoryActionGoal action_goal JointTrajectoryActionResult action_result JointTrajectoryActionFeedback action_feedback }}, - TopicSpec JointTrajectoryActionFeedback{ message { Header header "actionlib_msgs.GoalStatus" status JointTrajectoryFeedback feedback }}, - TopicSpec JointTrajectoryActionGoal{ message { Header header "actionlib_msgs.GoalID" goal_id JointTrajectoryGoal goal }}, - TopicSpec JointTrajectoryActionResult{ message { Header header "actionlib_msgs.GoalStatus" status JointTrajectoryResult result }}, - TopicSpec JointTrajectoryControllerState{ message { Header header string[] joint_names "trajectory_msgs.JointTrajectoryPoint" desired "trajectory_msgs.JointTrajectoryPoint" actual "trajectory_msgs.JointTrajectoryPoint" error }}, - TopicSpec JointTrajectoryFeedback{ message { }}, - TopicSpec JointTrajectoryGoal{ message { "trajectory_msgs.JointTrajectory" trajectory }}, - TopicSpec JointTrajectoryResult{ message { }}, - TopicSpec PidState{ message { Header header duration timestep float64 error float64 error_dot float64 p_error float64 i_error float64 d_error float64 p_term float64 i_term float64 d_term float64 i_max float64 i_min float64 output }}, - TopicSpec PointHeadAction{ message { PointHeadActionGoal action_goal PointHeadActionResult action_result PointHeadActionFeedback action_feedback }}, - TopicSpec PointHeadActionFeedback{ message { Header header "actionlib_msgs.GoalStatus" status PointHeadFeedback feedback }}, - TopicSpec PointHeadActionGoal{ message { Header header "actionlib_msgs.GoalID" goal_id PointHeadGoal goal }}, - TopicSpec PointHeadActionResult{ message { Header header "actionlib_msgs.GoalStatus" status PointHeadResult result }}, - TopicSpec PointHeadFeedback{ message { float64 pointing_angle_error }}, - TopicSpec PointHeadGoal{ message { "geometry_msgs.PointStamped" target "geometry_msgs.Vector3" pointing_axis string pointing_frame duration min_duration float64 max_velocity }}, - TopicSpec PointHeadResult{ message { }}, - TopicSpec SingleJointPositionAction{ message { SingleJointPositionActionGoal action_goal SingleJointPositionActionResult action_result SingleJointPositionActionFeedback action_feedback }}, - TopicSpec SingleJointPositionActionFeedback{ message { Header header "actionlib_msgs.GoalStatus" status SingleJointPositionFeedback feedback }}, - TopicSpec SingleJointPositionActionGoal{ message { Header header "actionlib_msgs.GoalID" goal_id SingleJointPositionGoal goal }}, - TopicSpec SingleJointPositionActionResult{ message { Header header "actionlib_msgs.GoalStatus" status SingleJointPositionResult result }}, - TopicSpec SingleJointPositionFeedback{ message { Header header float64 position float64 velocity float64 error }}, - TopicSpec SingleJointPositionGoal{ message { float64 position duration min_duration float64 max_velocity }}, - TopicSpec SingleJointPositionResult{ message { }}, - ServiceSpec QueryCalibrationState{ request { } response { bool is_calibrated } }, - ServiceSpec QueryTrajectoryState{ request { time time } response { string[] name float64[] position float64[] velocity float64[] acceleration } } - }} - } -} \ No newline at end of file diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/controller_manager_msgs.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/controller_manager_msgs.ros deleted file mode 100644 index b66564ac4..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/controller_manager_msgs.ros +++ /dev/null @@ -1,15 +0,0 @@ -PackageSet{package{ - Package controller_manager_msgs{spec{ - TopicSpec ControllerState{}, - TopicSpec ControllerStatistics{}, - TopicSpec ControllersStatistics{}, - TopicSpec HardwareInterfaceResources{}, - ServiceSpec ListControllerTypes{}, - ServiceSpec ListControllers{}, - ServiceSpec LoadController{}, - ServiceSpec ReloadControllerLibraries{}, - ServiceSpec SwitchController{}, - ServiceSpec UnloadController{} - }} - } -} diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/dynamic_reconfigure.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/dynamic_reconfigure.ros deleted file mode 100644 index 929890e55..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/dynamic_reconfigure.ros +++ /dev/null @@ -1,16 +0,0 @@ -PackageSet{package{ - Package dynamic_reconfigure{spec{ - TopicSpec BoolParameter{}, - TopicSpec Config{}, - TopicSpec ConfigDescription{}, - TopicSpec DoubleParameter{}, - TopicSpec Group{}, - TopicSpec GroupState{}, - TopicSpec IntParameter{}, - TopicSpec ParamDescription{}, - TopicSpec SensorLevels{}, - TopicSpec StrParameter{}, - ServiceSpec Reconfigure{} - }} - } -} diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/generate_messages_model_helper.sh b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/generate_messages_model_helper.sh deleted file mode 100755 index 92942aa00..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/generate_messages_model_helper.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -package_list=$@ - -echo 'PackageSet{package{' -arr_pkg=($package_list) -cout_pkg=${#arr_pkg[@]} - -for p in $package_list -do - cout_pkg=$((cout_pkg-1)) - messages_fullname=$(rosmsg list | grep $p) - arr_msg=($messages_fullname) - cout_msg=${#arr_msg[@]} - services_fullname=$(rossrv list | grep $p) - arr_srv=($services_fullname) - cout_srv=${#arr_srv[@]} - - echo ' Package '$p'{spec{' - - for i in $messages_fullname - do - cout_msg=$((cout_msg-1)) - message=${i/$p\//} - echo -n ' TopicSpec '$message'{}' - if (("$cout_msg" >= "1" || "$cout_srv" >= "1" )) - then - echo ',' - fi - done - - for i in $services_fullname - do - cout_srv=$((cout_srv-1)) - service=${i/$p\//} - echo -n ' ServiceSpec '$service'{}' - if (("$cout_srv" >= "1")) - then - echo ',' - fi - done - echo -n $'\n }}' - if (("$cout_pkg" >= "1")) - then - echo ',' - fi -done - -echo $'\n }' -echo '}' diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/map_msgs.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/map_msgs.ros deleted file mode 100644 index 3adda0544..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/map_msgs.ros +++ /dev/null @@ -1,19 +0,0 @@ -PackageSet{package{ - Package map_msgs{spec{ - TopicSpec OccupancyGridUpdate{}, - TopicSpec PointCloud2Update{}, - TopicSpec ProjectedMap{}, - TopicSpec ProjectedMapInfo{}, - TopicSpec octoOctomap{}, - TopicSpec octoOctomapWithPose{}, - ServiceSpec GetMapROI{}, - ServiceSpec GetPointMap{}, - ServiceSpec GetPointMapROI{}, - ServiceSpec ProjectedMapsInfo{}, - ServiceSpec SaveMap{}, - ServiceSpec SetMapProjections{}, - ServiceSpec octoBoundingBoxQuery{}, - ServiceSpec octoGetOctomap{} - }} - } -} diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/move_base_msgs.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/move_base_msgs.ros deleted file mode 100644 index b3aa2f554..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/move_base_msgs.ros +++ /dev/null @@ -1,13 +0,0 @@ -PackageSet{package{ - Package move_base_msgs{spec{ - TopicSpec MoveBaseAction{}, - TopicSpec MoveBaseActionFeedback{}, - TopicSpec MoveBaseActionGoal{}, - TopicSpec MoveBaseActionResult{}, - TopicSpec MoveBaseFeedback{}, - TopicSpec MoveBaseGoal{}, - TopicSpec MoveBaseResult{}, - ActionSpec MoveBase{} - }} - } -} diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/nodelet.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/nodelet.ros deleted file mode 100644 index dc0de0beb..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/nodelet.ros +++ /dev/null @@ -1,8 +0,0 @@ -PackageSet{package{ - Package nodelet{spec{ - ServiceSpec NodeletList{}, - ServiceSpec NodeletLoad{}, - ServiceSpec NodeletUnload{} - }} - } -} diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/ros_core.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/ros_core.ros deleted file mode 100644 index ab606ec35..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/ros_core.ros +++ /dev/null @@ -1,41 +0,0 @@ -PackageSet{package{ - Package std_msgs{ spec { - TopicSpec Bool{ message { bool data }}, - TopicSpec Byte{ message { byte data }}, - TopicSpec ByteMultiArray{ message { MultiArrayLayout layout byte[] data }}, - TopicSpec ColorRGBA{ message { float32 r float32 g float32 b float32 a }}, - TopicSpec Duration{ message { duration data }}, - TopicSpec Empty{ message { }}, - TopicSpec Float32{ message { float32 data }}, - TopicSpec Float32MultiArray{ message { MultiArrayLayout layout float32[] data }}, - TopicSpec Float64{ message { float64 data }}, - TopicSpec Float64MultiArray{ message { MultiArrayLayout layout float64[] data }}, - TopicSpec Header{ message { uint32 seq time stamp string frame_id }}, - TopicSpec Int16{ message { int16 data }}, - TopicSpec Int16MultiArray{ message { MultiArrayLayout layout int16[] data }}, - TopicSpec Int32{ message { int32 data }}, - TopicSpec Int32MultiArray{ message { MultiArrayLayout layout int32[] data }}, - TopicSpec Int64{ message { int64 data }}, - TopicSpec Int64MultiArray{ message { MultiArrayLayout layout int64[] data }}, - TopicSpec Int8{ message { int8 data }}, - TopicSpec Int8MultiArray{ message { MultiArrayLayout layout int8[] data }}, - TopicSpec MultiArrayDimension{ message { string label uint32 size uint32 stride }}, - TopicSpec MultiArrayLayout{ message { MultiArrayDimension[] dim uint32 data_offset }}, - TopicSpec String{ message { string data }}, - TopicSpec Time{ message { time data }}, - TopicSpec UInt16{ message { uint16 data }}, - TopicSpec UInt16MultiArray{ message { MultiArrayLayout layout uint16[] data }}, - TopicSpec UInt32{ message { uint32 data }}, - TopicSpec UInt32MultiArray{ message { MultiArrayLayout layout uint32[] data }}, - TopicSpec UInt64{ message { uint64 data }}, - TopicSpec UInt64MultiArray{ message { MultiArrayLayout layout uint64[] data }}, - TopicSpec UInt8{ message { uint8 data }}, - TopicSpec UInt8MultiArray{ message { MultiArrayLayout layout uint8[] data }} - }}, - Package std_srvs{ spec { - ServiceSpec Empty{ request { } response { } }, - ServiceSpec SetBool{ request { bool data } response { bool success string message } }, - ServiceSpec Trigger{ request { } response { bool success string message } } - }} - } -} \ No newline at end of file diff --git a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/theora_image_transport.ros b/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/theora_image_transport.ros deleted file mode 100644 index d9a73aeb2..000000000 --- a/ROSCommonObjects/de.fraunhofer.ipa.ros.communication.objects/basic_msgs/theora_image_transport.ros +++ /dev/null @@ -1,6 +0,0 @@ -PackageSet{package{ - Package theora_image_transport{spec{ - TopicSpec Packet{} - }} - } -} From e051dc23ae26ee47734bfdbda31b9928bd641c6b Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Fri, 1 Oct 2021 09:11:31 +0200 Subject: [PATCH 16/48] generate docker-compose for rossystem(without stacks) --- .../deployment/DeploymentArtifactsGenerator.xtend | 2 +- .../deployment/DockerComposeCompiler.xtend | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend index f2bda89d1..4f7cdf223 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend @@ -55,8 +55,8 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", stack.name.toLowerCase+".rosinstall"),rosintall_compiler.compile_toRosInstall(system,stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack)) } - fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system)) } + fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system)) } // git action workflow diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend index feaa63565..df9d224a5 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend @@ -20,6 +20,18 @@ services: networks: - ros +«IF system.getComponentStack().isEmpty()» +«" "»«system.name.toLowerCase»: + image: "«system.name.toLowerCase»:latest" + depends_on: + - ros-master + environment: + - "ROS_MASTER_URI=http://ros-master:11311" + - "ROS_HOSTNAME=«system.name.toLowerCase»" + networks: + - ros + command: stdbuf -o L roslaunch «system.name.toLowerCase» «system.name.toLowerCase».launch --wait +«ELSE» «FOR stack:system.componentStack» «" "»«system.name.toLowerCase»_«stack.name.toLowerCase»: image: "«system.name.toLowerCase»_«stack.name.toLowerCase»:latest" @@ -33,6 +45,7 @@ services: command: stdbuf -o L roslaunch «system.name.toLowerCase»_«stack.name.toLowerCase» «stack.name.toLowerCase».launch --wait «ENDFOR» +«ENDIF» ''' } \ No newline at end of file From a23a46e0c58509d7c599acbfd59a4a807b429eb5 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Tue, 28 Sep 2021 11:52:07 +0200 Subject: [PATCH 17/48] add to the metamodel and the DSL the packge type ament package --- ...tPackage_dependency_ExternalDependency.gif | Bin 0 -> 223 bytes ...ntPackage_dependency_PackageDependency.gif | Bin 0 -> 223 bytes .../CreatePackageSet_package_AmentPackage.gif | Bin 0 -> 223 bytes .../icons/full/obj16/AmentPackage.gif | Bin 0 -> 129 bytes .../provider/AmentPackageItemProvider.java | 150 ++++ .../ros/provider/PackageSetItemProvider.java | 5 + .../RosItemProviderAdapterFactory.java | 30 + .../antlr/internal/InternalRos.g | 699 ++++++++---------- .../antlr/internal/InternalRosLexer.java | 2 +- .../antlr/internal/InternalRosParser.java | 2 +- .../AbstractRosProposalProvider.java | 15 + .../ros/parser/antlr/internal/InternalRos.g | 228 ++++++ .../antlr/internal/InternalRosLexer.java | 2 +- .../antlr/internal/InternalRosParser.java | 2 +- .../ros/serializer/RosSemanticSequencer.java | 17 + .../src/de/fraunhofer/ipa/ros/Ros.xtext | 12 +- plugins/de.fraunhofer.ipa.ros/model/ros.ecore | 4 + .../de.fraunhofer.ipa.ros/model/ros.genmodel | 3 + .../src/ros/AmentPackage.java | 36 + .../src/ros/RosFactory.java | 9 + .../src/ros/RosPackage.java | 105 ++- .../src/ros/impl/AmentPackageImpl.java | 151 ++++ .../src/ros/impl/RosFactoryImpl.java | 13 + .../src/ros/impl/RosPackageImpl.java | 35 + .../src/ros/impl/SubscriberImpl.java | 2 +- .../src/ros/util/RosAdapterFactory.java | 19 + .../src/ros/util/RosSwitch.java | 23 + 27 files changed, 1151 insertions(+), 413 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreateAmentPackage_dependency_ExternalDependency.gif create mode 100644 plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreateAmentPackage_dependency_PackageDependency.gif create mode 100644 plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackageSet_package_AmentPackage.gif create mode 100644 plugins/de.fraunhofer.ipa.ros.edit/icons/full/obj16/AmentPackage.gif create mode 100644 plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java create mode 100644 plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java create mode 100644 plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java diff --git a/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreateAmentPackage_dependency_ExternalDependency.gif b/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreateAmentPackage_dependency_ExternalDependency.gif new file mode 100644 index 0000000000000000000000000000000000000000..a3671bee343068321f3528d6f1ede817097922b5 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6Tx+^^EcnYLM_VN?#B7ItOPMvhKV$e~$@9knC5Y#aHMZ$+gC)=48Cb-GpXsNlKt9ANidOkx= OO;c)PQ?{xigEaujz+hki literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreateAmentPackage_dependency_PackageDependency.gif b/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreateAmentPackage_dependency_PackageDependency.gif new file mode 100644 index 0000000000000000000000000000000000000000..98e70dde60f70f5c02a2f3541e8bb2f2ddcf1017 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6G_AQ7+;hybc#TeE+yDRZ^W*LR-?wjQ zXjpTtspnX5@fyp>Hl1D5)qrU0B;|Eo@=Kef=2eQ#ED`?q_dO8({d^vX{ybm&`))JP zGzd`q$-)R?>3|53oeZoo3JQHGk#=efGtVBLa$)PF{^q_(C7#BgO?s|nPtp`q@0Uu> zbPm**z5E2bNT1f6QzzZ57*B$#$lN32yQ?T54|RYMp+Wp3jg| O)0EoSl&z}BU=08;Q(u+< literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackageSet_package_AmentPackage.gif b/plugins/de.fraunhofer.ipa.ros.edit/icons/full/ctool16/CreatePackageSet_package_AmentPackage.gif new file mode 100644 index 0000000000000000000000000000000000000000..e21fda543cfbf5881db3dbb6535cde7aa43c5f01 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6thv_Ib1b-cjb&t;&j0`M^W*LR-?wjQ zXgF}-z??aAfQ;Z{J-eo>0nye;%Imu1mo`bws}!4ABK+^~dm#Gz`8*K)dA|7f-DaR^ z5TN*zg%QNk0TCcO8CYW!6#7yk?bH}%o;^I}!q!Rs&3%(fJdHn_^jyoHq$#G}FO{6> z9H=pS`3ZKBKCL;YPP$n!=&0TIcCio$YMA{Z;lrYn?Mw?3+~jYx)ZEV1I{h*|pCPBF NDYdaFTUC+48UXe%V8Z|a literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.ros.edit/icons/full/obj16/AmentPackage.gif b/plugins/de.fraunhofer.ipa.ros.edit/icons/full/obj16/AmentPackage.gif new file mode 100644 index 0000000000000000000000000000000000000000..d92f34c8aea721c98537ccb1f4da29bdee3b8912 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Nm>QHT4_|E?#39 z*`}lTlZBCifs;W8q!VNY1B;%)Nzc`LEna{5ro#WQ&~>{h>#dXouLTRg+UR|prgqh= Vyl15*zwUCzPPZcyg@hRytO0}LFBSj* literal 0 HcmV?d00001 diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java new file mode 100644 index 000000000..6dc0ff046 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java @@ -0,0 +1,150 @@ +/** + */ +package ros.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import ros.AmentPackage; +import ros.RosFactory; +import ros.RosPackage; + +/** + * This is the item provider adapter for a {@link ros.AmentPackage} object. + * + * + * @generated + */ +public class AmentPackageItemProvider extends PackageItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AmentPackageItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(RosPackage.Literals.AMENT_PACKAGE__DEPENDENCY); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AmentPackage.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AmentPackage")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((AmentPackage)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_AmentPackage_type") : + getString("_UI_AmentPackage_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AmentPackage.class)) { + case RosPackage.AMENT_PACKAGE__DEPENDENCY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (RosPackage.Literals.AMENT_PACKAGE__DEPENDENCY, + RosFactory.eINSTANCE.createPackageDependency())); + + newChildDescriptors.add + (createChildParameter + (RosPackage.Literals.AMENT_PACKAGE__DEPENDENCY, + RosFactory.eINSTANCE.createExternalDependency())); + } + +} diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageSetItemProvider.java b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageSetItemProvider.java index 4c2507456..315ff6970 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageSetItemProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/PackageSetItemProvider.java @@ -157,6 +157,11 @@ protected void collectNewChildDescriptors(Collection newChildDescriptors (createChildParameter (RosPackage.Literals.PACKAGE_SET__PACKAGE, RosFactory.eINSTANCE.createCatkinPackage())); + + newChildDescriptors.add + (createChildParameter + (RosPackage.Literals.PACKAGE_SET__PACKAGE, + RosFactory.eINSTANCE.createAmentPackage())); } /** diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/RosItemProviderAdapterFactory.java b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/RosItemProviderAdapterFactory.java index bfff01f95..bf5acfa13 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/RosItemProviderAdapterFactory.java +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/RosItemProviderAdapterFactory.java @@ -1060,12 +1060,36 @@ public Adapter createParameterDateAdapter() { return parameterDateItemProvider; } + /** + * This keeps track of the one adapter used for all {@link ros.AmentPackage} instances. + * + * + * @generated + */ + protected AmentPackageItemProvider amentPackageItemProvider; + + /** + * This creates an adapter for a {@link ros.AmentPackage}. + * + * + * @generated + */ + @Override + public Adapter createAmentPackageAdapter() { + if (amentPackageItemProvider == null) { + amentPackageItemProvider = new AmentPackageItemProvider(this); + } + + return amentPackageItemProvider; + } + /** * This returns the root adapter factory that contains this factory. * * * @generated */ + @Override public ComposeableAdapterFactory getRootAdapterFactory() { return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); } @@ -1076,6 +1100,7 @@ public ComposeableAdapterFactory getRootAdapterFactory() { * * @generated */ + @Override public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { this.parentAdapterFactory = parentAdapterFactory; } @@ -1124,6 +1149,7 @@ public Object adapt(Object object, Object type) { * * @generated */ + @Override public void addListener(INotifyChangedListener notifyChangedListener) { changeNotifier.addListener(notifyChangedListener); } @@ -1134,6 +1160,7 @@ public void addListener(INotifyChangedListener notifyChangedListener) { * * @generated */ + @Override public void removeListener(INotifyChangedListener notifyChangedListener) { changeNotifier.removeListener(notifyChangedListener); } @@ -1144,6 +1171,7 @@ public void removeListener(INotifyChangedListener notifyChangedListener) { * * @generated */ + @Override public void fireNotifyChanged(Notification notification) { changeNotifier.fireNotifyChanged(notification); @@ -1158,6 +1186,7 @@ public void fireNotifyChanged(Notification notification) { * * @generated */ + @Override public void dispose() { if (nodeItemProvider != null) nodeItemProvider.dispose(); if (packageItemProvider != null) packageItemProvider.dispose(); @@ -1202,6 +1231,7 @@ public void dispose() { if (parameterStructItemProvider != null) parameterStructItemProvider.dispose(); if (parameterStructMemberItemProvider != null) parameterStructMemberItemProvider.dispose(); if (parameterDateItemProvider != null) parameterDateItemProvider.dispose(); + if (amentPackageItemProvider != null) amentPackageItemProvider.dispose(); } } diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g index 5b0f367d7..885929ff1 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g @@ -299,6 +299,31 @@ finally { restoreStackSize(stackSize); } +// Entry rule entryRuleAmentPackage +entryRuleAmentPackage +: +{ before(grammarAccess.getAmentPackageRule()); } + ruleAmentPackage +{ after(grammarAccess.getAmentPackageRule()); } + EOF +; + +// Rule AmentPackage +ruleAmentPackage + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAmentPackageAccess().getGroup()); } + (rule__AmentPackage__Group__0) + { after(grammarAccess.getAmentPackageAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + // Entry rule entryRuleServiceSpec entryRuleServiceSpec : @@ -615,9 +640,9 @@ rulePackageDependency } : ( - { before(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); } - (rule__PackageDependency__PackageAssignment) - { after(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); } + { before(grammarAccess.getPackageDependencyAccess().getGroup()); } + (rule__PackageDependency__Group__0) + { after(grammarAccess.getPackageDependencyAccess().getGroup()); } ) ; finally { @@ -3236,7 +3261,6 @@ rule__Package_Impl__Group__6 } : rule__Package_Impl__Group__6__Impl - rule__Package_Impl__Group__7 ; finally { restoreStackSize(stackSize); @@ -3248,35 +3272,9 @@ rule__Package_Impl__Group__6__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getGroup_6()); } - (rule__Package_Impl__Group_6__0)? - { after(grammarAccess.getPackage_ImplAccess().getGroup_6()); } -) -; -finally { - restoreStackSize(stackSize); -} - -rule__Package_Impl__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__Package_Impl__Group__7__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Package_Impl__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); } + { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); } '}' - { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); } + { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); } ) ; finally { @@ -3302,9 +3300,9 @@ rule__Package_Impl__Group_4__0__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); } - 'FromGitRepo' - { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); } + 'Specs' + { after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); } ) ; finally { @@ -3317,6 +3315,7 @@ rule__Package_Impl__Group_4__1 } : rule__Package_Impl__Group_4__1__Impl + rule__Package_Impl__Group_4__2 ; finally { restoreStackSize(stackSize); @@ -3328,144 +3327,89 @@ rule__Package_Impl__Group_4__1__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); } - (rule__Package_Impl__FromGitRepoAssignment_4_1) - { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); } -) -; -finally { - restoreStackSize(stackSize); -} - - -rule__Package_Impl__Group_5__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Package_Impl__Group_5__0__Impl - rule__Package_Impl__Group_5__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Package_Impl__Group_5__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); } - 'Specs' - { after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); } -) -; -finally { - restoreStackSize(stackSize); -} - -rule__Package_Impl__Group_5__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Package_Impl__Group_5__1__Impl - rule__Package_Impl__Group_5__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Package_Impl__Group_5__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); } + { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); } '{' - { after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); } + { after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__2 +rule__Package_Impl__Group_4__2 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5__2__Impl - rule__Package_Impl__Group_5__3 + rule__Package_Impl__Group_4__2__Impl + rule__Package_Impl__Group_4__3 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__2__Impl +rule__Package_Impl__Group_4__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); } - (rule__Package_Impl__SpecAssignment_5_2) - { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); } + (rule__Package_Impl__SpecAssignment_4_2) + { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__3 +rule__Package_Impl__Group_4__3 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5__3__Impl - rule__Package_Impl__Group_5__4 + rule__Package_Impl__Group_4__3__Impl + rule__Package_Impl__Group_4__4 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__3__Impl +rule__Package_Impl__Group_4__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); } - (rule__Package_Impl__Group_5_3__0)* - { after(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); } + (rule__Package_Impl__Group_4_3__0)* + { after(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__4 +rule__Package_Impl__Group_4__4 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5__4__Impl + rule__Package_Impl__Group_4__4__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__4__Impl +rule__Package_Impl__Group_4__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } + { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); } '}' - { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } + { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); } ) ; finally { @@ -3473,53 +3417,53 @@ finally { } -rule__Package_Impl__Group_5_3__0 +rule__Package_Impl__Group_4_3__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5_3__0__Impl - rule__Package_Impl__Group_5_3__1 + rule__Package_Impl__Group_4_3__0__Impl + rule__Package_Impl__Group_4_3__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_3__0__Impl +rule__Package_Impl__Group_4_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); } + { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); } ',' - { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); } + { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_3__1 +rule__Package_Impl__Group_4_3__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5_3__1__Impl + rule__Package_Impl__Group_4_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_3__1__Impl +rule__Package_Impl__Group_4_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); } - (rule__Package_Impl__SpecAssignment_5_3_1) - { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); } + (rule__Package_Impl__SpecAssignment_4_3_1) + { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); } ) ; finally { @@ -3527,53 +3471,53 @@ finally { } -rule__Package_Impl__Group_6__0 +rule__Package_Impl__Group_5__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_6__0__Impl - rule__Package_Impl__Group_6__1 + rule__Package_Impl__Group_5__0__Impl + rule__Package_Impl__Group_5__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_6__0__Impl +rule__Package_Impl__Group_5__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); } - (rule__Package_Impl__ArtifactAssignment_6_0) - { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); } + (rule__Package_Impl__ArtifactAssignment_5_0) + { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_6__1 +rule__Package_Impl__Group_5__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_6__1__Impl + rule__Package_Impl__Group_5__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_6__1__Impl +rule__Package_Impl__Group_5__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); } - (rule__Package_Impl__Group_6_1__0)* - { after(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); } + (rule__Package_Impl__Group_5_1__0)* + { after(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); } ) ; finally { @@ -3581,53 +3525,53 @@ finally { } -rule__Package_Impl__Group_6_1__0 +rule__Package_Impl__Group_5_1__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_6_1__0__Impl - rule__Package_Impl__Group_6_1__1 + rule__Package_Impl__Group_5_1__0__Impl + rule__Package_Impl__Group_5_1__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_6_1__0__Impl +rule__Package_Impl__Group_5_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); } ',' - { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_6_1__1 +rule__Package_Impl__Group_5_1__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_6_1__1__Impl + rule__Package_Impl__Group_5_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_6_1__1__Impl +rule__Package_Impl__Group_5_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); } - (rule__Package_Impl__ArtifactAssignment_6_1_1) - { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); } + (rule__Package_Impl__ArtifactAssignment_5_1_1) + { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); } ) ; finally { @@ -3992,7 +3936,6 @@ rule__CatkinPackage__Group__7 } : rule__CatkinPackage__Group__7__Impl - rule__CatkinPackage__Group__8 ; finally { restoreStackSize(stackSize); @@ -4004,224 +3947,252 @@ rule__CatkinPackage__Group__7__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_7()); } - (rule__CatkinPackage__Group_7__0)? - { after(grammarAccess.getCatkinPackageAccess().getGroup_7()); } + { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); } + '}' + { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__8 + +rule__CatkinPackage__Group_4__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group__8__Impl + rule__CatkinPackage__Group_4__0__Impl + rule__CatkinPackage__Group_4__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__8__Impl +rule__CatkinPackage__Group_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); } - '}' - { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); } + 'Specs' + { after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CatkinPackage__Group_4__0 +rule__CatkinPackage__Group_4__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__0__Impl - rule__CatkinPackage__Group_4__1 + rule__CatkinPackage__Group_4__1__Impl + rule__CatkinPackage__Group_4__2 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__0__Impl +rule__CatkinPackage__Group_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); } - 'FromGitRepo' - { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); } + { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); } + '{' + { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__1 +rule__CatkinPackage__Group_4__2 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__1__Impl + rule__CatkinPackage__Group_4__2__Impl + rule__CatkinPackage__Group_4__3 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__1__Impl +rule__CatkinPackage__Group_4__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); } - (rule__CatkinPackage__FromGitRepoAssignment_4_1) - { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); } + (rule__CatkinPackage__SpecAssignment_4_2) + { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); } ) ; finally { restoreStackSize(stackSize); } +rule__CatkinPackage__Group_4__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_4__3__Impl + rule__CatkinPackage__Group_4__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_4__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); } + (rule__CatkinPackage__Group_4_3__0)* + { after(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); } +) +; +finally { + restoreStackSize(stackSize); +} -rule__CatkinPackage__Group_5__0 +rule__CatkinPackage__Group_4__4 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__0__Impl - rule__CatkinPackage__Group_5__1 + rule__CatkinPackage__Group_4__4__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__0__Impl +rule__CatkinPackage__Group_4__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); } - 'Dependencies' - { after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); } + { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); } + '}' + { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__1 + +rule__CatkinPackage__Group_4_3__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__1__Impl - rule__CatkinPackage__Group_5__2 + rule__CatkinPackage__Group_4_3__0__Impl + rule__CatkinPackage__Group_4_3__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__1__Impl +rule__CatkinPackage__Group_4_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); } - '{' - { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); } + { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); } + ',' + { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__2 +rule__CatkinPackage__Group_4_3__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__2__Impl - rule__CatkinPackage__Group_5__3 + rule__CatkinPackage__Group_4_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__2__Impl +rule__CatkinPackage__Group_4_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); } - (rule__CatkinPackage__DependencyAssignment_5_2) - { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); } + (rule__CatkinPackage__SpecAssignment_4_3_1) + { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__3 + +rule__CatkinPackage__Group_5__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__3__Impl - rule__CatkinPackage__Group_5__4 + rule__CatkinPackage__Group_5__0__Impl + rule__CatkinPackage__Group_5__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__3__Impl +rule__CatkinPackage__Group_5__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); } - (rule__CatkinPackage__Group_5_3__0)* - { after(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); } + { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); } + (rule__CatkinPackage__ArtifactAssignment_5_0) + { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__4 +rule__CatkinPackage__Group_5__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__4__Impl + rule__CatkinPackage__Group_5__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__4__Impl +rule__CatkinPackage__Group_5__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } - '}' - { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } + { before(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); } + (rule__CatkinPackage__Group_5_1__0)* + { after(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); } ) ; finally { @@ -4229,53 +4200,53 @@ finally { } -rule__CatkinPackage__Group_5_3__0 +rule__CatkinPackage__Group_5_1__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5_3__0__Impl - rule__CatkinPackage__Group_5_3__1 + rule__CatkinPackage__Group_5_1__0__Impl + rule__CatkinPackage__Group_5_1__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_3__0__Impl +rule__CatkinPackage__Group_5_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); } + { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); } ',' - { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); } + { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_3__1 +rule__CatkinPackage__Group_5_1__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5_3__1__Impl + rule__CatkinPackage__Group_5_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_3__1__Impl +rule__CatkinPackage__Group_5_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); } - (rule__CatkinPackage__DependencyAssignment_5_3_1) - { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); } + { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); } + (rule__CatkinPackage__ArtifactAssignment_5_1_1) + { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); } ) ; finally { @@ -4301,9 +4272,9 @@ rule__CatkinPackage__Group_6__0__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); } - 'Specs' - { after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); } + { before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); } + 'Dependencies' + { after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); } ) ; finally { @@ -4355,9 +4326,9 @@ rule__CatkinPackage__Group_6__2__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); } - (rule__CatkinPackage__SpecAssignment_6_2) - { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); } + (rule__CatkinPackage__DependencyAssignment_6_2) + { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); } ) ; finally { @@ -4462,117 +4433,9 @@ rule__CatkinPackage__Group_6_3__1__Impl } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); } - (rule__CatkinPackage__SpecAssignment_6_3_1) - { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); } -) -; -finally { - restoreStackSize(stackSize); -} - - -rule__CatkinPackage__Group_7__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__CatkinPackage__Group_7__0__Impl - rule__CatkinPackage__Group_7__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__Group_7__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); } - (rule__CatkinPackage__ArtifactAssignment_7_0) - { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); } -) -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__Group_7__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__CatkinPackage__Group_7__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__Group_7__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); } - (rule__CatkinPackage__Group_7_1__0)* - { after(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); } -) -; -finally { - restoreStackSize(stackSize); -} - - -rule__CatkinPackage__Group_7_1__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__CatkinPackage__Group_7_1__0__Impl - rule__CatkinPackage__Group_7_1__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__Group_7_1__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); } - ',' - { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); } -) -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__Group_7_1__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__CatkinPackage__Group_7_1__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__Group_7_1__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); } - (rule__CatkinPackage__ArtifactAssignment_7_1_1) - { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); } + (rule__CatkinPackage__DependencyAssignment_6_3_1) + { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); } ) ; finally { @@ -8900,6 +8763,60 @@ finally { } +rule__PackageDependency__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PackageDependency__Group__0__Impl + rule__PackageDependency__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PackageDependency__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); } + 'PackageDependency' + { after(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PackageDependency__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PackageDependency__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PackageDependency__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); } + (rule__PackageDependency__PackageAssignment_1) + { after(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + rule__ExternalDependency__Group__0 @init { int stackSize = keepStackSize(); @@ -14129,75 +14046,60 @@ finally { restoreStackSize(stackSize); } -rule__Package_Impl__FromGitRepoAssignment_4_1 - @init { - int stackSize = keepStackSize(); - } -: - ( - { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } - ruleEString - { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } - ) -; -finally { - restoreStackSize(stackSize); -} - -rule__Package_Impl__SpecAssignment_5_2 +rule__Package_Impl__SpecAssignment_4_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } ruleSpecBase - { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); } + { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__SpecAssignment_5_3_1 +rule__Package_Impl__SpecAssignment_4_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } ruleSpecBase - { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__ArtifactAssignment_6_0 +rule__Package_Impl__ArtifactAssignment_5_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); } ruleArtifact - { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); } + { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__ArtifactAssignment_6_1_1 +rule__Package_Impl__ArtifactAssignment_5_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } ruleArtifact - { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } ) ; finally { @@ -14249,105 +14151,90 @@ finally { restoreStackSize(stackSize); } -rule__CatkinPackage__FromGitRepoAssignment_4_1 +rule__CatkinPackage__SpecAssignment_4_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } - ruleEString - { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } - ) -; -finally { - restoreStackSize(stackSize); -} - -rule__CatkinPackage__DependencyAssignment_5_2 - @init { - int stackSize = keepStackSize(); - } -: - ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } - ruleDependency - { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + ruleSpecBase + { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__DependencyAssignment_5_3_1 +rule__CatkinPackage__SpecAssignment_4_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } - ruleDependency - { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + ruleSpecBase + { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__SpecAssignment_6_2 +rule__CatkinPackage__ArtifactAssignment_5_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } - ruleSpecBase - { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } + { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + ruleArtifact + { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__SpecAssignment_6_3_1 +rule__CatkinPackage__ArtifactAssignment_5_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } - ruleSpecBase - { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + ruleArtifact + { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__ArtifactAssignment_7_0 +rule__CatkinPackage__DependencyAssignment_6_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } - ruleArtifact - { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); } + ruleDependency + { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__ArtifactAssignment_7_1_1 +rule__CatkinPackage__DependencyAssignment_6_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } - ruleArtifact - { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); } + ruleDependency + { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); } ) ; finally { @@ -15038,19 +14925,19 @@ finally { restoreStackSize(stackSize); } -rule__PackageDependency__PackageAssignment +rule__PackageDependency__PackageAssignment_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); } + { before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); } ( - { before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); } + { before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); } ruleEString - { after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); } + { after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); } ) - { after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); } + { after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); } ) ; finally { diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java index 7e2d91a9c..b7ce97301 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java @@ -5050,4 +5050,4 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc } -} \ No newline at end of file +} diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java index 0f439bb0a..53d9f2585 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java @@ -46489,4 +46489,4 @@ public String getDescription() { public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L}); -} \ No newline at end of file +} diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java b/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java index 1264d4d5e..676c4c967 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java @@ -55,6 +55,18 @@ public void completeCatkinPackage_Spec(EObject model, Assignment assignment, Con public void completeCatkinPackage_Artifact(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } + public void completeAmentPackage_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAmentPackage_Spec(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAmentPackage_Artifact(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAmentPackage_Dependency(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } public void completeServiceSpec_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } @@ -315,6 +327,9 @@ public void complete_Artifact(EObject model, RuleCall ruleCall, ContentAssistCon public void complete_CatkinPackage(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } + public void complete_AmentPackage(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } public void complete_ServiceSpec(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRos.g b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRos.g index 0aca66501..ddea5ef2d 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRos.g +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRos.g @@ -177,6 +177,15 @@ rulePackage returns [EObject current=null] $current = $this_CatkinPackage_1.current; afterParserOrEnumRuleCall(); } + | + { + newCompositeNode(grammarAccess.getPackageAccess().getAmentPackageParserRuleCall_2()); + } + this_AmentPackage_2=ruleAmentPackage + { + $current = $this_AmentPackage_2.current; + afterParserOrEnumRuleCall(); + } ) ; @@ -886,6 +895,225 @@ ruleCatkinPackage returns [EObject current=null] ) ; +// Entry rule entryRuleAmentPackage +entryRuleAmentPackage returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAmentPackageRule()); } + iv_ruleAmentPackage=ruleAmentPackage + { $current=$iv_ruleAmentPackage.current; } + EOF; + +// Rule AmentPackage +ruleAmentPackage returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getAmentPackageAccess().getAmentPackageAction_0(), + $current); + } + ) + otherlv_1='AmentPackage' + { + newLeafNode(otherlv_1, grammarAccess.getAmentPackageAccess().getAmentPackageKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAmentPackageAccess().getNameRosNamesParserRuleCall_2_0()); + } + lv_name_2_0=ruleRosNames + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + set( + $current, + "name", + lv_name_2_0, + "de.fraunhofer.ipa.ros.Ros.RosNames"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='{' + { + newLeafNode(otherlv_3, grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_3()); + } + ( + otherlv_4='Specs' + { + newLeafNode(otherlv_4, grammarAccess.getAmentPackageAccess().getSpecsKeyword_4_0()); + } + otherlv_5='{' + { + newLeafNode(otherlv_5, grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_4_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); + } + lv_spec_6_0=ruleSpecBase + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + $current, + "spec", + lv_spec_6_0, + "de.fraunhofer.ipa.ros.Ros.SpecBase"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_7=',' + { + newLeafNode(otherlv_7, grammarAccess.getAmentPackageAccess().getCommaKeyword_4_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); + } + lv_spec_8_0=ruleSpecBase + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + $current, + "spec", + lv_spec_8_0, + "de.fraunhofer.ipa.ros.Ros.SpecBase"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_9='}' + { + newLeafNode(otherlv_9, grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_4_4()); + } + )? + ( + ( + ( + { + newCompositeNode(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); + } + lv_artifact_10_0=ruleArtifact + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + $current, + "artifact", + lv_artifact_10_0, + "de.fraunhofer.ipa.ros.Ros.Artifact"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getAmentPackageAccess().getCommaKeyword_5_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); + } + lv_artifact_12_0=ruleArtifact + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + $current, + "artifact", + lv_artifact_12_0, + "de.fraunhofer.ipa.ros.Ros.Artifact"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + otherlv_13='Dependencies' + { + newLeafNode(otherlv_13, grammarAccess.getAmentPackageAccess().getDependenciesKeyword_6_0()); + } + otherlv_14='{' + { + newLeafNode(otherlv_14, grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_6_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); + } + lv_dependency_15_0=ruleDependency + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + $current, + "dependency", + lv_dependency_15_0, + "de.fraunhofer.ipa.ros.Ros.Dependency"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_16=',' + { + newLeafNode(otherlv_16, grammarAccess.getAmentPackageAccess().getCommaKeyword_6_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); + } + lv_dependency_17_0=ruleDependency + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + $current, + "dependency", + lv_dependency_17_0, + "de.fraunhofer.ipa.ros.Ros.Dependency"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_18='}' + { + newLeafNode(otherlv_18, grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_6_4()); + } + )? + otherlv_19='}' + { + newLeafNode(otherlv_19, grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_7()); + } + ) +; + // Entry rule entryRuleServiceSpec entryRuleServiceSpec returns [EObject current=null]: { newCompositeNode(grammarAccess.getServiceSpecRule()); } diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosLexer.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosLexer.java index f12394fb7..20157bc74 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosLexer.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosLexer.java @@ -5050,4 +5050,4 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc } -} \ No newline at end of file +} diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java index 99cd52910..732c76c48 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java @@ -14717,4 +14717,4 @@ public String getDescription() { public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x8201740000001030L,0x0000000600040100L}); public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L}); -} \ No newline at end of file +} diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java index 87ab95b59..1404a603d 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java @@ -50,6 +50,7 @@ import ros.ActionClient; import ros.ActionServer; import ros.ActionSpec; +import ros.AmentPackage; import ros.Artifact; import ros.CatkinPackage; import ros.ExternalDependency; @@ -211,6 +212,9 @@ else if (epackage == RosPackage.eINSTANCE) case RosPackage.ACTION_SPEC: sequence_ActionSpec(context, (ActionSpec) semanticObject); return; + case RosPackage.AMENT_PACKAGE: + sequence_AmentPackage(context, (AmentPackage) semanticObject); + return; case RosPackage.ARTIFACT: sequence_Artifact(context, (Artifact) semanticObject); return; @@ -370,6 +374,19 @@ protected void sequence_ActionSpec(ISerializationContext context, ActionSpec sem } + /** + * Contexts: + * Package returns AmentPackage + * AmentPackage returns AmentPackage + * + * Constraint: + * (name=RosNames (spec+=SpecBase spec+=SpecBase*)? (artifact+=Artifact artifact+=Artifact*)? (dependency+=Dependency dependency+=Dependency*)?) + */ + protected void sequence_AmentPackage(ISerializationContext context, AmentPackage semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + /** * Contexts: * AbstractType returns ArrayTopicSpecRef diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext index feef52a84..93c18fded 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext @@ -16,7 +16,7 @@ PackageSet returns PackageSet: '}'; Package returns Package: - Package_Impl | CatkinPackage; + Package_Impl | CatkinPackage | AmentPackage; SpecBase returns SpecBase: ServiceSpec | TopicSpec | ActionSpec; @@ -73,6 +73,16 @@ CatkinPackage returns CatkinPackage: ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? (artifact+=Artifact ( "," artifact+=Artifact)*)? '}'; + +AmentPackage returns AmentPackage: + {AmentPackage} + 'AmentPackage' + name=RosNames + '{' + ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + (artifact+=Artifact ( "," artifact+=Artifact)*)? + ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + '}'; ServiceSpec returns ServiceSpec: {ServiceSpec} diff --git a/plugins/de.fraunhofer.ipa.ros/model/ros.ecore b/plugins/de.fraunhofer.ipa.ros/model/ros.ecore index ed1dfea0c..7cb6223f4 100644 --- a/plugins/de.fraunhofer.ipa.ros/model/ros.ecore +++ b/plugins/de.fraunhofer.ipa.ros/model/ros.ecore @@ -208,4 +208,8 @@ + + + diff --git a/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel b/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel index d09478225..5bf109720 100644 --- a/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel +++ b/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel @@ -161,6 +161,9 @@ + + + diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java b/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java new file mode 100644 index 000000000..eb5cbc3b7 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java @@ -0,0 +1,36 @@ +/** + */ +package ros; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Ament Package'. + * + * + *

    + * The following features are supported: + *

    + *
      + *
    • {@link ros.AmentPackage#getDependency Dependency}
    • + *
    + * + * @see ros.RosPackage#getAmentPackage() + * @model + * @generated + */ +public interface AmentPackage extends ros.Package { + /** + * Returns the value of the 'Dependency' containment reference list. + * The list contents are of type {@link ros.Dependency}. + * + * + * @return the value of the 'Dependency' containment reference list. + * @see ros.RosPackage#getAmentPackage_Dependency() + * @model containment="true" + * @generated + */ + EList getDependency(); + +} // AmentPackage diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/RosFactory.java b/plugins/de.fraunhofer.ipa.ros/src/ros/RosFactory.java index 072daea69..022681105 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/RosFactory.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/RosFactory.java @@ -408,6 +408,15 @@ public interface RosFactory extends EFactory { */ ParameterDate createParameterDate(); + /** + * Returns a new object of class 'Ament Package'. + * + * + * @return a new object of class 'Ament Package'. + * @generated + */ + AmentPackage createAmentPackage(); + /** * Returns the package supported by this factory. * diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java b/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java index 6b39b3e43..32303edc8 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java @@ -2265,6 +2265,70 @@ public interface RosPackage extends EPackage { */ int PARAMETER_DATE_OPERATION_COUNT = PARAMETER_VALUE_OPERATION_COUNT + 0; + /** + * The meta object id for the '{@link ros.impl.AmentPackageImpl Ament Package}' class. + * + * + * @see ros.impl.AmentPackageImpl + * @see ros.impl.RosPackageImpl#getAmentPackage() + * @generated + */ + int AMENT_PACKAGE = 48; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int AMENT_PACKAGE__NAME = PACKAGE__NAME; + + /** + * The feature id for the 'Spec' containment reference list. + * + * + * @generated + * @ordered + */ + int AMENT_PACKAGE__SPEC = PACKAGE__SPEC; + + /** + * The feature id for the 'Artifact' containment reference list. + * + * + * @generated + * @ordered + */ + int AMENT_PACKAGE__ARTIFACT = PACKAGE__ARTIFACT; + + /** + * The feature id for the 'Dependency' containment reference list. + * + * + * @generated + * @ordered + */ + int AMENT_PACKAGE__DEPENDENCY = PACKAGE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Ament Package' class. + * + * + * @generated + * @ordered + */ + int AMENT_PACKAGE_FEATURE_COUNT = PACKAGE_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Ament Package' class. + * + * + * @generated + * @ordered + */ + int AMENT_PACKAGE_OPERATION_COUNT = PACKAGE_OPERATION_COUNT + 0; + /** * The meta object id for the 'Graph Name' data type. * @@ -2273,7 +2337,7 @@ public interface RosPackage extends EPackage { * @see ros.impl.RosPackageImpl#getGraphName() * @generated */ - int GRAPH_NAME = 48; + int GRAPH_NAME = 49; /** @@ -3471,6 +3535,27 @@ public interface RosPackage extends EPackage { */ EAttribute getParameterDate_Value(); + /** + * Returns the meta object for class '{@link ros.AmentPackage Ament Package}'. + * + * + * @return the meta object for class 'Ament Package'. + * @see ros.AmentPackage + * @generated + */ + EClass getAmentPackage(); + + /** + * Returns the meta object for the containment reference list '{@link ros.AmentPackage#getDependency Dependency}'. + * + * + * @return the meta object for the containment reference list 'Dependency'. + * @see ros.AmentPackage#getDependency() + * @see #getAmentPackage() + * @generated + */ + EReference getAmentPackage_Dependency(); + /** * Returns the meta object for data type '{@link java.lang.String Graph Name}'. * @@ -4505,6 +4590,24 @@ interface Literals { */ EAttribute PARAMETER_DATE__VALUE = eINSTANCE.getParameterDate_Value(); + /** + * The meta object literal for the '{@link ros.impl.AmentPackageImpl Ament Package}' class. + * + * + * @see ros.impl.AmentPackageImpl + * @see ros.impl.RosPackageImpl#getAmentPackage() + * @generated + */ + EClass AMENT_PACKAGE = eINSTANCE.getAmentPackage(); + + /** + * The meta object literal for the 'Dependency' containment reference list feature. + * + * + * @generated + */ + EReference AMENT_PACKAGE__DEPENDENCY = eINSTANCE.getAmentPackage_Dependency(); + /** * The meta object literal for the 'Graph Name' data type. * diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java new file mode 100644 index 000000000..8d06b8e30 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java @@ -0,0 +1,151 @@ +/** + */ +package ros.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import ros.AmentPackage; +import ros.Dependency; +import ros.RosPackage; + +/** + * + * An implementation of the model object 'Ament Package'. + * + *

    + * The following features are implemented: + *

    + *
      + *
    • {@link ros.impl.AmentPackageImpl#getDependency Dependency}
    • + *
    + * + * @generated + */ +public class AmentPackageImpl extends PackageImpl implements AmentPackage { + /** + * The cached value of the '{@link #getDependency() Dependency}' containment reference list. + * + * + * @see #getDependency() + * @generated + * @ordered + */ + protected EList dependency; + + /** + * + * + * @generated + */ + protected AmentPackageImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return RosPackage.Literals.AMENT_PACKAGE; + } + + /** + * + * + * @generated + */ + @Override + public EList getDependency() { + if (dependency == null) { + dependency = new EObjectContainmentEList(Dependency.class, this, RosPackage.AMENT_PACKAGE__DEPENDENCY); + } + return dependency; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case RosPackage.AMENT_PACKAGE__DEPENDENCY: + return ((InternalEList)getDependency()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case RosPackage.AMENT_PACKAGE__DEPENDENCY: + return getDependency(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case RosPackage.AMENT_PACKAGE__DEPENDENCY: + getDependency().clear(); + getDependency().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case RosPackage.AMENT_PACKAGE__DEPENDENCY: + getDependency().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case RosPackage.AMENT_PACKAGE__DEPENDENCY: + return dependency != null && !dependency.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //AmentPackageImpl diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosFactoryImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosFactoryImpl.java index 6bde94d9f..56977a400 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosFactoryImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosFactoryImpl.java @@ -14,6 +14,7 @@ import ros.ActionClient; import ros.ActionServer; import ros.ActionSpec; +import ros.AmentPackage; import ros.Artifact; import ros.CatkinPackage; import ros.ExternalDependency; @@ -143,6 +144,7 @@ public EObject create(EClass eClass) { case RosPackage.PARAMETER_STRUCT: return createParameterStruct(); case RosPackage.PARAMETER_STRUCT_MEMBER: return createParameterStructMember(); case RosPackage.PARAMETER_DATE: return createParameterDate(); + case RosPackage.AMENT_PACKAGE: return createAmentPackage(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -651,6 +653,17 @@ public ParameterDate createParameterDate() { return parameterDate; } + /** + * + * + * @generated + */ + @Override + public AmentPackage createAmentPackage() { + AmentPackageImpl amentPackage = new AmentPackageImpl(); + return amentPackage; + } + /** * * diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java index e3375ab26..f1c15354f 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java @@ -17,6 +17,7 @@ import ros.ActionClient; import ros.ActionServer; import ros.ActionSpec; +import ros.AmentPackage; import ros.Artifact; import ros.CatkinPackage; import ros.Dependency; @@ -407,6 +408,13 @@ public class RosPackageImpl extends EPackageImpl implements RosPackage { */ private EClass parameterDateEClass = null; + /** + * + * + * @generated + */ + private EClass amentPackageEClass = null; + /** * * @@ -1614,6 +1622,26 @@ public EAttribute getParameterDate_Value() { return (EAttribute)parameterDateEClass.getEStructuralFeatures().get(0); } + /** + * + * + * @generated + */ + @Override + public EClass getAmentPackage() { + return amentPackageEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getAmentPackage_Dependency() { + return (EReference)amentPackageEClass.getEStructuralFeatures().get(0); + } + /** * * @@ -1814,6 +1842,9 @@ public void createPackageContents() { parameterDateEClass = createEClass(PARAMETER_DATE); createEAttribute(parameterDateEClass, PARAMETER_DATE__VALUE); + amentPackageEClass = createEClass(AMENT_PACKAGE); + createEReference(amentPackageEClass, AMENT_PACKAGE__DEPENDENCY); + // Create data types graphNameEDataType = createEDataType(GRAPH_NAME); } @@ -1885,6 +1916,7 @@ public void initializePackageContents() { parameterSequenceEClass.getESuperTypes().add(this.getParameterValue()); parameterStructEClass.getESuperTypes().add(this.getParameterValue()); parameterDateEClass.getESuperTypes().add(this.getParameterValue()); + amentPackageEClass.getESuperTypes().add(this.getPackage()); // Initialize classes, features, and operations; add parameters initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -2048,6 +2080,9 @@ public void initializePackageContents() { initEClass(parameterDateEClass, ParameterDate.class, "ParameterDate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getParameterDate_Value(), theXMLTypePackage.getDateTime(), "value", null, 1, 1, ParameterDate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(amentPackageEClass, AmentPackage.class, "AmentPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAmentPackage_Dependency(), this.getDependency(), null, "dependency", null, 0, -1, AmentPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + // Initialize data types initEDataType(graphNameEDataType, String.class, "GraphName", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/SubscriberImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/SubscriberImpl.java index 119c195cd..92ddac04d 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/SubscriberImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/SubscriberImpl.java @@ -40,7 +40,7 @@ public class SubscriberImpl extends NamespacedElementImpl implements Subscriber /** * * - * @generated + * @generated NOT */ public SubscriberImpl() { super(); diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosAdapterFactory.java b/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosAdapterFactory.java index 1e63f3725..ea43dcb00 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosAdapterFactory.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosAdapterFactory.java @@ -11,6 +11,7 @@ import ros.ActionClient; import ros.ActionServer; import ros.ActionSpec; +import ros.AmentPackage; import ros.Artifact; import ros.CatkinPackage; import ros.Dependency; @@ -306,6 +307,10 @@ public Adapter caseParameterDate(ParameterDate object) { return createParameterDateAdapter(); } @Override + public Adapter caseAmentPackage(AmentPackage object) { + return createAmentPackageAdapter(); + } + @Override public Adapter defaultCase(EObject object) { return createEObjectAdapter(); } @@ -997,6 +1002,20 @@ public Adapter createParameterDateAdapter() { return null; } + /** + * Creates a new adapter for an object of class '{@link ros.AmentPackage Ament Package}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see ros.AmentPackage + * @generated + */ + public Adapter createAmentPackageAdapter() { + return null; + } + /** * Creates a new adapter for the default case. * diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosSwitch.java b/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosSwitch.java index 49d96888c..dfb2d591b 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosSwitch.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/util/RosSwitch.java @@ -9,6 +9,7 @@ import ros.ActionClient; import ros.ActionServer; import ros.ActionSpec; +import ros.AmentPackage; import ros.Artifact; import ros.CatkinPackage; import ros.Dependency; @@ -436,6 +437,13 @@ protected T doSwitch(int classifierID, EObject theEObject) { if (result == null) result = defaultCase(theEObject); return result; } + case RosPackage.AMENT_PACKAGE: { + AmentPackage amentPackage = (AmentPackage)theEObject; + T result = caseAmentPackage(amentPackage); + if (result == null) result = casePackage(amentPackage); + if (result == null) result = defaultCase(theEObject); + return result; + } default: return defaultCase(theEObject); } } @@ -1160,6 +1168,21 @@ public T caseParameterDate(ParameterDate object) { return null; } + /** + * Returns the result of interpreting the object as an instance of 'Ament Package'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Ament Package'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAmentPackage(AmentPackage object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of 'EObject'. * From 39a861d94ba15359a66fc0481f32146732e73948 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Tue, 28 Sep 2021 17:51:30 +0200 Subject: [PATCH 18/48] Update launch packages generators to support ComponentStacks for ROS2 --- .../generator/CMakeListsCompiler.xtend | 4 +- .../generator/GeneratorHelpers.xtend | 29 ++++++ .../generator/LaunchFileCompiler_ROS1.xtend | 12 ++- .../generator/LaunchFileCompiler_ROS2.xtend | 44 ++++++++- .../generator/PackageXmlCompiler.xtend | 6 +- .../generator/RosSystemGenerator.xtend | 93 ++++++++++++++----- 6 files changed, 157 insertions(+), 31 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend index af84b2c39..4946e0865 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/CMakeListsCompiler.xtend @@ -23,9 +23,9 @@ install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} )''' - def compile_CMakeLists_ROS2(RosSystem system) '''«init_pkg()» + def compile_CMakeLists_ROS2(RosSystem system, ComponentStack stack) '''«init_pkg()» cmake_minimum_required(VERSION 3.5) -project(«system.name.toLowerCase») +project(«IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF») # Default to C++14 if(NOT CMAKE_CXX_STANDARD) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend index 7b706b6ca..24e04c53e 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend @@ -172,5 +172,34 @@ def Set listOfRepos(Object subsystem) { def String get_ns(ComponentInterface component){ return component.nameSpace.replaceFirst("/",""); } + + def compile_pkg_type(ComponentInterface component) +'''«IF !(component.fromRosNode===null) »«component.fromRosNode.getPackageType_node»«ELSEIF !PackageSet && !component.rospublisher.empty»«FOR Rospublisher:component.rospublisher»«IF !PackageSet»«Rospublisher.publisher.getPackageType_pub()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rossubscriber.empty»«FOR Rossubscriber:component.rossubscriber»«IF !PackageSet»«Rossubscriber.subscriber.getPackageType_sub()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosserviceserver.empty»«FOR Rosserviceserver:component.rosserviceserver»«IF !PackageSet»«Rosserviceserver.srvserver.getPackageType_srvserv()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosserviceclient.empty»«FOR Rosserviceclient:component.rosserviceclient»«IF !PackageSet»«Rosserviceclient.srvclient.getPackageType_srvcli()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosparameter.empty»«FOR Rosparameter:component.rosparameter»«IF !PackageSet»«Rosparameter.parameter.getPackageType_rosparam()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosactionserver.empty»«FOR RosActionSever:component.rosactionserver»«IF !PackageSet»«RosActionSever.actserver.getPackageType_actserver()»«ENDIF»«ENDFOR»«ELSEIF !PackageSet && !component.rosactionclient.empty»«FOR RosActionClient:component.rosactionclient»«IF !PackageSet»«RosActionClient.actclient.getPackageType_actclient()»«ENDIF»«ENDFOR»«ENDIF»''' + + def getPackageType_pub(Publisher publisher){ + return publisher.eContainer.eContainer.eContainer as PackageImpl; + } + def getPackageType_sub(Subscriber subscriber){ + return subscriber.eContainer.eContainer.eContainer as PackageImpl; + } + def getPackageType_srvserv(ServiceServer serviceserver){ + return serviceserver.eContainer.eContainer.eContainer as PackageImpl; + } + def getPackageType_srvcli(ServiceClient serviceclient){ + return serviceclient.eContainer.eContainer.eContainer as PackageImpl; + } + def getPackageType_actserver(ActionServer actionserver){ + return actionserver.eContainer.eContainer.eContainer as PackageImpl; + } + def getPackageType_actclient(ActionClient actionclient){ + return actionclient.eContainer.eContainer.eContainer as PackageImpl; + } + def getPackageType_rosparam (Parameter param){ + return param.eContainer.eContainer.eContainer as PackageImpl; + } + def getPackageType_node (Node node){ + return node.eContainer.eContainer as PackageImpl; + } + } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend index 096882983..8f4df9218 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend @@ -32,6 +32,8 @@ class LaunchFileCompiler_ROS1 { List sizes_list = new ArrayList(); List param_list = new ArrayList(); List components = new ArrayList(); + List Ros1components = new ArrayList(); + int i=0; @@ -108,13 +110,19 @@ class LaunchFileCompiler_ROS1 { ''' def List compile_list_of_components(RosSystem system, ComponentStack stack) { - components=null; + components.clear; + Ros1components.clear; if (stack === null){ components = system.rosComponent; } else { components = stack.rosComponent; } - return components; + for(ComponentInterface component:components){ + if (component.compile_pkg_type.toString.contains("CatkinPackage")){ + Ros1components.add(component); + } + } + return Ros1components; } // TOPICS REMAP diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend index eff6240e0..e9fa1df36 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend @@ -16,6 +16,7 @@ import ros.impl.ParameterSequenceImpl import ros.impl.ParameterStructImpl import ros.impl.ParameterStructMemberImpl import ros.impl.ParameterStructTypeImpl +import rossystem.ComponentStack class LaunchFileCompiler_ROS2 { @Inject extension GeneratorHelpers @@ -23,15 +24,18 @@ class LaunchFileCompiler_ROS2 { List ListInterfaceDef int param_count + List components = new ArrayList(); + List Ros2components = new ArrayList(); + - def compile_toROS2launch(RosSystem system) '''«init_comp()» + def compile_toROS2launch(RosSystem system, ComponentStack stack) '''«init_comp()» from launch import LaunchDescription from launch_ros.actions import Node def generate_launch_description(): ld = LaunchDescription() - «FOR component:system.rosComponent» + «FOR component:compile_list_of_components(system,stack)» «component.name» = Node( package="«component.compile_pkg»«init_pkg»", executable="«component.compile_art»«init_comp()»", @@ -43,13 +47,37 @@ def generate_launch_description(): ) «ENDFOR» - «FOR component:system.rosComponent» + «FOR component:compile_list_of_components(system,stack)» ld.add_action(«component.name») «ENDFOR» return ld ''' + def List compile_list_of_components(RosSystem system, ComponentStack stack) { + components.clear; + Ros2components.clear; + if (stack === null){ + components = system.rosComponent; + } else { + components = stack.rosComponent; + } + for(ComponentInterface component:components){ + if (component.compile_pkg_type.toString.contains("AmentPackage")){ + Ros2components.add(component); + } + } + return Ros2components; + } + + def check_ns(ComponentInterface component){ + if (component.hasNS){ + return component.get_ns(); + }else { + return ""; + } + } + def List InterfaceDef(String name, String type){ ListInterfaceDef = new ArrayList() ListInterfaceDef.add(name.replace("/","_")) @@ -58,6 +86,16 @@ def generate_launch_description(): return ListInterfaceDef } + def boolean hasNS(ComponentInterface component){ + if(!component.nameSpace.nullOrEmpty){ + return true; + }else{ + return false + } + } + def String get_ns(ComponentInterface component){ + return component.nameSpace.replaceFirst("/",""); + } def String compile_remappings_str(ComponentInterface component) { var remap_str = ""; diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend index 64268afc4..f596b8e40 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/PackageXmlCompiler.xtend @@ -35,15 +35,15 @@ class PackageXmlCompiler{ ''' - def compile_package_xml_format3(RosSystem system) '''«init_pkg()» + def compile_package_xml_format3(RosSystem system,ComponentStack stack) '''«init_pkg()» - «system.name.toLowerCase» + «IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF» 0.0.1 - This package provides launch file for operating «system.name» + This package provides launch file for operating «IF stack===null»«system.name»«ELSE»«system.name.toLowerCase»_«stack.name»«ENDIF» Jane Doe Jane Doe Apache 2.0 diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index 2efe01db3..96fa68613 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -12,11 +12,15 @@ import org.eclipse.xtext.generator.IGeneratorContext import org.eclipse.xtext.generator.IOutputConfigurationProvider import org.eclipse.xtext.generator.OutputConfiguration import rossystem.RosSystem +import componentInterface.ComponentInterface +import java.util.List +import java.util.ArrayList +import rossystem.ComponentStack class CustomOutputProvider implements IOutputConfigurationProvider { public final static String CM_CONFIGURATION = "CM_CONFIGURATION" public final static String DEFAULT_OUTPUT = "DEFAULT_OUTPUT" - + override Set getOutputConfigurations() { var OutputConfiguration cm_config = new OutputConfiguration(CM_CONFIGURATION) @@ -46,8 +50,12 @@ class RosSystemGenerator extends AbstractGenerator { @Inject extension LaunchFileCompiler_ROS1 @Inject extension LaunchFileCompiler_ROS2 @Inject extension SetupPyCompile + @Inject extension DockerComposeCompiler + @Inject extension DockerContainerCompiler //@Inject extension InstallScriptCompiler - + + ArrayList Ros1Components = new ArrayList(); + ArrayList Ros2Components = new ArrayList(); override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { for (system : resource.allContents.toIterable.filter(RosSystem)){ @@ -58,29 +66,72 @@ class RosSystemGenerator extends AbstractGenerator { // } - // ROS1 package for (system : resource.allContents.toIterable.filter(RosSystem)){ - if (system.componentStack.size==0){ - fsa.generateFile(system.getName().toLowerCase+"/package.xml",compile_package_xml_format2(system, null)) - fsa.generateFile(system.getName().toLowerCase+"/CMakeLists.txt",compile_CMakeLists_ROS1(system, null)) - fsa.generateFile(system.getName().toLowerCase+"/launch/"+system.getName()+".launch",compile_toROS1launch(system, null).toString().replace("\t"," ")) - } else { - for (stack : system.componentStack){ - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format2(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS1(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS1launch(system, stack).toString().replace("\t"," ")) + Ros1Components.clear; + Ros2Components.clear; + for ( ComponentInterface component:system.rosComponent){ + if (component.compile_pkg_type.toString.contains("CatkinPackage")){ + Ros1Components.add(component) + + } else if (component.compile_pkg_type.toString.contains("AmentPackage")) { + Ros2Components.add(component) + } + } + if (system.componentStack.size!==0){ + for ( ComponentStack stack:system.componentStack){ + for (ComponentInterface component:stack.rosComponent){ + if (component.compile_pkg_type.toString.contains("CatkinPackage")){ + Ros1Components.add(component) + + } else if (component.compile_pkg_type.toString.contains("AmentPackage")) { + Ros2Components.add(component) + } + }} } + + //ROS1 package + if (Ros1Components.size()>0){ + if (system.componentStack.size()==0){ + fsa.generateFile(system.getName().toLowerCase+"/package.xml",compile_package_xml_format2(system, null)) + fsa.generateFile(system.getName().toLowerCase+"/CMakeLists.txt",compile_CMakeLists_ROS1(system, null)) + fsa.generateFile(system.getName().toLowerCase+"/launch/"+system.getName()+".launch",compile_toROS1launch(system, null).toString().replace("\t"," ")) + fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",compile_toDockerContainer(system, null)) + } else { + for (stack : system.componentStack){ + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format2(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS1(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS1launch(system, stack).toString().replace("\t"," ")) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),compile_toDockerContainer(system, stack)) + } + fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),compile_toDockerCompose(system)) + } } - } + //ROS2 package + if (Ros2Components.size()>0){ + if (system.componentStack.size()==0){ + fsa.generateFile(system.getName().toLowerCase+"_ros2/package.xml",compile_package_xml_format3 (system, null)) + fsa.generateFile(system.getName().toLowerCase+"_ros2/CMakeLists.txt",compile_CMakeLists_ROS2(system, null)) + fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch",compile_toROS2launch(system, null).toString().replace("\t"," ")) + fsa.generateFile(system.getName().toLowerCase+"_ros2/setup.py",system.compile_setup_py) + fsa.generateFile(system.getName().toLowerCase+"_ros2/resource/" + system.getName().toLowerCase, "") + fsa.generateFile(system.getName().toLowerCase+"_ros2/" + system.getName().toLowerCase + "/__init__.py", "") + //fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",compile_toDockerContainer(system, null)) + } else { + for (stack : system.componentStack){ + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format3(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS2(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS2launch(system, stack).toString().replace("\t"," ")) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "setup.py"),system.compile_setup_py) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "resource/" + system.name.toLowerCase+'_'+stack.name.toLowerCase.toLowerCase), "") + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "/__init__.py"), "") + //fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),compile_toDockerContainer(system, stack)) + } + //fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),compile_toDockerCompose(system)) + } - //ROS2 package - for (system : resource.allContents.toIterable.filter(RosSystem)){ - fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch.py",system.compile_toROS2launch.toString().replace("\t"," ")) - fsa.generateFile(system.getName().toLowerCase+"_ros2/package.xml",system.compile_package_xml_format3) - fsa.generateFile(system.getName().toLowerCase+"_ros2/setup.py",system.compile_setup_py) - fsa.generateFile(system.getName().toLowerCase+"_ros2/resource/" + system.getName().toLowerCase, "") - fsa.generateFile(system.getName().toLowerCase+"_ros2/" + system.getName().toLowerCase + "/__init__.py", "") - fsa.generateFile(system.getName().toLowerCase+"_ros2/CMakeLists.txt",system.compile_CMakeLists_ROS2) + } } } + } + From a3dcb3acfc4b924f41b1a67bb08aa1fd562a7415 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Fri, 1 Oct 2021 16:43:25 +0200 Subject: [PATCH 19/48] Fix Launch file generators for ROS2 for Stacks --- .../generator/LaunchFileCompiler_ROS1.xtend | 14 ++-- .../generator/LaunchFileCompiler_ROS2.xtend | 19 +++-- .../generator/RosSystemGenerator.xtend | 77 +++++++++---------- 3 files changed, 51 insertions(+), 59 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend index 8f4df9218..24e661d18 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS1.xtend @@ -31,7 +31,7 @@ class LaunchFileCompiler_ROS1 { String tab_tmp="" List sizes_list = new ArrayList(); List param_list = new ArrayList(); - List components = new ArrayList(); + List components_tmp = new ArrayList(); List Ros1components = new ArrayList(); @@ -67,7 +67,7 @@ class LaunchFileCompiler_ROS1 { «ENDFOR»«ENDIF» - «FOR component:compile_list_of_components(system,stack)» + «FOR component:compile_list_of_ROS1components(system,stack)» «init_comp()»«init_pkg» «FOR rosPublisher:component.rospublisher» «remapping_function_pub(rosPublisher, component.hasNS, inTopicFromConnection(rosPublisher, system.topicConnections),component.check_ns)» @@ -109,15 +109,15 @@ class LaunchFileCompiler_ROS1 { ''' - def List compile_list_of_components(RosSystem system, ComponentStack stack) { - components.clear; + def List compile_list_of_ROS1components(RosSystem system, ComponentStack stack) { + components_tmp.clear; Ros1components.clear; if (stack === null){ - components = system.rosComponent; + components_tmp = system.rosComponent; } else { - components = stack.rosComponent; + components_tmp = stack.rosComponent; } - for(ComponentInterface component:components){ + for(ComponentInterface component:components_tmp){ if (component.compile_pkg_type.toString.contains("CatkinPackage")){ Ros1components.add(component); } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend index e9fa1df36..bed0006f3 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/LaunchFileCompiler_ROS2.xtend @@ -24,7 +24,7 @@ class LaunchFileCompiler_ROS2 { List ListInterfaceDef int param_count - List components = new ArrayList(); + List components_tmp_ = new ArrayList(); List Ros2components = new ArrayList(); @@ -33,9 +33,9 @@ from launch import LaunchDescription from launch_ros.actions import Node def generate_launch_description(): - ld = LaunchDescription() + ld = LaunchDescription()«compile_list_of_ROS2components(system,stack)» - «FOR component:compile_list_of_components(system,stack)» + «FOR component:Ros2components» «component.name» = Node( package="«component.compile_pkg»«init_pkg»", executable="«component.compile_art»«init_comp()»", @@ -47,27 +47,26 @@ def generate_launch_description(): ) «ENDFOR» - «FOR component:compile_list_of_components(system,stack)» + «FOR component:Ros2components» ld.add_action(«component.name») «ENDFOR» return ld ''' - def List compile_list_of_components(RosSystem system, ComponentStack stack) { - components.clear; + def void compile_list_of_ROS2components(RosSystem system, ComponentStack stack) { + components_tmp_.clear; Ros2components.clear; if (stack === null){ - components = system.rosComponent; + components_tmp_ = system.rosComponent; } else { - components = stack.rosComponent; + components_tmp_ = stack.rosComponent; } - for(ComponentInterface component:components){ + for(ComponentInterface component:components_tmp_){ if (component.compile_pkg_type.toString.contains("AmentPackage")){ Ros2components.add(component); } } - return Ros2components; } def check_ns(ComponentInterface component){ diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index 96fa68613..559c9c54f 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -13,9 +13,9 @@ import org.eclipse.xtext.generator.IOutputConfigurationProvider import org.eclipse.xtext.generator.OutputConfiguration import rossystem.RosSystem import componentInterface.ComponentInterface -import java.util.List import java.util.ArrayList import rossystem.ComponentStack +import java.util.Collections class CustomOutputProvider implements IOutputConfigurationProvider { public final static String CM_CONFIGURATION = "CM_CONFIGURATION" @@ -50,8 +50,6 @@ class RosSystemGenerator extends AbstractGenerator { @Inject extension LaunchFileCompiler_ROS1 @Inject extension LaunchFileCompiler_ROS2 @Inject extension SetupPyCompile - @Inject extension DockerComposeCompiler - @Inject extension DockerContainerCompiler //@Inject extension InstallScriptCompiler ArrayList Ros1Components = new ArrayList(); @@ -89,49 +87,44 @@ class RosSystemGenerator extends AbstractGenerator { }} } - //ROS1 package - if (Ros1Components.size()>0){ - if (system.componentStack.size()==0){ - fsa.generateFile(system.getName().toLowerCase+"/package.xml",compile_package_xml_format2(system, null)) - fsa.generateFile(system.getName().toLowerCase+"/CMakeLists.txt",compile_CMakeLists_ROS1(system, null)) - fsa.generateFile(system.getName().toLowerCase+"/launch/"+system.getName()+".launch",compile_toROS1launch(system, null).toString().replace("\t"," ")) - fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",compile_toDockerContainer(system, null)) - } else { - for (stack : system.componentStack){ - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format2(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS1(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS1launch(system, stack).toString().replace("\t"," ")) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),compile_toDockerContainer(system, stack)) - } - fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),compile_toDockerCompose(system)) + if (system.componentStack.size()==0){ + // ROS1 for systems + if (Ros1Components.size()>0){ + fsa.generateFile(system.getName().toLowerCase+"/package.xml",compile_package_xml_format2(system, null)) + fsa.generateFile(system.getName().toLowerCase+"/CMakeLists.txt",compile_CMakeLists_ROS1(system, null)) + fsa.generateFile(system.getName().toLowerCase+"/launch/"+system.getName()+".launch",compile_toROS1launch(system, null).toString().replace("\t"," ")) + } + // ROS2 for systems + if (Ros2Components.size()>0){ + fsa.generateFile(system.getName().toLowerCase+"_ros2/package.xml",compile_package_xml_format3 (system, null)) + fsa.generateFile(system.getName().toLowerCase+"_ros2/CMakeLists.txt",compile_CMakeLists_ROS2(system, null)) + fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch",compile_toROS2launch(system, null).toString().replace("\t"," ")) + fsa.generateFile(system.getName().toLowerCase+"_ros2/setup.py",system.compile_setup_py) + fsa.generateFile(system.getName().toLowerCase+"_ros2/resource/" + system.getName().toLowerCase, "") + fsa.generateFile(system.getName().toLowerCase+"_ros2/" + system.getName().toLowerCase + "/__init__.py", "") } - } - //ROS2 package - if (Ros2Components.size()>0){ - if (system.componentStack.size()==0){ - fsa.generateFile(system.getName().toLowerCase+"_ros2/package.xml",compile_package_xml_format3 (system, null)) - fsa.generateFile(system.getName().toLowerCase+"_ros2/CMakeLists.txt",compile_CMakeLists_ROS2(system, null)) - fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch",compile_toROS2launch(system, null).toString().replace("\t"," ")) - fsa.generateFile(system.getName().toLowerCase+"_ros2/setup.py",system.compile_setup_py) - fsa.generateFile(system.getName().toLowerCase+"_ros2/resource/" + system.getName().toLowerCase, "") - fsa.generateFile(system.getName().toLowerCase+"_ros2/" + system.getName().toLowerCase + "/__init__.py", "") - //fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",compile_toDockerContainer(system, null)) - } else { + } else { for (stack : system.componentStack){ - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format3(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS2(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS2launch(system, stack).toString().replace("\t"," ")) - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "setup.py"),system.compile_setup_py) - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "resource/" + system.name.toLowerCase+'_'+stack.name.toLowerCase.toLowerCase), "") - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "/__init__.py"), "") - //fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),compile_toDockerContainer(system, stack)) - } - //fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),compile_toDockerCompose(system)) + // ROS1 for stacks + if (!Collections.disjoint(stack.rosComponent, Ros1Components)) { + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format2(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS1(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS1launch(system, stack).toString().replace("\t"," ")) + } + // ROS2 for stacks + if (!Collections.disjoint(stack.rosComponent, Ros2Components)) { + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format3(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS2(system, stack)) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS2launch(system, stack).toString().replace("\t"," ")) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "setup.py"),system.compile_setup_py) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "resource/" + system.name.toLowerCase+'_'+stack.name.toLowerCase.toLowerCase), "") + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "/__init__.py"), "") + } + + } } - } + } } -} - From f56f78b4f5af7e683bf8378f5174893b2fd23563 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Fri, 1 Oct 2021 16:44:27 +0200 Subject: [PATCH 20/48] Integration and regeneration of the models, the grammar and the compiler backend code for the attributes FromGitRepo and AmentPackage type --- .../plugin.properties | 1 + .../provider/AmentPackageItemProvider.java | 53 - .../ParameterIntegerItemProvider.java | 9 +- .../ide/contentassist/antlr/RosParser.java | 16 + .../antlr/internal/InternalRos.g | 1657 +- .../antlr/internal/InternalRos.tokens | 128 +- .../antlr/internal/InternalRosLexer.java | 1757 +- .../antlr/internal/InternalRosParser.java | 15170 +++++++++------- .../AbstractRosProposalProvider.java | 9 +- .../de/fraunhofer/ipa/ros/Ros.xtextbin | Bin 15850 -> 16360 bytes .../ros/parser/antlr/internal/InternalRos.g | 137 +- .../parser/antlr/internal/InternalRos.tokens | 156 +- .../antlr/internal/InternalRosLexer.java | 1631 +- .../antlr/internal/InternalRosParser.java | 4392 +++-- .../ros/serializer/RosSemanticSequencer.java | 8 +- .../ipa/ros/services/RosGrammarAccess.java | 2118 +-- .../src/de/fraunhofer/ipa/ros/Ros.xtext | 3 +- plugins/de.fraunhofer.ipa.ros/model/ros.ecore | 5 +- .../de.fraunhofer.ipa.ros/model/ros.genmodel | 4 +- .../src/ros/AmentPackage.java | 19 - .../src/ros/RosPackage.java | 32 +- .../src/ros/impl/AmentPackageImpl.java | 115 - .../src/ros/impl/RosPackageImpl.java | 12 - 23 files changed, 15849 insertions(+), 11583 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.ros.edit/plugin.properties b/plugins/de.fraunhofer.ipa.ros.edit/plugin.properties index 21604bf45..757a134d8 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/plugin.properties +++ b/plugins/de.fraunhofer.ipa.ros.edit/plugin.properties @@ -181,3 +181,4 @@ _UI_ByteArray_type = Byte Array _UI_Parameter_value_feature = Value _UI_Package_fromGitRepo_feature = From Git Repo _UI_Package_dependency_feature = Dependency +_UI_AmentPackage_type = Ament Package diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java index 6dc0ff046..2d1ffbed6 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java @@ -8,15 +8,8 @@ import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EStructuralFeature; - import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - import ros.AmentPackage; -import ros.RosFactory; -import ros.RosPackage; /** * This is the item provider adapter for a {@link ros.AmentPackage} object. @@ -50,36 +43,6 @@ public List getPropertyDescriptors(Object object) { return itemPropertyDescriptors; } - /** - * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an - * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or - * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. - * - * - * @generated - */ - @Override - public Collection getChildrenFeatures(Object object) { - if (childrenFeatures == null) { - super.getChildrenFeatures(object); - childrenFeatures.add(RosPackage.Literals.AMENT_PACKAGE__DEPENDENCY); - } - return childrenFeatures; - } - - /** - * - * - * @generated - */ - @Override - protected EStructuralFeature getChildFeature(Object object, Object child) { - // Check the type of the specified child object and return the proper feature to use for - // adding (see {@link AddCommand}) it as a child. - - return super.getChildFeature(object, child); - } - /** * This returns AmentPackage.gif. * @@ -116,12 +79,6 @@ public String getText(Object object) { @Override public void notifyChanged(Notification notification) { updateChildren(notification); - - switch (notification.getFeatureID(AmentPackage.class)) { - case RosPackage.AMENT_PACKAGE__DEPENDENCY: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); - return; - } super.notifyChanged(notification); } @@ -135,16 +92,6 @@ public void notifyChanged(Notification notification) { @Override protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { super.collectNewChildDescriptors(newChildDescriptors, object); - - newChildDescriptors.add - (createChildParameter - (RosPackage.Literals.AMENT_PACKAGE__DEPENDENCY, - RosFactory.eINSTANCE.createPackageDependency())); - - newChildDescriptors.add - (createChildParameter - (RosPackage.Literals.AMENT_PACKAGE__DEPENDENCY, - RosFactory.eINSTANCE.createExternalDependency())); } } diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/ParameterIntegerItemProvider.java b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/ParameterIntegerItemProvider.java index 1693bbbd9..76078c122 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/ParameterIntegerItemProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/ParameterIntegerItemProvider.java @@ -67,7 +67,7 @@ protected void addValuePropertyDescriptor(Object object) { true, false, false, - ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); } @@ -91,8 +91,11 @@ public Object getImage(Object object) { */ @Override public String getText(Object object) { - ParameterInteger parameterInteger = (ParameterInteger)object; - return getString("_UI_ParameterInteger_type") + " " + parameterInteger.getValue(); + Integer labelValue = ((ParameterInteger)object).getValue(); + String label = labelValue == null ? null : labelValue.toString(); + return label == null || label.length() == 0 ? + getString("_UI_ParameterInteger_type") : + getString("_UI_ParameterInteger_type") + " " + label; } diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java index 3f2aeb9ee..e0b03855d 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/RosParser.java @@ -62,6 +62,14 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCatkinPackageAccess().getGroup_6_3(), "rule__CatkinPackage__Group_6_3__0"); builder.put(grammarAccess.getCatkinPackageAccess().getGroup_7(), "rule__CatkinPackage__Group_7__0"); builder.put(grammarAccess.getCatkinPackageAccess().getGroup_7_1(), "rule__CatkinPackage__Group_7_1__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup(), "rule__AmentPackage__Group__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup_4(), "rule__AmentPackage__Group_4__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup_5(), "rule__AmentPackage__Group_5__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup_5_3(), "rule__AmentPackage__Group_5_3__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup_6(), "rule__AmentPackage__Group_6__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup_6_3(), "rule__AmentPackage__Group_6_3__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup_7(), "rule__AmentPackage__Group_7__0"); + builder.put(grammarAccess.getAmentPackageAccess().getGroup_7_1(), "rule__AmentPackage__Group_7_1__0"); builder.put(grammarAccess.getServiceSpecAccess().getGroup(), "rule__ServiceSpec__Group__0"); builder.put(grammarAccess.getServiceSpecAccess().getGroup_4(), "rule__ServiceSpec__Group_4__0"); builder.put(grammarAccess.getServiceSpecAccess().getGroup_5(), "rule__ServiceSpec__Group_5__0"); @@ -190,6 +198,14 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1(), "rule__CatkinPackage__SpecAssignment_6_3_1"); builder.put(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0(), "rule__CatkinPackage__ArtifactAssignment_7_0"); builder.put(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1(), "rule__CatkinPackage__ArtifactAssignment_7_1_1"); + builder.put(grammarAccess.getAmentPackageAccess().getNameAssignment_2(), "rule__AmentPackage__NameAssignment_2"); + builder.put(grammarAccess.getAmentPackageAccess().getFromGitRepoAssignment_4_1(), "rule__AmentPackage__FromGitRepoAssignment_4_1"); + builder.put(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_2(), "rule__AmentPackage__DependencyAssignment_5_2"); + builder.put(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_3_1(), "rule__AmentPackage__DependencyAssignment_5_3_1"); + builder.put(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_2(), "rule__AmentPackage__SpecAssignment_6_2"); + builder.put(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_3_1(), "rule__AmentPackage__SpecAssignment_6_3_1"); + builder.put(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_0(), "rule__AmentPackage__ArtifactAssignment_7_0"); + builder.put(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_1_1(), "rule__AmentPackage__ArtifactAssignment_7_1_1"); builder.put(grammarAccess.getServiceSpecAccess().getNameAssignment_2(), "rule__ServiceSpec__NameAssignment_2"); builder.put(grammarAccess.getServiceSpecAccess().getRequestAssignment_4_1(), "rule__ServiceSpec__RequestAssignment_4_1"); builder.put(grammarAccess.getServiceSpecAccess().getResponseAssignment_5_1(), "rule__ServiceSpec__ResponseAssignment_5_1"); diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g index 885929ff1..6ead1225b 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.g @@ -640,9 +640,9 @@ rulePackageDependency } : ( - { before(grammarAccess.getPackageDependencyAccess().getGroup()); } - (rule__PackageDependency__Group__0) - { after(grammarAccess.getPackageDependencyAccess().getGroup()); } + { before(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); } + (rule__PackageDependency__PackageAssignment) + { after(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); } ) ; finally { @@ -2290,6 +2290,12 @@ rule__Package__Alternatives ruleCatkinPackage { after(grammarAccess.getPackageAccess().getCatkinPackageParserRuleCall_1()); } ) + | + ( + { before(grammarAccess.getPackageAccess().getAmentPackageParserRuleCall_2()); } + ruleAmentPackage + { after(grammarAccess.getPackageAccess().getAmentPackageParserRuleCall_2()); } + ) ; finally { restoreStackSize(stackSize); @@ -3261,6 +3267,7 @@ rule__Package_Impl__Group__6 } : rule__Package_Impl__Group__6__Impl + rule__Package_Impl__Group__7 ; finally { restoreStackSize(stackSize); @@ -3272,9 +3279,35 @@ rule__Package_Impl__Group__6__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_6()); } + (rule__Package_Impl__Group_6__0)? + { after(grammarAccess.getPackage_ImplAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__Package_Impl__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); } '}' - { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_6()); } + { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); } ) ; finally { @@ -3300,9 +3333,9 @@ rule__Package_Impl__Group_4__0__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); } - 'Specs' - { after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_4_0()); } + { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); } + 'FromGitRepo' + { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); } ) ; finally { @@ -3315,7 +3348,6 @@ rule__Package_Impl__Group_4__1 } : rule__Package_Impl__Group_4__1__Impl - rule__Package_Impl__Group_4__2 ; finally { restoreStackSize(stackSize); @@ -3327,89 +3359,144 @@ rule__Package_Impl__Group_4__1__Impl } : ( - { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); } + { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); } + (rule__Package_Impl__FromGitRepoAssignment_4_1) + { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Package_Impl__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Package_Impl__Group_5__0__Impl + rule__Package_Impl__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); } + 'Specs' + { after(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Package_Impl__Group_5__1__Impl + rule__Package_Impl__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); } '{' - { after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_4_1()); } + { after(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__2 +rule__Package_Impl__Group_5__2 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4__2__Impl - rule__Package_Impl__Group_4__3 + rule__Package_Impl__Group_5__2__Impl + rule__Package_Impl__Group_5__3 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__2__Impl +rule__Package_Impl__Group_5__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); } - (rule__Package_Impl__SpecAssignment_4_2) - { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_2()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); } + (rule__Package_Impl__SpecAssignment_5_2) + { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__3 +rule__Package_Impl__Group_5__3 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4__3__Impl - rule__Package_Impl__Group_4__4 + rule__Package_Impl__Group_5__3__Impl + rule__Package_Impl__Group_5__4 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__3__Impl +rule__Package_Impl__Group_5__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); } - (rule__Package_Impl__Group_4_3__0)* - { after(grammarAccess.getPackage_ImplAccess().getGroup_4_3()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); } + (rule__Package_Impl__Group_5_3__0)* + { after(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__4 +rule__Package_Impl__Group_5__4 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4__4__Impl + rule__Package_Impl__Group_5__4__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4__4__Impl +rule__Package_Impl__Group_5__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); } + { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } '}' - { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_4_4()); } + { after(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); } ) ; finally { @@ -3417,53 +3504,53 @@ finally { } -rule__Package_Impl__Group_4_3__0 +rule__Package_Impl__Group_5_3__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4_3__0__Impl - rule__Package_Impl__Group_4_3__1 + rule__Package_Impl__Group_5_3__0__Impl + rule__Package_Impl__Group_5_3__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4_3__0__Impl +rule__Package_Impl__Group_5_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); } + { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); } ',' - { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_4_3_0()); } + { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4_3__1 +rule__Package_Impl__Group_5_3__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_4_3__1__Impl + rule__Package_Impl__Group_5_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_4_3__1__Impl +rule__Package_Impl__Group_5_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); } - (rule__Package_Impl__SpecAssignment_4_3_1) - { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_4_3_1()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); } + (rule__Package_Impl__SpecAssignment_5_3_1) + { after(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); } ) ; finally { @@ -3471,53 +3558,53 @@ finally { } -rule__Package_Impl__Group_5__0 +rule__Package_Impl__Group_6__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5__0__Impl - rule__Package_Impl__Group_5__1 + rule__Package_Impl__Group_6__0__Impl + rule__Package_Impl__Group_6__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__0__Impl +rule__Package_Impl__Group_6__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); } - (rule__Package_Impl__ArtifactAssignment_5_0) - { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); } + (rule__Package_Impl__ArtifactAssignment_6_0) + { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__1 +rule__Package_Impl__Group_6__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5__1__Impl + rule__Package_Impl__Group_6__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5__1__Impl +rule__Package_Impl__Group_6__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); } - (rule__Package_Impl__Group_5_1__0)* - { after(grammarAccess.getPackage_ImplAccess().getGroup_5_1()); } + { before(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); } + (rule__Package_Impl__Group_6_1__0)* + { after(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); } ) ; finally { @@ -3525,53 +3612,53 @@ finally { } -rule__Package_Impl__Group_5_1__0 +rule__Package_Impl__Group_6_1__0 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5_1__0__Impl - rule__Package_Impl__Group_5_1__1 + rule__Package_Impl__Group_6_1__0__Impl + rule__Package_Impl__Group_6_1__1 ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_1__0__Impl +rule__Package_Impl__Group_6_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); } ',' - { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_1__1 +rule__Package_Impl__Group_6_1__1 @init { int stackSize = keepStackSize(); } : - rule__Package_Impl__Group_5_1__1__Impl + rule__Package_Impl__Group_6_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__Group_5_1__1__Impl +rule__Package_Impl__Group_6_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); } - (rule__Package_Impl__ArtifactAssignment_5_1_1) - { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_5_1_1()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); } + (rule__Package_Impl__ArtifactAssignment_6_1_1) + { after(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); } ) ; finally { @@ -3834,122 +3921,986 @@ finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__3__Impl +rule__CatkinPackage__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group__4__Impl + rule__CatkinPackage__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_4()); } + (rule__CatkinPackage__Group_4__0)? + { after(grammarAccess.getCatkinPackageAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group__5__Impl + rule__CatkinPackage__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_5()); } + (rule__CatkinPackage__Group_5__0)? + { after(grammarAccess.getCatkinPackageAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group__6__Impl + rule__CatkinPackage__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_6()); } + (rule__CatkinPackage__Group_6__0)? + { after(grammarAccess.getCatkinPackageAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group__7__Impl + rule__CatkinPackage__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_7()); } + (rule__CatkinPackage__Group_7__0)? + { after(grammarAccess.getCatkinPackageAccess().getGroup_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group__8__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); } + '}' + { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_4__0__Impl + rule__CatkinPackage__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); } + 'FromGitRepo' + { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); } + (rule__CatkinPackage__FromGitRepoAssignment_4_1) + { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_5__0__Impl + rule__CatkinPackage__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); } + 'Dependencies' + { after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_5__1__Impl + rule__CatkinPackage__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); } + '{' + { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_5__2__Impl + rule__CatkinPackage__Group_5__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); } + (rule__CatkinPackage__DependencyAssignment_5_2) + { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_5__3__Impl + rule__CatkinPackage__Group_5__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); } + (rule__CatkinPackage__Group_5_3__0)* + { after(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_5__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } + '}' + { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_5_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_5_3__0__Impl + rule__CatkinPackage__Group_5_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); } + ',' + { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_5_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_5_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); } + (rule__CatkinPackage__DependencyAssignment_5_3_1) + { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_6__0__Impl + rule__CatkinPackage__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); } + 'Specs' + { after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_6__1__Impl + rule__CatkinPackage__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); } + '{' + { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_6__2__Impl + rule__CatkinPackage__Group_6__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); } + (rule__CatkinPackage__SpecAssignment_6_2) + { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_6__3__Impl + rule__CatkinPackage__Group_6__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); } + (rule__CatkinPackage__Group_6_3__0)* + { after(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_6__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); } + '}' + { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_6_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_6_3__0__Impl + rule__CatkinPackage__Group_6_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); } + ',' + { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_6_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_6_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); } + (rule__CatkinPackage__SpecAssignment_6_3_1) + { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_7__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7__0__Impl + rule__CatkinPackage__Group_7__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); } + (rule__CatkinPackage__ArtifactAssignment_7_0) + { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); } + (rule__CatkinPackage__Group_7_1__0)* + { after(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CatkinPackage__Group_7_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7_1__0__Impl + rule__CatkinPackage__Group_7_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); } + ',' + { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CatkinPackage__Group_7_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__Group_7_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); } + (rule__CatkinPackage__ArtifactAssignment_7_1_1) + { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AmentPackage__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AmentPackage__Group__0__Impl + rule__AmentPackage__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAmentPackageAccess().getAmentPackageAction_0()); } + () + { after(grammarAccess.getAmentPackageAccess().getAmentPackageAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AmentPackage__Group__1__Impl + rule__AmentPackage__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAmentPackageAccess().getAmentPackageKeyword_1()); } + 'AmentPackage' + { after(grammarAccess.getAmentPackageAccess().getAmentPackageKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AmentPackage__Group__2__Impl + rule__AmentPackage__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAmentPackageAccess().getNameAssignment_2()); } + (rule__AmentPackage__NameAssignment_2) + { after(grammarAccess.getAmentPackageAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__AmentPackage__Group__3__Impl + rule__AmentPackage__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_3()); } + '{' + { after(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__AmentPackage__Group__4__Impl + rule__AmentPackage__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAmentPackageAccess().getGroup_4()); } + (rule__AmentPackage__Group_4__0)? + { after(grammarAccess.getAmentPackageAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__AmentPackage__Group__5__Impl + rule__AmentPackage__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAmentPackageAccess().getGroup_5()); } + (rule__AmentPackage__Group_5__0)? + { after(grammarAccess.getAmentPackageAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__AmentPackage__Group__6__Impl + rule__AmentPackage__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); } - '{' - { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); } + { before(grammarAccess.getAmentPackageAccess().getGroup_6()); } + (rule__AmentPackage__Group_6__0)? + { after(grammarAccess.getAmentPackageAccess().getGroup_6()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__4 +rule__AmentPackage__Group__7 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group__4__Impl - rule__CatkinPackage__Group__5 + rule__AmentPackage__Group__7__Impl + rule__AmentPackage__Group__8 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__4__Impl +rule__AmentPackage__Group__7__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_4()); } - (rule__CatkinPackage__Group_4__0)? - { after(grammarAccess.getCatkinPackageAccess().getGroup_4()); } + { before(grammarAccess.getAmentPackageAccess().getGroup_7()); } + (rule__AmentPackage__Group_7__0)? + { after(grammarAccess.getAmentPackageAccess().getGroup_7()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__5 +rule__AmentPackage__Group__8 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group__5__Impl - rule__CatkinPackage__Group__6 + rule__AmentPackage__Group__8__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__5__Impl +rule__AmentPackage__Group__8__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_5()); } - (rule__CatkinPackage__Group_5__0)? - { after(grammarAccess.getCatkinPackageAccess().getGroup_5()); } + { before(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_8()); } + '}' + { after(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_8()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__6 + +rule__AmentPackage__Group_4__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group__6__Impl - rule__CatkinPackage__Group__7 + rule__AmentPackage__Group_4__0__Impl + rule__AmentPackage__Group_4__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__6__Impl +rule__AmentPackage__Group_4__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_6()); } - (rule__CatkinPackage__Group_6__0)? - { after(grammarAccess.getCatkinPackageAccess().getGroup_6()); } + { before(grammarAccess.getAmentPackageAccess().getFromGitRepoKeyword_4_0()); } + 'FromGitRepo' + { after(grammarAccess.getAmentPackageAccess().getFromGitRepoKeyword_4_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__7 +rule__AmentPackage__Group_4__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group__7__Impl + rule__AmentPackage__Group_4__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group__7__Impl +rule__AmentPackage__Group_4__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); } - '}' - { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_7()); } + { before(grammarAccess.getAmentPackageAccess().getFromGitRepoAssignment_4_1()); } + (rule__AmentPackage__FromGitRepoAssignment_4_1) + { after(grammarAccess.getAmentPackageAccess().getFromGitRepoAssignment_4_1()); } ) ; finally { @@ -3957,134 +4908,134 @@ finally { } -rule__CatkinPackage__Group_4__0 +rule__AmentPackage__Group_5__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__0__Impl - rule__CatkinPackage__Group_4__1 + rule__AmentPackage__Group_5__0__Impl + rule__AmentPackage__Group_5__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__0__Impl +rule__AmentPackage__Group_5__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); } - 'Specs' - { after(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_4_0()); } + { before(grammarAccess.getAmentPackageAccess().getDependenciesKeyword_5_0()); } + 'Dependencies' + { after(grammarAccess.getAmentPackageAccess().getDependenciesKeyword_5_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__1 +rule__AmentPackage__Group_5__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__1__Impl - rule__CatkinPackage__Group_4__2 + rule__AmentPackage__Group_5__1__Impl + rule__AmentPackage__Group_5__2 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__1__Impl +rule__AmentPackage__Group_5__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); } + { before(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_5_1()); } '{' - { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_4_1()); } + { after(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_5_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__2 +rule__AmentPackage__Group_5__2 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__2__Impl - rule__CatkinPackage__Group_4__3 + rule__AmentPackage__Group_5__2__Impl + rule__AmentPackage__Group_5__3 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__2__Impl +rule__AmentPackage__Group_5__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); } - (rule__CatkinPackage__SpecAssignment_4_2) - { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_2()); } + { before(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_2()); } + (rule__AmentPackage__DependencyAssignment_5_2) + { after(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__3 +rule__AmentPackage__Group_5__3 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__3__Impl - rule__CatkinPackage__Group_4__4 + rule__AmentPackage__Group_5__3__Impl + rule__AmentPackage__Group_5__4 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__3__Impl +rule__AmentPackage__Group_5__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); } - (rule__CatkinPackage__Group_4_3__0)* - { after(grammarAccess.getCatkinPackageAccess().getGroup_4_3()); } + { before(grammarAccess.getAmentPackageAccess().getGroup_5_3()); } + (rule__AmentPackage__Group_5_3__0)* + { after(grammarAccess.getAmentPackageAccess().getGroup_5_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__4 +rule__AmentPackage__Group_5__4 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4__4__Impl + rule__AmentPackage__Group_5__4__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4__4__Impl +rule__AmentPackage__Group_5__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); } + { before(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_5_4()); } '}' - { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_4_4()); } + { after(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_5_4()); } ) ; finally { @@ -4092,53 +5043,53 @@ finally { } -rule__CatkinPackage__Group_4_3__0 +rule__AmentPackage__Group_5_3__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4_3__0__Impl - rule__CatkinPackage__Group_4_3__1 + rule__AmentPackage__Group_5_3__0__Impl + rule__AmentPackage__Group_5_3__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4_3__0__Impl +rule__AmentPackage__Group_5_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); } + { before(grammarAccess.getAmentPackageAccess().getCommaKeyword_5_3_0()); } ',' - { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_4_3_0()); } + { after(grammarAccess.getAmentPackageAccess().getCommaKeyword_5_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4_3__1 +rule__AmentPackage__Group_5_3__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_4_3__1__Impl + rule__AmentPackage__Group_5_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_4_3__1__Impl +rule__AmentPackage__Group_5_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); } - (rule__CatkinPackage__SpecAssignment_4_3_1) - { after(grammarAccess.getCatkinPackageAccess().getSpecAssignment_4_3_1()); } + { before(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_3_1()); } + (rule__AmentPackage__DependencyAssignment_5_3_1) + { after(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_3_1()); } ) ; finally { @@ -4146,242 +5097,242 @@ finally { } -rule__CatkinPackage__Group_5__0 +rule__AmentPackage__Group_6__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__0__Impl - rule__CatkinPackage__Group_5__1 + rule__AmentPackage__Group_6__0__Impl + rule__AmentPackage__Group_6__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__0__Impl +rule__AmentPackage__Group_6__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); } - (rule__CatkinPackage__ArtifactAssignment_5_0) - { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_0()); } + { before(grammarAccess.getAmentPackageAccess().getSpecsKeyword_6_0()); } + 'Specs' + { after(grammarAccess.getAmentPackageAccess().getSpecsKeyword_6_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__1 +rule__AmentPackage__Group_6__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5__1__Impl + rule__AmentPackage__Group_6__1__Impl + rule__AmentPackage__Group_6__2 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5__1__Impl +rule__AmentPackage__Group_6__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); } - (rule__CatkinPackage__Group_5_1__0)* - { after(grammarAccess.getCatkinPackageAccess().getGroup_5_1()); } + { before(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_6_1()); } + '{' + { after(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_6_1()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CatkinPackage__Group_5_1__0 +rule__AmentPackage__Group_6__2 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5_1__0__Impl - rule__CatkinPackage__Group_5_1__1 + rule__AmentPackage__Group_6__2__Impl + rule__AmentPackage__Group_6__3 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_1__0__Impl +rule__AmentPackage__Group_6__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); } - ',' - { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_1_0()); } + { before(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_2()); } + (rule__AmentPackage__SpecAssignment_6_2) + { after(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_1__1 +rule__AmentPackage__Group_6__3 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_5_1__1__Impl + rule__AmentPackage__Group_6__3__Impl + rule__AmentPackage__Group_6__4 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_5_1__1__Impl +rule__AmentPackage__Group_6__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); } - (rule__CatkinPackage__ArtifactAssignment_5_1_1) - { after(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_5_1_1()); } + { before(grammarAccess.getAmentPackageAccess().getGroup_6_3()); } + (rule__AmentPackage__Group_6_3__0)* + { after(grammarAccess.getAmentPackageAccess().getGroup_6_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__CatkinPackage__Group_6__0 +rule__AmentPackage__Group_6__4 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_6__0__Impl - rule__CatkinPackage__Group_6__1 + rule__AmentPackage__Group_6__4__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__0__Impl +rule__AmentPackage__Group_6__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); } - 'Dependencies' - { after(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_6_0()); } + { before(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_6_4()); } + '}' + { after(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_6_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__1 + +rule__AmentPackage__Group_6_3__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_6__1__Impl - rule__CatkinPackage__Group_6__2 + rule__AmentPackage__Group_6_3__0__Impl + rule__AmentPackage__Group_6_3__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__1__Impl +rule__AmentPackage__Group_6_3__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); } - '{' - { after(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); } + { before(grammarAccess.getAmentPackageAccess().getCommaKeyword_6_3_0()); } + ',' + { after(grammarAccess.getAmentPackageAccess().getCommaKeyword_6_3_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__2 +rule__AmentPackage__Group_6_3__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_6__2__Impl - rule__CatkinPackage__Group_6__3 + rule__AmentPackage__Group_6_3__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__2__Impl +rule__AmentPackage__Group_6_3__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); } - (rule__CatkinPackage__DependencyAssignment_6_2) - { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_2()); } + { before(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_3_1()); } + (rule__AmentPackage__SpecAssignment_6_3_1) + { after(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_3_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__3 + +rule__AmentPackage__Group_7__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_6__3__Impl - rule__CatkinPackage__Group_6__4 + rule__AmentPackage__Group_7__0__Impl + rule__AmentPackage__Group_7__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__3__Impl +rule__AmentPackage__Group_7__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); } - (rule__CatkinPackage__Group_6_3__0)* - { after(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); } + { before(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_0()); } + (rule__AmentPackage__ArtifactAssignment_7_0) + { after(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__4 +rule__AmentPackage__Group_7__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_6__4__Impl + rule__AmentPackage__Group_7__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6__4__Impl +rule__AmentPackage__Group_7__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); } - '}' - { after(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); } + { before(grammarAccess.getAmentPackageAccess().getGroup_7_1()); } + (rule__AmentPackage__Group_7_1__0)* + { after(grammarAccess.getAmentPackageAccess().getGroup_7_1()); } ) ; finally { @@ -4389,53 +5340,53 @@ finally { } -rule__CatkinPackage__Group_6_3__0 +rule__AmentPackage__Group_7_1__0 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_6_3__0__Impl - rule__CatkinPackage__Group_6_3__1 + rule__AmentPackage__Group_7_1__0__Impl + rule__AmentPackage__Group_7_1__1 ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6_3__0__Impl +rule__AmentPackage__Group_7_1__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); } + { before(grammarAccess.getAmentPackageAccess().getCommaKeyword_7_1_0()); } ',' - { after(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); } + { after(grammarAccess.getAmentPackageAccess().getCommaKeyword_7_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6_3__1 +rule__AmentPackage__Group_7_1__1 @init { int stackSize = keepStackSize(); } : - rule__CatkinPackage__Group_6_3__1__Impl + rule__AmentPackage__Group_7_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__Group_6_3__1__Impl +rule__AmentPackage__Group_7_1__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); } - (rule__CatkinPackage__DependencyAssignment_6_3_1) - { after(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_6_3_1()); } + { before(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_1_1()); } + (rule__AmentPackage__ArtifactAssignment_7_1_1) + { after(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_1_1()); } ) ; finally { @@ -8763,60 +9714,6 @@ finally { } -rule__PackageDependency__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__PackageDependency__Group__0__Impl - rule__PackageDependency__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__PackageDependency__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); } - 'PackageDependency' - { after(grammarAccess.getPackageDependencyAccess().getPackageDependencyKeyword_0()); } -) -; -finally { - restoreStackSize(stackSize); -} - -rule__PackageDependency__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__PackageDependency__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__PackageDependency__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( - { before(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); } - (rule__PackageDependency__PackageAssignment_1) - { after(grammarAccess.getPackageDependencyAccess().getPackageAssignment_1()); } -) -; -finally { - restoreStackSize(stackSize); -} - - rule__ExternalDependency__Group__0 @init { int stackSize = keepStackSize(); @@ -14046,60 +14943,75 @@ finally { restoreStackSize(stackSize); } -rule__Package_Impl__SpecAssignment_4_2 +rule__Package_Impl__FromGitRepoAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ruleEString + { after(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Package_Impl__SpecAssignment_5_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); } ruleSpecBase - { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__SpecAssignment_4_3_1 +rule__Package_Impl__SpecAssignment_5_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); } ruleSpecBase - { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__ArtifactAssignment_5_0 +rule__Package_Impl__ArtifactAssignment_6_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); } ruleArtifact - { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__Package_Impl__ArtifactAssignment_5_1_1 +rule__Package_Impl__ArtifactAssignment_6_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); } ruleArtifact - { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + { after(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); } ) ; finally { @@ -14151,90 +15063,225 @@ finally { restoreStackSize(stackSize); } -rule__CatkinPackage__SpecAssignment_4_2 +rule__CatkinPackage__FromGitRepoAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ruleEString + { after(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__DependencyAssignment_5_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } + ruleDependency + { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__DependencyAssignment_5_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } + ruleDependency + { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CatkinPackage__SpecAssignment_6_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } ruleSpecBase - { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_2_0()); } + { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__SpecAssignment_4_3_1 +rule__CatkinPackage__SpecAssignment_6_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } ruleSpecBase - { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_4_3_1_0()); } + { after(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__ArtifactAssignment_5_0 +rule__CatkinPackage__ArtifactAssignment_7_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } ruleArtifact - { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_0_0()); } + { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__ArtifactAssignment_5_1_1 +rule__CatkinPackage__ArtifactAssignment_7_1_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } ruleArtifact - { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_5_1_1_0()); } + { after(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAmentPackageAccess().getNameRosNamesParserRuleCall_2_0()); } + ruleRosNames + { after(grammarAccess.getAmentPackageAccess().getNameRosNamesParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__FromGitRepoAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAmentPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } + ruleEString + { after(grammarAccess.getAmentPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__DependencyAssignment_6_2 +rule__AmentPackage__DependencyAssignment_5_2 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); } + { before(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } ruleDependency - { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_2_0()); } + { after(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__CatkinPackage__DependencyAssignment_6_3_1 +rule__AmentPackage__DependencyAssignment_5_3_1 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); } + { before(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } ruleDependency - { after(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_6_3_1_0()); } + { after(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__SpecAssignment_6_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } + ruleSpecBase + { after(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__SpecAssignment_6_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } + ruleSpecBase + { after(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__ArtifactAssignment_7_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } + ruleArtifact + { after(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AmentPackage__ArtifactAssignment_7_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } + ruleArtifact + { after(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); } ) ; finally { @@ -14925,19 +15972,19 @@ finally { restoreStackSize(stackSize); } -rule__PackageDependency__PackageAssignment_1 +rule__PackageDependency__PackageAssignment @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); } + { before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); } ( - { before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); } + { before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); } ruleEString - { after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_1_0_1()); } + { after(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); } ) - { after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_1_0()); } + { after(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); } ) ; finally { diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens index 9965bfe61..bae92f67f 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRos.tokens @@ -1,88 +1,89 @@ ','=43 -'ActionClient'=69 -'ActionClients'=61 -'ActionServer'=68 -'ActionServers'=60 -'ActionSpec'=54 -'Array'=83 +'ActionClient'=70 +'ActionClients'=62 +'ActionServer'=69 +'ActionServers'=61 +'ActionSpec'=55 +'AmentPackage'=50 +'Array'=84 'Artifact'=47 -'Base64'=82 -'Boolean'=81 +'Base64'=83 +'Boolean'=82 'CatkinPackage'=48 'Dependencies'=49 -'Double'=80 -'ExternalDependency'=70 +'Double'=81 +'ExternalDependency'=71 'FromGitRepo'=45 -'GlobalNamespace'=71 +'GlobalNamespace'=72 'GraphName'=25 'Header'=27 -'Integer'=78 -'List'=76 -'Node'=55 +'Integer'=79 +'List'=77 +'Node'=56 'Package'=44 'PackageSet'=40 -'Parameter'=75 -'ParameterAny'=84 -'ParameterStructMember'=85 -'Parameters'=62 -'PrivateNamespace'=74 -'Publisher'=65 -'Publishers'=57 -'RelativeNamespace'=73 -'ServiceClient'=67 -'ServiceClients'=59 -'ServiceServer'=63 -'ServiceServers'=56 -'ServiceSpec'=50 +'Parameter'=76 +'ParameterAny'=85 +'ParameterStructMember'=86 +'Parameters'=63 +'PrivateNamespace'=75 +'Publisher'=66 +'Publishers'=58 +'RelativeNamespace'=74 +'ServiceClient'=68 +'ServiceClients'=60 +'ServiceServer'=64 +'ServiceServers'=57 +'ServiceSpec'=51 'Specs'=46 'String'=28 -'Struct'=77 -'Subscriber'=66 -'Subscribers'=58 -'TopicSpec'=53 -'[]'=112 +'Struct'=78 +'Subscriber'=67 +'Subscribers'=59 +'TopicSpec'=54 +'[]'=113 'action'=37 -'bool'=86 -'bool[]'=99 -'byte'=98 -'byte[]'=111 -'default'=79 +'bool'=87 +'bool[]'=100 +'byte'=99 +'byte[]'=112 +'default'=80 'duration'=38 'feedback'=32 -'float32'=95 -'float32[]'=108 -'float64'=96 -'float64[]'=109 +'float32'=96 +'float32[]'=109 +'float64'=97 +'float64[]'=110 'goal'=29 -'int16'=89 -'int16[]'=102 -'int32'=91 -'int32[]'=104 -'int64'=93 -'int64[]'=106 -'int8'=87 -'int8[]'=100 +'int16'=90 +'int16[]'=103 +'int32'=92 +'int32[]'=105 +'int64'=94 +'int64[]'=107 +'int8'=88 +'int8[]'=101 'message'=30 'name'=33 -'namespace'=64 +'namespace'=65 'node'=26 -'parts'=72 -'request'=51 -'response'=52 +'parts'=73 +'request'=52 +'response'=53 'result'=31 'service'=35 -'string'=97 -'string[]'=110 +'string'=98 +'string[]'=111 'time'=39 'type'=36 -'uint16'=90 -'uint16[]'=103 -'uint32'=92 -'uint32[]'=105 -'uint64'=94 -'uint64[]'=107 -'uint8'=88 -'uint8[]'=101 +'uint16'=91 +'uint16[]'=104 +'uint32'=93 +'uint32[]'=106 +'uint64'=95 +'uint64[]'=108 +'uint8'=89 +'uint8[]'=102 'value'=34 '{'=41 '}'=42 @@ -120,6 +121,7 @@ T__109=109 T__110=110 T__111=111 T__112=112 +T__113=113 T__25=25 T__26=26 T__27=27 diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java index b7ce97301..93f9dfa1d 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosLexer.java @@ -104,6 +104,7 @@ public class InternalRosLexer extends Lexer { public static final int T__81=81; public static final int T__110=110; public static final int T__82=82; + public static final int T__113=113; public static final int T__83=83; public static final int T__112=112; public static final int RULE_WS=23; @@ -663,10 +664,10 @@ public final void mT__50() throws RecognitionException { try { int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:36:7: ( 'ServiceSpec' ) - // InternalRos.g:36:9: 'ServiceSpec' + // InternalRos.g:36:7: ( 'AmentPackage' ) + // InternalRos.g:36:9: 'AmentPackage' { - match("ServiceSpec"); + match("AmentPackage"); } @@ -684,10 +685,10 @@ public final void mT__51() throws RecognitionException { try { int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:37:7: ( 'request' ) - // InternalRos.g:37:9: 'request' + // InternalRos.g:37:7: ( 'ServiceSpec' ) + // InternalRos.g:37:9: 'ServiceSpec' { - match("request"); + match("ServiceSpec"); } @@ -705,10 +706,10 @@ public final void mT__52() throws RecognitionException { try { int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:38:7: ( 'response' ) - // InternalRos.g:38:9: 'response' + // InternalRos.g:38:7: ( 'request' ) + // InternalRos.g:38:9: 'request' { - match("response"); + match("request"); } @@ -726,10 +727,10 @@ public final void mT__53() throws RecognitionException { try { int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:39:7: ( 'TopicSpec' ) - // InternalRos.g:39:9: 'TopicSpec' + // InternalRos.g:39:7: ( 'response' ) + // InternalRos.g:39:9: 'response' { - match("TopicSpec"); + match("response"); } @@ -747,10 +748,10 @@ public final void mT__54() throws RecognitionException { try { int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:40:7: ( 'ActionSpec' ) - // InternalRos.g:40:9: 'ActionSpec' + // InternalRos.g:40:7: ( 'TopicSpec' ) + // InternalRos.g:40:9: 'TopicSpec' { - match("ActionSpec"); + match("TopicSpec"); } @@ -768,10 +769,10 @@ public final void mT__55() throws RecognitionException { try { int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:41:7: ( 'Node' ) - // InternalRos.g:41:9: 'Node' + // InternalRos.g:41:7: ( 'ActionSpec' ) + // InternalRos.g:41:9: 'ActionSpec' { - match("Node"); + match("ActionSpec"); } @@ -789,10 +790,10 @@ public final void mT__56() throws RecognitionException { try { int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:42:7: ( 'ServiceServers' ) - // InternalRos.g:42:9: 'ServiceServers' + // InternalRos.g:42:7: ( 'Node' ) + // InternalRos.g:42:9: 'Node' { - match("ServiceServers"); + match("Node"); } @@ -810,10 +811,10 @@ public final void mT__57() throws RecognitionException { try { int _type = T__57; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:43:7: ( 'Publishers' ) - // InternalRos.g:43:9: 'Publishers' + // InternalRos.g:43:7: ( 'ServiceServers' ) + // InternalRos.g:43:9: 'ServiceServers' { - match("Publishers"); + match("ServiceServers"); } @@ -831,10 +832,10 @@ public final void mT__58() throws RecognitionException { try { int _type = T__58; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:44:7: ( 'Subscribers' ) - // InternalRos.g:44:9: 'Subscribers' + // InternalRos.g:44:7: ( 'Publishers' ) + // InternalRos.g:44:9: 'Publishers' { - match("Subscribers"); + match("Publishers"); } @@ -852,10 +853,10 @@ public final void mT__59() throws RecognitionException { try { int _type = T__59; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:45:7: ( 'ServiceClients' ) - // InternalRos.g:45:9: 'ServiceClients' + // InternalRos.g:45:7: ( 'Subscribers' ) + // InternalRos.g:45:9: 'Subscribers' { - match("ServiceClients"); + match("Subscribers"); } @@ -873,10 +874,10 @@ public final void mT__60() throws RecognitionException { try { int _type = T__60; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:46:7: ( 'ActionServers' ) - // InternalRos.g:46:9: 'ActionServers' + // InternalRos.g:46:7: ( 'ServiceClients' ) + // InternalRos.g:46:9: 'ServiceClients' { - match("ActionServers"); + match("ServiceClients"); } @@ -894,10 +895,10 @@ public final void mT__61() throws RecognitionException { try { int _type = T__61; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:47:7: ( 'ActionClients' ) - // InternalRos.g:47:9: 'ActionClients' + // InternalRos.g:47:7: ( 'ActionServers' ) + // InternalRos.g:47:9: 'ActionServers' { - match("ActionClients"); + match("ActionServers"); } @@ -915,10 +916,10 @@ public final void mT__62() throws RecognitionException { try { int _type = T__62; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:48:7: ( 'Parameters' ) - // InternalRos.g:48:9: 'Parameters' + // InternalRos.g:48:7: ( 'ActionClients' ) + // InternalRos.g:48:9: 'ActionClients' { - match("Parameters"); + match("ActionClients"); } @@ -936,10 +937,10 @@ public final void mT__63() throws RecognitionException { try { int _type = T__63; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:49:7: ( 'ServiceServer' ) - // InternalRos.g:49:9: 'ServiceServer' + // InternalRos.g:49:7: ( 'Parameters' ) + // InternalRos.g:49:9: 'Parameters' { - match("ServiceServer"); + match("Parameters"); } @@ -957,10 +958,10 @@ public final void mT__64() throws RecognitionException { try { int _type = T__64; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:50:7: ( 'namespace' ) - // InternalRos.g:50:9: 'namespace' + // InternalRos.g:50:7: ( 'ServiceServer' ) + // InternalRos.g:50:9: 'ServiceServer' { - match("namespace"); + match("ServiceServer"); } @@ -978,10 +979,10 @@ public final void mT__65() throws RecognitionException { try { int _type = T__65; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:51:7: ( 'Publisher' ) - // InternalRos.g:51:9: 'Publisher' + // InternalRos.g:51:7: ( 'namespace' ) + // InternalRos.g:51:9: 'namespace' { - match("Publisher"); + match("namespace"); } @@ -999,10 +1000,10 @@ public final void mT__66() throws RecognitionException { try { int _type = T__66; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:52:7: ( 'Subscriber' ) - // InternalRos.g:52:9: 'Subscriber' + // InternalRos.g:52:7: ( 'Publisher' ) + // InternalRos.g:52:9: 'Publisher' { - match("Subscriber"); + match("Publisher"); } @@ -1020,10 +1021,10 @@ public final void mT__67() throws RecognitionException { try { int _type = T__67; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:53:7: ( 'ServiceClient' ) - // InternalRos.g:53:9: 'ServiceClient' + // InternalRos.g:53:7: ( 'Subscriber' ) + // InternalRos.g:53:9: 'Subscriber' { - match("ServiceClient"); + match("Subscriber"); } @@ -1041,10 +1042,10 @@ public final void mT__68() throws RecognitionException { try { int _type = T__68; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:54:7: ( 'ActionServer' ) - // InternalRos.g:54:9: 'ActionServer' + // InternalRos.g:54:7: ( 'ServiceClient' ) + // InternalRos.g:54:9: 'ServiceClient' { - match("ActionServer"); + match("ServiceClient"); } @@ -1062,10 +1063,10 @@ public final void mT__69() throws RecognitionException { try { int _type = T__69; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:55:7: ( 'ActionClient' ) - // InternalRos.g:55:9: 'ActionClient' + // InternalRos.g:55:7: ( 'ActionServer' ) + // InternalRos.g:55:9: 'ActionServer' { - match("ActionClient"); + match("ActionServer"); } @@ -1083,10 +1084,10 @@ public final void mT__70() throws RecognitionException { try { int _type = T__70; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:56:7: ( 'ExternalDependency' ) - // InternalRos.g:56:9: 'ExternalDependency' + // InternalRos.g:56:7: ( 'ActionClient' ) + // InternalRos.g:56:9: 'ActionClient' { - match("ExternalDependency"); + match("ActionClient"); } @@ -1104,10 +1105,10 @@ public final void mT__71() throws RecognitionException { try { int _type = T__71; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:57:7: ( 'GlobalNamespace' ) - // InternalRos.g:57:9: 'GlobalNamespace' + // InternalRos.g:57:7: ( 'ExternalDependency' ) + // InternalRos.g:57:9: 'ExternalDependency' { - match("GlobalNamespace"); + match("ExternalDependency"); } @@ -1125,10 +1126,10 @@ public final void mT__72() throws RecognitionException { try { int _type = T__72; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:58:7: ( 'parts' ) - // InternalRos.g:58:9: 'parts' + // InternalRos.g:58:7: ( 'GlobalNamespace' ) + // InternalRos.g:58:9: 'GlobalNamespace' { - match("parts"); + match("GlobalNamespace"); } @@ -1146,10 +1147,10 @@ public final void mT__73() throws RecognitionException { try { int _type = T__73; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:59:7: ( 'RelativeNamespace' ) - // InternalRos.g:59:9: 'RelativeNamespace' + // InternalRos.g:59:7: ( 'parts' ) + // InternalRos.g:59:9: 'parts' { - match("RelativeNamespace"); + match("parts"); } @@ -1167,10 +1168,10 @@ public final void mT__74() throws RecognitionException { try { int _type = T__74; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:60:7: ( 'PrivateNamespace' ) - // InternalRos.g:60:9: 'PrivateNamespace' + // InternalRos.g:60:7: ( 'RelativeNamespace' ) + // InternalRos.g:60:9: 'RelativeNamespace' { - match("PrivateNamespace"); + match("RelativeNamespace"); } @@ -1188,10 +1189,10 @@ public final void mT__75() throws RecognitionException { try { int _type = T__75; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:61:7: ( 'Parameter' ) - // InternalRos.g:61:9: 'Parameter' + // InternalRos.g:61:7: ( 'PrivateNamespace' ) + // InternalRos.g:61:9: 'PrivateNamespace' { - match("Parameter"); + match("PrivateNamespace"); } @@ -1209,10 +1210,10 @@ public final void mT__76() throws RecognitionException { try { int _type = T__76; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:62:7: ( 'List' ) - // InternalRos.g:62:9: 'List' + // InternalRos.g:62:7: ( 'Parameter' ) + // InternalRos.g:62:9: 'Parameter' { - match("List"); + match("Parameter"); } @@ -1230,10 +1231,10 @@ public final void mT__77() throws RecognitionException { try { int _type = T__77; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:63:7: ( 'Struct' ) - // InternalRos.g:63:9: 'Struct' + // InternalRos.g:63:7: ( 'List' ) + // InternalRos.g:63:9: 'List' { - match("Struct"); + match("List"); } @@ -1251,10 +1252,10 @@ public final void mT__78() throws RecognitionException { try { int _type = T__78; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:64:7: ( 'Integer' ) - // InternalRos.g:64:9: 'Integer' + // InternalRos.g:64:7: ( 'Struct' ) + // InternalRos.g:64:9: 'Struct' { - match("Integer"); + match("Struct"); } @@ -1272,10 +1273,10 @@ public final void mT__79() throws RecognitionException { try { int _type = T__79; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:65:7: ( 'default' ) - // InternalRos.g:65:9: 'default' + // InternalRos.g:65:7: ( 'Integer' ) + // InternalRos.g:65:9: 'Integer' { - match("default"); + match("Integer"); } @@ -1293,10 +1294,10 @@ public final void mT__80() throws RecognitionException { try { int _type = T__80; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:66:7: ( 'Double' ) - // InternalRos.g:66:9: 'Double' + // InternalRos.g:66:7: ( 'default' ) + // InternalRos.g:66:9: 'default' { - match("Double"); + match("default"); } @@ -1314,10 +1315,10 @@ public final void mT__81() throws RecognitionException { try { int _type = T__81; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:67:7: ( 'Boolean' ) - // InternalRos.g:67:9: 'Boolean' + // InternalRos.g:67:7: ( 'Double' ) + // InternalRos.g:67:9: 'Double' { - match("Boolean"); + match("Double"); } @@ -1335,10 +1336,10 @@ public final void mT__82() throws RecognitionException { try { int _type = T__82; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:68:7: ( 'Base64' ) - // InternalRos.g:68:9: 'Base64' + // InternalRos.g:68:7: ( 'Boolean' ) + // InternalRos.g:68:9: 'Boolean' { - match("Base64"); + match("Boolean"); } @@ -1356,10 +1357,10 @@ public final void mT__83() throws RecognitionException { try { int _type = T__83; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:69:7: ( 'Array' ) - // InternalRos.g:69:9: 'Array' + // InternalRos.g:69:7: ( 'Base64' ) + // InternalRos.g:69:9: 'Base64' { - match("Array"); + match("Base64"); } @@ -1377,10 +1378,10 @@ public final void mT__84() throws RecognitionException { try { int _type = T__84; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:70:7: ( 'ParameterAny' ) - // InternalRos.g:70:9: 'ParameterAny' + // InternalRos.g:70:7: ( 'Array' ) + // InternalRos.g:70:9: 'Array' { - match("ParameterAny"); + match("Array"); } @@ -1398,10 +1399,10 @@ public final void mT__85() throws RecognitionException { try { int _type = T__85; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:71:7: ( 'ParameterStructMember' ) - // InternalRos.g:71:9: 'ParameterStructMember' + // InternalRos.g:71:7: ( 'ParameterAny' ) + // InternalRos.g:71:9: 'ParameterAny' { - match("ParameterStructMember"); + match("ParameterAny"); } @@ -1419,10 +1420,10 @@ public final void mT__86() throws RecognitionException { try { int _type = T__86; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:72:7: ( 'bool' ) - // InternalRos.g:72:9: 'bool' + // InternalRos.g:72:7: ( 'ParameterStructMember' ) + // InternalRos.g:72:9: 'ParameterStructMember' { - match("bool"); + match("ParameterStructMember"); } @@ -1440,10 +1441,10 @@ public final void mT__87() throws RecognitionException { try { int _type = T__87; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:73:7: ( 'int8' ) - // InternalRos.g:73:9: 'int8' + // InternalRos.g:73:7: ( 'bool' ) + // InternalRos.g:73:9: 'bool' { - match("int8"); + match("bool"); } @@ -1461,10 +1462,10 @@ public final void mT__88() throws RecognitionException { try { int _type = T__88; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:74:7: ( 'uint8' ) - // InternalRos.g:74:9: 'uint8' + // InternalRos.g:74:7: ( 'int8' ) + // InternalRos.g:74:9: 'int8' { - match("uint8"); + match("int8"); } @@ -1482,10 +1483,10 @@ public final void mT__89() throws RecognitionException { try { int _type = T__89; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:75:7: ( 'int16' ) - // InternalRos.g:75:9: 'int16' + // InternalRos.g:75:7: ( 'uint8' ) + // InternalRos.g:75:9: 'uint8' { - match("int16"); + match("uint8"); } @@ -1503,10 +1504,10 @@ public final void mT__90() throws RecognitionException { try { int _type = T__90; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:76:7: ( 'uint16' ) - // InternalRos.g:76:9: 'uint16' + // InternalRos.g:76:7: ( 'int16' ) + // InternalRos.g:76:9: 'int16' { - match("uint16"); + match("int16"); } @@ -1524,10 +1525,10 @@ public final void mT__91() throws RecognitionException { try { int _type = T__91; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:77:7: ( 'int32' ) - // InternalRos.g:77:9: 'int32' + // InternalRos.g:77:7: ( 'uint16' ) + // InternalRos.g:77:9: 'uint16' { - match("int32"); + match("uint16"); } @@ -1545,10 +1546,10 @@ public final void mT__92() throws RecognitionException { try { int _type = T__92; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:78:7: ( 'uint32' ) - // InternalRos.g:78:9: 'uint32' + // InternalRos.g:78:7: ( 'int32' ) + // InternalRos.g:78:9: 'int32' { - match("uint32"); + match("int32"); } @@ -1566,10 +1567,10 @@ public final void mT__93() throws RecognitionException { try { int _type = T__93; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:79:7: ( 'int64' ) - // InternalRos.g:79:9: 'int64' + // InternalRos.g:79:7: ( 'uint32' ) + // InternalRos.g:79:9: 'uint32' { - match("int64"); + match("uint32"); } @@ -1587,10 +1588,10 @@ public final void mT__94() throws RecognitionException { try { int _type = T__94; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:80:7: ( 'uint64' ) - // InternalRos.g:80:9: 'uint64' + // InternalRos.g:80:7: ( 'int64' ) + // InternalRos.g:80:9: 'int64' { - match("uint64"); + match("int64"); } @@ -1608,10 +1609,10 @@ public final void mT__95() throws RecognitionException { try { int _type = T__95; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:81:7: ( 'float32' ) - // InternalRos.g:81:9: 'float32' + // InternalRos.g:81:7: ( 'uint64' ) + // InternalRos.g:81:9: 'uint64' { - match("float32"); + match("uint64"); } @@ -1629,10 +1630,10 @@ public final void mT__96() throws RecognitionException { try { int _type = T__96; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:82:7: ( 'float64' ) - // InternalRos.g:82:9: 'float64' + // InternalRos.g:82:7: ( 'float32' ) + // InternalRos.g:82:9: 'float32' { - match("float64"); + match("float32"); } @@ -1650,10 +1651,10 @@ public final void mT__97() throws RecognitionException { try { int _type = T__97; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:83:7: ( 'string' ) - // InternalRos.g:83:9: 'string' + // InternalRos.g:83:7: ( 'float64' ) + // InternalRos.g:83:9: 'float64' { - match("string"); + match("float64"); } @@ -1671,10 +1672,10 @@ public final void mT__98() throws RecognitionException { try { int _type = T__98; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:84:7: ( 'byte' ) - // InternalRos.g:84:9: 'byte' + // InternalRos.g:84:7: ( 'string' ) + // InternalRos.g:84:9: 'string' { - match("byte"); + match("string"); } @@ -1692,10 +1693,10 @@ public final void mT__99() throws RecognitionException { try { int _type = T__99; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:85:7: ( 'bool[]' ) - // InternalRos.g:85:9: 'bool[]' + // InternalRos.g:85:7: ( 'byte' ) + // InternalRos.g:85:9: 'byte' { - match("bool[]"); + match("byte"); } @@ -1713,10 +1714,10 @@ public final void mT__100() throws RecognitionException { try { int _type = T__100; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:86:8: ( 'int8[]' ) - // InternalRos.g:86:10: 'int8[]' + // InternalRos.g:86:8: ( 'bool[]' ) + // InternalRos.g:86:10: 'bool[]' { - match("int8[]"); + match("bool[]"); } @@ -1734,10 +1735,10 @@ public final void mT__101() throws RecognitionException { try { int _type = T__101; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:87:8: ( 'uint8[]' ) - // InternalRos.g:87:10: 'uint8[]' + // InternalRos.g:87:8: ( 'int8[]' ) + // InternalRos.g:87:10: 'int8[]' { - match("uint8[]"); + match("int8[]"); } @@ -1755,10 +1756,10 @@ public final void mT__102() throws RecognitionException { try { int _type = T__102; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:88:8: ( 'int16[]' ) - // InternalRos.g:88:10: 'int16[]' + // InternalRos.g:88:8: ( 'uint8[]' ) + // InternalRos.g:88:10: 'uint8[]' { - match("int16[]"); + match("uint8[]"); } @@ -1776,10 +1777,10 @@ public final void mT__103() throws RecognitionException { try { int _type = T__103; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:89:8: ( 'uint16[]' ) - // InternalRos.g:89:10: 'uint16[]' + // InternalRos.g:89:8: ( 'int16[]' ) + // InternalRos.g:89:10: 'int16[]' { - match("uint16[]"); + match("int16[]"); } @@ -1797,10 +1798,10 @@ public final void mT__104() throws RecognitionException { try { int _type = T__104; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:90:8: ( 'int32[]' ) - // InternalRos.g:90:10: 'int32[]' + // InternalRos.g:90:8: ( 'uint16[]' ) + // InternalRos.g:90:10: 'uint16[]' { - match("int32[]"); + match("uint16[]"); } @@ -1818,10 +1819,10 @@ public final void mT__105() throws RecognitionException { try { int _type = T__105; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:91:8: ( 'uint32[]' ) - // InternalRos.g:91:10: 'uint32[]' + // InternalRos.g:91:8: ( 'int32[]' ) + // InternalRos.g:91:10: 'int32[]' { - match("uint32[]"); + match("int32[]"); } @@ -1839,10 +1840,10 @@ public final void mT__106() throws RecognitionException { try { int _type = T__106; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:92:8: ( 'int64[]' ) - // InternalRos.g:92:10: 'int64[]' + // InternalRos.g:92:8: ( 'uint32[]' ) + // InternalRos.g:92:10: 'uint32[]' { - match("int64[]"); + match("uint32[]"); } @@ -1860,10 +1861,10 @@ public final void mT__107() throws RecognitionException { try { int _type = T__107; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:93:8: ( 'uint64[]' ) - // InternalRos.g:93:10: 'uint64[]' + // InternalRos.g:93:8: ( 'int64[]' ) + // InternalRos.g:93:10: 'int64[]' { - match("uint64[]"); + match("int64[]"); } @@ -1881,10 +1882,10 @@ public final void mT__108() throws RecognitionException { try { int _type = T__108; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:94:8: ( 'float32[]' ) - // InternalRos.g:94:10: 'float32[]' + // InternalRos.g:94:8: ( 'uint64[]' ) + // InternalRos.g:94:10: 'uint64[]' { - match("float32[]"); + match("uint64[]"); } @@ -1902,10 +1903,10 @@ public final void mT__109() throws RecognitionException { try { int _type = T__109; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:95:8: ( 'float64[]' ) - // InternalRos.g:95:10: 'float64[]' + // InternalRos.g:95:8: ( 'float32[]' ) + // InternalRos.g:95:10: 'float32[]' { - match("float64[]"); + match("float32[]"); } @@ -1923,10 +1924,10 @@ public final void mT__110() throws RecognitionException { try { int _type = T__110; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:96:8: ( 'string[]' ) - // InternalRos.g:96:10: 'string[]' + // InternalRos.g:96:8: ( 'float64[]' ) + // InternalRos.g:96:10: 'float64[]' { - match("string[]"); + match("float64[]"); } @@ -1944,10 +1945,10 @@ public final void mT__111() throws RecognitionException { try { int _type = T__111; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:97:8: ( 'byte[]' ) - // InternalRos.g:97:10: 'byte[]' + // InternalRos.g:97:8: ( 'string[]' ) + // InternalRos.g:97:10: 'string[]' { - match("byte[]"); + match("string[]"); } @@ -1965,10 +1966,10 @@ public final void mT__112() throws RecognitionException { try { int _type = T__112; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:98:8: ( '[]' ) - // InternalRos.g:98:10: '[]' + // InternalRos.g:98:8: ( 'byte[]' ) + // InternalRos.g:98:10: 'byte[]' { - match("[]"); + match("byte[]"); } @@ -1981,15 +1982,36 @@ public final void mT__112() throws RecognitionException { } // $ANTLR end "T__112" + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalRos.g:99:8: ( '[]' ) + // InternalRos.g:99:10: '[]' + { + match("[]"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + // $ANTLR start "RULE_ROS_CONVENTION_A" public final void mRULE_ROS_CONVENTION_A() throws RecognitionException { try { int _type = RULE_ROS_CONVENTION_A; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15668:23: ( ( '/' RULE_ID | RULE_ID '/' )* ) - // InternalRos.g:15668:25: ( '/' RULE_ID | RULE_ID '/' )* + // InternalRos.g:16602:23: ( ( '/' RULE_ID | RULE_ID '/' )* ) + // InternalRos.g:16602:25: ( '/' RULE_ID | RULE_ID '/' )* { - // InternalRos.g:15668:25: ( '/' RULE_ID | RULE_ID '/' )* + // InternalRos.g:16602:25: ( '/' RULE_ID | RULE_ID '/' )* loop1: do { int alt1=3; @@ -2005,7 +2027,7 @@ else if ( ((LA1_0>='A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & switch (alt1) { case 1 : - // InternalRos.g:15668:26: '/' RULE_ID + // InternalRos.g:16602:26: '/' RULE_ID { match('/'); mRULE_ID(); @@ -2013,7 +2035,7 @@ else if ( ((LA1_0>='A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & } break; case 2 : - // InternalRos.g:15668:38: RULE_ID '/' + // InternalRos.g:16602:38: RULE_ID '/' { mRULE_ID(); match('/'); @@ -2042,10 +2064,10 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { try { int _type = RULE_ROS_CONVENTION_PARAM; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15670:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) - // InternalRos.g:15670:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:16604:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) + // InternalRos.g:16604:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* { - // InternalRos.g:15670:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:16604:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* loop2: do { int alt2=4; @@ -2071,7 +2093,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { switch (alt2) { case 1 : - // InternalRos.g:15670:30: '/' RULE_STRING + // InternalRos.g:16604:30: '/' RULE_STRING { match('/'); mRULE_STRING(); @@ -2079,7 +2101,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 2 : - // InternalRos.g:15670:46: RULE_STRING '/' + // InternalRos.g:16604:46: RULE_STRING '/' { mRULE_STRING(); match('/'); @@ -2087,7 +2109,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 3 : - // InternalRos.g:15670:62: '~' RULE_STRING + // InternalRos.g:16604:62: '~' RULE_STRING { match('~'); mRULE_STRING(); @@ -2114,8 +2136,8 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { // $ANTLR start "RULE_DIGIT" public final void mRULE_DIGIT() throws RecognitionException { try { - // InternalRos.g:15672:21: ( '0' .. '9' ) - // InternalRos.g:15672:23: '0' .. '9' + // InternalRos.g:16606:21: ( '0' .. '9' ) + // InternalRos.g:16606:23: '0' .. '9' { matchRange('0','9'); @@ -2132,10 +2154,10 @@ public final void mRULE_BINARY() throws RecognitionException { try { int _type = RULE_BINARY; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15674:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) - // InternalRos.g:15674:15: ( '0b' | '0B' ) ( '0' | '1' )+ + // InternalRos.g:16608:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) + // InternalRos.g:16608:15: ( '0b' | '0B' ) ( '0' | '1' )+ { - // InternalRos.g:15674:15: ( '0b' | '0B' ) + // InternalRos.g:16608:15: ( '0b' | '0B' ) int alt3=2; int LA3_0 = input.LA(1); @@ -2163,7 +2185,7 @@ else if ( (LA3_1=='B') ) { } switch (alt3) { case 1 : - // InternalRos.g:15674:16: '0b' + // InternalRos.g:16608:16: '0b' { match("0b"); @@ -2171,7 +2193,7 @@ else if ( (LA3_1=='B') ) { } break; case 2 : - // InternalRos.g:15674:21: '0B' + // InternalRos.g:16608:21: '0B' { match("0B"); @@ -2181,7 +2203,7 @@ else if ( (LA3_1=='B') ) { } - // InternalRos.g:15674:27: ( '0' | '1' )+ + // InternalRos.g:16608:27: ( '0' | '1' )+ int cnt4=0; loop4: do { @@ -2235,10 +2257,10 @@ public final void mRULE_BOOLEAN() throws RecognitionException { try { int _type = RULE_BOOLEAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15676:14: ( ( 'true' | 'false' ) ) - // InternalRos.g:15676:16: ( 'true' | 'false' ) + // InternalRos.g:16610:14: ( ( 'true' | 'false' ) ) + // InternalRos.g:16610:16: ( 'true' | 'false' ) { - // InternalRos.g:15676:16: ( 'true' | 'false' ) + // InternalRos.g:16610:16: ( 'true' | 'false' ) int alt5=2; int LA5_0 = input.LA(1); @@ -2256,7 +2278,7 @@ else if ( (LA5_0=='f') ) { } switch (alt5) { case 1 : - // InternalRos.g:15676:17: 'true' + // InternalRos.g:16610:17: 'true' { match("true"); @@ -2264,7 +2286,7 @@ else if ( (LA5_0=='f') ) { } break; case 2 : - // InternalRos.g:15676:24: 'false' + // InternalRos.g:16610:24: 'false' { match("false"); @@ -2290,19 +2312,19 @@ public final void mRULE_DOUBLE() throws RecognitionException { try { int _type = RULE_DOUBLE; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15678:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) - // InternalRos.g:15678:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:16612:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) + // InternalRos.g:16612:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) { mRULE_DECINT(); - // InternalRos.g:15678:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:16612:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) int alt10=2; alt10 = dfa10.predict(input); switch (alt10) { case 1 : - // InternalRos.g:15678:28: '.' ( RULE_DIGIT )* + // InternalRos.g:16612:28: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:15678:32: ( RULE_DIGIT )* + // InternalRos.g:16612:32: ( RULE_DIGIT )* loop6: do { int alt6=2; @@ -2315,7 +2337,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt6) { case 1 : - // InternalRos.g:15678:32: RULE_DIGIT + // InternalRos.g:16612:32: RULE_DIGIT { mRULE_DIGIT(); @@ -2331,9 +2353,9 @@ public final void mRULE_DOUBLE() throws RecognitionException { } break; case 2 : - // InternalRos.g:15678:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT + // InternalRos.g:16612:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT { - // InternalRos.g:15678:44: ( '.' ( RULE_DIGIT )* )? + // InternalRos.g:16612:44: ( '.' ( RULE_DIGIT )* )? int alt8=2; int LA8_0 = input.LA(1); @@ -2342,10 +2364,10 @@ public final void mRULE_DOUBLE() throws RecognitionException { } switch (alt8) { case 1 : - // InternalRos.g:15678:45: '.' ( RULE_DIGIT )* + // InternalRos.g:16612:45: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:15678:49: ( RULE_DIGIT )* + // InternalRos.g:16612:49: ( RULE_DIGIT )* loop7: do { int alt7=2; @@ -2358,7 +2380,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt7) { case 1 : - // InternalRos.g:15678:49: RULE_DIGIT + // InternalRos.g:16612:49: RULE_DIGIT { mRULE_DIGIT(); @@ -2385,7 +2407,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:15678:73: ( '-' | '+' )? + // InternalRos.g:16612:73: ( '-' | '+' )? int alt9=2; int LA9_0 = input.LA(1); @@ -2444,10 +2466,10 @@ public final void mRULE_DECINT() throws RecognitionException { try { int _type = RULE_DECINT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15680:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) - // InternalRos.g:15680:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:16614:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) + // InternalRos.g:16614:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) { - // InternalRos.g:15680:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:16614:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) int alt13=3; switch ( input.LA(1) ) { case '0': @@ -2482,17 +2504,17 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt13) { case 1 : - // InternalRos.g:15680:16: '0' + // InternalRos.g:16614:16: '0' { match('0'); } break; case 2 : - // InternalRos.g:15680:20: '1' .. '9' ( RULE_DIGIT )* + // InternalRos.g:16614:20: '1' .. '9' ( RULE_DIGIT )* { matchRange('1','9'); - // InternalRos.g:15680:29: ( RULE_DIGIT )* + // InternalRos.g:16614:29: ( RULE_DIGIT )* loop11: do { int alt11=2; @@ -2505,7 +2527,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt11) { case 1 : - // InternalRos.g:15680:29: RULE_DIGIT + // InternalRos.g:16614:29: RULE_DIGIT { mRULE_DIGIT(); @@ -2521,11 +2543,11 @@ public final void mRULE_DECINT() throws RecognitionException { } break; case 3 : - // InternalRos.g:15680:41: '-' '0' .. '9' ( RULE_DIGIT )* + // InternalRos.g:16614:41: '-' '0' .. '9' ( RULE_DIGIT )* { match('-'); matchRange('0','9'); - // InternalRos.g:15680:54: ( RULE_DIGIT )* + // InternalRos.g:16614:54: ( RULE_DIGIT )* loop12: do { int alt12=2; @@ -2538,7 +2560,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt12) { case 1 : - // InternalRos.g:15680:54: RULE_DIGIT + // InternalRos.g:16614:54: RULE_DIGIT { mRULE_DIGIT(); @@ -2570,10 +2592,10 @@ public final void mRULE_DECINT() throws RecognitionException { // $ANTLR start "RULE_DAY" public final void mRULE_DAY() throws RecognitionException { try { - // InternalRos.g:15682:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) - // InternalRos.g:15682:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:16616:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) + // InternalRos.g:16616:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) { - // InternalRos.g:15682:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:16616:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) int alt14=2; int LA14_0 = input.LA(1); @@ -2597,14 +2619,14 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { } switch (alt14) { case 1 : - // InternalRos.g:15682:22: '1' .. '9' + // InternalRos.g:16616:22: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:15682:31: '1' .. '3' '0' .. '9' + // InternalRos.g:16616:31: '1' .. '3' '0' .. '9' { matchRange('1','3'); matchRange('0','9'); @@ -2626,10 +2648,10 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { // $ANTLR start "RULE_MONTH" public final void mRULE_MONTH() throws RecognitionException { try { - // InternalRos.g:15684:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) - // InternalRos.g:15684:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:16618:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) + // InternalRos.g:16618:23: ( '1' .. '9' | '1' '0' .. '2' ) { - // InternalRos.g:15684:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:16618:23: ( '1' .. '9' | '1' '0' .. '2' ) int alt15=2; int LA15_0 = input.LA(1); @@ -2653,14 +2675,14 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { } switch (alt15) { case 1 : - // InternalRos.g:15684:24: '1' .. '9' + // InternalRos.g:16618:24: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:15684:33: '1' '0' .. '2' + // InternalRos.g:16618:33: '1' '0' .. '2' { match('1'); matchRange('0','2'); @@ -2682,8 +2704,8 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { // $ANTLR start "RULE_YEAR" public final void mRULE_YEAR() throws RecognitionException { try { - // InternalRos.g:15686:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) - // InternalRos.g:15686:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' + // InternalRos.g:16620:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) + // InternalRos.g:16620:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' { matchRange('0','2'); matchRange('0','9'); @@ -2701,10 +2723,10 @@ public final void mRULE_YEAR() throws RecognitionException { // $ANTLR start "RULE_HOUR" public final void mRULE_HOUR() throws RecognitionException { try { - // InternalRos.g:15688:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) - // InternalRos.g:15688:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:16622:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) + // InternalRos.g:16622:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) { - // InternalRos.g:15688:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:16622:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) int alt16=2; int LA16_0 = input.LA(1); @@ -2722,7 +2744,7 @@ else if ( (LA16_0=='2') ) { } switch (alt16) { case 1 : - // InternalRos.g:15688:23: '0' .. '1' '0' .. '9' + // InternalRos.g:16622:23: '0' .. '1' '0' .. '9' { matchRange('0','1'); matchRange('0','9'); @@ -2730,7 +2752,7 @@ else if ( (LA16_0=='2') ) { } break; case 2 : - // InternalRos.g:15688:41: '2' '0' .. '3' + // InternalRos.g:16622:41: '2' '0' .. '3' { match('2'); matchRange('0','3'); @@ -2752,8 +2774,8 @@ else if ( (LA16_0=='2') ) { // $ANTLR start "RULE_MIN_SEC" public final void mRULE_MIN_SEC() throws RecognitionException { try { - // InternalRos.g:15690:23: ( '0' .. '5' '0' .. '9' ) - // InternalRos.g:15690:25: '0' .. '5' '0' .. '9' + // InternalRos.g:16624:23: ( '0' .. '5' '0' .. '9' ) + // InternalRos.g:16624:25: '0' .. '5' '0' .. '9' { matchRange('0','5'); matchRange('0','9'); @@ -2771,8 +2793,8 @@ public final void mRULE_DATE_TIME() throws RecognitionException { try { int _type = RULE_DATE_TIME; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15692:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) - // InternalRos.g:15692:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC + // InternalRos.g:16626:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) + // InternalRos.g:16626:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC { mRULE_YEAR(); match('-'); @@ -2801,10 +2823,10 @@ public final void mRULE_MESSAGE_ASIGMENT() throws RecognitionException { try { int _type = RULE_MESSAGE_ASIGMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15694:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) - // InternalRos.g:15694:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:16628:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) + // InternalRos.g:16628:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) { - // InternalRos.g:15694:25: ( RULE_ID | RULE_STRING ) + // InternalRos.g:16628:25: ( RULE_ID | RULE_STRING ) int alt17=2; int LA17_0 = input.LA(1); @@ -2822,14 +2844,14 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } switch (alt17) { case 1 : - // InternalRos.g:15694:26: RULE_ID + // InternalRos.g:16628:26: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:15694:34: RULE_STRING + // InternalRos.g:16628:34: RULE_STRING { mRULE_STRING(); @@ -2839,7 +2861,7 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } match('='); - // InternalRos.g:15694:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:16628:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) int alt18=4; switch ( input.LA(1) ) { case 'A': @@ -2934,28 +2956,28 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { switch (alt18) { case 1 : - // InternalRos.g:15694:52: RULE_ID + // InternalRos.g:16628:52: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:15694:60: RULE_STRING + // InternalRos.g:16628:60: RULE_STRING { mRULE_STRING(); } break; case 3 : - // InternalRos.g:15694:72: RULE_INT + // InternalRos.g:16628:72: RULE_INT { mRULE_INT(); } break; case 4 : - // InternalRos.g:15694:81: '-' RULE_INT + // InternalRos.g:16628:81: '-' RULE_INT { match('-'); mRULE_INT(); @@ -2981,10 +3003,10 @@ public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15696:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalRos.g:15696:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:16630:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalRos.g:16630:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalRos.g:15696:11: ( '^' )? + // InternalRos.g:16630:11: ( '^' )? int alt19=2; int LA19_0 = input.LA(1); @@ -2993,7 +3015,7 @@ public final void mRULE_ID() throws RecognitionException { } switch (alt19) { case 1 : - // InternalRos.g:15696:11: '^' + // InternalRos.g:16630:11: '^' { match('^'); @@ -3011,7 +3033,7 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:15696:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:16630:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop20: do { int alt20=2; @@ -3058,10 +3080,10 @@ public final void mRULE_ID() throws RecognitionException { // $ANTLR start "RULE_INT" public final void mRULE_INT() throws RecognitionException { try { - // InternalRos.g:15698:19: ( ( '0' .. '9' )+ ) - // InternalRos.g:15698:21: ( '0' .. '9' )+ + // InternalRos.g:16632:19: ( ( '0' .. '9' )+ ) + // InternalRos.g:16632:21: ( '0' .. '9' )+ { - // InternalRos.g:15698:21: ( '0' .. '9' )+ + // InternalRos.g:16632:21: ( '0' .. '9' )+ int cnt21=0; loop21: do { @@ -3075,7 +3097,7 @@ public final void mRULE_INT() throws RecognitionException { switch (alt21) { case 1 : - // InternalRos.g:15698:22: '0' .. '9' + // InternalRos.g:16632:22: '0' .. '9' { matchRange('0','9'); @@ -3105,10 +3127,10 @@ public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15700:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalRos.g:15700:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:16634:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalRos.g:16634:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) { - // InternalRos.g:15700:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:16634:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) int alt24=2; int LA24_0 = input.LA(1); @@ -3126,10 +3148,10 @@ else if ( (LA24_0=='\'') ) { } switch (alt24) { case 1 : - // InternalRos.g:15700:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalRos.g:16634:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalRos.g:15700:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalRos.g:16634:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop22: do { int alt22=3; @@ -3145,7 +3167,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 switch (alt22) { case 1 : - // InternalRos.g:15700:21: '\\\\' . + // InternalRos.g:16634:21: '\\\\' . { match('\\'); matchAny(); @@ -3153,7 +3175,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:15700:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalRos.g:16634:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3178,10 +3200,10 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:15700:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalRos.g:16634:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalRos.g:15700:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalRos.g:16634:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop23: do { int alt23=3; @@ -3197,7 +3219,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 switch (alt23) { case 1 : - // InternalRos.g:15700:54: '\\\\' . + // InternalRos.g:16634:54: '\\\\' . { match('\\'); matchAny(); @@ -3205,7 +3227,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:15700:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalRos.g:16634:61: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3248,12 +3270,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15702:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalRos.g:15702:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalRos.g:16636:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalRos.g:16636:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalRos.g:15702:24: ( options {greedy=false; } : . )* + // InternalRos.g:16636:24: ( options {greedy=false; } : . )* loop25: do { int alt25=2; @@ -3278,7 +3300,7 @@ else if ( ((LA25_0>='\u0000' && LA25_0<=')')||(LA25_0>='+' && LA25_0<='\uFFFF')) switch (alt25) { case 1 : - // InternalRos.g:15702:52: . + // InternalRos.g:16636:52: . { matchAny(); @@ -3308,12 +3330,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15704:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalRos.g:15704:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalRos.g:16638:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalRos.g:16638:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalRos.g:15704:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalRos.g:16638:24: (~ ( ( '\\n' | '\\r' ) ) )* loop26: do { int alt26=2; @@ -3326,7 +3348,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { switch (alt26) { case 1 : - // InternalRos.g:15704:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalRos.g:16638:24: ~ ( ( '\\n' | '\\r' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3346,7 +3368,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalRos.g:15704:40: ( ( '\\r' )? '\\n' )? + // InternalRos.g:16638:40: ( ( '\\r' )? '\\n' )? int alt28=2; int LA28_0 = input.LA(1); @@ -3355,9 +3377,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt28) { case 1 : - // InternalRos.g:15704:41: ( '\\r' )? '\\n' + // InternalRos.g:16638:41: ( '\\r' )? '\\n' { - // InternalRos.g:15704:41: ( '\\r' )? + // InternalRos.g:16638:41: ( '\\r' )? int alt27=2; int LA27_0 = input.LA(1); @@ -3366,7 +3388,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt27) { case 1 : - // InternalRos.g:15704:41: '\\r' + // InternalRos.g:16638:41: '\\r' { match('\r'); @@ -3398,10 +3420,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15706:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalRos.g:15706:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:16640:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalRos.g:16640:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalRos.g:15706:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:16640:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt29=0; loop29: do { @@ -3455,8 +3477,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:15708:16: ( . ) - // InternalRos.g:15708:18: . + // InternalRos.g:16642:16: ( . ) + // InternalRos.g:16642:18: . { matchAny(); @@ -3471,8 +3493,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalRos.g:1:8: ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt30=102; + // InternalRos.g:1:8: ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt30=103; alt30 = dfa30.predict(input); switch (alt30) { case 1 : @@ -4092,98 +4114,105 @@ public void mTokens() throws RecognitionException { } break; case 89 : - // InternalRos.g:1:551: RULE_ROS_CONVENTION_A + // InternalRos.g:1:551: T__113 { - mRULE_ROS_CONVENTION_A(); + mT__113(); } break; case 90 : - // InternalRos.g:1:573: RULE_ROS_CONVENTION_PARAM + // InternalRos.g:1:558: RULE_ROS_CONVENTION_A { - mRULE_ROS_CONVENTION_PARAM(); + mRULE_ROS_CONVENTION_A(); } break; case 91 : - // InternalRos.g:1:599: RULE_BINARY + // InternalRos.g:1:580: RULE_ROS_CONVENTION_PARAM { - mRULE_BINARY(); + mRULE_ROS_CONVENTION_PARAM(); } break; case 92 : - // InternalRos.g:1:611: RULE_BOOLEAN + // InternalRos.g:1:606: RULE_BINARY { - mRULE_BOOLEAN(); + mRULE_BINARY(); } break; case 93 : - // InternalRos.g:1:624: RULE_DOUBLE + // InternalRos.g:1:618: RULE_BOOLEAN { - mRULE_DOUBLE(); + mRULE_BOOLEAN(); } break; case 94 : - // InternalRos.g:1:636: RULE_DECINT + // InternalRos.g:1:631: RULE_DOUBLE { - mRULE_DECINT(); + mRULE_DOUBLE(); } break; case 95 : - // InternalRos.g:1:648: RULE_DATE_TIME + // InternalRos.g:1:643: RULE_DECINT { - mRULE_DATE_TIME(); + mRULE_DECINT(); } break; case 96 : - // InternalRos.g:1:663: RULE_MESSAGE_ASIGMENT + // InternalRos.g:1:655: RULE_DATE_TIME { - mRULE_MESSAGE_ASIGMENT(); + mRULE_DATE_TIME(); } break; case 97 : - // InternalRos.g:1:685: RULE_ID + // InternalRos.g:1:670: RULE_MESSAGE_ASIGMENT { - mRULE_ID(); + mRULE_MESSAGE_ASIGMENT(); } break; case 98 : - // InternalRos.g:1:693: RULE_STRING + // InternalRos.g:1:692: RULE_ID { - mRULE_STRING(); + mRULE_ID(); } break; case 99 : - // InternalRos.g:1:705: RULE_ML_COMMENT + // InternalRos.g:1:700: RULE_STRING { - mRULE_ML_COMMENT(); + mRULE_STRING(); } break; case 100 : - // InternalRos.g:1:721: RULE_SL_COMMENT + // InternalRos.g:1:712: RULE_ML_COMMENT { - mRULE_SL_COMMENT(); + mRULE_ML_COMMENT(); } break; case 101 : - // InternalRos.g:1:737: RULE_WS + // InternalRos.g:1:728: RULE_SL_COMMENT { - mRULE_WS(); + mRULE_SL_COMMENT(); } break; case 102 : - // InternalRos.g:1:745: RULE_ANY_OTHER + // InternalRos.g:1:744: RULE_WS + { + mRULE_WS(); + + } + break; + case 103 : + // InternalRos.g:1:752: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -4247,350 +4276,356 @@ public DFA10(BaseRecognizer recognizer) { this.transition = DFA10_transition; } public String getDescription() { - return "15678:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; + return "16612:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; } } static final String DFA30_eotS = - "\1\45\16\61\3\uffff\17\61\3\56\1\61\1\uffff\3\56\2\160\1\56\1\160\2\uffff\2\61\1\uffff\1\61\1\uffff\31\61\3\uffff\23\61\4\uffff\1\61\2\uffff\1\u00a8\2\uffff\1\u00a8\4\uffff\3\160\1\uffff\61\61\3\uffff\2\160\2\61\1\u00e5\1\u00e7\6\61\1\u00ee\12\61\1\u00f9\1\u00fa\1\u00fb\17\61\1\u010b\3\61\1\u010f\3\61\1\u0114\1\u0116\1\u0118\4\61\1\160\2\61\1\uffff\1\61\1\uffff\3\61\1\u0126\2\61\1\uffff\6\61\1\u00fb\1\u0130\2\61\3\uffff\11\61\1\u013c\5\61\1\uffff\1\61\1\u0143\1\61\1\uffff\3\61\6\uffff\1\u0149\1\u014b\1\u014d\1\u014f\6\61\1\u0156\1\u0157\1\u0158\1\uffff\3\61\1\u015c\5\61\1\uffff\1\61\1\u0164\1\u0165\10\61\1\uffff\3\61\1\u0172\2\61\1\uffff\3\61\1\u0178\10\uffff\1\u017a\1\u017c\1\u017e\3\61\3\uffff\2\61\1\u0185\1\uffff\1\61\1\u0187\1\61\1\u018a\1\u018c\1\u018d\3\uffff\1\61\1\u018f\1\u0191\11\61\1\uffff\3\61\1\u019f\1\u01a0\7\uffff\6\61\1\uffff\1\u01a8\1\uffff\1\u01a9\5\uffff\1\u01aa\1\uffff\1\61\1\uffff\4\61\1\u01b0\10\61\2\uffff\1\u01b9\1\61\1\u01bb\4\61\3\uffff\1\61\1\u01c4\1\u01c6\2\61\1\uffff\5\61\1\u01ce\2\61\1\uffff\1\61\1\uffff\3\61\1\u01d6\1\u01d7\1\u01d8\2\61\1\uffff\1\u01db\1\uffff\2\61\1\u01de\4\61\1\uffff\3\61\1\u01e6\2\61\1\u01e9\3\uffff\2\61\1\uffff\1\61\1\u01ed\1\uffff\7\61\1\uffff\2\61\1\uffff\1\u01f7\2\61\1\uffff\1\u01fb\1\u01fd\1\61\1\u01ff\3\61\1\u0204\1\u0206\1\uffff\2\61\1\u0209\1\uffff\1\u020a\1\uffff\1\u020b\1\uffff\3\61\1\u020f\1\uffff\1\u0210\1\uffff\2\61\3\uffff\2\61\1\u0215\2\uffff\4\61\1\uffff\1\61\1\u021b\3\61\1\uffff\1\61\1\u0220\1\61\1\u0222\1\uffff\1\61\1\uffff\1\61\1\u0225\1\uffff"; + "\1\45\16\62\3\uffff\17\62\3\56\1\62\1\uffff\3\56\2\161\1\56\1\161\2\uffff\3\62\2\uffff\31\62\3\uffff\24\62\4\uffff\1\62\2\uffff\1\u00aa\2\uffff\1\u00aa\4\uffff\3\161\1\uffff\62\62\3\uffff\2\161\2\62\1\u00e8\1\u00ea\6\62\1\u00f1\12\62\1\u00fc\1\u00fd\1\u00fe\20\62\1\u010f\3\62\1\u0113\3\62\1\u0118\1\u011a\1\u011c\4\62\1\161\2\62\1\uffff\1\62\1\uffff\3\62\1\u012a\2\62\1\uffff\6\62\1\u00fe\1\u0134\2\62\3\uffff\11\62\1\u0140\6\62\1\uffff\1\62\1\u0148\1\62\1\uffff\3\62\6\uffff\1\u014e\1\u0150\1\u0152\1\u0154\6\62\1\u015b\1\u015c\1\u015d\1\uffff\3\62\1\u0161\5\62\1\uffff\1\62\1\u0169\1\u016a\10\62\1\uffff\4\62\1\u0178\2\62\1\uffff\3\62\1\u017e\10\uffff\1\u0180\1\u0182\1\u0184\3\62\3\uffff\2\62\1\u018b\1\uffff\1\62\1\u018d\1\62\1\u0190\1\u0192\1\u0193\3\uffff\1\62\1\u0195\1\u0197\12\62\1\uffff\3\62\1\u01a6\1\u01a7\7\uffff\6\62\1\uffff\1\u01af\1\uffff\1\u01b0\5\uffff\1\u01b1\1\uffff\1\62\1\uffff\4\62\1\u01b7\11\62\2\uffff\1\u01c1\1\62\1\u01c3\4\62\3\uffff\1\62\1\u01cc\1\u01ce\2\62\1\uffff\6\62\1\u01d7\2\62\1\uffff\1\62\1\uffff\3\62\1\u01df\1\u01e0\1\u01e1\2\62\1\uffff\1\u01e4\1\uffff\3\62\1\u01e8\4\62\1\uffff\3\62\1\u01f0\2\62\1\u01f3\3\uffff\2\62\1\uffff\1\62\1\u01f7\1\62\1\uffff\7\62\1\uffff\2\62\1\uffff\1\u0202\2\62\1\uffff\1\u0205\1\u0207\1\u0209\1\62\1\u020b\3\62\1\u0210\1\u0212\1\uffff\2\62\1\uffff\1\u0215\1\uffff\1\u0216\1\uffff\1\u0217\1\uffff\3\62\1\u021b\1\uffff\1\u021c\1\uffff\2\62\3\uffff\2\62\1\u0221\2\uffff\4\62\1\uffff\1\62\1\u0227\3\62\1\uffff\1\62\1\u022c\1\62\1\u022e\1\uffff\1\62\1\uffff\1\62\1\u0231\1\uffff"; static final String DFA30_eofS = - "\u0226\uffff"; + "\u0232\uffff"; static final String DFA30_minS = - "\1\0\16\57\3\uffff\17\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\2\57\1\uffff\1\57\1\uffff\31\57\3\uffff\23\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\61\57\1\0\1\uffff\1\0\2\56\66\57\1\55\2\57\1\uffff\1\57\1\uffff\6\57\1\uffff\12\57\3\uffff\17\57\1\uffff\3\57\1\uffff\3\57\6\uffff\15\57\1\uffff\11\57\1\uffff\13\57\1\uffff\6\57\1\uffff\4\57\10\uffff\6\57\3\uffff\3\57\1\uffff\6\57\3\uffff\14\57\1\uffff\5\57\7\uffff\6\57\1\uffff\1\57\1\uffff\1\57\5\uffff\1\57\1\uffff\1\57\1\uffff\15\57\2\uffff\7\57\3\uffff\5\57\1\uffff\10\57\1\uffff\1\57\1\uffff\10\57\1\uffff\1\57\1\uffff\7\57\1\uffff\7\57\3\uffff\2\57\1\uffff\2\57\1\uffff\7\57\1\uffff\2\57\1\uffff\3\57\1\uffff\11\57\1\uffff\3\57\1\uffff\1\57\1\uffff\1\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\3\uffff\3\57\2\uffff\4\57\1\uffff\5\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; + "\1\0\16\57\3\uffff\17\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\3\57\2\uffff\31\57\3\uffff\24\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\62\57\1\0\1\uffff\1\0\2\56\67\57\1\55\2\57\1\uffff\1\57\1\uffff\6\57\1\uffff\12\57\3\uffff\20\57\1\uffff\3\57\1\uffff\3\57\6\uffff\15\57\1\uffff\11\57\1\uffff\13\57\1\uffff\7\57\1\uffff\4\57\10\uffff\6\57\3\uffff\3\57\1\uffff\6\57\3\uffff\15\57\1\uffff\5\57\7\uffff\6\57\1\uffff\1\57\1\uffff\1\57\5\uffff\1\57\1\uffff\1\57\1\uffff\16\57\2\uffff\7\57\3\uffff\5\57\1\uffff\11\57\1\uffff\1\57\1\uffff\10\57\1\uffff\1\57\1\uffff\10\57\1\uffff\7\57\3\uffff\2\57\1\uffff\3\57\1\uffff\7\57\1\uffff\2\57\1\uffff\3\57\1\uffff\12\57\1\uffff\2\57\1\uffff\1\57\1\uffff\1\57\1\uffff\1\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\3\uffff\3\57\2\uffff\4\57\1\uffff\5\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; static final String DFA30_maxS = - "\1\uffff\16\172\3\uffff\17\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\2\172\1\uffff\1\172\1\uffff\31\172\3\uffff\23\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\61\172\1\uffff\1\uffff\1\uffff\2\145\66\172\1\145\2\172\1\uffff\1\172\1\uffff\6\172\1\uffff\12\172\3\uffff\17\172\1\uffff\3\172\1\uffff\3\172\6\uffff\15\172\1\uffff\11\172\1\uffff\13\172\1\uffff\6\172\1\uffff\4\172\10\uffff\6\172\3\uffff\3\172\1\uffff\6\172\3\uffff\14\172\1\uffff\5\172\7\uffff\6\172\1\uffff\1\172\1\uffff\1\172\5\uffff\1\172\1\uffff\1\172\1\uffff\15\172\2\uffff\7\172\3\uffff\5\172\1\uffff\10\172\1\uffff\1\172\1\uffff\10\172\1\uffff\1\172\1\uffff\7\172\1\uffff\7\172\3\uffff\2\172\1\uffff\2\172\1\uffff\7\172\1\uffff\2\172\1\uffff\3\172\1\uffff\11\172\1\uffff\3\172\1\uffff\1\172\1\uffff\1\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\3\uffff\3\172\2\uffff\4\172\1\uffff\5\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; + "\1\uffff\16\172\3\uffff\17\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\3\172\2\uffff\31\172\3\uffff\24\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\62\172\1\uffff\1\uffff\1\uffff\2\145\67\172\1\145\2\172\1\uffff\1\172\1\uffff\6\172\1\uffff\12\172\3\uffff\20\172\1\uffff\3\172\1\uffff\3\172\6\uffff\15\172\1\uffff\11\172\1\uffff\13\172\1\uffff\7\172\1\uffff\4\172\10\uffff\6\172\3\uffff\3\172\1\uffff\6\172\3\uffff\15\172\1\uffff\5\172\7\uffff\6\172\1\uffff\1\172\1\uffff\1\172\5\uffff\1\172\1\uffff\1\172\1\uffff\16\172\2\uffff\7\172\3\uffff\5\172\1\uffff\11\172\1\uffff\1\172\1\uffff\10\172\1\uffff\1\172\1\uffff\10\172\1\uffff\7\172\3\uffff\2\172\1\uffff\3\172\1\uffff\7\172\1\uffff\2\172\1\uffff\3\172\1\uffff\12\172\1\uffff\2\172\1\uffff\1\172\1\uffff\1\172\1\uffff\1\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\3\uffff\3\172\2\uffff\4\172\1\uffff\5\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; static final String DFA30_acceptS = - "\17\uffff\1\21\1\22\1\23\23\uffff\1\131\7\uffff\1\145\1\146\2\uffff\1\141\1\uffff\1\140\31\uffff\1\21\1\22\1\23\23\uffff\1\130\1\143\1\144\1\132\7\uffff\1\133\1\137\1\136\1\135\3\uffff\1\145\62\uffff\1\142\74\uffff\1\2\1\uffff\1\11\6\uffff\1\5\12\uffff\1\14\1\17\1\134\17\uffff\1\37\3\uffff\1\64\3\uffff\1\113\1\76\1\127\1\112\1\114\1\77\15\uffff\1\26\11\uffff\1\12\13\uffff\1\73\6\uffff\1\60\4\uffff\1\116\1\101\1\120\1\103\1\122\1\105\1\115\1\100\6\uffff\1\3\1\4\1\65\3\uffff\1\7\6\uffff\1\126\1\111\1\15\14\uffff\1\70\5\uffff\1\72\1\117\1\102\1\121\1\104\1\123\1\106\6\uffff\1\6\1\uffff\1\33\1\uffff\1\124\1\107\1\125\1\110\1\13\1\uffff\1\67\1\uffff\1\24\15\uffff\1\66\1\71\7\uffff\1\34\1\10\1\16\5\uffff\1\27\10\uffff\1\1\1\uffff\1\50\10\uffff\1\63\1\uffff\1\51\7\uffff\1\35\7\uffff\1\52\1\20\1\46\2\uffff\1\41\2\uffff\1\36\7\uffff\1\32\2\uffff\1\42\3\uffff\1\25\11\uffff\1\74\3\uffff\1\54\1\uffff\1\55\1\uffff\1\31\4\uffff\1\47\1\uffff\1\53\2\uffff\1\44\1\45\1\30\3\uffff\1\40\1\43\4\uffff\1\57\5\uffff\1\62\4\uffff\1\61\1\uffff\1\56\2\uffff\1\75"; + "\17\uffff\1\21\1\22\1\23\23\uffff\1\132\7\uffff\1\146\1\147\3\uffff\1\142\1\141\31\uffff\1\21\1\22\1\23\24\uffff\1\131\1\144\1\145\1\133\7\uffff\1\134\1\140\1\137\1\136\3\uffff\1\146\63\uffff\1\143\75\uffff\1\2\1\uffff\1\11\6\uffff\1\5\12\uffff\1\14\1\17\1\135\20\uffff\1\40\3\uffff\1\65\3\uffff\1\114\1\77\1\130\1\113\1\115\1\100\15\uffff\1\26\11\uffff\1\12\13\uffff\1\74\7\uffff\1\61\4\uffff\1\117\1\102\1\121\1\104\1\123\1\106\1\116\1\101\6\uffff\1\3\1\4\1\66\3\uffff\1\7\6\uffff\1\127\1\112\1\15\15\uffff\1\71\5\uffff\1\73\1\120\1\103\1\122\1\105\1\124\1\107\6\uffff\1\6\1\uffff\1\34\1\uffff\1\125\1\110\1\126\1\111\1\13\1\uffff\1\70\1\uffff\1\24\16\uffff\1\67\1\72\7\uffff\1\35\1\10\1\16\5\uffff\1\27\11\uffff\1\1\1\uffff\1\51\10\uffff\1\64\1\uffff\1\52\10\uffff\1\36\7\uffff\1\53\1\20\1\47\2\uffff\1\42\3\uffff\1\37\7\uffff\1\33\2\uffff\1\43\3\uffff\1\25\12\uffff\1\75\2\uffff\1\32\1\uffff\1\55\1\uffff\1\56\1\uffff\1\31\4\uffff\1\50\1\uffff\1\54\2\uffff\1\45\1\46\1\30\3\uffff\1\41\1\44\4\uffff\1\60\5\uffff\1\63\4\uffff\1\62\1\uffff\1\57\2\uffff\1\76"; static final String DFA30_specialS = - "\1\6\45\uffff\1\2\1\5\100\uffff\1\0\1\4\1\uffff\1\1\1\10\72\uffff\1\3\1\uffff\1\7\u017c\uffff}>"; + "\1\0\45\uffff\1\6\1\1\101\uffff\1\2\1\10\1\uffff\1\4\1\5\73\uffff\1\7\1\uffff\1\3\u0186\uffff}>"; static final String[] DFA30_transitionS = { "\11\56\2\55\2\56\1\55\22\56\1\55\1\56\1\46\4\56\1\47\4\56\1\21\1\53\1\56\1\42\1\51\2\52\7\54\7\56\1\23\1\35\1\24\1\25\1\30\1\22\1\1\1\3\1\34\2\44\1\33\1\44\1\27\1\44\1\16\1\44\1\32\1\4\1\26\6\44\1\41\2\56\1\43\1\44\1\56\1\14\1\36\1\44\1\15\1\44\1\10\1\5\1\44\1\37\3\44\1\6\1\2\1\44\1\31\1\44\1\7\1\12\1\13\1\40\1\11\4\44\1\17\1\56\1\20\1\50\uff81\56", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\60\5\62\1\57\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\65\15\62\1\64\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\66\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\71\12\62\1\70\3\62\1\67\1\72\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\73\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\74\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\75\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\100\3\62\1\76\6\62\1\77\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\101\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\102\16\62\1\103\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\105\10\62\1\106\6\62\1\104\1\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\107\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\111\17\62\1\110\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\112\20\62\1\114\2\62\1\113\5\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\60\5\61\1\57\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\65\15\61\1\64\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\66\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\71\12\61\1\70\3\61\1\67\1\72\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\73\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\74\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\75\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\100\3\61\1\76\6\61\1\77\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\101\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\102\16\61\1\103\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\105\10\61\1\106\6\61\1\104\1\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\107\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\111\17\61\1\110\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\112\20\61\1\114\2\61\1\113\5\61", "", "", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\120\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\122\16\62\1\121\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\123\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\124\11\62\1\125\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\126\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\127\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\27\62\1\130\2\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\131\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\132\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\133\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\134\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\136\15\62\1\135\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\137\11\62\1\140\1\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\141\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\142\21\62", - "\1\143", - "\1\146\4\uffff\1\146\2\uffff\1\144\4\uffff\1\145\21\uffff\32\45\3\uffff\2\45\1\uffff\32\45", - "\32\147\4\uffff\1\147\1\uffff\32\147", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\120\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\123\11\61\1\122\4\61\1\121\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\124\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\125\11\61\1\126\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\127\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\130\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\27\61\1\131\2\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\132\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\133\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\134\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\135\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\137\15\61\1\136\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\140\11\61\1\141\1\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\142\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\143\21\61", + "\1\144", + "\1\147\4\uffff\1\147\2\uffff\1\145\4\uffff\1\146\21\uffff\32\45\3\uffff\2\45\1\uffff\32\45", + "\32\150\4\uffff\1\150\1\uffff\32\150", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\42\151\1\152\71\151\1\150\uffa3\151", - "\47\154\1\155\64\154\1\153\uffa3\154", - "\1\146\4\uffff\1\146", - "\1\161\1\uffff\12\157\10\uffff\1\156\2\uffff\1\161\34\uffff\1\156\2\uffff\1\161", - "\1\161\1\uffff\12\162\13\uffff\1\161\37\uffff\1\161", - "\12\163", - "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", + "\42\152\1\153\71\152\1\151\uffa3\152", + "\47\155\1\156\64\155\1\154\uffa3\155", + "\1\147\4\uffff\1\147", + "\1\162\1\uffff\12\160\10\uffff\1\157\2\uffff\1\162\34\uffff\1\157\2\uffff\1\162", + "\1\162\1\uffff\12\163\13\uffff\1\162\37\uffff\1\162", + "\12\164", + "\1\162\1\uffff\12\165\13\uffff\1\162\37\uffff\1\162", "", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\166\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\167\13\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\167\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\170\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\170\26\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\171\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\172\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\173\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\174\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\175\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\176\30\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\177\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0080\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\20\62\1\u0082\1\62\1\u0081\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0083\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0084\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0085\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0086\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0087\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0088\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0089\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u008a\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u008b\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u008c\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u008d\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u008e\24\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u008f\16\62\1\u0090\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0091\30\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0092\21\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\171\26\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\172\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\173\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\174\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\175\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\176\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\177\30\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0080\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0081\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\20\61\1\u0083\1\61\1\u0082\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0084\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u0085\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0086\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0087\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0088\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0089\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u008a\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u008b\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u008c\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u008d\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u008e\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\5\61\1\u008f\24\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0090\16\61\1\u0091\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u0092\30\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u0093\21\61", "", "", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0093\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0095\1\62\1\u0094\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0096\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0097\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0098\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u0099\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u009a\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u009b\26\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u009c\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u009d\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u009e\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u009f\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a0\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a1\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00a2\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a3\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a4\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a5\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00a6\14\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u0094\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0096\1\61\1\u0095\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0097\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0098\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0099\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u009a\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u009b\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u009c\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u009d\26\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u009e\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u009f\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00a0\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00a1\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00a2\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00a3\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00a4\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00a5\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00a6\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00a7\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00a8\14\61", "", "", "", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\0\u00a7", - "\42\151\1\152\71\151\1\150\uffa3\151", - "\1\146\15\uffff\1\63", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "\0\u00a9", - "\47\154\1\155\64\154\1\153\uffa3\154", - "\1\146\15\uffff\1\63", + "\42\152\1\153\71\152\1\151\uffa3\152", + "\1\147\15\uffff\1\63", + "\0\u00ab", + "\47\155\1\156\64\155\1\154\uffa3\155", + "\1\147\15\uffff\1\63", + "", "", "", "", + "\1\162\1\uffff\12\u00ac\13\uffff\1\162\37\uffff\1\162", + "\1\162\1\uffff\12\u00ad\13\uffff\1\162\37\uffff\1\162", + "\1\162\1\uffff\12\165\13\uffff\1\162\37\uffff\1\162", "", - "\1\161\1\uffff\12\u00aa\13\uffff\1\161\37\uffff\1\161", - "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", - "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u00ae\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u00af\30\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00b0\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00b1\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u00b2\26\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00b3\13\61\1\u00b4\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u00b5\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u00b6\4\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00b7\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00b8\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00b9\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u00bb\4\61\1\u00ba\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u00bc\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u00bd\26\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00be\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00bf\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u00c0\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u00c1\4\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00c2\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00c3\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00c4\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00c5\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00c6\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00c7\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00c8\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u00c9\17\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00ca\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00cb\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u00cc\4\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u00cd\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00ce\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00cf\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00d0\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00d1\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u00d2\17\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00d3\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u00d4\30\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00d5\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00d6\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00d7\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00d8\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00d9\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00da\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00db\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00dc\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00dd\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00de\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00df\25\61", + "\1\45\1\61\1\u00e1\1\61\1\u00e2\2\61\1\u00e3\1\61\1\u00e0\1\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00e4\6\61", + "\42\152\1\153\71\152\1\151\uffa3\152", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00ac\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00ad\30\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00ae\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00af\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00b0\26\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00b1\13\62\1\u00b2\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00b3\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00b4\4\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00b5\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00b6\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00b7\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00b9\4\62\1\u00b8\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00ba\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00bb\26\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00bc\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00bd\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00be\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00bf\4\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00c0\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c1\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c2\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c3\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00c4\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c5\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c6\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00c7\17\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c8\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00c9\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00ca\4\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00cb\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00cc\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00cd\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ce\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00cf\17\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d0\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00d1\30\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00d2\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d3\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d4\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d5\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d6\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d7\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d8\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00d9\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00da\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00db\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00dc\25\62", - "\1\45\1\62\1\u00de\1\62\1\u00df\2\62\1\u00e0\1\62\1\u00dd\1\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00e1\6\62", - "\42\151\1\152\71\151\1\150\uffa3\151", + "\47\155\1\156\64\155\1\154\uffa3\155", + "\1\162\1\uffff\12\u00e5\13\uffff\1\162\37\uffff\1\162", + "\1\162\1\uffff\12\u00ad\13\uffff\1\162\37\uffff\1\162", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\7\61\1\u00e6\22\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00e7\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00e9\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00eb\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00ec\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u00ed\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u00ee\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00ef\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u00f0\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u00f2\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u00f3\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00f4\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00f5\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u00f6\30\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u00f7\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00f8\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u00f9\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u00fa\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u00fb\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u00ff\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0100\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u0101\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0102\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u0103\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u0104\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0105\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\6\61\1\u0106\23\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\5\61\1\u0107\24\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\30\61\1\u0108\1\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0109\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u010a\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u010b\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u010c\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u010d\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u010e\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0110\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0111\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0112\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u0114\23\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0115\25\61", + "\1\45\6\61\1\u0116\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0117\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0119\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u011b\3\uffff\1\61\1\uffff\32\61", + "\1\45\6\61\1\u011d\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\2\61\1\u011e\7\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\4\61\1\u011f\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\1\61\1\u0121\1\61\1\u0122\2\61\1\u0123\1\61\1\u0120\1\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\160\1\162\1\uffff\12\165\13\uffff\1\162\37\uffff\1\162", + "\1\45\12\61\3\uffff\1\63\3\uffff\15\61\1\u0124\14\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0125\16\61", "", - "\47\154\1\155\64\154\1\153\uffa3\154", - "\1\161\1\uffff\12\u00e2\13\uffff\1\161\37\uffff\1\161", - "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u00e3\22\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00e4\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00e6\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00e8\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00e9\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ea\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00eb\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ec\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ed\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00ef\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00f0\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00f1\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f2\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00f3\30\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00f4\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f5\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f6\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00f7\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00f8\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00fc\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00fd\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00fe\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00ff\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u0100\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0101\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0102\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\6\62\1\u0103\23\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u0104\24\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u0105\1\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0106\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0107\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0108\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0109\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u010a\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u010c\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u010d\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u010e\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0110\23\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0111\25\62", - "\1\45\6\62\1\u0112\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0113\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0115\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0117\3\uffff\1\62\1\uffff\32\62", - "\1\45\6\62\1\u0119\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\2\62\1\u011a\7\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\4\62\1\u011b\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\1\62\1\u011d\1\62\1\u011e\2\62\1\u011f\1\62\1\u011c\1\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\157\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", - "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u0120\14\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0121\16\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0126\12\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0122\12\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0127\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u0128\23\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0129\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u012b\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u012c\10\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0123\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0124\23\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0125\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0127\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0128\10\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u012d\23\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u012e\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u012f\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0130\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0131\31\61", + "\1\45\3\61\1\u0132\2\61\1\u0133\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0135\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u0136\23\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0129\23\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u012a\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u012b\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u012c\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u012d\31\62", - "\1\45\3\62\1\u012e\2\62\1\u012f\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0131\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0132\23\62", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0137\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u0138\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u0139\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u013a\23\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u013b\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u013c\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u013d\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u013e\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u013f\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\17\61\1\u0141\12\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0142\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0143\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u0144\26\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0145\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\22\61\1\u0146\7\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0133\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0134\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0135\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0136\23\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0137\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0138\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0139\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u013a\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u013b\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013d\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013e\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u013f\26\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0140\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\22\62\1\u0141\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0147\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u0149\21\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0142\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0144\21\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u014a\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u014b\31\61", + "\1\45\4\61\1\u014c\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0145\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0146\31\62", - "\1\45\4\62\1\u0147\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u014d\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u014f\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0151\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0153\3\uffff\1\61\1\uffff\32\61", + "\1\45\6\61\1\u0155\3\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\2\61\1\u0156\7\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\4\61\1\u0157\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0158\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\15\61\1\u0159\14\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u015a\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0148\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u014a\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u014c\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u014e\3\uffff\1\62\1\uffff\32\62", - "\1\45\6\62\1\u0150\3\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\2\62\1\u0151\7\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\4\62\1\u0152\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0153\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u0154\14\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0155\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u015e\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u015f\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0160\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0162\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0163\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0164\27\61", + "\1\45\2\61\1\u0165\7\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\4\61\1\u0166\5\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0159\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u015a\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u015b\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u015d\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u015e\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u015f\27\62", - "\1\45\2\62\1\u0160\7\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\4\62\1\u0161\5\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0167\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0168\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u016b\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u016c\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u016d\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u016e\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\7\61\1\u016f\22\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0170\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0171\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0172\27\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0162\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0163\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0166\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0167\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0168\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0169\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u016a\22\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u016b\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u016c\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u016d\27\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0173\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\2\61\1\u0175\17\61\1\u0174\7\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\17\61\1\u0176\12\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0177\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0179\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u017a\31\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\2\62\1\u016f\17\62\1\u016e\7\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\17\62\1\u0170\12\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0171\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0173\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0174\31\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u017b\4\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u017c\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u017d\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u0175\4\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0176\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0177\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", @@ -4598,220 +4633,226 @@ public String getDescription() { "", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u017f\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0181\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0183\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u0185\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0186\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0187\27\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0179\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u017b\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u017d\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u017f\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0180\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0181\27\62", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\2\61\1\u0189\17\61\1\u0188\7\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u018a\30\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\2\62\1\u0183\17\62\1\u0182\7\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0184\30\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u018c\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u018e\17\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u018f\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\1\u0191\3\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0186\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u0188\17\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u0189\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\1\u018b\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0194\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\22\61\1\u0196\7\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0198\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0199\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\15\61\1\u019a\14\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\21\61\1\u019b\10\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u019c\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u019d\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u019f\12\61\1\u019e\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u01a0\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01a1\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01a2\14\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u018e\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\22\62\1\u0190\7\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0192\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0193\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u0194\14\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\21\62\1\u0195\10\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0196\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0198\12\62\1\u0197\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0199\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u019a\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u019b\14\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01a3\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u01a4\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01a5\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u019c\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u019d\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u019e\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01a8\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u01a9\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01aa\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01ac\12\61\1\u01ab\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\13\61\1\u01ad\16\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01ae\25\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a1\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01a2\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a3\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a5\12\62\1\u01a4\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u01a6\16\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a7\25\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01b2\25\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ab\25\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01b3\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01b4\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01b5\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01b6\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u01b8\17\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01b9\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01ba\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u01bb\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01bc\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01bd\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01be\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\3\61\1\u01bf\26\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\15\61\1\u01c0\14\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ac\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ad\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01ae\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01af\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01b1\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01b2\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01b3\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b4\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b5\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b6\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\3\62\1\u01b7\26\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\15\62\1\u01b8\14\62\4\uffff\1\62\1\uffff\32\62", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01c2\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01c4\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01c5\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u01c6\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01c7\10\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ba\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01bc\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01bd\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01be\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01bf\10\62", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u01c8\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\1\u01ca\21\61\1\u01cb\7\61\4\uffff\1\61\1\uffff\22\61\1\u01c9\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01cd\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u01cf\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u01d0\12\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01c0\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\1\u01c2\21\62\1\u01c3\7\62\4\uffff\1\62\1\uffff\22\62\1\u01c1\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01c5\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01c7\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01c8\12\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01d1\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01d2\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u01d3\4\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01d4\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\12\61\1\u01d5\17\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\10\61\1\u01d6\21\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01d8\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01d9\31\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01c9\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01ca\4\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01cb\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u01cc\17\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01cd\21\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01cf\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01d0\31\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01da\7\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01d1\7\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u01db\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\25\61\1\u01dc\4\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01dd\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01de\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01e2\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u01e3\6\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01d2\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01d3\4\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01d4\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01d5\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01d9\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01da\6\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01e5\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\16\61\1\u01e6\13\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u01e7\23\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01e9\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01ea\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01eb\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01ec\25\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01dc\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u01dd\13\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01df\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01e0\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01e1\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e2\25\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u01ed\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u01ee\15\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u01ef\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01f1\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u01f2\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01e3\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01e4\15\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01e5\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e7\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01e8\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\30\61\1\u01f4\1\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01f5\10\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u01ea\1\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01eb\10\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01f6\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01f8\25\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01ec\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u01f9\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u01fa\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\6\61\1\u01fb\23\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u01fc\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01fd\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u01fe\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u01ff\31\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ee\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01ef\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u01f0\23\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01f1\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f2\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f3\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01f4\31\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0200\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u0201\6\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01f5\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01f6\6\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\24\61\1\u0203\5\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0204\12\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u01f8\5\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01f9\12\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0206\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0208\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u020a\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u020c\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u020d\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u020e\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u020f\7\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\22\61\1\u0211\7\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01fa\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01fc\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01fe\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0200\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0201\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0202\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0203\7\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0205\7\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0213\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0214\31\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0207\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0208\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u020c\26\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u020d\12\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u020e\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\3\61\1\u0218\26\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\17\61\1\u0219\12\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u021a\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0211\6\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0212\27\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\23\61\1\u021d\6\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u021e\27\61", "", "", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0213\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0214\31\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u021f\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\u0220\31\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\14\62\1\u0216\15\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0217\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0218\14\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0219\27\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\14\61\1\u0222\15\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0223\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\15\61\1\u0224\14\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0225\27\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021a\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u021c\27\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021d\25\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u021e\15\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0226\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\2\61\1\u0228\27\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u0229\25\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\14\61\1\u022a\15\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u021f\1\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0221\30\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\30\61\1\u022b\1\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\1\61\1\u022d\30\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0223\25\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\4\61\1\u022f\25\61", "", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0224\10\62", - "\1\45\12\62\3\uffff\1\63\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\21\61\1\u0230\10\61", + "\1\45\12\61\3\uffff\1\63\3\uffff\32\61\4\uffff\1\61\1\uffff\32\61", "" }; @@ -4845,81 +4886,13 @@ public DFA30(BaseRecognizer recognizer) { this.transition = DFA30_transition; } public String getDescription() { - return "1:1: Tokens : ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + return "1:1: Tokens : ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; int _s = s; switch ( s ) { case 0 : - int LA30_104 = input.LA(1); - - s = -1; - if ( ((LA30_104>='\u0000' && LA30_104<='\uFFFF')) ) {s = 167;} - - if ( s>=0 ) return s; - break; - case 1 : - int LA30_107 = input.LA(1); - - s = -1; - if ( ((LA30_107>='\u0000' && LA30_107<='\uFFFF')) ) {s = 169;} - - if ( s>=0 ) return s; - break; - case 2 : - int LA30_38 = input.LA(1); - - s = -1; - if ( (LA30_38=='\\') ) {s = 104;} - - else if ( ((LA30_38>='\u0000' && LA30_38<='!')||(LA30_38>='#' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 105;} - - else if ( (LA30_38=='\"') ) {s = 106;} - - else s = 46; - - if ( s>=0 ) return s; - break; - case 3 : - int LA30_167 = input.LA(1); - - s = -1; - if ( (LA30_167=='\"') ) {s = 106;} - - else if ( (LA30_167=='\\') ) {s = 104;} - - else if ( ((LA30_167>='\u0000' && LA30_167<='!')||(LA30_167>='#' && LA30_167<='[')||(LA30_167>=']' && LA30_167<='\uFFFF')) ) {s = 105;} - - if ( s>=0 ) return s; - break; - case 4 : - int LA30_105 = input.LA(1); - - s = -1; - if ( (LA30_105=='\"') ) {s = 106;} - - else if ( (LA30_105=='\\') ) {s = 104;} - - else if ( ((LA30_105>='\u0000' && LA30_105<='!')||(LA30_105>='#' && LA30_105<='[')||(LA30_105>=']' && LA30_105<='\uFFFF')) ) {s = 105;} - - if ( s>=0 ) return s; - break; - case 5 : - int LA30_39 = input.LA(1); - - s = -1; - if ( (LA30_39=='\\') ) {s = 107;} - - else if ( ((LA30_39>='\u0000' && LA30_39<='&')||(LA30_39>='(' && LA30_39<='[')||(LA30_39>=']' && LA30_39<='\uFFFF')) ) {s = 108;} - - else if ( (LA30_39=='\'') ) {s = 109;} - - else s = 46; - - if ( s>=0 ) return s; - break; - case 6 : int LA30_0 = input.LA(1); s = -1; @@ -5015,29 +4988,97 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else s = 37; + if ( s>=0 ) return s; + break; + case 1 : + int LA30_39 = input.LA(1); + + s = -1; + if ( (LA30_39=='\\') ) {s = 108;} + + else if ( ((LA30_39>='\u0000' && LA30_39<='&')||(LA30_39>='(' && LA30_39<='[')||(LA30_39>=']' && LA30_39<='\uFFFF')) ) {s = 109;} + + else if ( (LA30_39=='\'') ) {s = 110;} + + else s = 46; + + if ( s>=0 ) return s; + break; + case 2 : + int LA30_105 = input.LA(1); + + s = -1; + if ( ((LA30_105>='\u0000' && LA30_105<='\uFFFF')) ) {s = 169;} + + if ( s>=0 ) return s; + break; + case 3 : + int LA30_171 = input.LA(1); + + s = -1; + if ( (LA30_171=='\'') ) {s = 110;} + + else if ( (LA30_171=='\\') ) {s = 108;} + + else if ( ((LA30_171>='\u0000' && LA30_171<='&')||(LA30_171>='(' && LA30_171<='[')||(LA30_171>=']' && LA30_171<='\uFFFF')) ) {s = 109;} + + if ( s>=0 ) return s; + break; + case 4 : + int LA30_108 = input.LA(1); + + s = -1; + if ( ((LA30_108>='\u0000' && LA30_108<='\uFFFF')) ) {s = 171;} + + if ( s>=0 ) return s; + break; + case 5 : + int LA30_109 = input.LA(1); + + s = -1; + if ( (LA30_109=='\'') ) {s = 110;} + + else if ( (LA30_109=='\\') ) {s = 108;} + + else if ( ((LA30_109>='\u0000' && LA30_109<='&')||(LA30_109>='(' && LA30_109<='[')||(LA30_109>=']' && LA30_109<='\uFFFF')) ) {s = 109;} + + if ( s>=0 ) return s; + break; + case 6 : + int LA30_38 = input.LA(1); + + s = -1; + if ( (LA30_38=='\\') ) {s = 105;} + + else if ( ((LA30_38>='\u0000' && LA30_38<='!')||(LA30_38>='#' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 106;} + + else if ( (LA30_38=='\"') ) {s = 107;} + + else s = 46; + if ( s>=0 ) return s; break; case 7 : int LA30_169 = input.LA(1); s = -1; - if ( (LA30_169=='\'') ) {s = 109;} + if ( (LA30_169=='\"') ) {s = 107;} - else if ( (LA30_169=='\\') ) {s = 107;} + else if ( (LA30_169=='\\') ) {s = 105;} - else if ( ((LA30_169>='\u0000' && LA30_169<='&')||(LA30_169>='(' && LA30_169<='[')||(LA30_169>=']' && LA30_169<='\uFFFF')) ) {s = 108;} + else if ( ((LA30_169>='\u0000' && LA30_169<='!')||(LA30_169>='#' && LA30_169<='[')||(LA30_169>=']' && LA30_169<='\uFFFF')) ) {s = 106;} if ( s>=0 ) return s; break; case 8 : - int LA30_108 = input.LA(1); + int LA30_106 = input.LA(1); s = -1; - if ( (LA30_108=='\'') ) {s = 109;} + if ( (LA30_106=='\"') ) {s = 107;} - else if ( (LA30_108=='\\') ) {s = 107;} + else if ( (LA30_106=='\\') ) {s = 105;} - else if ( ((LA30_108>='\u0000' && LA30_108<='&')||(LA30_108>='(' && LA30_108<='[')||(LA30_108>=']' && LA30_108<='\uFFFF')) ) {s = 108;} + else if ( ((LA30_106>='\u0000' && LA30_106<='!')||(LA30_106>='#' && LA30_106<='[')||(LA30_106>=']' && LA30_106<='\uFFFF')) ) {s = 106;} if ( s>=0 ) return s; break; @@ -5050,4 +5091,4 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc } -} +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java index 53d9f2585..384fb4856 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src-gen/de/fraunhofer/ipa/ros/ide/contentassist/antlr/internal/InternalRosParser.java @@ -22,7 +22,7 @@ @SuppressWarnings("all") public class InternalRosParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'GraphName'", "'node'", "'Header'", "'String'", "'goal'", "'message'", "'result'", "'feedback'", "'name'", "'value'", "'service'", "'type'", "'action'", "'duration'", "'time'", "'PackageSet'", "'{'", "'}'", "','", "'Package'", "'FromGitRepo'", "'Specs'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'ActionSpec'", "'Node'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'ActionClient'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" + "", "", "", "", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'GraphName'", "'node'", "'Header'", "'String'", "'goal'", "'message'", "'result'", "'feedback'", "'name'", "'value'", "'service'", "'type'", "'action'", "'duration'", "'time'", "'PackageSet'", "'{'", "'}'", "','", "'Package'", "'FromGitRepo'", "'Specs'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'AmentPackage'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'ActionSpec'", "'Node'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'ActionClient'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" }; public static final int T__50=50; public static final int RULE_DATE_TIME=8; @@ -116,6 +116,7 @@ public class InternalRosParser extends AbstractInternalContentAssistParser { public static final int T__81=81; public static final int T__110=110; public static final int T__82=82; + public static final int T__113=113; public static final int T__83=83; public static final int T__112=112; public static final int RULE_WS=23; @@ -940,12 +941,89 @@ public final void ruleCatkinPackage() throws RecognitionException { // $ANTLR end "ruleCatkinPackage" + // $ANTLR start "entryRuleAmentPackage" + // InternalRos.g:303:1: entryRuleAmentPackage : ruleAmentPackage EOF ; + public final void entryRuleAmentPackage() throws RecognitionException { + try { + // InternalRos.g:304:1: ( ruleAmentPackage EOF ) + // InternalRos.g:305:1: ruleAmentPackage EOF + { + before(grammarAccess.getAmentPackageRule()); + pushFollow(FOLLOW_1); + ruleAmentPackage(); + + state._fsp--; + + after(grammarAccess.getAmentPackageRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAmentPackage" + + + // $ANTLR start "ruleAmentPackage" + // InternalRos.g:312:1: ruleAmentPackage : ( ( rule__AmentPackage__Group__0 ) ) ; + public final void ruleAmentPackage() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:316:2: ( ( ( rule__AmentPackage__Group__0 ) ) ) + // InternalRos.g:317:2: ( ( rule__AmentPackage__Group__0 ) ) + { + // InternalRos.g:317:2: ( ( rule__AmentPackage__Group__0 ) ) + // InternalRos.g:318:3: ( rule__AmentPackage__Group__0 ) + { + before(grammarAccess.getAmentPackageAccess().getGroup()); + // InternalRos.g:319:3: ( rule__AmentPackage__Group__0 ) + // InternalRos.g:319:4: rule__AmentPackage__Group__0 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getAmentPackageAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAmentPackage" + + // $ANTLR start "entryRuleServiceSpec" - // InternalRos.g:303:1: entryRuleServiceSpec : ruleServiceSpec EOF ; + // InternalRos.g:328:1: entryRuleServiceSpec : ruleServiceSpec EOF ; public final void entryRuleServiceSpec() throws RecognitionException { try { - // InternalRos.g:304:1: ( ruleServiceSpec EOF ) - // InternalRos.g:305:1: ruleServiceSpec EOF + // InternalRos.g:329:1: ( ruleServiceSpec EOF ) + // InternalRos.g:330:1: ruleServiceSpec EOF { before(grammarAccess.getServiceSpecRule()); pushFollow(FOLLOW_1); @@ -971,21 +1049,21 @@ public final void entryRuleServiceSpec() throws RecognitionException { // $ANTLR start "ruleServiceSpec" - // InternalRos.g:312:1: ruleServiceSpec : ( ( rule__ServiceSpec__Group__0 ) ) ; + // InternalRos.g:337:1: ruleServiceSpec : ( ( rule__ServiceSpec__Group__0 ) ) ; public final void ruleServiceSpec() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:316:2: ( ( ( rule__ServiceSpec__Group__0 ) ) ) - // InternalRos.g:317:2: ( ( rule__ServiceSpec__Group__0 ) ) + // InternalRos.g:341:2: ( ( ( rule__ServiceSpec__Group__0 ) ) ) + // InternalRos.g:342:2: ( ( rule__ServiceSpec__Group__0 ) ) { - // InternalRos.g:317:2: ( ( rule__ServiceSpec__Group__0 ) ) - // InternalRos.g:318:3: ( rule__ServiceSpec__Group__0 ) + // InternalRos.g:342:2: ( ( rule__ServiceSpec__Group__0 ) ) + // InternalRos.g:343:3: ( rule__ServiceSpec__Group__0 ) { before(grammarAccess.getServiceSpecAccess().getGroup()); - // InternalRos.g:319:3: ( rule__ServiceSpec__Group__0 ) - // InternalRos.g:319:4: rule__ServiceSpec__Group__0 + // InternalRos.g:344:3: ( rule__ServiceSpec__Group__0 ) + // InternalRos.g:344:4: rule__ServiceSpec__Group__0 { pushFollow(FOLLOW_2); rule__ServiceSpec__Group__0(); @@ -1018,11 +1096,11 @@ public final void ruleServiceSpec() throws RecognitionException { // $ANTLR start "entryRuleTopicSpec" - // InternalRos.g:328:1: entryRuleTopicSpec : ruleTopicSpec EOF ; + // InternalRos.g:353:1: entryRuleTopicSpec : ruleTopicSpec EOF ; public final void entryRuleTopicSpec() throws RecognitionException { try { - // InternalRos.g:329:1: ( ruleTopicSpec EOF ) - // InternalRos.g:330:1: ruleTopicSpec EOF + // InternalRos.g:354:1: ( ruleTopicSpec EOF ) + // InternalRos.g:355:1: ruleTopicSpec EOF { before(grammarAccess.getTopicSpecRule()); pushFollow(FOLLOW_1); @@ -1048,21 +1126,21 @@ public final void entryRuleTopicSpec() throws RecognitionException { // $ANTLR start "ruleTopicSpec" - // InternalRos.g:337:1: ruleTopicSpec : ( ( rule__TopicSpec__Group__0 ) ) ; + // InternalRos.g:362:1: ruleTopicSpec : ( ( rule__TopicSpec__Group__0 ) ) ; public final void ruleTopicSpec() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:341:2: ( ( ( rule__TopicSpec__Group__0 ) ) ) - // InternalRos.g:342:2: ( ( rule__TopicSpec__Group__0 ) ) + // InternalRos.g:366:2: ( ( ( rule__TopicSpec__Group__0 ) ) ) + // InternalRos.g:367:2: ( ( rule__TopicSpec__Group__0 ) ) { - // InternalRos.g:342:2: ( ( rule__TopicSpec__Group__0 ) ) - // InternalRos.g:343:3: ( rule__TopicSpec__Group__0 ) + // InternalRos.g:367:2: ( ( rule__TopicSpec__Group__0 ) ) + // InternalRos.g:368:3: ( rule__TopicSpec__Group__0 ) { before(grammarAccess.getTopicSpecAccess().getGroup()); - // InternalRos.g:344:3: ( rule__TopicSpec__Group__0 ) - // InternalRos.g:344:4: rule__TopicSpec__Group__0 + // InternalRos.g:369:3: ( rule__TopicSpec__Group__0 ) + // InternalRos.g:369:4: rule__TopicSpec__Group__0 { pushFollow(FOLLOW_2); rule__TopicSpec__Group__0(); @@ -1095,11 +1173,11 @@ public final void ruleTopicSpec() throws RecognitionException { // $ANTLR start "entryRuleActionSpec" - // InternalRos.g:353:1: entryRuleActionSpec : ruleActionSpec EOF ; + // InternalRos.g:378:1: entryRuleActionSpec : ruleActionSpec EOF ; public final void entryRuleActionSpec() throws RecognitionException { try { - // InternalRos.g:354:1: ( ruleActionSpec EOF ) - // InternalRos.g:355:1: ruleActionSpec EOF + // InternalRos.g:379:1: ( ruleActionSpec EOF ) + // InternalRos.g:380:1: ruleActionSpec EOF { before(grammarAccess.getActionSpecRule()); pushFollow(FOLLOW_1); @@ -1125,21 +1203,21 @@ public final void entryRuleActionSpec() throws RecognitionException { // $ANTLR start "ruleActionSpec" - // InternalRos.g:362:1: ruleActionSpec : ( ( rule__ActionSpec__Group__0 ) ) ; + // InternalRos.g:387:1: ruleActionSpec : ( ( rule__ActionSpec__Group__0 ) ) ; public final void ruleActionSpec() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:366:2: ( ( ( rule__ActionSpec__Group__0 ) ) ) - // InternalRos.g:367:2: ( ( rule__ActionSpec__Group__0 ) ) + // InternalRos.g:391:2: ( ( ( rule__ActionSpec__Group__0 ) ) ) + // InternalRos.g:392:2: ( ( rule__ActionSpec__Group__0 ) ) { - // InternalRos.g:367:2: ( ( rule__ActionSpec__Group__0 ) ) - // InternalRos.g:368:3: ( rule__ActionSpec__Group__0 ) + // InternalRos.g:392:2: ( ( rule__ActionSpec__Group__0 ) ) + // InternalRos.g:393:3: ( rule__ActionSpec__Group__0 ) { before(grammarAccess.getActionSpecAccess().getGroup()); - // InternalRos.g:369:3: ( rule__ActionSpec__Group__0 ) - // InternalRos.g:369:4: rule__ActionSpec__Group__0 + // InternalRos.g:394:3: ( rule__ActionSpec__Group__0 ) + // InternalRos.g:394:4: rule__ActionSpec__Group__0 { pushFollow(FOLLOW_2); rule__ActionSpec__Group__0(); @@ -1172,11 +1250,11 @@ public final void ruleActionSpec() throws RecognitionException { // $ANTLR start "entryRuleMessageDefinition" - // InternalRos.g:378:1: entryRuleMessageDefinition : ruleMessageDefinition EOF ; + // InternalRos.g:403:1: entryRuleMessageDefinition : ruleMessageDefinition EOF ; public final void entryRuleMessageDefinition() throws RecognitionException { try { - // InternalRos.g:379:1: ( ruleMessageDefinition EOF ) - // InternalRos.g:380:1: ruleMessageDefinition EOF + // InternalRos.g:404:1: ( ruleMessageDefinition EOF ) + // InternalRos.g:405:1: ruleMessageDefinition EOF { before(grammarAccess.getMessageDefinitionRule()); pushFollow(FOLLOW_1); @@ -1202,21 +1280,21 @@ public final void entryRuleMessageDefinition() throws RecognitionException { // $ANTLR start "ruleMessageDefinition" - // InternalRos.g:387:1: ruleMessageDefinition : ( ( rule__MessageDefinition__Group__0 ) ) ; + // InternalRos.g:412:1: ruleMessageDefinition : ( ( rule__MessageDefinition__Group__0 ) ) ; public final void ruleMessageDefinition() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:391:2: ( ( ( rule__MessageDefinition__Group__0 ) ) ) - // InternalRos.g:392:2: ( ( rule__MessageDefinition__Group__0 ) ) + // InternalRos.g:416:2: ( ( ( rule__MessageDefinition__Group__0 ) ) ) + // InternalRos.g:417:2: ( ( rule__MessageDefinition__Group__0 ) ) { - // InternalRos.g:392:2: ( ( rule__MessageDefinition__Group__0 ) ) - // InternalRos.g:393:3: ( rule__MessageDefinition__Group__0 ) + // InternalRos.g:417:2: ( ( rule__MessageDefinition__Group__0 ) ) + // InternalRos.g:418:3: ( rule__MessageDefinition__Group__0 ) { before(grammarAccess.getMessageDefinitionAccess().getGroup()); - // InternalRos.g:394:3: ( rule__MessageDefinition__Group__0 ) - // InternalRos.g:394:4: rule__MessageDefinition__Group__0 + // InternalRos.g:419:3: ( rule__MessageDefinition__Group__0 ) + // InternalRos.g:419:4: rule__MessageDefinition__Group__0 { pushFollow(FOLLOW_2); rule__MessageDefinition__Group__0(); @@ -1249,11 +1327,11 @@ public final void ruleMessageDefinition() throws RecognitionException { // $ANTLR start "entryRuleNode" - // InternalRos.g:403:1: entryRuleNode : ruleNode EOF ; + // InternalRos.g:428:1: entryRuleNode : ruleNode EOF ; public final void entryRuleNode() throws RecognitionException { try { - // InternalRos.g:404:1: ( ruleNode EOF ) - // InternalRos.g:405:1: ruleNode EOF + // InternalRos.g:429:1: ( ruleNode EOF ) + // InternalRos.g:430:1: ruleNode EOF { before(grammarAccess.getNodeRule()); pushFollow(FOLLOW_1); @@ -1279,21 +1357,21 @@ public final void entryRuleNode() throws RecognitionException { // $ANTLR start "ruleNode" - // InternalRos.g:412:1: ruleNode : ( ( rule__Node__Group__0 ) ) ; + // InternalRos.g:437:1: ruleNode : ( ( rule__Node__Group__0 ) ) ; public final void ruleNode() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:416:2: ( ( ( rule__Node__Group__0 ) ) ) - // InternalRos.g:417:2: ( ( rule__Node__Group__0 ) ) + // InternalRos.g:441:2: ( ( ( rule__Node__Group__0 ) ) ) + // InternalRos.g:442:2: ( ( rule__Node__Group__0 ) ) { - // InternalRos.g:417:2: ( ( rule__Node__Group__0 ) ) - // InternalRos.g:418:3: ( rule__Node__Group__0 ) + // InternalRos.g:442:2: ( ( rule__Node__Group__0 ) ) + // InternalRos.g:443:3: ( rule__Node__Group__0 ) { before(grammarAccess.getNodeAccess().getGroup()); - // InternalRos.g:419:3: ( rule__Node__Group__0 ) - // InternalRos.g:419:4: rule__Node__Group__0 + // InternalRos.g:444:3: ( rule__Node__Group__0 ) + // InternalRos.g:444:4: rule__Node__Group__0 { pushFollow(FOLLOW_2); rule__Node__Group__0(); @@ -1326,11 +1404,11 @@ public final void ruleNode() throws RecognitionException { // $ANTLR start "entryRuleServiceServer" - // InternalRos.g:428:1: entryRuleServiceServer : ruleServiceServer EOF ; + // InternalRos.g:453:1: entryRuleServiceServer : ruleServiceServer EOF ; public final void entryRuleServiceServer() throws RecognitionException { try { - // InternalRos.g:429:1: ( ruleServiceServer EOF ) - // InternalRos.g:430:1: ruleServiceServer EOF + // InternalRos.g:454:1: ( ruleServiceServer EOF ) + // InternalRos.g:455:1: ruleServiceServer EOF { before(grammarAccess.getServiceServerRule()); pushFollow(FOLLOW_1); @@ -1356,21 +1434,21 @@ public final void entryRuleServiceServer() throws RecognitionException { // $ANTLR start "ruleServiceServer" - // InternalRos.g:437:1: ruleServiceServer : ( ( rule__ServiceServer__Group__0 ) ) ; + // InternalRos.g:462:1: ruleServiceServer : ( ( rule__ServiceServer__Group__0 ) ) ; public final void ruleServiceServer() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:441:2: ( ( ( rule__ServiceServer__Group__0 ) ) ) - // InternalRos.g:442:2: ( ( rule__ServiceServer__Group__0 ) ) + // InternalRos.g:466:2: ( ( ( rule__ServiceServer__Group__0 ) ) ) + // InternalRos.g:467:2: ( ( rule__ServiceServer__Group__0 ) ) { - // InternalRos.g:442:2: ( ( rule__ServiceServer__Group__0 ) ) - // InternalRos.g:443:3: ( rule__ServiceServer__Group__0 ) + // InternalRos.g:467:2: ( ( rule__ServiceServer__Group__0 ) ) + // InternalRos.g:468:3: ( rule__ServiceServer__Group__0 ) { before(grammarAccess.getServiceServerAccess().getGroup()); - // InternalRos.g:444:3: ( rule__ServiceServer__Group__0 ) - // InternalRos.g:444:4: rule__ServiceServer__Group__0 + // InternalRos.g:469:3: ( rule__ServiceServer__Group__0 ) + // InternalRos.g:469:4: rule__ServiceServer__Group__0 { pushFollow(FOLLOW_2); rule__ServiceServer__Group__0(); @@ -1403,11 +1481,11 @@ public final void ruleServiceServer() throws RecognitionException { // $ANTLR start "entryRulePublisher" - // InternalRos.g:453:1: entryRulePublisher : rulePublisher EOF ; + // InternalRos.g:478:1: entryRulePublisher : rulePublisher EOF ; public final void entryRulePublisher() throws RecognitionException { try { - // InternalRos.g:454:1: ( rulePublisher EOF ) - // InternalRos.g:455:1: rulePublisher EOF + // InternalRos.g:479:1: ( rulePublisher EOF ) + // InternalRos.g:480:1: rulePublisher EOF { before(grammarAccess.getPublisherRule()); pushFollow(FOLLOW_1); @@ -1433,21 +1511,21 @@ public final void entryRulePublisher() throws RecognitionException { // $ANTLR start "rulePublisher" - // InternalRos.g:462:1: rulePublisher : ( ( rule__Publisher__Group__0 ) ) ; + // InternalRos.g:487:1: rulePublisher : ( ( rule__Publisher__Group__0 ) ) ; public final void rulePublisher() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:466:2: ( ( ( rule__Publisher__Group__0 ) ) ) - // InternalRos.g:467:2: ( ( rule__Publisher__Group__0 ) ) + // InternalRos.g:491:2: ( ( ( rule__Publisher__Group__0 ) ) ) + // InternalRos.g:492:2: ( ( rule__Publisher__Group__0 ) ) { - // InternalRos.g:467:2: ( ( rule__Publisher__Group__0 ) ) - // InternalRos.g:468:3: ( rule__Publisher__Group__0 ) + // InternalRos.g:492:2: ( ( rule__Publisher__Group__0 ) ) + // InternalRos.g:493:3: ( rule__Publisher__Group__0 ) { before(grammarAccess.getPublisherAccess().getGroup()); - // InternalRos.g:469:3: ( rule__Publisher__Group__0 ) - // InternalRos.g:469:4: rule__Publisher__Group__0 + // InternalRos.g:494:3: ( rule__Publisher__Group__0 ) + // InternalRos.g:494:4: rule__Publisher__Group__0 { pushFollow(FOLLOW_2); rule__Publisher__Group__0(); @@ -1480,11 +1558,11 @@ public final void rulePublisher() throws RecognitionException { // $ANTLR start "entryRuleSubscriber" - // InternalRos.g:478:1: entryRuleSubscriber : ruleSubscriber EOF ; + // InternalRos.g:503:1: entryRuleSubscriber : ruleSubscriber EOF ; public final void entryRuleSubscriber() throws RecognitionException { try { - // InternalRos.g:479:1: ( ruleSubscriber EOF ) - // InternalRos.g:480:1: ruleSubscriber EOF + // InternalRos.g:504:1: ( ruleSubscriber EOF ) + // InternalRos.g:505:1: ruleSubscriber EOF { before(grammarAccess.getSubscriberRule()); pushFollow(FOLLOW_1); @@ -1510,21 +1588,21 @@ public final void entryRuleSubscriber() throws RecognitionException { // $ANTLR start "ruleSubscriber" - // InternalRos.g:487:1: ruleSubscriber : ( ( rule__Subscriber__Group__0 ) ) ; + // InternalRos.g:512:1: ruleSubscriber : ( ( rule__Subscriber__Group__0 ) ) ; public final void ruleSubscriber() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:491:2: ( ( ( rule__Subscriber__Group__0 ) ) ) - // InternalRos.g:492:2: ( ( rule__Subscriber__Group__0 ) ) + // InternalRos.g:516:2: ( ( ( rule__Subscriber__Group__0 ) ) ) + // InternalRos.g:517:2: ( ( rule__Subscriber__Group__0 ) ) { - // InternalRos.g:492:2: ( ( rule__Subscriber__Group__0 ) ) - // InternalRos.g:493:3: ( rule__Subscriber__Group__0 ) + // InternalRos.g:517:2: ( ( rule__Subscriber__Group__0 ) ) + // InternalRos.g:518:3: ( rule__Subscriber__Group__0 ) { before(grammarAccess.getSubscriberAccess().getGroup()); - // InternalRos.g:494:3: ( rule__Subscriber__Group__0 ) - // InternalRos.g:494:4: rule__Subscriber__Group__0 + // InternalRos.g:519:3: ( rule__Subscriber__Group__0 ) + // InternalRos.g:519:4: rule__Subscriber__Group__0 { pushFollow(FOLLOW_2); rule__Subscriber__Group__0(); @@ -1557,11 +1635,11 @@ public final void ruleSubscriber() throws RecognitionException { // $ANTLR start "entryRuleServiceClient" - // InternalRos.g:503:1: entryRuleServiceClient : ruleServiceClient EOF ; + // InternalRos.g:528:1: entryRuleServiceClient : ruleServiceClient EOF ; public final void entryRuleServiceClient() throws RecognitionException { try { - // InternalRos.g:504:1: ( ruleServiceClient EOF ) - // InternalRos.g:505:1: ruleServiceClient EOF + // InternalRos.g:529:1: ( ruleServiceClient EOF ) + // InternalRos.g:530:1: ruleServiceClient EOF { before(grammarAccess.getServiceClientRule()); pushFollow(FOLLOW_1); @@ -1587,21 +1665,21 @@ public final void entryRuleServiceClient() throws RecognitionException { // $ANTLR start "ruleServiceClient" - // InternalRos.g:512:1: ruleServiceClient : ( ( rule__ServiceClient__Group__0 ) ) ; + // InternalRos.g:537:1: ruleServiceClient : ( ( rule__ServiceClient__Group__0 ) ) ; public final void ruleServiceClient() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:516:2: ( ( ( rule__ServiceClient__Group__0 ) ) ) - // InternalRos.g:517:2: ( ( rule__ServiceClient__Group__0 ) ) + // InternalRos.g:541:2: ( ( ( rule__ServiceClient__Group__0 ) ) ) + // InternalRos.g:542:2: ( ( rule__ServiceClient__Group__0 ) ) { - // InternalRos.g:517:2: ( ( rule__ServiceClient__Group__0 ) ) - // InternalRos.g:518:3: ( rule__ServiceClient__Group__0 ) + // InternalRos.g:542:2: ( ( rule__ServiceClient__Group__0 ) ) + // InternalRos.g:543:3: ( rule__ServiceClient__Group__0 ) { before(grammarAccess.getServiceClientAccess().getGroup()); - // InternalRos.g:519:3: ( rule__ServiceClient__Group__0 ) - // InternalRos.g:519:4: rule__ServiceClient__Group__0 + // InternalRos.g:544:3: ( rule__ServiceClient__Group__0 ) + // InternalRos.g:544:4: rule__ServiceClient__Group__0 { pushFollow(FOLLOW_2); rule__ServiceClient__Group__0(); @@ -1634,11 +1712,11 @@ public final void ruleServiceClient() throws RecognitionException { // $ANTLR start "entryRuleActionServer" - // InternalRos.g:528:1: entryRuleActionServer : ruleActionServer EOF ; + // InternalRos.g:553:1: entryRuleActionServer : ruleActionServer EOF ; public final void entryRuleActionServer() throws RecognitionException { try { - // InternalRos.g:529:1: ( ruleActionServer EOF ) - // InternalRos.g:530:1: ruleActionServer EOF + // InternalRos.g:554:1: ( ruleActionServer EOF ) + // InternalRos.g:555:1: ruleActionServer EOF { before(grammarAccess.getActionServerRule()); pushFollow(FOLLOW_1); @@ -1664,21 +1742,21 @@ public final void entryRuleActionServer() throws RecognitionException { // $ANTLR start "ruleActionServer" - // InternalRos.g:537:1: ruleActionServer : ( ( rule__ActionServer__Group__0 ) ) ; + // InternalRos.g:562:1: ruleActionServer : ( ( rule__ActionServer__Group__0 ) ) ; public final void ruleActionServer() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:541:2: ( ( ( rule__ActionServer__Group__0 ) ) ) - // InternalRos.g:542:2: ( ( rule__ActionServer__Group__0 ) ) + // InternalRos.g:566:2: ( ( ( rule__ActionServer__Group__0 ) ) ) + // InternalRos.g:567:2: ( ( rule__ActionServer__Group__0 ) ) { - // InternalRos.g:542:2: ( ( rule__ActionServer__Group__0 ) ) - // InternalRos.g:543:3: ( rule__ActionServer__Group__0 ) + // InternalRos.g:567:2: ( ( rule__ActionServer__Group__0 ) ) + // InternalRos.g:568:3: ( rule__ActionServer__Group__0 ) { before(grammarAccess.getActionServerAccess().getGroup()); - // InternalRos.g:544:3: ( rule__ActionServer__Group__0 ) - // InternalRos.g:544:4: rule__ActionServer__Group__0 + // InternalRos.g:569:3: ( rule__ActionServer__Group__0 ) + // InternalRos.g:569:4: rule__ActionServer__Group__0 { pushFollow(FOLLOW_2); rule__ActionServer__Group__0(); @@ -1711,11 +1789,11 @@ public final void ruleActionServer() throws RecognitionException { // $ANTLR start "entryRuleActionClient" - // InternalRos.g:553:1: entryRuleActionClient : ruleActionClient EOF ; + // InternalRos.g:578:1: entryRuleActionClient : ruleActionClient EOF ; public final void entryRuleActionClient() throws RecognitionException { try { - // InternalRos.g:554:1: ( ruleActionClient EOF ) - // InternalRos.g:555:1: ruleActionClient EOF + // InternalRos.g:579:1: ( ruleActionClient EOF ) + // InternalRos.g:580:1: ruleActionClient EOF { before(grammarAccess.getActionClientRule()); pushFollow(FOLLOW_1); @@ -1741,21 +1819,21 @@ public final void entryRuleActionClient() throws RecognitionException { // $ANTLR start "ruleActionClient" - // InternalRos.g:562:1: ruleActionClient : ( ( rule__ActionClient__Group__0 ) ) ; + // InternalRos.g:587:1: ruleActionClient : ( ( rule__ActionClient__Group__0 ) ) ; public final void ruleActionClient() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:566:2: ( ( ( rule__ActionClient__Group__0 ) ) ) - // InternalRos.g:567:2: ( ( rule__ActionClient__Group__0 ) ) + // InternalRos.g:591:2: ( ( ( rule__ActionClient__Group__0 ) ) ) + // InternalRos.g:592:2: ( ( rule__ActionClient__Group__0 ) ) { - // InternalRos.g:567:2: ( ( rule__ActionClient__Group__0 ) ) - // InternalRos.g:568:3: ( rule__ActionClient__Group__0 ) + // InternalRos.g:592:2: ( ( rule__ActionClient__Group__0 ) ) + // InternalRos.g:593:3: ( rule__ActionClient__Group__0 ) { before(grammarAccess.getActionClientAccess().getGroup()); - // InternalRos.g:569:3: ( rule__ActionClient__Group__0 ) - // InternalRos.g:569:4: rule__ActionClient__Group__0 + // InternalRos.g:594:3: ( rule__ActionClient__Group__0 ) + // InternalRos.g:594:4: rule__ActionClient__Group__0 { pushFollow(FOLLOW_2); rule__ActionClient__Group__0(); @@ -1788,11 +1866,11 @@ public final void ruleActionClient() throws RecognitionException { // $ANTLR start "entryRuleGraphName" - // InternalRos.g:578:1: entryRuleGraphName : ruleGraphName EOF ; + // InternalRos.g:603:1: entryRuleGraphName : ruleGraphName EOF ; public final void entryRuleGraphName() throws RecognitionException { try { - // InternalRos.g:579:1: ( ruleGraphName EOF ) - // InternalRos.g:580:1: ruleGraphName EOF + // InternalRos.g:604:1: ( ruleGraphName EOF ) + // InternalRos.g:605:1: ruleGraphName EOF { before(grammarAccess.getGraphNameRule()); pushFollow(FOLLOW_1); @@ -1818,17 +1896,17 @@ public final void entryRuleGraphName() throws RecognitionException { // $ANTLR start "ruleGraphName" - // InternalRos.g:587:1: ruleGraphName : ( 'GraphName' ) ; + // InternalRos.g:612:1: ruleGraphName : ( 'GraphName' ) ; public final void ruleGraphName() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:591:2: ( ( 'GraphName' ) ) - // InternalRos.g:592:2: ( 'GraphName' ) + // InternalRos.g:616:2: ( ( 'GraphName' ) ) + // InternalRos.g:617:2: ( 'GraphName' ) { - // InternalRos.g:592:2: ( 'GraphName' ) - // InternalRos.g:593:3: 'GraphName' + // InternalRos.g:617:2: ( 'GraphName' ) + // InternalRos.g:618:3: 'GraphName' { before(grammarAccess.getGraphNameAccess().getGraphNameKeyword()); match(input,25,FOLLOW_2); @@ -1855,11 +1933,11 @@ public final void ruleGraphName() throws RecognitionException { // $ANTLR start "entryRulePackageDependency" - // InternalRos.g:603:1: entryRulePackageDependency : rulePackageDependency EOF ; + // InternalRos.g:628:1: entryRulePackageDependency : rulePackageDependency EOF ; public final void entryRulePackageDependency() throws RecognitionException { try { - // InternalRos.g:604:1: ( rulePackageDependency EOF ) - // InternalRos.g:605:1: rulePackageDependency EOF + // InternalRos.g:629:1: ( rulePackageDependency EOF ) + // InternalRos.g:630:1: rulePackageDependency EOF { before(grammarAccess.getPackageDependencyRule()); pushFollow(FOLLOW_1); @@ -1885,21 +1963,21 @@ public final void entryRulePackageDependency() throws RecognitionException { // $ANTLR start "rulePackageDependency" - // InternalRos.g:612:1: rulePackageDependency : ( ( rule__PackageDependency__PackageAssignment ) ) ; + // InternalRos.g:637:1: rulePackageDependency : ( ( rule__PackageDependency__PackageAssignment ) ) ; public final void rulePackageDependency() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:616:2: ( ( ( rule__PackageDependency__PackageAssignment ) ) ) - // InternalRos.g:617:2: ( ( rule__PackageDependency__PackageAssignment ) ) + // InternalRos.g:641:2: ( ( ( rule__PackageDependency__PackageAssignment ) ) ) + // InternalRos.g:642:2: ( ( rule__PackageDependency__PackageAssignment ) ) { - // InternalRos.g:617:2: ( ( rule__PackageDependency__PackageAssignment ) ) - // InternalRos.g:618:3: ( rule__PackageDependency__PackageAssignment ) + // InternalRos.g:642:2: ( ( rule__PackageDependency__PackageAssignment ) ) + // InternalRos.g:643:3: ( rule__PackageDependency__PackageAssignment ) { before(grammarAccess.getPackageDependencyAccess().getPackageAssignment()); - // InternalRos.g:619:3: ( rule__PackageDependency__PackageAssignment ) - // InternalRos.g:619:4: rule__PackageDependency__PackageAssignment + // InternalRos.g:644:3: ( rule__PackageDependency__PackageAssignment ) + // InternalRos.g:644:4: rule__PackageDependency__PackageAssignment { pushFollow(FOLLOW_2); rule__PackageDependency__PackageAssignment(); @@ -1932,11 +2010,11 @@ public final void rulePackageDependency() throws RecognitionException { // $ANTLR start "entryRuleExternalDependency" - // InternalRos.g:628:1: entryRuleExternalDependency : ruleExternalDependency EOF ; + // InternalRos.g:653:1: entryRuleExternalDependency : ruleExternalDependency EOF ; public final void entryRuleExternalDependency() throws RecognitionException { try { - // InternalRos.g:629:1: ( ruleExternalDependency EOF ) - // InternalRos.g:630:1: ruleExternalDependency EOF + // InternalRos.g:654:1: ( ruleExternalDependency EOF ) + // InternalRos.g:655:1: ruleExternalDependency EOF { before(grammarAccess.getExternalDependencyRule()); pushFollow(FOLLOW_1); @@ -1962,21 +2040,21 @@ public final void entryRuleExternalDependency() throws RecognitionException { // $ANTLR start "ruleExternalDependency" - // InternalRos.g:637:1: ruleExternalDependency : ( ( rule__ExternalDependency__Group__0 ) ) ; + // InternalRos.g:662:1: ruleExternalDependency : ( ( rule__ExternalDependency__Group__0 ) ) ; public final void ruleExternalDependency() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:641:2: ( ( ( rule__ExternalDependency__Group__0 ) ) ) - // InternalRos.g:642:2: ( ( rule__ExternalDependency__Group__0 ) ) + // InternalRos.g:666:2: ( ( ( rule__ExternalDependency__Group__0 ) ) ) + // InternalRos.g:667:2: ( ( rule__ExternalDependency__Group__0 ) ) { - // InternalRos.g:642:2: ( ( rule__ExternalDependency__Group__0 ) ) - // InternalRos.g:643:3: ( rule__ExternalDependency__Group__0 ) + // InternalRos.g:667:2: ( ( rule__ExternalDependency__Group__0 ) ) + // InternalRos.g:668:3: ( rule__ExternalDependency__Group__0 ) { before(grammarAccess.getExternalDependencyAccess().getGroup()); - // InternalRos.g:644:3: ( rule__ExternalDependency__Group__0 ) - // InternalRos.g:644:4: rule__ExternalDependency__Group__0 + // InternalRos.g:669:3: ( rule__ExternalDependency__Group__0 ) + // InternalRos.g:669:4: rule__ExternalDependency__Group__0 { pushFollow(FOLLOW_2); rule__ExternalDependency__Group__0(); @@ -2009,11 +2087,11 @@ public final void ruleExternalDependency() throws RecognitionException { // $ANTLR start "entryRuleGlobalNamespace" - // InternalRos.g:653:1: entryRuleGlobalNamespace : ruleGlobalNamespace EOF ; + // InternalRos.g:678:1: entryRuleGlobalNamespace : ruleGlobalNamespace EOF ; public final void entryRuleGlobalNamespace() throws RecognitionException { try { - // InternalRos.g:654:1: ( ruleGlobalNamespace EOF ) - // InternalRos.g:655:1: ruleGlobalNamespace EOF + // InternalRos.g:679:1: ( ruleGlobalNamespace EOF ) + // InternalRos.g:680:1: ruleGlobalNamespace EOF { before(grammarAccess.getGlobalNamespaceRule()); pushFollow(FOLLOW_1); @@ -2039,21 +2117,21 @@ public final void entryRuleGlobalNamespace() throws RecognitionException { // $ANTLR start "ruleGlobalNamespace" - // InternalRos.g:662:1: ruleGlobalNamespace : ( ( rule__GlobalNamespace__Group__0 ) ) ; + // InternalRos.g:687:1: ruleGlobalNamespace : ( ( rule__GlobalNamespace__Group__0 ) ) ; public final void ruleGlobalNamespace() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:666:2: ( ( ( rule__GlobalNamespace__Group__0 ) ) ) - // InternalRos.g:667:2: ( ( rule__GlobalNamespace__Group__0 ) ) + // InternalRos.g:691:2: ( ( ( rule__GlobalNamespace__Group__0 ) ) ) + // InternalRos.g:692:2: ( ( rule__GlobalNamespace__Group__0 ) ) { - // InternalRos.g:667:2: ( ( rule__GlobalNamespace__Group__0 ) ) - // InternalRos.g:668:3: ( rule__GlobalNamespace__Group__0 ) + // InternalRos.g:692:2: ( ( rule__GlobalNamespace__Group__0 ) ) + // InternalRos.g:693:3: ( rule__GlobalNamespace__Group__0 ) { before(grammarAccess.getGlobalNamespaceAccess().getGroup()); - // InternalRos.g:669:3: ( rule__GlobalNamespace__Group__0 ) - // InternalRos.g:669:4: rule__GlobalNamespace__Group__0 + // InternalRos.g:694:3: ( rule__GlobalNamespace__Group__0 ) + // InternalRos.g:694:4: rule__GlobalNamespace__Group__0 { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group__0(); @@ -2086,11 +2164,11 @@ public final void ruleGlobalNamespace() throws RecognitionException { // $ANTLR start "entryRuleRelativeNamespace_Impl" - // InternalRos.g:678:1: entryRuleRelativeNamespace_Impl : ruleRelativeNamespace_Impl EOF ; + // InternalRos.g:703:1: entryRuleRelativeNamespace_Impl : ruleRelativeNamespace_Impl EOF ; public final void entryRuleRelativeNamespace_Impl() throws RecognitionException { try { - // InternalRos.g:679:1: ( ruleRelativeNamespace_Impl EOF ) - // InternalRos.g:680:1: ruleRelativeNamespace_Impl EOF + // InternalRos.g:704:1: ( ruleRelativeNamespace_Impl EOF ) + // InternalRos.g:705:1: ruleRelativeNamespace_Impl EOF { before(grammarAccess.getRelativeNamespace_ImplRule()); pushFollow(FOLLOW_1); @@ -2116,21 +2194,21 @@ public final void entryRuleRelativeNamespace_Impl() throws RecognitionException // $ANTLR start "ruleRelativeNamespace_Impl" - // InternalRos.g:687:1: ruleRelativeNamespace_Impl : ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ; + // InternalRos.g:712:1: ruleRelativeNamespace_Impl : ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ; public final void ruleRelativeNamespace_Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:691:2: ( ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ) - // InternalRos.g:692:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) + // InternalRos.g:716:2: ( ( ( rule__RelativeNamespace_Impl__Group__0 ) ) ) + // InternalRos.g:717:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) { - // InternalRos.g:692:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) - // InternalRos.g:693:3: ( rule__RelativeNamespace_Impl__Group__0 ) + // InternalRos.g:717:2: ( ( rule__RelativeNamespace_Impl__Group__0 ) ) + // InternalRos.g:718:3: ( rule__RelativeNamespace_Impl__Group__0 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup()); - // InternalRos.g:694:3: ( rule__RelativeNamespace_Impl__Group__0 ) - // InternalRos.g:694:4: rule__RelativeNamespace_Impl__Group__0 + // InternalRos.g:719:3: ( rule__RelativeNamespace_Impl__Group__0 ) + // InternalRos.g:719:4: rule__RelativeNamespace_Impl__Group__0 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group__0(); @@ -2163,11 +2241,11 @@ public final void ruleRelativeNamespace_Impl() throws RecognitionException { // $ANTLR start "entryRulePrivateNamespace" - // InternalRos.g:703:1: entryRulePrivateNamespace : rulePrivateNamespace EOF ; + // InternalRos.g:728:1: entryRulePrivateNamespace : rulePrivateNamespace EOF ; public final void entryRulePrivateNamespace() throws RecognitionException { try { - // InternalRos.g:704:1: ( rulePrivateNamespace EOF ) - // InternalRos.g:705:1: rulePrivateNamespace EOF + // InternalRos.g:729:1: ( rulePrivateNamespace EOF ) + // InternalRos.g:730:1: rulePrivateNamespace EOF { before(grammarAccess.getPrivateNamespaceRule()); pushFollow(FOLLOW_1); @@ -2193,21 +2271,21 @@ public final void entryRulePrivateNamespace() throws RecognitionException { // $ANTLR start "rulePrivateNamespace" - // InternalRos.g:712:1: rulePrivateNamespace : ( ( rule__PrivateNamespace__Group__0 ) ) ; + // InternalRos.g:737:1: rulePrivateNamespace : ( ( rule__PrivateNamespace__Group__0 ) ) ; public final void rulePrivateNamespace() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:716:2: ( ( ( rule__PrivateNamespace__Group__0 ) ) ) - // InternalRos.g:717:2: ( ( rule__PrivateNamespace__Group__0 ) ) + // InternalRos.g:741:2: ( ( ( rule__PrivateNamespace__Group__0 ) ) ) + // InternalRos.g:742:2: ( ( rule__PrivateNamespace__Group__0 ) ) { - // InternalRos.g:717:2: ( ( rule__PrivateNamespace__Group__0 ) ) - // InternalRos.g:718:3: ( rule__PrivateNamespace__Group__0 ) + // InternalRos.g:742:2: ( ( rule__PrivateNamespace__Group__0 ) ) + // InternalRos.g:743:3: ( rule__PrivateNamespace__Group__0 ) { before(grammarAccess.getPrivateNamespaceAccess().getGroup()); - // InternalRos.g:719:3: ( rule__PrivateNamespace__Group__0 ) - // InternalRos.g:719:4: rule__PrivateNamespace__Group__0 + // InternalRos.g:744:3: ( rule__PrivateNamespace__Group__0 ) + // InternalRos.g:744:4: rule__PrivateNamespace__Group__0 { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group__0(); @@ -2240,11 +2318,11 @@ public final void rulePrivateNamespace() throws RecognitionException { // $ANTLR start "entryRuleParameter" - // InternalRos.g:728:1: entryRuleParameter : ruleParameter EOF ; + // InternalRos.g:753:1: entryRuleParameter : ruleParameter EOF ; public final void entryRuleParameter() throws RecognitionException { try { - // InternalRos.g:729:1: ( ruleParameter EOF ) - // InternalRos.g:730:1: ruleParameter EOF + // InternalRos.g:754:1: ( ruleParameter EOF ) + // InternalRos.g:755:1: ruleParameter EOF { before(grammarAccess.getParameterRule()); pushFollow(FOLLOW_1); @@ -2270,21 +2348,21 @@ public final void entryRuleParameter() throws RecognitionException { // $ANTLR start "ruleParameter" - // InternalRos.g:737:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ; + // InternalRos.g:762:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ; public final void ruleParameter() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:741:2: ( ( ( rule__Parameter__Group__0 ) ) ) - // InternalRos.g:742:2: ( ( rule__Parameter__Group__0 ) ) + // InternalRos.g:766:2: ( ( ( rule__Parameter__Group__0 ) ) ) + // InternalRos.g:767:2: ( ( rule__Parameter__Group__0 ) ) { - // InternalRos.g:742:2: ( ( rule__Parameter__Group__0 ) ) - // InternalRos.g:743:3: ( rule__Parameter__Group__0 ) + // InternalRos.g:767:2: ( ( rule__Parameter__Group__0 ) ) + // InternalRos.g:768:3: ( rule__Parameter__Group__0 ) { before(grammarAccess.getParameterAccess().getGroup()); - // InternalRos.g:744:3: ( rule__Parameter__Group__0 ) - // InternalRos.g:744:4: rule__Parameter__Group__0 + // InternalRos.g:769:3: ( rule__Parameter__Group__0 ) + // InternalRos.g:769:4: rule__Parameter__Group__0 { pushFollow(FOLLOW_2); rule__Parameter__Group__0(); @@ -2317,11 +2395,11 @@ public final void ruleParameter() throws RecognitionException { // $ANTLR start "entryRuleParameterType" - // InternalRos.g:753:1: entryRuleParameterType : ruleParameterType EOF ; + // InternalRos.g:778:1: entryRuleParameterType : ruleParameterType EOF ; public final void entryRuleParameterType() throws RecognitionException { try { - // InternalRos.g:754:1: ( ruleParameterType EOF ) - // InternalRos.g:755:1: ruleParameterType EOF + // InternalRos.g:779:1: ( ruleParameterType EOF ) + // InternalRos.g:780:1: ruleParameterType EOF { before(grammarAccess.getParameterTypeRule()); pushFollow(FOLLOW_1); @@ -2347,21 +2425,21 @@ public final void entryRuleParameterType() throws RecognitionException { // $ANTLR start "ruleParameterType" - // InternalRos.g:762:1: ruleParameterType : ( ( rule__ParameterType__Alternatives ) ) ; + // InternalRos.g:787:1: ruleParameterType : ( ( rule__ParameterType__Alternatives ) ) ; public final void ruleParameterType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:766:2: ( ( ( rule__ParameterType__Alternatives ) ) ) - // InternalRos.g:767:2: ( ( rule__ParameterType__Alternatives ) ) + // InternalRos.g:791:2: ( ( ( rule__ParameterType__Alternatives ) ) ) + // InternalRos.g:792:2: ( ( rule__ParameterType__Alternatives ) ) { - // InternalRos.g:767:2: ( ( rule__ParameterType__Alternatives ) ) - // InternalRos.g:768:3: ( rule__ParameterType__Alternatives ) + // InternalRos.g:792:2: ( ( rule__ParameterType__Alternatives ) ) + // InternalRos.g:793:3: ( rule__ParameterType__Alternatives ) { before(grammarAccess.getParameterTypeAccess().getAlternatives()); - // InternalRos.g:769:3: ( rule__ParameterType__Alternatives ) - // InternalRos.g:769:4: rule__ParameterType__Alternatives + // InternalRos.g:794:3: ( rule__ParameterType__Alternatives ) + // InternalRos.g:794:4: rule__ParameterType__Alternatives { pushFollow(FOLLOW_2); rule__ParameterType__Alternatives(); @@ -2394,11 +2472,11 @@ public final void ruleParameterType() throws RecognitionException { // $ANTLR start "entryRuleParameterValue" - // InternalRos.g:778:1: entryRuleParameterValue : ruleParameterValue EOF ; + // InternalRos.g:803:1: entryRuleParameterValue : ruleParameterValue EOF ; public final void entryRuleParameterValue() throws RecognitionException { try { - // InternalRos.g:779:1: ( ruleParameterValue EOF ) - // InternalRos.g:780:1: ruleParameterValue EOF + // InternalRos.g:804:1: ( ruleParameterValue EOF ) + // InternalRos.g:805:1: ruleParameterValue EOF { before(grammarAccess.getParameterValueRule()); pushFollow(FOLLOW_1); @@ -2424,21 +2502,21 @@ public final void entryRuleParameterValue() throws RecognitionException { // $ANTLR start "ruleParameterValue" - // InternalRos.g:787:1: ruleParameterValue : ( ( rule__ParameterValue__Alternatives ) ) ; + // InternalRos.g:812:1: ruleParameterValue : ( ( rule__ParameterValue__Alternatives ) ) ; public final void ruleParameterValue() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:791:2: ( ( ( rule__ParameterValue__Alternatives ) ) ) - // InternalRos.g:792:2: ( ( rule__ParameterValue__Alternatives ) ) + // InternalRos.g:816:2: ( ( ( rule__ParameterValue__Alternatives ) ) ) + // InternalRos.g:817:2: ( ( rule__ParameterValue__Alternatives ) ) { - // InternalRos.g:792:2: ( ( rule__ParameterValue__Alternatives ) ) - // InternalRos.g:793:3: ( rule__ParameterValue__Alternatives ) + // InternalRos.g:817:2: ( ( rule__ParameterValue__Alternatives ) ) + // InternalRos.g:818:3: ( rule__ParameterValue__Alternatives ) { before(grammarAccess.getParameterValueAccess().getAlternatives()); - // InternalRos.g:794:3: ( rule__ParameterValue__Alternatives ) - // InternalRos.g:794:4: rule__ParameterValue__Alternatives + // InternalRos.g:819:3: ( rule__ParameterValue__Alternatives ) + // InternalRos.g:819:4: rule__ParameterValue__Alternatives { pushFollow(FOLLOW_2); rule__ParameterValue__Alternatives(); @@ -2471,11 +2549,11 @@ public final void ruleParameterValue() throws RecognitionException { // $ANTLR start "entryRuleParameterListType" - // InternalRos.g:803:1: entryRuleParameterListType : ruleParameterListType EOF ; + // InternalRos.g:828:1: entryRuleParameterListType : ruleParameterListType EOF ; public final void entryRuleParameterListType() throws RecognitionException { try { - // InternalRos.g:804:1: ( ruleParameterListType EOF ) - // InternalRos.g:805:1: ruleParameterListType EOF + // InternalRos.g:829:1: ( ruleParameterListType EOF ) + // InternalRos.g:830:1: ruleParameterListType EOF { before(grammarAccess.getParameterListTypeRule()); pushFollow(FOLLOW_1); @@ -2501,21 +2579,21 @@ public final void entryRuleParameterListType() throws RecognitionException { // $ANTLR start "ruleParameterListType" - // InternalRos.g:812:1: ruleParameterListType : ( ( rule__ParameterListType__Group__0 ) ) ; + // InternalRos.g:837:1: ruleParameterListType : ( ( rule__ParameterListType__Group__0 ) ) ; public final void ruleParameterListType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:816:2: ( ( ( rule__ParameterListType__Group__0 ) ) ) - // InternalRos.g:817:2: ( ( rule__ParameterListType__Group__0 ) ) + // InternalRos.g:841:2: ( ( ( rule__ParameterListType__Group__0 ) ) ) + // InternalRos.g:842:2: ( ( rule__ParameterListType__Group__0 ) ) { - // InternalRos.g:817:2: ( ( rule__ParameterListType__Group__0 ) ) - // InternalRos.g:818:3: ( rule__ParameterListType__Group__0 ) + // InternalRos.g:842:2: ( ( rule__ParameterListType__Group__0 ) ) + // InternalRos.g:843:3: ( rule__ParameterListType__Group__0 ) { before(grammarAccess.getParameterListTypeAccess().getGroup()); - // InternalRos.g:819:3: ( rule__ParameterListType__Group__0 ) - // InternalRos.g:819:4: rule__ParameterListType__Group__0 + // InternalRos.g:844:3: ( rule__ParameterListType__Group__0 ) + // InternalRos.g:844:4: rule__ParameterListType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterListType__Group__0(); @@ -2548,11 +2626,11 @@ public final void ruleParameterListType() throws RecognitionException { // $ANTLR start "entryRuleParameterStructType" - // InternalRos.g:828:1: entryRuleParameterStructType : ruleParameterStructType EOF ; + // InternalRos.g:853:1: entryRuleParameterStructType : ruleParameterStructType EOF ; public final void entryRuleParameterStructType() throws RecognitionException { try { - // InternalRos.g:829:1: ( ruleParameterStructType EOF ) - // InternalRos.g:830:1: ruleParameterStructType EOF + // InternalRos.g:854:1: ( ruleParameterStructType EOF ) + // InternalRos.g:855:1: ruleParameterStructType EOF { before(grammarAccess.getParameterStructTypeRule()); pushFollow(FOLLOW_1); @@ -2578,21 +2656,21 @@ public final void entryRuleParameterStructType() throws RecognitionException { // $ANTLR start "ruleParameterStructType" - // InternalRos.g:837:1: ruleParameterStructType : ( ( rule__ParameterStructType__Group__0 ) ) ; + // InternalRos.g:862:1: ruleParameterStructType : ( ( rule__ParameterStructType__Group__0 ) ) ; public final void ruleParameterStructType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:841:2: ( ( ( rule__ParameterStructType__Group__0 ) ) ) - // InternalRos.g:842:2: ( ( rule__ParameterStructType__Group__0 ) ) + // InternalRos.g:866:2: ( ( ( rule__ParameterStructType__Group__0 ) ) ) + // InternalRos.g:867:2: ( ( rule__ParameterStructType__Group__0 ) ) { - // InternalRos.g:842:2: ( ( rule__ParameterStructType__Group__0 ) ) - // InternalRos.g:843:3: ( rule__ParameterStructType__Group__0 ) + // InternalRos.g:867:2: ( ( rule__ParameterStructType__Group__0 ) ) + // InternalRos.g:868:3: ( rule__ParameterStructType__Group__0 ) { before(grammarAccess.getParameterStructTypeAccess().getGroup()); - // InternalRos.g:844:3: ( rule__ParameterStructType__Group__0 ) - // InternalRos.g:844:4: rule__ParameterStructType__Group__0 + // InternalRos.g:869:3: ( rule__ParameterStructType__Group__0 ) + // InternalRos.g:869:4: rule__ParameterStructType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStructType__Group__0(); @@ -2625,11 +2703,11 @@ public final void ruleParameterStructType() throws RecognitionException { // $ANTLR start "entryRuleParameterIntegerType" - // InternalRos.g:853:1: entryRuleParameterIntegerType : ruleParameterIntegerType EOF ; + // InternalRos.g:878:1: entryRuleParameterIntegerType : ruleParameterIntegerType EOF ; public final void entryRuleParameterIntegerType() throws RecognitionException { try { - // InternalRos.g:854:1: ( ruleParameterIntegerType EOF ) - // InternalRos.g:855:1: ruleParameterIntegerType EOF + // InternalRos.g:879:1: ( ruleParameterIntegerType EOF ) + // InternalRos.g:880:1: ruleParameterIntegerType EOF { before(grammarAccess.getParameterIntegerTypeRule()); pushFollow(FOLLOW_1); @@ -2655,21 +2733,21 @@ public final void entryRuleParameterIntegerType() throws RecognitionException { // $ANTLR start "ruleParameterIntegerType" - // InternalRos.g:862:1: ruleParameterIntegerType : ( ( rule__ParameterIntegerType__Group__0 ) ) ; + // InternalRos.g:887:1: ruleParameterIntegerType : ( ( rule__ParameterIntegerType__Group__0 ) ) ; public final void ruleParameterIntegerType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:866:2: ( ( ( rule__ParameterIntegerType__Group__0 ) ) ) - // InternalRos.g:867:2: ( ( rule__ParameterIntegerType__Group__0 ) ) + // InternalRos.g:891:2: ( ( ( rule__ParameterIntegerType__Group__0 ) ) ) + // InternalRos.g:892:2: ( ( rule__ParameterIntegerType__Group__0 ) ) { - // InternalRos.g:867:2: ( ( rule__ParameterIntegerType__Group__0 ) ) - // InternalRos.g:868:3: ( rule__ParameterIntegerType__Group__0 ) + // InternalRos.g:892:2: ( ( rule__ParameterIntegerType__Group__0 ) ) + // InternalRos.g:893:3: ( rule__ParameterIntegerType__Group__0 ) { before(grammarAccess.getParameterIntegerTypeAccess().getGroup()); - // InternalRos.g:869:3: ( rule__ParameterIntegerType__Group__0 ) - // InternalRos.g:869:4: rule__ParameterIntegerType__Group__0 + // InternalRos.g:894:3: ( rule__ParameterIntegerType__Group__0 ) + // InternalRos.g:894:4: rule__ParameterIntegerType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group__0(); @@ -2702,11 +2780,11 @@ public final void ruleParameterIntegerType() throws RecognitionException { // $ANTLR start "entryRuleParameterStringType" - // InternalRos.g:878:1: entryRuleParameterStringType : ruleParameterStringType EOF ; + // InternalRos.g:903:1: entryRuleParameterStringType : ruleParameterStringType EOF ; public final void entryRuleParameterStringType() throws RecognitionException { try { - // InternalRos.g:879:1: ( ruleParameterStringType EOF ) - // InternalRos.g:880:1: ruleParameterStringType EOF + // InternalRos.g:904:1: ( ruleParameterStringType EOF ) + // InternalRos.g:905:1: ruleParameterStringType EOF { before(grammarAccess.getParameterStringTypeRule()); pushFollow(FOLLOW_1); @@ -2732,21 +2810,21 @@ public final void entryRuleParameterStringType() throws RecognitionException { // $ANTLR start "ruleParameterStringType" - // InternalRos.g:887:1: ruleParameterStringType : ( ( rule__ParameterStringType__Group__0 ) ) ; + // InternalRos.g:912:1: ruleParameterStringType : ( ( rule__ParameterStringType__Group__0 ) ) ; public final void ruleParameterStringType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:891:2: ( ( ( rule__ParameterStringType__Group__0 ) ) ) - // InternalRos.g:892:2: ( ( rule__ParameterStringType__Group__0 ) ) + // InternalRos.g:916:2: ( ( ( rule__ParameterStringType__Group__0 ) ) ) + // InternalRos.g:917:2: ( ( rule__ParameterStringType__Group__0 ) ) { - // InternalRos.g:892:2: ( ( rule__ParameterStringType__Group__0 ) ) - // InternalRos.g:893:3: ( rule__ParameterStringType__Group__0 ) + // InternalRos.g:917:2: ( ( rule__ParameterStringType__Group__0 ) ) + // InternalRos.g:918:3: ( rule__ParameterStringType__Group__0 ) { before(grammarAccess.getParameterStringTypeAccess().getGroup()); - // InternalRos.g:894:3: ( rule__ParameterStringType__Group__0 ) - // InternalRos.g:894:4: rule__ParameterStringType__Group__0 + // InternalRos.g:919:3: ( rule__ParameterStringType__Group__0 ) + // InternalRos.g:919:4: rule__ParameterStringType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStringType__Group__0(); @@ -2779,11 +2857,11 @@ public final void ruleParameterStringType() throws RecognitionException { // $ANTLR start "entryRuleParameterDoubleType" - // InternalRos.g:903:1: entryRuleParameterDoubleType : ruleParameterDoubleType EOF ; + // InternalRos.g:928:1: entryRuleParameterDoubleType : ruleParameterDoubleType EOF ; public final void entryRuleParameterDoubleType() throws RecognitionException { try { - // InternalRos.g:904:1: ( ruleParameterDoubleType EOF ) - // InternalRos.g:905:1: ruleParameterDoubleType EOF + // InternalRos.g:929:1: ( ruleParameterDoubleType EOF ) + // InternalRos.g:930:1: ruleParameterDoubleType EOF { before(grammarAccess.getParameterDoubleTypeRule()); pushFollow(FOLLOW_1); @@ -2809,21 +2887,21 @@ public final void entryRuleParameterDoubleType() throws RecognitionException { // $ANTLR start "ruleParameterDoubleType" - // InternalRos.g:912:1: ruleParameterDoubleType : ( ( rule__ParameterDoubleType__Group__0 ) ) ; + // InternalRos.g:937:1: ruleParameterDoubleType : ( ( rule__ParameterDoubleType__Group__0 ) ) ; public final void ruleParameterDoubleType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:916:2: ( ( ( rule__ParameterDoubleType__Group__0 ) ) ) - // InternalRos.g:917:2: ( ( rule__ParameterDoubleType__Group__0 ) ) + // InternalRos.g:941:2: ( ( ( rule__ParameterDoubleType__Group__0 ) ) ) + // InternalRos.g:942:2: ( ( rule__ParameterDoubleType__Group__0 ) ) { - // InternalRos.g:917:2: ( ( rule__ParameterDoubleType__Group__0 ) ) - // InternalRos.g:918:3: ( rule__ParameterDoubleType__Group__0 ) + // InternalRos.g:942:2: ( ( rule__ParameterDoubleType__Group__0 ) ) + // InternalRos.g:943:3: ( rule__ParameterDoubleType__Group__0 ) { before(grammarAccess.getParameterDoubleTypeAccess().getGroup()); - // InternalRos.g:919:3: ( rule__ParameterDoubleType__Group__0 ) - // InternalRos.g:919:4: rule__ParameterDoubleType__Group__0 + // InternalRos.g:944:3: ( rule__ParameterDoubleType__Group__0 ) + // InternalRos.g:944:4: rule__ParameterDoubleType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group__0(); @@ -2856,11 +2934,11 @@ public final void ruleParameterDoubleType() throws RecognitionException { // $ANTLR start "entryRuleParameterBooleanType" - // InternalRos.g:928:1: entryRuleParameterBooleanType : ruleParameterBooleanType EOF ; + // InternalRos.g:953:1: entryRuleParameterBooleanType : ruleParameterBooleanType EOF ; public final void entryRuleParameterBooleanType() throws RecognitionException { try { - // InternalRos.g:929:1: ( ruleParameterBooleanType EOF ) - // InternalRos.g:930:1: ruleParameterBooleanType EOF + // InternalRos.g:954:1: ( ruleParameterBooleanType EOF ) + // InternalRos.g:955:1: ruleParameterBooleanType EOF { before(grammarAccess.getParameterBooleanTypeRule()); pushFollow(FOLLOW_1); @@ -2886,21 +2964,21 @@ public final void entryRuleParameterBooleanType() throws RecognitionException { // $ANTLR start "ruleParameterBooleanType" - // InternalRos.g:937:1: ruleParameterBooleanType : ( ( rule__ParameterBooleanType__Group__0 ) ) ; + // InternalRos.g:962:1: ruleParameterBooleanType : ( ( rule__ParameterBooleanType__Group__0 ) ) ; public final void ruleParameterBooleanType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:941:2: ( ( ( rule__ParameterBooleanType__Group__0 ) ) ) - // InternalRos.g:942:2: ( ( rule__ParameterBooleanType__Group__0 ) ) + // InternalRos.g:966:2: ( ( ( rule__ParameterBooleanType__Group__0 ) ) ) + // InternalRos.g:967:2: ( ( rule__ParameterBooleanType__Group__0 ) ) { - // InternalRos.g:942:2: ( ( rule__ParameterBooleanType__Group__0 ) ) - // InternalRos.g:943:3: ( rule__ParameterBooleanType__Group__0 ) + // InternalRos.g:967:2: ( ( rule__ParameterBooleanType__Group__0 ) ) + // InternalRos.g:968:3: ( rule__ParameterBooleanType__Group__0 ) { before(grammarAccess.getParameterBooleanTypeAccess().getGroup()); - // InternalRos.g:944:3: ( rule__ParameterBooleanType__Group__0 ) - // InternalRos.g:944:4: rule__ParameterBooleanType__Group__0 + // InternalRos.g:969:3: ( rule__ParameterBooleanType__Group__0 ) + // InternalRos.g:969:4: rule__ParameterBooleanType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group__0(); @@ -2933,11 +3011,11 @@ public final void ruleParameterBooleanType() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64Type" - // InternalRos.g:953:1: entryRuleParameterBase64Type : ruleParameterBase64Type EOF ; + // InternalRos.g:978:1: entryRuleParameterBase64Type : ruleParameterBase64Type EOF ; public final void entryRuleParameterBase64Type() throws RecognitionException { try { - // InternalRos.g:954:1: ( ruleParameterBase64Type EOF ) - // InternalRos.g:955:1: ruleParameterBase64Type EOF + // InternalRos.g:979:1: ( ruleParameterBase64Type EOF ) + // InternalRos.g:980:1: ruleParameterBase64Type EOF { before(grammarAccess.getParameterBase64TypeRule()); pushFollow(FOLLOW_1); @@ -2963,21 +3041,21 @@ public final void entryRuleParameterBase64Type() throws RecognitionException { // $ANTLR start "ruleParameterBase64Type" - // InternalRos.g:962:1: ruleParameterBase64Type : ( ( rule__ParameterBase64Type__Group__0 ) ) ; + // InternalRos.g:987:1: ruleParameterBase64Type : ( ( rule__ParameterBase64Type__Group__0 ) ) ; public final void ruleParameterBase64Type() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:966:2: ( ( ( rule__ParameterBase64Type__Group__0 ) ) ) - // InternalRos.g:967:2: ( ( rule__ParameterBase64Type__Group__0 ) ) + // InternalRos.g:991:2: ( ( ( rule__ParameterBase64Type__Group__0 ) ) ) + // InternalRos.g:992:2: ( ( rule__ParameterBase64Type__Group__0 ) ) { - // InternalRos.g:967:2: ( ( rule__ParameterBase64Type__Group__0 ) ) - // InternalRos.g:968:3: ( rule__ParameterBase64Type__Group__0 ) + // InternalRos.g:992:2: ( ( rule__ParameterBase64Type__Group__0 ) ) + // InternalRos.g:993:3: ( rule__ParameterBase64Type__Group__0 ) { before(grammarAccess.getParameterBase64TypeAccess().getGroup()); - // InternalRos.g:969:3: ( rule__ParameterBase64Type__Group__0 ) - // InternalRos.g:969:4: rule__ParameterBase64Type__Group__0 + // InternalRos.g:994:3: ( rule__ParameterBase64Type__Group__0 ) + // InternalRos.g:994:4: rule__ParameterBase64Type__Group__0 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group__0(); @@ -3010,11 +3088,11 @@ public final void ruleParameterBase64Type() throws RecognitionException { // $ANTLR start "entryRuleParameterArrayType" - // InternalRos.g:978:1: entryRuleParameterArrayType : ruleParameterArrayType EOF ; + // InternalRos.g:1003:1: entryRuleParameterArrayType : ruleParameterArrayType EOF ; public final void entryRuleParameterArrayType() throws RecognitionException { try { - // InternalRos.g:979:1: ( ruleParameterArrayType EOF ) - // InternalRos.g:980:1: ruleParameterArrayType EOF + // InternalRos.g:1004:1: ( ruleParameterArrayType EOF ) + // InternalRos.g:1005:1: ruleParameterArrayType EOF { before(grammarAccess.getParameterArrayTypeRule()); pushFollow(FOLLOW_1); @@ -3040,21 +3118,21 @@ public final void entryRuleParameterArrayType() throws RecognitionException { // $ANTLR start "ruleParameterArrayType" - // InternalRos.g:987:1: ruleParameterArrayType : ( ( rule__ParameterArrayType__Group__0 ) ) ; + // InternalRos.g:1012:1: ruleParameterArrayType : ( ( rule__ParameterArrayType__Group__0 ) ) ; public final void ruleParameterArrayType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:991:2: ( ( ( rule__ParameterArrayType__Group__0 ) ) ) - // InternalRos.g:992:2: ( ( rule__ParameterArrayType__Group__0 ) ) + // InternalRos.g:1016:2: ( ( ( rule__ParameterArrayType__Group__0 ) ) ) + // InternalRos.g:1017:2: ( ( rule__ParameterArrayType__Group__0 ) ) { - // InternalRos.g:992:2: ( ( rule__ParameterArrayType__Group__0 ) ) - // InternalRos.g:993:3: ( rule__ParameterArrayType__Group__0 ) + // InternalRos.g:1017:2: ( ( rule__ParameterArrayType__Group__0 ) ) + // InternalRos.g:1018:3: ( rule__ParameterArrayType__Group__0 ) { before(grammarAccess.getParameterArrayTypeAccess().getGroup()); - // InternalRos.g:994:3: ( rule__ParameterArrayType__Group__0 ) - // InternalRos.g:994:4: rule__ParameterArrayType__Group__0 + // InternalRos.g:1019:3: ( rule__ParameterArrayType__Group__0 ) + // InternalRos.g:1019:4: rule__ParameterArrayType__Group__0 { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group__0(); @@ -3087,11 +3165,11 @@ public final void ruleParameterArrayType() throws RecognitionException { // $ANTLR start "entryRuleParameterList" - // InternalRos.g:1003:1: entryRuleParameterList : ruleParameterList EOF ; + // InternalRos.g:1028:1: entryRuleParameterList : ruleParameterList EOF ; public final void entryRuleParameterList() throws RecognitionException { try { - // InternalRos.g:1004:1: ( ruleParameterList EOF ) - // InternalRos.g:1005:1: ruleParameterList EOF + // InternalRos.g:1029:1: ( ruleParameterList EOF ) + // InternalRos.g:1030:1: ruleParameterList EOF { before(grammarAccess.getParameterListRule()); pushFollow(FOLLOW_1); @@ -3117,21 +3195,21 @@ public final void entryRuleParameterList() throws RecognitionException { // $ANTLR start "ruleParameterList" - // InternalRos.g:1012:1: ruleParameterList : ( ( rule__ParameterList__Group__0 ) ) ; + // InternalRos.g:1037:1: ruleParameterList : ( ( rule__ParameterList__Group__0 ) ) ; public final void ruleParameterList() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1016:2: ( ( ( rule__ParameterList__Group__0 ) ) ) - // InternalRos.g:1017:2: ( ( rule__ParameterList__Group__0 ) ) + // InternalRos.g:1041:2: ( ( ( rule__ParameterList__Group__0 ) ) ) + // InternalRos.g:1042:2: ( ( rule__ParameterList__Group__0 ) ) { - // InternalRos.g:1017:2: ( ( rule__ParameterList__Group__0 ) ) - // InternalRos.g:1018:3: ( rule__ParameterList__Group__0 ) + // InternalRos.g:1042:2: ( ( rule__ParameterList__Group__0 ) ) + // InternalRos.g:1043:3: ( rule__ParameterList__Group__0 ) { before(grammarAccess.getParameterListAccess().getGroup()); - // InternalRos.g:1019:3: ( rule__ParameterList__Group__0 ) - // InternalRos.g:1019:4: rule__ParameterList__Group__0 + // InternalRos.g:1044:3: ( rule__ParameterList__Group__0 ) + // InternalRos.g:1044:4: rule__ParameterList__Group__0 { pushFollow(FOLLOW_2); rule__ParameterList__Group__0(); @@ -3164,11 +3242,11 @@ public final void ruleParameterList() throws RecognitionException { // $ANTLR start "entryRuleParameterAny" - // InternalRos.g:1028:1: entryRuleParameterAny : ruleParameterAny EOF ; + // InternalRos.g:1053:1: entryRuleParameterAny : ruleParameterAny EOF ; public final void entryRuleParameterAny() throws RecognitionException { try { - // InternalRos.g:1029:1: ( ruleParameterAny EOF ) - // InternalRos.g:1030:1: ruleParameterAny EOF + // InternalRos.g:1054:1: ( ruleParameterAny EOF ) + // InternalRos.g:1055:1: ruleParameterAny EOF { before(grammarAccess.getParameterAnyRule()); pushFollow(FOLLOW_1); @@ -3194,21 +3272,21 @@ public final void entryRuleParameterAny() throws RecognitionException { // $ANTLR start "ruleParameterAny" - // InternalRos.g:1037:1: ruleParameterAny : ( ( rule__ParameterAny__Group__0 ) ) ; + // InternalRos.g:1062:1: ruleParameterAny : ( ( rule__ParameterAny__Group__0 ) ) ; public final void ruleParameterAny() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1041:2: ( ( ( rule__ParameterAny__Group__0 ) ) ) - // InternalRos.g:1042:2: ( ( rule__ParameterAny__Group__0 ) ) + // InternalRos.g:1066:2: ( ( ( rule__ParameterAny__Group__0 ) ) ) + // InternalRos.g:1067:2: ( ( rule__ParameterAny__Group__0 ) ) { - // InternalRos.g:1042:2: ( ( rule__ParameterAny__Group__0 ) ) - // InternalRos.g:1043:3: ( rule__ParameterAny__Group__0 ) + // InternalRos.g:1067:2: ( ( rule__ParameterAny__Group__0 ) ) + // InternalRos.g:1068:3: ( rule__ParameterAny__Group__0 ) { before(grammarAccess.getParameterAnyAccess().getGroup()); - // InternalRos.g:1044:3: ( rule__ParameterAny__Group__0 ) - // InternalRos.g:1044:4: rule__ParameterAny__Group__0 + // InternalRos.g:1069:3: ( rule__ParameterAny__Group__0 ) + // InternalRos.g:1069:4: rule__ParameterAny__Group__0 { pushFollow(FOLLOW_2); rule__ParameterAny__Group__0(); @@ -3241,11 +3319,11 @@ public final void ruleParameterAny() throws RecognitionException { // $ANTLR start "entryRuleParameterString" - // InternalRos.g:1053:1: entryRuleParameterString : ruleParameterString EOF ; + // InternalRos.g:1078:1: entryRuleParameterString : ruleParameterString EOF ; public final void entryRuleParameterString() throws RecognitionException { try { - // InternalRos.g:1054:1: ( ruleParameterString EOF ) - // InternalRos.g:1055:1: ruleParameterString EOF + // InternalRos.g:1079:1: ( ruleParameterString EOF ) + // InternalRos.g:1080:1: ruleParameterString EOF { before(grammarAccess.getParameterStringRule()); pushFollow(FOLLOW_1); @@ -3271,21 +3349,21 @@ public final void entryRuleParameterString() throws RecognitionException { // $ANTLR start "ruleParameterString" - // InternalRos.g:1062:1: ruleParameterString : ( ( rule__ParameterString__ValueAssignment ) ) ; + // InternalRos.g:1087:1: ruleParameterString : ( ( rule__ParameterString__ValueAssignment ) ) ; public final void ruleParameterString() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1066:2: ( ( ( rule__ParameterString__ValueAssignment ) ) ) - // InternalRos.g:1067:2: ( ( rule__ParameterString__ValueAssignment ) ) + // InternalRos.g:1091:2: ( ( ( rule__ParameterString__ValueAssignment ) ) ) + // InternalRos.g:1092:2: ( ( rule__ParameterString__ValueAssignment ) ) { - // InternalRos.g:1067:2: ( ( rule__ParameterString__ValueAssignment ) ) - // InternalRos.g:1068:3: ( rule__ParameterString__ValueAssignment ) + // InternalRos.g:1092:2: ( ( rule__ParameterString__ValueAssignment ) ) + // InternalRos.g:1093:3: ( rule__ParameterString__ValueAssignment ) { before(grammarAccess.getParameterStringAccess().getValueAssignment()); - // InternalRos.g:1069:3: ( rule__ParameterString__ValueAssignment ) - // InternalRos.g:1069:4: rule__ParameterString__ValueAssignment + // InternalRos.g:1094:3: ( rule__ParameterString__ValueAssignment ) + // InternalRos.g:1094:4: rule__ParameterString__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterString__ValueAssignment(); @@ -3318,11 +3396,11 @@ public final void ruleParameterString() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64" - // InternalRos.g:1078:1: entryRuleParameterBase64 : ruleParameterBase64 EOF ; + // InternalRos.g:1103:1: entryRuleParameterBase64 : ruleParameterBase64 EOF ; public final void entryRuleParameterBase64() throws RecognitionException { try { - // InternalRos.g:1079:1: ( ruleParameterBase64 EOF ) - // InternalRos.g:1080:1: ruleParameterBase64 EOF + // InternalRos.g:1104:1: ( ruleParameterBase64 EOF ) + // InternalRos.g:1105:1: ruleParameterBase64 EOF { before(grammarAccess.getParameterBase64Rule()); pushFollow(FOLLOW_1); @@ -3348,21 +3426,21 @@ public final void entryRuleParameterBase64() throws RecognitionException { // $ANTLR start "ruleParameterBase64" - // InternalRos.g:1087:1: ruleParameterBase64 : ( ( rule__ParameterBase64__ValueAssignment ) ) ; + // InternalRos.g:1112:1: ruleParameterBase64 : ( ( rule__ParameterBase64__ValueAssignment ) ) ; public final void ruleParameterBase64() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1091:2: ( ( ( rule__ParameterBase64__ValueAssignment ) ) ) - // InternalRos.g:1092:2: ( ( rule__ParameterBase64__ValueAssignment ) ) + // InternalRos.g:1116:2: ( ( ( rule__ParameterBase64__ValueAssignment ) ) ) + // InternalRos.g:1117:2: ( ( rule__ParameterBase64__ValueAssignment ) ) { - // InternalRos.g:1092:2: ( ( rule__ParameterBase64__ValueAssignment ) ) - // InternalRos.g:1093:3: ( rule__ParameterBase64__ValueAssignment ) + // InternalRos.g:1117:2: ( ( rule__ParameterBase64__ValueAssignment ) ) + // InternalRos.g:1118:3: ( rule__ParameterBase64__ValueAssignment ) { before(grammarAccess.getParameterBase64Access().getValueAssignment()); - // InternalRos.g:1094:3: ( rule__ParameterBase64__ValueAssignment ) - // InternalRos.g:1094:4: rule__ParameterBase64__ValueAssignment + // InternalRos.g:1119:3: ( rule__ParameterBase64__ValueAssignment ) + // InternalRos.g:1119:4: rule__ParameterBase64__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterBase64__ValueAssignment(); @@ -3395,11 +3473,11 @@ public final void ruleParameterBase64() throws RecognitionException { // $ANTLR start "entryRuleParameterInteger" - // InternalRos.g:1103:1: entryRuleParameterInteger : ruleParameterInteger EOF ; + // InternalRos.g:1128:1: entryRuleParameterInteger : ruleParameterInteger EOF ; public final void entryRuleParameterInteger() throws RecognitionException { try { - // InternalRos.g:1104:1: ( ruleParameterInteger EOF ) - // InternalRos.g:1105:1: ruleParameterInteger EOF + // InternalRos.g:1129:1: ( ruleParameterInteger EOF ) + // InternalRos.g:1130:1: ruleParameterInteger EOF { before(grammarAccess.getParameterIntegerRule()); pushFollow(FOLLOW_1); @@ -3425,21 +3503,21 @@ public final void entryRuleParameterInteger() throws RecognitionException { // $ANTLR start "ruleParameterInteger" - // InternalRos.g:1112:1: ruleParameterInteger : ( ( rule__ParameterInteger__ValueAssignment ) ) ; + // InternalRos.g:1137:1: ruleParameterInteger : ( ( rule__ParameterInteger__ValueAssignment ) ) ; public final void ruleParameterInteger() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1116:2: ( ( ( rule__ParameterInteger__ValueAssignment ) ) ) - // InternalRos.g:1117:2: ( ( rule__ParameterInteger__ValueAssignment ) ) + // InternalRos.g:1141:2: ( ( ( rule__ParameterInteger__ValueAssignment ) ) ) + // InternalRos.g:1142:2: ( ( rule__ParameterInteger__ValueAssignment ) ) { - // InternalRos.g:1117:2: ( ( rule__ParameterInteger__ValueAssignment ) ) - // InternalRos.g:1118:3: ( rule__ParameterInteger__ValueAssignment ) + // InternalRos.g:1142:2: ( ( rule__ParameterInteger__ValueAssignment ) ) + // InternalRos.g:1143:3: ( rule__ParameterInteger__ValueAssignment ) { before(grammarAccess.getParameterIntegerAccess().getValueAssignment()); - // InternalRos.g:1119:3: ( rule__ParameterInteger__ValueAssignment ) - // InternalRos.g:1119:4: rule__ParameterInteger__ValueAssignment + // InternalRos.g:1144:3: ( rule__ParameterInteger__ValueAssignment ) + // InternalRos.g:1144:4: rule__ParameterInteger__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterInteger__ValueAssignment(); @@ -3472,11 +3550,11 @@ public final void ruleParameterInteger() throws RecognitionException { // $ANTLR start "entryRuleParameterDouble" - // InternalRos.g:1128:1: entryRuleParameterDouble : ruleParameterDouble EOF ; + // InternalRos.g:1153:1: entryRuleParameterDouble : ruleParameterDouble EOF ; public final void entryRuleParameterDouble() throws RecognitionException { try { - // InternalRos.g:1129:1: ( ruleParameterDouble EOF ) - // InternalRos.g:1130:1: ruleParameterDouble EOF + // InternalRos.g:1154:1: ( ruleParameterDouble EOF ) + // InternalRos.g:1155:1: ruleParameterDouble EOF { before(grammarAccess.getParameterDoubleRule()); pushFollow(FOLLOW_1); @@ -3502,21 +3580,21 @@ public final void entryRuleParameterDouble() throws RecognitionException { // $ANTLR start "ruleParameterDouble" - // InternalRos.g:1137:1: ruleParameterDouble : ( ( rule__ParameterDouble__ValueAssignment ) ) ; + // InternalRos.g:1162:1: ruleParameterDouble : ( ( rule__ParameterDouble__ValueAssignment ) ) ; public final void ruleParameterDouble() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1141:2: ( ( ( rule__ParameterDouble__ValueAssignment ) ) ) - // InternalRos.g:1142:2: ( ( rule__ParameterDouble__ValueAssignment ) ) + // InternalRos.g:1166:2: ( ( ( rule__ParameterDouble__ValueAssignment ) ) ) + // InternalRos.g:1167:2: ( ( rule__ParameterDouble__ValueAssignment ) ) { - // InternalRos.g:1142:2: ( ( rule__ParameterDouble__ValueAssignment ) ) - // InternalRos.g:1143:3: ( rule__ParameterDouble__ValueAssignment ) + // InternalRos.g:1167:2: ( ( rule__ParameterDouble__ValueAssignment ) ) + // InternalRos.g:1168:3: ( rule__ParameterDouble__ValueAssignment ) { before(grammarAccess.getParameterDoubleAccess().getValueAssignment()); - // InternalRos.g:1144:3: ( rule__ParameterDouble__ValueAssignment ) - // InternalRos.g:1144:4: rule__ParameterDouble__ValueAssignment + // InternalRos.g:1169:3: ( rule__ParameterDouble__ValueAssignment ) + // InternalRos.g:1169:4: rule__ParameterDouble__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterDouble__ValueAssignment(); @@ -3549,11 +3627,11 @@ public final void ruleParameterDouble() throws RecognitionException { // $ANTLR start "entryRuleParameterBoolean" - // InternalRos.g:1153:1: entryRuleParameterBoolean : ruleParameterBoolean EOF ; + // InternalRos.g:1178:1: entryRuleParameterBoolean : ruleParameterBoolean EOF ; public final void entryRuleParameterBoolean() throws RecognitionException { try { - // InternalRos.g:1154:1: ( ruleParameterBoolean EOF ) - // InternalRos.g:1155:1: ruleParameterBoolean EOF + // InternalRos.g:1179:1: ( ruleParameterBoolean EOF ) + // InternalRos.g:1180:1: ruleParameterBoolean EOF { before(grammarAccess.getParameterBooleanRule()); pushFollow(FOLLOW_1); @@ -3579,21 +3657,21 @@ public final void entryRuleParameterBoolean() throws RecognitionException { // $ANTLR start "ruleParameterBoolean" - // InternalRos.g:1162:1: ruleParameterBoolean : ( ( rule__ParameterBoolean__ValueAssignment ) ) ; + // InternalRos.g:1187:1: ruleParameterBoolean : ( ( rule__ParameterBoolean__ValueAssignment ) ) ; public final void ruleParameterBoolean() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1166:2: ( ( ( rule__ParameterBoolean__ValueAssignment ) ) ) - // InternalRos.g:1167:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) + // InternalRos.g:1191:2: ( ( ( rule__ParameterBoolean__ValueAssignment ) ) ) + // InternalRos.g:1192:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) { - // InternalRos.g:1167:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) - // InternalRos.g:1168:3: ( rule__ParameterBoolean__ValueAssignment ) + // InternalRos.g:1192:2: ( ( rule__ParameterBoolean__ValueAssignment ) ) + // InternalRos.g:1193:3: ( rule__ParameterBoolean__ValueAssignment ) { before(grammarAccess.getParameterBooleanAccess().getValueAssignment()); - // InternalRos.g:1169:3: ( rule__ParameterBoolean__ValueAssignment ) - // InternalRos.g:1169:4: rule__ParameterBoolean__ValueAssignment + // InternalRos.g:1194:3: ( rule__ParameterBoolean__ValueAssignment ) + // InternalRos.g:1194:4: rule__ParameterBoolean__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterBoolean__ValueAssignment(); @@ -3626,11 +3704,11 @@ public final void ruleParameterBoolean() throws RecognitionException { // $ANTLR start "entryRuleParameterStruct" - // InternalRos.g:1178:1: entryRuleParameterStruct : ruleParameterStruct EOF ; + // InternalRos.g:1203:1: entryRuleParameterStruct : ruleParameterStruct EOF ; public final void entryRuleParameterStruct() throws RecognitionException { try { - // InternalRos.g:1179:1: ( ruleParameterStruct EOF ) - // InternalRos.g:1180:1: ruleParameterStruct EOF + // InternalRos.g:1204:1: ( ruleParameterStruct EOF ) + // InternalRos.g:1205:1: ruleParameterStruct EOF { before(grammarAccess.getParameterStructRule()); pushFollow(FOLLOW_1); @@ -3656,21 +3734,21 @@ public final void entryRuleParameterStruct() throws RecognitionException { // $ANTLR start "ruleParameterStruct" - // InternalRos.g:1187:1: ruleParameterStruct : ( ( rule__ParameterStruct__Group__0 ) ) ; + // InternalRos.g:1212:1: ruleParameterStruct : ( ( rule__ParameterStruct__Group__0 ) ) ; public final void ruleParameterStruct() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1191:2: ( ( ( rule__ParameterStruct__Group__0 ) ) ) - // InternalRos.g:1192:2: ( ( rule__ParameterStruct__Group__0 ) ) + // InternalRos.g:1216:2: ( ( ( rule__ParameterStruct__Group__0 ) ) ) + // InternalRos.g:1217:2: ( ( rule__ParameterStruct__Group__0 ) ) { - // InternalRos.g:1192:2: ( ( rule__ParameterStruct__Group__0 ) ) - // InternalRos.g:1193:3: ( rule__ParameterStruct__Group__0 ) + // InternalRos.g:1217:2: ( ( rule__ParameterStruct__Group__0 ) ) + // InternalRos.g:1218:3: ( rule__ParameterStruct__Group__0 ) { before(grammarAccess.getParameterStructAccess().getGroup()); - // InternalRos.g:1194:3: ( rule__ParameterStruct__Group__0 ) - // InternalRos.g:1194:4: rule__ParameterStruct__Group__0 + // InternalRos.g:1219:3: ( rule__ParameterStruct__Group__0 ) + // InternalRos.g:1219:4: rule__ParameterStruct__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStruct__Group__0(); @@ -3703,11 +3781,11 @@ public final void ruleParameterStruct() throws RecognitionException { // $ANTLR start "entryRuleParameterDate" - // InternalRos.g:1203:1: entryRuleParameterDate : ruleParameterDate EOF ; + // InternalRos.g:1228:1: entryRuleParameterDate : ruleParameterDate EOF ; public final void entryRuleParameterDate() throws RecognitionException { try { - // InternalRos.g:1204:1: ( ruleParameterDate EOF ) - // InternalRos.g:1205:1: ruleParameterDate EOF + // InternalRos.g:1229:1: ( ruleParameterDate EOF ) + // InternalRos.g:1230:1: ruleParameterDate EOF { before(grammarAccess.getParameterDateRule()); pushFollow(FOLLOW_1); @@ -3733,21 +3811,21 @@ public final void entryRuleParameterDate() throws RecognitionException { // $ANTLR start "ruleParameterDate" - // InternalRos.g:1212:1: ruleParameterDate : ( ( rule__ParameterDate__ValueAssignment ) ) ; + // InternalRos.g:1237:1: ruleParameterDate : ( ( rule__ParameterDate__ValueAssignment ) ) ; public final void ruleParameterDate() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1216:2: ( ( ( rule__ParameterDate__ValueAssignment ) ) ) - // InternalRos.g:1217:2: ( ( rule__ParameterDate__ValueAssignment ) ) + // InternalRos.g:1241:2: ( ( ( rule__ParameterDate__ValueAssignment ) ) ) + // InternalRos.g:1242:2: ( ( rule__ParameterDate__ValueAssignment ) ) { - // InternalRos.g:1217:2: ( ( rule__ParameterDate__ValueAssignment ) ) - // InternalRos.g:1218:3: ( rule__ParameterDate__ValueAssignment ) + // InternalRos.g:1242:2: ( ( rule__ParameterDate__ValueAssignment ) ) + // InternalRos.g:1243:3: ( rule__ParameterDate__ValueAssignment ) { before(grammarAccess.getParameterDateAccess().getValueAssignment()); - // InternalRos.g:1219:3: ( rule__ParameterDate__ValueAssignment ) - // InternalRos.g:1219:4: rule__ParameterDate__ValueAssignment + // InternalRos.g:1244:3: ( rule__ParameterDate__ValueAssignment ) + // InternalRos.g:1244:4: rule__ParameterDate__ValueAssignment { pushFollow(FOLLOW_2); rule__ParameterDate__ValueAssignment(); @@ -3780,11 +3858,11 @@ public final void ruleParameterDate() throws RecognitionException { // $ANTLR start "entryRuleParameterStructMember" - // InternalRos.g:1228:1: entryRuleParameterStructMember : ruleParameterStructMember EOF ; + // InternalRos.g:1253:1: entryRuleParameterStructMember : ruleParameterStructMember EOF ; public final void entryRuleParameterStructMember() throws RecognitionException { try { - // InternalRos.g:1229:1: ( ruleParameterStructMember EOF ) - // InternalRos.g:1230:1: ruleParameterStructMember EOF + // InternalRos.g:1254:1: ( ruleParameterStructMember EOF ) + // InternalRos.g:1255:1: ruleParameterStructMember EOF { before(grammarAccess.getParameterStructMemberRule()); pushFollow(FOLLOW_1); @@ -3810,21 +3888,21 @@ public final void entryRuleParameterStructMember() throws RecognitionException { // $ANTLR start "ruleParameterStructMember" - // InternalRos.g:1237:1: ruleParameterStructMember : ( ( rule__ParameterStructMember__Group__0 ) ) ; + // InternalRos.g:1262:1: ruleParameterStructMember : ( ( rule__ParameterStructMember__Group__0 ) ) ; public final void ruleParameterStructMember() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1241:2: ( ( ( rule__ParameterStructMember__Group__0 ) ) ) - // InternalRos.g:1242:2: ( ( rule__ParameterStructMember__Group__0 ) ) + // InternalRos.g:1266:2: ( ( ( rule__ParameterStructMember__Group__0 ) ) ) + // InternalRos.g:1267:2: ( ( rule__ParameterStructMember__Group__0 ) ) { - // InternalRos.g:1242:2: ( ( rule__ParameterStructMember__Group__0 ) ) - // InternalRos.g:1243:3: ( rule__ParameterStructMember__Group__0 ) + // InternalRos.g:1267:2: ( ( rule__ParameterStructMember__Group__0 ) ) + // InternalRos.g:1268:3: ( rule__ParameterStructMember__Group__0 ) { before(grammarAccess.getParameterStructMemberAccess().getGroup()); - // InternalRos.g:1244:3: ( rule__ParameterStructMember__Group__0 ) - // InternalRos.g:1244:4: rule__ParameterStructMember__Group__0 + // InternalRos.g:1269:3: ( rule__ParameterStructMember__Group__0 ) + // InternalRos.g:1269:4: rule__ParameterStructMember__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStructMember__Group__0(); @@ -3857,11 +3935,11 @@ public final void ruleParameterStructMember() throws RecognitionException { // $ANTLR start "entryRuleParameterStructTypeMember" - // InternalRos.g:1253:1: entryRuleParameterStructTypeMember : ruleParameterStructTypeMember EOF ; + // InternalRos.g:1278:1: entryRuleParameterStructTypeMember : ruleParameterStructTypeMember EOF ; public final void entryRuleParameterStructTypeMember() throws RecognitionException { try { - // InternalRos.g:1254:1: ( ruleParameterStructTypeMember EOF ) - // InternalRos.g:1255:1: ruleParameterStructTypeMember EOF + // InternalRos.g:1279:1: ( ruleParameterStructTypeMember EOF ) + // InternalRos.g:1280:1: ruleParameterStructTypeMember EOF { before(grammarAccess.getParameterStructTypeMemberRule()); pushFollow(FOLLOW_1); @@ -3887,21 +3965,21 @@ public final void entryRuleParameterStructTypeMember() throws RecognitionExcepti // $ANTLR start "ruleParameterStructTypeMember" - // InternalRos.g:1262:1: ruleParameterStructTypeMember : ( ( rule__ParameterStructTypeMember__Group__0 ) ) ; + // InternalRos.g:1287:1: ruleParameterStructTypeMember : ( ( rule__ParameterStructTypeMember__Group__0 ) ) ; public final void ruleParameterStructTypeMember() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1266:2: ( ( ( rule__ParameterStructTypeMember__Group__0 ) ) ) - // InternalRos.g:1267:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) + // InternalRos.g:1291:2: ( ( ( rule__ParameterStructTypeMember__Group__0 ) ) ) + // InternalRos.g:1292:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) { - // InternalRos.g:1267:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) - // InternalRos.g:1268:3: ( rule__ParameterStructTypeMember__Group__0 ) + // InternalRos.g:1292:2: ( ( rule__ParameterStructTypeMember__Group__0 ) ) + // InternalRos.g:1293:3: ( rule__ParameterStructTypeMember__Group__0 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getGroup()); - // InternalRos.g:1269:3: ( rule__ParameterStructTypeMember__Group__0 ) - // InternalRos.g:1269:4: rule__ParameterStructTypeMember__Group__0 + // InternalRos.g:1294:3: ( rule__ParameterStructTypeMember__Group__0 ) + // InternalRos.g:1294:4: rule__ParameterStructTypeMember__Group__0 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__Group__0(); @@ -3934,11 +4012,11 @@ public final void ruleParameterStructTypeMember() throws RecognitionException { // $ANTLR start "entryRuleBase64Binary" - // InternalRos.g:1278:1: entryRuleBase64Binary : ruleBase64Binary EOF ; + // InternalRos.g:1303:1: entryRuleBase64Binary : ruleBase64Binary EOF ; public final void entryRuleBase64Binary() throws RecognitionException { try { - // InternalRos.g:1279:1: ( ruleBase64Binary EOF ) - // InternalRos.g:1280:1: ruleBase64Binary EOF + // InternalRos.g:1304:1: ( ruleBase64Binary EOF ) + // InternalRos.g:1305:1: ruleBase64Binary EOF { before(grammarAccess.getBase64BinaryRule()); pushFollow(FOLLOW_1); @@ -3964,17 +4042,17 @@ public final void entryRuleBase64Binary() throws RecognitionException { // $ANTLR start "ruleBase64Binary" - // InternalRos.g:1287:1: ruleBase64Binary : ( RULE_BINARY ) ; + // InternalRos.g:1312:1: ruleBase64Binary : ( RULE_BINARY ) ; public final void ruleBase64Binary() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1291:2: ( ( RULE_BINARY ) ) - // InternalRos.g:1292:2: ( RULE_BINARY ) + // InternalRos.g:1316:2: ( ( RULE_BINARY ) ) + // InternalRos.g:1317:2: ( RULE_BINARY ) { - // InternalRos.g:1292:2: ( RULE_BINARY ) - // InternalRos.g:1293:3: RULE_BINARY + // InternalRos.g:1317:2: ( RULE_BINARY ) + // InternalRos.g:1318:3: RULE_BINARY { before(grammarAccess.getBase64BinaryAccess().getBINARYTerminalRuleCall()); match(input,RULE_BINARY,FOLLOW_2); @@ -4001,11 +4079,11 @@ public final void ruleBase64Binary() throws RecognitionException { // $ANTLR start "entryRuleboolean0" - // InternalRos.g:1303:1: entryRuleboolean0 : ruleboolean0 EOF ; + // InternalRos.g:1328:1: entryRuleboolean0 : ruleboolean0 EOF ; public final void entryRuleboolean0() throws RecognitionException { try { - // InternalRos.g:1304:1: ( ruleboolean0 EOF ) - // InternalRos.g:1305:1: ruleboolean0 EOF + // InternalRos.g:1329:1: ( ruleboolean0 EOF ) + // InternalRos.g:1330:1: ruleboolean0 EOF { before(grammarAccess.getBoolean0Rule()); pushFollow(FOLLOW_1); @@ -4031,17 +4109,17 @@ public final void entryRuleboolean0() throws RecognitionException { // $ANTLR start "ruleboolean0" - // InternalRos.g:1312:1: ruleboolean0 : ( RULE_BOOLEAN ) ; + // InternalRos.g:1337:1: ruleboolean0 : ( RULE_BOOLEAN ) ; public final void ruleboolean0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1316:2: ( ( RULE_BOOLEAN ) ) - // InternalRos.g:1317:2: ( RULE_BOOLEAN ) + // InternalRos.g:1341:2: ( ( RULE_BOOLEAN ) ) + // InternalRos.g:1342:2: ( RULE_BOOLEAN ) { - // InternalRos.g:1317:2: ( RULE_BOOLEAN ) - // InternalRos.g:1318:3: RULE_BOOLEAN + // InternalRos.g:1342:2: ( RULE_BOOLEAN ) + // InternalRos.g:1343:3: RULE_BOOLEAN { before(grammarAccess.getBoolean0Access().getBOOLEANTerminalRuleCall()); match(input,RULE_BOOLEAN,FOLLOW_2); @@ -4068,11 +4146,11 @@ public final void ruleboolean0() throws RecognitionException { // $ANTLR start "entryRuleDouble0" - // InternalRos.g:1328:1: entryRuleDouble0 : ruleDouble0 EOF ; + // InternalRos.g:1353:1: entryRuleDouble0 : ruleDouble0 EOF ; public final void entryRuleDouble0() throws RecognitionException { try { - // InternalRos.g:1329:1: ( ruleDouble0 EOF ) - // InternalRos.g:1330:1: ruleDouble0 EOF + // InternalRos.g:1354:1: ( ruleDouble0 EOF ) + // InternalRos.g:1355:1: ruleDouble0 EOF { before(grammarAccess.getDouble0Rule()); pushFollow(FOLLOW_1); @@ -4098,17 +4176,17 @@ public final void entryRuleDouble0() throws RecognitionException { // $ANTLR start "ruleDouble0" - // InternalRos.g:1337:1: ruleDouble0 : ( RULE_DOUBLE ) ; + // InternalRos.g:1362:1: ruleDouble0 : ( RULE_DOUBLE ) ; public final void ruleDouble0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1341:2: ( ( RULE_DOUBLE ) ) - // InternalRos.g:1342:2: ( RULE_DOUBLE ) + // InternalRos.g:1366:2: ( ( RULE_DOUBLE ) ) + // InternalRos.g:1367:2: ( RULE_DOUBLE ) { - // InternalRos.g:1342:2: ( RULE_DOUBLE ) - // InternalRos.g:1343:3: RULE_DOUBLE + // InternalRos.g:1367:2: ( RULE_DOUBLE ) + // InternalRos.g:1368:3: RULE_DOUBLE { before(grammarAccess.getDouble0Access().getDOUBLETerminalRuleCall()); match(input,RULE_DOUBLE,FOLLOW_2); @@ -4135,11 +4213,11 @@ public final void ruleDouble0() throws RecognitionException { // $ANTLR start "entryRuleInteger0" - // InternalRos.g:1353:1: entryRuleInteger0 : ruleInteger0 EOF ; + // InternalRos.g:1378:1: entryRuleInteger0 : ruleInteger0 EOF ; public final void entryRuleInteger0() throws RecognitionException { try { - // InternalRos.g:1354:1: ( ruleInteger0 EOF ) - // InternalRos.g:1355:1: ruleInteger0 EOF + // InternalRos.g:1379:1: ( ruleInteger0 EOF ) + // InternalRos.g:1380:1: ruleInteger0 EOF { before(grammarAccess.getInteger0Rule()); pushFollow(FOLLOW_1); @@ -4165,17 +4243,17 @@ public final void entryRuleInteger0() throws RecognitionException { // $ANTLR start "ruleInteger0" - // InternalRos.g:1362:1: ruleInteger0 : ( RULE_DECINT ) ; + // InternalRos.g:1387:1: ruleInteger0 : ( RULE_DECINT ) ; public final void ruleInteger0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1366:2: ( ( RULE_DECINT ) ) - // InternalRos.g:1367:2: ( RULE_DECINT ) + // InternalRos.g:1391:2: ( ( RULE_DECINT ) ) + // InternalRos.g:1392:2: ( RULE_DECINT ) { - // InternalRos.g:1367:2: ( RULE_DECINT ) - // InternalRos.g:1368:3: RULE_DECINT + // InternalRos.g:1392:2: ( RULE_DECINT ) + // InternalRos.g:1393:3: RULE_DECINT { before(grammarAccess.getInteger0Access().getDECINTTerminalRuleCall()); match(input,RULE_DECINT,FOLLOW_2); @@ -4202,11 +4280,11 @@ public final void ruleInteger0() throws RecognitionException { // $ANTLR start "entryRuleDateTime0" - // InternalRos.g:1378:1: entryRuleDateTime0 : ruleDateTime0 EOF ; + // InternalRos.g:1403:1: entryRuleDateTime0 : ruleDateTime0 EOF ; public final void entryRuleDateTime0() throws RecognitionException { try { - // InternalRos.g:1379:1: ( ruleDateTime0 EOF ) - // InternalRos.g:1380:1: ruleDateTime0 EOF + // InternalRos.g:1404:1: ( ruleDateTime0 EOF ) + // InternalRos.g:1405:1: ruleDateTime0 EOF { before(grammarAccess.getDateTime0Rule()); pushFollow(FOLLOW_1); @@ -4232,17 +4310,17 @@ public final void entryRuleDateTime0() throws RecognitionException { // $ANTLR start "ruleDateTime0" - // InternalRos.g:1387:1: ruleDateTime0 : ( RULE_DATE_TIME ) ; + // InternalRos.g:1412:1: ruleDateTime0 : ( RULE_DATE_TIME ) ; public final void ruleDateTime0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1391:2: ( ( RULE_DATE_TIME ) ) - // InternalRos.g:1392:2: ( RULE_DATE_TIME ) + // InternalRos.g:1416:2: ( ( RULE_DATE_TIME ) ) + // InternalRos.g:1417:2: ( RULE_DATE_TIME ) { - // InternalRos.g:1392:2: ( RULE_DATE_TIME ) - // InternalRos.g:1393:3: RULE_DATE_TIME + // InternalRos.g:1417:2: ( RULE_DATE_TIME ) + // InternalRos.g:1418:3: RULE_DATE_TIME { before(grammarAccess.getDateTime0Access().getDATE_TIMETerminalRuleCall()); match(input,RULE_DATE_TIME,FOLLOW_2); @@ -4269,11 +4347,11 @@ public final void ruleDateTime0() throws RecognitionException { // $ANTLR start "entryRuleMessagePart" - // InternalRos.g:1403:1: entryRuleMessagePart : ruleMessagePart EOF ; + // InternalRos.g:1428:1: entryRuleMessagePart : ruleMessagePart EOF ; public final void entryRuleMessagePart() throws RecognitionException { try { - // InternalRos.g:1404:1: ( ruleMessagePart EOF ) - // InternalRos.g:1405:1: ruleMessagePart EOF + // InternalRos.g:1429:1: ( ruleMessagePart EOF ) + // InternalRos.g:1430:1: ruleMessagePart EOF { before(grammarAccess.getMessagePartRule()); pushFollow(FOLLOW_1); @@ -4299,21 +4377,21 @@ public final void entryRuleMessagePart() throws RecognitionException { // $ANTLR start "ruleMessagePart" - // InternalRos.g:1412:1: ruleMessagePart : ( ( rule__MessagePart__Group__0 ) ) ; + // InternalRos.g:1437:1: ruleMessagePart : ( ( rule__MessagePart__Group__0 ) ) ; public final void ruleMessagePart() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1416:2: ( ( ( rule__MessagePart__Group__0 ) ) ) - // InternalRos.g:1417:2: ( ( rule__MessagePart__Group__0 ) ) + // InternalRos.g:1441:2: ( ( ( rule__MessagePart__Group__0 ) ) ) + // InternalRos.g:1442:2: ( ( rule__MessagePart__Group__0 ) ) { - // InternalRos.g:1417:2: ( ( rule__MessagePart__Group__0 ) ) - // InternalRos.g:1418:3: ( rule__MessagePart__Group__0 ) + // InternalRos.g:1442:2: ( ( rule__MessagePart__Group__0 ) ) + // InternalRos.g:1443:3: ( rule__MessagePart__Group__0 ) { before(grammarAccess.getMessagePartAccess().getGroup()); - // InternalRos.g:1419:3: ( rule__MessagePart__Group__0 ) - // InternalRos.g:1419:4: rule__MessagePart__Group__0 + // InternalRos.g:1444:3: ( rule__MessagePart__Group__0 ) + // InternalRos.g:1444:4: rule__MessagePart__Group__0 { pushFollow(FOLLOW_2); rule__MessagePart__Group__0(); @@ -4346,11 +4424,11 @@ public final void ruleMessagePart() throws RecognitionException { // $ANTLR start "entryRuleAbstractType" - // InternalRos.g:1428:1: entryRuleAbstractType : ruleAbstractType EOF ; + // InternalRos.g:1453:1: entryRuleAbstractType : ruleAbstractType EOF ; public final void entryRuleAbstractType() throws RecognitionException { try { - // InternalRos.g:1429:1: ( ruleAbstractType EOF ) - // InternalRos.g:1430:1: ruleAbstractType EOF + // InternalRos.g:1454:1: ( ruleAbstractType EOF ) + // InternalRos.g:1455:1: ruleAbstractType EOF { before(grammarAccess.getAbstractTypeRule()); pushFollow(FOLLOW_1); @@ -4376,21 +4454,21 @@ public final void entryRuleAbstractType() throws RecognitionException { // $ANTLR start "ruleAbstractType" - // InternalRos.g:1437:1: ruleAbstractType : ( ( rule__AbstractType__Alternatives ) ) ; + // InternalRos.g:1462:1: ruleAbstractType : ( ( rule__AbstractType__Alternatives ) ) ; public final void ruleAbstractType() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1441:2: ( ( ( rule__AbstractType__Alternatives ) ) ) - // InternalRos.g:1442:2: ( ( rule__AbstractType__Alternatives ) ) + // InternalRos.g:1466:2: ( ( ( rule__AbstractType__Alternatives ) ) ) + // InternalRos.g:1467:2: ( ( rule__AbstractType__Alternatives ) ) { - // InternalRos.g:1442:2: ( ( rule__AbstractType__Alternatives ) ) - // InternalRos.g:1443:3: ( rule__AbstractType__Alternatives ) + // InternalRos.g:1467:2: ( ( rule__AbstractType__Alternatives ) ) + // InternalRos.g:1468:3: ( rule__AbstractType__Alternatives ) { before(grammarAccess.getAbstractTypeAccess().getAlternatives()); - // InternalRos.g:1444:3: ( rule__AbstractType__Alternatives ) - // InternalRos.g:1444:4: rule__AbstractType__Alternatives + // InternalRos.g:1469:3: ( rule__AbstractType__Alternatives ) + // InternalRos.g:1469:4: rule__AbstractType__Alternatives { pushFollow(FOLLOW_2); rule__AbstractType__Alternatives(); @@ -4423,11 +4501,11 @@ public final void ruleAbstractType() throws RecognitionException { // $ANTLR start "entryRulebool" - // InternalRos.g:1453:1: entryRulebool : rulebool EOF ; + // InternalRos.g:1478:1: entryRulebool : rulebool EOF ; public final void entryRulebool() throws RecognitionException { try { - // InternalRos.g:1454:1: ( rulebool EOF ) - // InternalRos.g:1455:1: rulebool EOF + // InternalRos.g:1479:1: ( rulebool EOF ) + // InternalRos.g:1480:1: rulebool EOF { before(grammarAccess.getBoolRule()); pushFollow(FOLLOW_1); @@ -4453,21 +4531,21 @@ public final void entryRulebool() throws RecognitionException { // $ANTLR start "rulebool" - // InternalRos.g:1462:1: rulebool : ( ( rule__Bool__Group__0 ) ) ; + // InternalRos.g:1487:1: rulebool : ( ( rule__Bool__Group__0 ) ) ; public final void rulebool() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1466:2: ( ( ( rule__Bool__Group__0 ) ) ) - // InternalRos.g:1467:2: ( ( rule__Bool__Group__0 ) ) + // InternalRos.g:1491:2: ( ( ( rule__Bool__Group__0 ) ) ) + // InternalRos.g:1492:2: ( ( rule__Bool__Group__0 ) ) { - // InternalRos.g:1467:2: ( ( rule__Bool__Group__0 ) ) - // InternalRos.g:1468:3: ( rule__Bool__Group__0 ) + // InternalRos.g:1492:2: ( ( rule__Bool__Group__0 ) ) + // InternalRos.g:1493:3: ( rule__Bool__Group__0 ) { before(grammarAccess.getBoolAccess().getGroup()); - // InternalRos.g:1469:3: ( rule__Bool__Group__0 ) - // InternalRos.g:1469:4: rule__Bool__Group__0 + // InternalRos.g:1494:3: ( rule__Bool__Group__0 ) + // InternalRos.g:1494:4: rule__Bool__Group__0 { pushFollow(FOLLOW_2); rule__Bool__Group__0(); @@ -4500,11 +4578,11 @@ public final void rulebool() throws RecognitionException { // $ANTLR start "entryRuleint8" - // InternalRos.g:1478:1: entryRuleint8 : ruleint8 EOF ; + // InternalRos.g:1503:1: entryRuleint8 : ruleint8 EOF ; public final void entryRuleint8() throws RecognitionException { try { - // InternalRos.g:1479:1: ( ruleint8 EOF ) - // InternalRos.g:1480:1: ruleint8 EOF + // InternalRos.g:1504:1: ( ruleint8 EOF ) + // InternalRos.g:1505:1: ruleint8 EOF { before(grammarAccess.getInt8Rule()); pushFollow(FOLLOW_1); @@ -4530,21 +4608,21 @@ public final void entryRuleint8() throws RecognitionException { // $ANTLR start "ruleint8" - // InternalRos.g:1487:1: ruleint8 : ( ( rule__Int8__Group__0 ) ) ; + // InternalRos.g:1512:1: ruleint8 : ( ( rule__Int8__Group__0 ) ) ; public final void ruleint8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1491:2: ( ( ( rule__Int8__Group__0 ) ) ) - // InternalRos.g:1492:2: ( ( rule__Int8__Group__0 ) ) + // InternalRos.g:1516:2: ( ( ( rule__Int8__Group__0 ) ) ) + // InternalRos.g:1517:2: ( ( rule__Int8__Group__0 ) ) { - // InternalRos.g:1492:2: ( ( rule__Int8__Group__0 ) ) - // InternalRos.g:1493:3: ( rule__Int8__Group__0 ) + // InternalRos.g:1517:2: ( ( rule__Int8__Group__0 ) ) + // InternalRos.g:1518:3: ( rule__Int8__Group__0 ) { before(grammarAccess.getInt8Access().getGroup()); - // InternalRos.g:1494:3: ( rule__Int8__Group__0 ) - // InternalRos.g:1494:4: rule__Int8__Group__0 + // InternalRos.g:1519:3: ( rule__Int8__Group__0 ) + // InternalRos.g:1519:4: rule__Int8__Group__0 { pushFollow(FOLLOW_2); rule__Int8__Group__0(); @@ -4577,11 +4655,11 @@ public final void ruleint8() throws RecognitionException { // $ANTLR start "entryRuleuint8" - // InternalRos.g:1503:1: entryRuleuint8 : ruleuint8 EOF ; + // InternalRos.g:1528:1: entryRuleuint8 : ruleuint8 EOF ; public final void entryRuleuint8() throws RecognitionException { try { - // InternalRos.g:1504:1: ( ruleuint8 EOF ) - // InternalRos.g:1505:1: ruleuint8 EOF + // InternalRos.g:1529:1: ( ruleuint8 EOF ) + // InternalRos.g:1530:1: ruleuint8 EOF { before(grammarAccess.getUint8Rule()); pushFollow(FOLLOW_1); @@ -4607,21 +4685,21 @@ public final void entryRuleuint8() throws RecognitionException { // $ANTLR start "ruleuint8" - // InternalRos.g:1512:1: ruleuint8 : ( ( rule__Uint8__Group__0 ) ) ; + // InternalRos.g:1537:1: ruleuint8 : ( ( rule__Uint8__Group__0 ) ) ; public final void ruleuint8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1516:2: ( ( ( rule__Uint8__Group__0 ) ) ) - // InternalRos.g:1517:2: ( ( rule__Uint8__Group__0 ) ) + // InternalRos.g:1541:2: ( ( ( rule__Uint8__Group__0 ) ) ) + // InternalRos.g:1542:2: ( ( rule__Uint8__Group__0 ) ) { - // InternalRos.g:1517:2: ( ( rule__Uint8__Group__0 ) ) - // InternalRos.g:1518:3: ( rule__Uint8__Group__0 ) + // InternalRos.g:1542:2: ( ( rule__Uint8__Group__0 ) ) + // InternalRos.g:1543:3: ( rule__Uint8__Group__0 ) { before(grammarAccess.getUint8Access().getGroup()); - // InternalRos.g:1519:3: ( rule__Uint8__Group__0 ) - // InternalRos.g:1519:4: rule__Uint8__Group__0 + // InternalRos.g:1544:3: ( rule__Uint8__Group__0 ) + // InternalRos.g:1544:4: rule__Uint8__Group__0 { pushFollow(FOLLOW_2); rule__Uint8__Group__0(); @@ -4654,11 +4732,11 @@ public final void ruleuint8() throws RecognitionException { // $ANTLR start "entryRuleint16" - // InternalRos.g:1528:1: entryRuleint16 : ruleint16 EOF ; + // InternalRos.g:1553:1: entryRuleint16 : ruleint16 EOF ; public final void entryRuleint16() throws RecognitionException { try { - // InternalRos.g:1529:1: ( ruleint16 EOF ) - // InternalRos.g:1530:1: ruleint16 EOF + // InternalRos.g:1554:1: ( ruleint16 EOF ) + // InternalRos.g:1555:1: ruleint16 EOF { before(grammarAccess.getInt16Rule()); pushFollow(FOLLOW_1); @@ -4684,21 +4762,21 @@ public final void entryRuleint16() throws RecognitionException { // $ANTLR start "ruleint16" - // InternalRos.g:1537:1: ruleint16 : ( ( rule__Int16__Group__0 ) ) ; + // InternalRos.g:1562:1: ruleint16 : ( ( rule__Int16__Group__0 ) ) ; public final void ruleint16() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1541:2: ( ( ( rule__Int16__Group__0 ) ) ) - // InternalRos.g:1542:2: ( ( rule__Int16__Group__0 ) ) + // InternalRos.g:1566:2: ( ( ( rule__Int16__Group__0 ) ) ) + // InternalRos.g:1567:2: ( ( rule__Int16__Group__0 ) ) { - // InternalRos.g:1542:2: ( ( rule__Int16__Group__0 ) ) - // InternalRos.g:1543:3: ( rule__Int16__Group__0 ) + // InternalRos.g:1567:2: ( ( rule__Int16__Group__0 ) ) + // InternalRos.g:1568:3: ( rule__Int16__Group__0 ) { before(grammarAccess.getInt16Access().getGroup()); - // InternalRos.g:1544:3: ( rule__Int16__Group__0 ) - // InternalRos.g:1544:4: rule__Int16__Group__0 + // InternalRos.g:1569:3: ( rule__Int16__Group__0 ) + // InternalRos.g:1569:4: rule__Int16__Group__0 { pushFollow(FOLLOW_2); rule__Int16__Group__0(); @@ -4731,11 +4809,11 @@ public final void ruleint16() throws RecognitionException { // $ANTLR start "entryRuleuint16" - // InternalRos.g:1553:1: entryRuleuint16 : ruleuint16 EOF ; + // InternalRos.g:1578:1: entryRuleuint16 : ruleuint16 EOF ; public final void entryRuleuint16() throws RecognitionException { try { - // InternalRos.g:1554:1: ( ruleuint16 EOF ) - // InternalRos.g:1555:1: ruleuint16 EOF + // InternalRos.g:1579:1: ( ruleuint16 EOF ) + // InternalRos.g:1580:1: ruleuint16 EOF { before(grammarAccess.getUint16Rule()); pushFollow(FOLLOW_1); @@ -4761,21 +4839,21 @@ public final void entryRuleuint16() throws RecognitionException { // $ANTLR start "ruleuint16" - // InternalRos.g:1562:1: ruleuint16 : ( ( rule__Uint16__Group__0 ) ) ; + // InternalRos.g:1587:1: ruleuint16 : ( ( rule__Uint16__Group__0 ) ) ; public final void ruleuint16() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1566:2: ( ( ( rule__Uint16__Group__0 ) ) ) - // InternalRos.g:1567:2: ( ( rule__Uint16__Group__0 ) ) + // InternalRos.g:1591:2: ( ( ( rule__Uint16__Group__0 ) ) ) + // InternalRos.g:1592:2: ( ( rule__Uint16__Group__0 ) ) { - // InternalRos.g:1567:2: ( ( rule__Uint16__Group__0 ) ) - // InternalRos.g:1568:3: ( rule__Uint16__Group__0 ) + // InternalRos.g:1592:2: ( ( rule__Uint16__Group__0 ) ) + // InternalRos.g:1593:3: ( rule__Uint16__Group__0 ) { before(grammarAccess.getUint16Access().getGroup()); - // InternalRos.g:1569:3: ( rule__Uint16__Group__0 ) - // InternalRos.g:1569:4: rule__Uint16__Group__0 + // InternalRos.g:1594:3: ( rule__Uint16__Group__0 ) + // InternalRos.g:1594:4: rule__Uint16__Group__0 { pushFollow(FOLLOW_2); rule__Uint16__Group__0(); @@ -4808,11 +4886,11 @@ public final void ruleuint16() throws RecognitionException { // $ANTLR start "entryRuleint32" - // InternalRos.g:1578:1: entryRuleint32 : ruleint32 EOF ; + // InternalRos.g:1603:1: entryRuleint32 : ruleint32 EOF ; public final void entryRuleint32() throws RecognitionException { try { - // InternalRos.g:1579:1: ( ruleint32 EOF ) - // InternalRos.g:1580:1: ruleint32 EOF + // InternalRos.g:1604:1: ( ruleint32 EOF ) + // InternalRos.g:1605:1: ruleint32 EOF { before(grammarAccess.getInt32Rule()); pushFollow(FOLLOW_1); @@ -4838,21 +4916,21 @@ public final void entryRuleint32() throws RecognitionException { // $ANTLR start "ruleint32" - // InternalRos.g:1587:1: ruleint32 : ( ( rule__Int32__Group__0 ) ) ; + // InternalRos.g:1612:1: ruleint32 : ( ( rule__Int32__Group__0 ) ) ; public final void ruleint32() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1591:2: ( ( ( rule__Int32__Group__0 ) ) ) - // InternalRos.g:1592:2: ( ( rule__Int32__Group__0 ) ) + // InternalRos.g:1616:2: ( ( ( rule__Int32__Group__0 ) ) ) + // InternalRos.g:1617:2: ( ( rule__Int32__Group__0 ) ) { - // InternalRos.g:1592:2: ( ( rule__Int32__Group__0 ) ) - // InternalRos.g:1593:3: ( rule__Int32__Group__0 ) + // InternalRos.g:1617:2: ( ( rule__Int32__Group__0 ) ) + // InternalRos.g:1618:3: ( rule__Int32__Group__0 ) { before(grammarAccess.getInt32Access().getGroup()); - // InternalRos.g:1594:3: ( rule__Int32__Group__0 ) - // InternalRos.g:1594:4: rule__Int32__Group__0 + // InternalRos.g:1619:3: ( rule__Int32__Group__0 ) + // InternalRos.g:1619:4: rule__Int32__Group__0 { pushFollow(FOLLOW_2); rule__Int32__Group__0(); @@ -4885,11 +4963,11 @@ public final void ruleint32() throws RecognitionException { // $ANTLR start "entryRuleuint32" - // InternalRos.g:1603:1: entryRuleuint32 : ruleuint32 EOF ; + // InternalRos.g:1628:1: entryRuleuint32 : ruleuint32 EOF ; public final void entryRuleuint32() throws RecognitionException { try { - // InternalRos.g:1604:1: ( ruleuint32 EOF ) - // InternalRos.g:1605:1: ruleuint32 EOF + // InternalRos.g:1629:1: ( ruleuint32 EOF ) + // InternalRos.g:1630:1: ruleuint32 EOF { before(grammarAccess.getUint32Rule()); pushFollow(FOLLOW_1); @@ -4915,21 +4993,21 @@ public final void entryRuleuint32() throws RecognitionException { // $ANTLR start "ruleuint32" - // InternalRos.g:1612:1: ruleuint32 : ( ( rule__Uint32__Group__0 ) ) ; + // InternalRos.g:1637:1: ruleuint32 : ( ( rule__Uint32__Group__0 ) ) ; public final void ruleuint32() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1616:2: ( ( ( rule__Uint32__Group__0 ) ) ) - // InternalRos.g:1617:2: ( ( rule__Uint32__Group__0 ) ) + // InternalRos.g:1641:2: ( ( ( rule__Uint32__Group__0 ) ) ) + // InternalRos.g:1642:2: ( ( rule__Uint32__Group__0 ) ) { - // InternalRos.g:1617:2: ( ( rule__Uint32__Group__0 ) ) - // InternalRos.g:1618:3: ( rule__Uint32__Group__0 ) + // InternalRos.g:1642:2: ( ( rule__Uint32__Group__0 ) ) + // InternalRos.g:1643:3: ( rule__Uint32__Group__0 ) { before(grammarAccess.getUint32Access().getGroup()); - // InternalRos.g:1619:3: ( rule__Uint32__Group__0 ) - // InternalRos.g:1619:4: rule__Uint32__Group__0 + // InternalRos.g:1644:3: ( rule__Uint32__Group__0 ) + // InternalRos.g:1644:4: rule__Uint32__Group__0 { pushFollow(FOLLOW_2); rule__Uint32__Group__0(); @@ -4962,11 +5040,11 @@ public final void ruleuint32() throws RecognitionException { // $ANTLR start "entryRuleint64" - // InternalRos.g:1628:1: entryRuleint64 : ruleint64 EOF ; + // InternalRos.g:1653:1: entryRuleint64 : ruleint64 EOF ; public final void entryRuleint64() throws RecognitionException { try { - // InternalRos.g:1629:1: ( ruleint64 EOF ) - // InternalRos.g:1630:1: ruleint64 EOF + // InternalRos.g:1654:1: ( ruleint64 EOF ) + // InternalRos.g:1655:1: ruleint64 EOF { before(grammarAccess.getInt64Rule()); pushFollow(FOLLOW_1); @@ -4992,21 +5070,21 @@ public final void entryRuleint64() throws RecognitionException { // $ANTLR start "ruleint64" - // InternalRos.g:1637:1: ruleint64 : ( ( rule__Int64__Group__0 ) ) ; + // InternalRos.g:1662:1: ruleint64 : ( ( rule__Int64__Group__0 ) ) ; public final void ruleint64() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1641:2: ( ( ( rule__Int64__Group__0 ) ) ) - // InternalRos.g:1642:2: ( ( rule__Int64__Group__0 ) ) + // InternalRos.g:1666:2: ( ( ( rule__Int64__Group__0 ) ) ) + // InternalRos.g:1667:2: ( ( rule__Int64__Group__0 ) ) { - // InternalRos.g:1642:2: ( ( rule__Int64__Group__0 ) ) - // InternalRos.g:1643:3: ( rule__Int64__Group__0 ) + // InternalRos.g:1667:2: ( ( rule__Int64__Group__0 ) ) + // InternalRos.g:1668:3: ( rule__Int64__Group__0 ) { before(grammarAccess.getInt64Access().getGroup()); - // InternalRos.g:1644:3: ( rule__Int64__Group__0 ) - // InternalRos.g:1644:4: rule__Int64__Group__0 + // InternalRos.g:1669:3: ( rule__Int64__Group__0 ) + // InternalRos.g:1669:4: rule__Int64__Group__0 { pushFollow(FOLLOW_2); rule__Int64__Group__0(); @@ -5039,11 +5117,11 @@ public final void ruleint64() throws RecognitionException { // $ANTLR start "entryRuleuint64" - // InternalRos.g:1653:1: entryRuleuint64 : ruleuint64 EOF ; + // InternalRos.g:1678:1: entryRuleuint64 : ruleuint64 EOF ; public final void entryRuleuint64() throws RecognitionException { try { - // InternalRos.g:1654:1: ( ruleuint64 EOF ) - // InternalRos.g:1655:1: ruleuint64 EOF + // InternalRos.g:1679:1: ( ruleuint64 EOF ) + // InternalRos.g:1680:1: ruleuint64 EOF { before(grammarAccess.getUint64Rule()); pushFollow(FOLLOW_1); @@ -5069,21 +5147,21 @@ public final void entryRuleuint64() throws RecognitionException { // $ANTLR start "ruleuint64" - // InternalRos.g:1662:1: ruleuint64 : ( ( rule__Uint64__Group__0 ) ) ; + // InternalRos.g:1687:1: ruleuint64 : ( ( rule__Uint64__Group__0 ) ) ; public final void ruleuint64() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1666:2: ( ( ( rule__Uint64__Group__0 ) ) ) - // InternalRos.g:1667:2: ( ( rule__Uint64__Group__0 ) ) + // InternalRos.g:1691:2: ( ( ( rule__Uint64__Group__0 ) ) ) + // InternalRos.g:1692:2: ( ( rule__Uint64__Group__0 ) ) { - // InternalRos.g:1667:2: ( ( rule__Uint64__Group__0 ) ) - // InternalRos.g:1668:3: ( rule__Uint64__Group__0 ) + // InternalRos.g:1692:2: ( ( rule__Uint64__Group__0 ) ) + // InternalRos.g:1693:3: ( rule__Uint64__Group__0 ) { before(grammarAccess.getUint64Access().getGroup()); - // InternalRos.g:1669:3: ( rule__Uint64__Group__0 ) - // InternalRos.g:1669:4: rule__Uint64__Group__0 + // InternalRos.g:1694:3: ( rule__Uint64__Group__0 ) + // InternalRos.g:1694:4: rule__Uint64__Group__0 { pushFollow(FOLLOW_2); rule__Uint64__Group__0(); @@ -5116,11 +5194,11 @@ public final void ruleuint64() throws RecognitionException { // $ANTLR start "entryRulefloat32" - // InternalRos.g:1678:1: entryRulefloat32 : rulefloat32 EOF ; + // InternalRos.g:1703:1: entryRulefloat32 : rulefloat32 EOF ; public final void entryRulefloat32() throws RecognitionException { try { - // InternalRos.g:1679:1: ( rulefloat32 EOF ) - // InternalRos.g:1680:1: rulefloat32 EOF + // InternalRos.g:1704:1: ( rulefloat32 EOF ) + // InternalRos.g:1705:1: rulefloat32 EOF { before(grammarAccess.getFloat32Rule()); pushFollow(FOLLOW_1); @@ -5146,21 +5224,21 @@ public final void entryRulefloat32() throws RecognitionException { // $ANTLR start "rulefloat32" - // InternalRos.g:1687:1: rulefloat32 : ( ( rule__Float32__Group__0 ) ) ; + // InternalRos.g:1712:1: rulefloat32 : ( ( rule__Float32__Group__0 ) ) ; public final void rulefloat32() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1691:2: ( ( ( rule__Float32__Group__0 ) ) ) - // InternalRos.g:1692:2: ( ( rule__Float32__Group__0 ) ) + // InternalRos.g:1716:2: ( ( ( rule__Float32__Group__0 ) ) ) + // InternalRos.g:1717:2: ( ( rule__Float32__Group__0 ) ) { - // InternalRos.g:1692:2: ( ( rule__Float32__Group__0 ) ) - // InternalRos.g:1693:3: ( rule__Float32__Group__0 ) + // InternalRos.g:1717:2: ( ( rule__Float32__Group__0 ) ) + // InternalRos.g:1718:3: ( rule__Float32__Group__0 ) { before(grammarAccess.getFloat32Access().getGroup()); - // InternalRos.g:1694:3: ( rule__Float32__Group__0 ) - // InternalRos.g:1694:4: rule__Float32__Group__0 + // InternalRos.g:1719:3: ( rule__Float32__Group__0 ) + // InternalRos.g:1719:4: rule__Float32__Group__0 { pushFollow(FOLLOW_2); rule__Float32__Group__0(); @@ -5193,11 +5271,11 @@ public final void rulefloat32() throws RecognitionException { // $ANTLR start "entryRulefloat64" - // InternalRos.g:1703:1: entryRulefloat64 : rulefloat64 EOF ; + // InternalRos.g:1728:1: entryRulefloat64 : rulefloat64 EOF ; public final void entryRulefloat64() throws RecognitionException { try { - // InternalRos.g:1704:1: ( rulefloat64 EOF ) - // InternalRos.g:1705:1: rulefloat64 EOF + // InternalRos.g:1729:1: ( rulefloat64 EOF ) + // InternalRos.g:1730:1: rulefloat64 EOF { before(grammarAccess.getFloat64Rule()); pushFollow(FOLLOW_1); @@ -5223,21 +5301,21 @@ public final void entryRulefloat64() throws RecognitionException { // $ANTLR start "rulefloat64" - // InternalRos.g:1712:1: rulefloat64 : ( ( rule__Float64__Group__0 ) ) ; + // InternalRos.g:1737:1: rulefloat64 : ( ( rule__Float64__Group__0 ) ) ; public final void rulefloat64() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1716:2: ( ( ( rule__Float64__Group__0 ) ) ) - // InternalRos.g:1717:2: ( ( rule__Float64__Group__0 ) ) + // InternalRos.g:1741:2: ( ( ( rule__Float64__Group__0 ) ) ) + // InternalRos.g:1742:2: ( ( rule__Float64__Group__0 ) ) { - // InternalRos.g:1717:2: ( ( rule__Float64__Group__0 ) ) - // InternalRos.g:1718:3: ( rule__Float64__Group__0 ) + // InternalRos.g:1742:2: ( ( rule__Float64__Group__0 ) ) + // InternalRos.g:1743:3: ( rule__Float64__Group__0 ) { before(grammarAccess.getFloat64Access().getGroup()); - // InternalRos.g:1719:3: ( rule__Float64__Group__0 ) - // InternalRos.g:1719:4: rule__Float64__Group__0 + // InternalRos.g:1744:3: ( rule__Float64__Group__0 ) + // InternalRos.g:1744:4: rule__Float64__Group__0 { pushFollow(FOLLOW_2); rule__Float64__Group__0(); @@ -5270,11 +5348,11 @@ public final void rulefloat64() throws RecognitionException { // $ANTLR start "entryRulestring0" - // InternalRos.g:1728:1: entryRulestring0 : rulestring0 EOF ; + // InternalRos.g:1753:1: entryRulestring0 : rulestring0 EOF ; public final void entryRulestring0() throws RecognitionException { try { - // InternalRos.g:1729:1: ( rulestring0 EOF ) - // InternalRos.g:1730:1: rulestring0 EOF + // InternalRos.g:1754:1: ( rulestring0 EOF ) + // InternalRos.g:1755:1: rulestring0 EOF { before(grammarAccess.getString0Rule()); pushFollow(FOLLOW_1); @@ -5300,21 +5378,21 @@ public final void entryRulestring0() throws RecognitionException { // $ANTLR start "rulestring0" - // InternalRos.g:1737:1: rulestring0 : ( ( rule__String0__Group__0 ) ) ; + // InternalRos.g:1762:1: rulestring0 : ( ( rule__String0__Group__0 ) ) ; public final void rulestring0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1741:2: ( ( ( rule__String0__Group__0 ) ) ) - // InternalRos.g:1742:2: ( ( rule__String0__Group__0 ) ) + // InternalRos.g:1766:2: ( ( ( rule__String0__Group__0 ) ) ) + // InternalRos.g:1767:2: ( ( rule__String0__Group__0 ) ) { - // InternalRos.g:1742:2: ( ( rule__String0__Group__0 ) ) - // InternalRos.g:1743:3: ( rule__String0__Group__0 ) + // InternalRos.g:1767:2: ( ( rule__String0__Group__0 ) ) + // InternalRos.g:1768:3: ( rule__String0__Group__0 ) { before(grammarAccess.getString0Access().getGroup()); - // InternalRos.g:1744:3: ( rule__String0__Group__0 ) - // InternalRos.g:1744:4: rule__String0__Group__0 + // InternalRos.g:1769:3: ( rule__String0__Group__0 ) + // InternalRos.g:1769:4: rule__String0__Group__0 { pushFollow(FOLLOW_2); rule__String0__Group__0(); @@ -5347,11 +5425,11 @@ public final void rulestring0() throws RecognitionException { // $ANTLR start "entryRulebyte" - // InternalRos.g:1753:1: entryRulebyte : rulebyte EOF ; + // InternalRos.g:1778:1: entryRulebyte : rulebyte EOF ; public final void entryRulebyte() throws RecognitionException { try { - // InternalRos.g:1754:1: ( rulebyte EOF ) - // InternalRos.g:1755:1: rulebyte EOF + // InternalRos.g:1779:1: ( rulebyte EOF ) + // InternalRos.g:1780:1: rulebyte EOF { before(grammarAccess.getByteRule()); pushFollow(FOLLOW_1); @@ -5377,21 +5455,21 @@ public final void entryRulebyte() throws RecognitionException { // $ANTLR start "rulebyte" - // InternalRos.g:1762:1: rulebyte : ( ( rule__Byte__Group__0 ) ) ; + // InternalRos.g:1787:1: rulebyte : ( ( rule__Byte__Group__0 ) ) ; public final void rulebyte() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1766:2: ( ( ( rule__Byte__Group__0 ) ) ) - // InternalRos.g:1767:2: ( ( rule__Byte__Group__0 ) ) + // InternalRos.g:1791:2: ( ( ( rule__Byte__Group__0 ) ) ) + // InternalRos.g:1792:2: ( ( rule__Byte__Group__0 ) ) { - // InternalRos.g:1767:2: ( ( rule__Byte__Group__0 ) ) - // InternalRos.g:1768:3: ( rule__Byte__Group__0 ) + // InternalRos.g:1792:2: ( ( rule__Byte__Group__0 ) ) + // InternalRos.g:1793:3: ( rule__Byte__Group__0 ) { before(grammarAccess.getByteAccess().getGroup()); - // InternalRos.g:1769:3: ( rule__Byte__Group__0 ) - // InternalRos.g:1769:4: rule__Byte__Group__0 + // InternalRos.g:1794:3: ( rule__Byte__Group__0 ) + // InternalRos.g:1794:4: rule__Byte__Group__0 { pushFollow(FOLLOW_2); rule__Byte__Group__0(); @@ -5424,11 +5502,11 @@ public final void rulebyte() throws RecognitionException { // $ANTLR start "entryRuletime" - // InternalRos.g:1778:1: entryRuletime : ruletime EOF ; + // InternalRos.g:1803:1: entryRuletime : ruletime EOF ; public final void entryRuletime() throws RecognitionException { try { - // InternalRos.g:1779:1: ( ruletime EOF ) - // InternalRos.g:1780:1: ruletime EOF + // InternalRos.g:1804:1: ( ruletime EOF ) + // InternalRos.g:1805:1: ruletime EOF { before(grammarAccess.getTimeRule()); pushFollow(FOLLOW_1); @@ -5454,21 +5532,21 @@ public final void entryRuletime() throws RecognitionException { // $ANTLR start "ruletime" - // InternalRos.g:1787:1: ruletime : ( ( rule__Time__Group__0 ) ) ; + // InternalRos.g:1812:1: ruletime : ( ( rule__Time__Group__0 ) ) ; public final void ruletime() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1791:2: ( ( ( rule__Time__Group__0 ) ) ) - // InternalRos.g:1792:2: ( ( rule__Time__Group__0 ) ) + // InternalRos.g:1816:2: ( ( ( rule__Time__Group__0 ) ) ) + // InternalRos.g:1817:2: ( ( rule__Time__Group__0 ) ) { - // InternalRos.g:1792:2: ( ( rule__Time__Group__0 ) ) - // InternalRos.g:1793:3: ( rule__Time__Group__0 ) + // InternalRos.g:1817:2: ( ( rule__Time__Group__0 ) ) + // InternalRos.g:1818:3: ( rule__Time__Group__0 ) { before(grammarAccess.getTimeAccess().getGroup()); - // InternalRos.g:1794:3: ( rule__Time__Group__0 ) - // InternalRos.g:1794:4: rule__Time__Group__0 + // InternalRos.g:1819:3: ( rule__Time__Group__0 ) + // InternalRos.g:1819:4: rule__Time__Group__0 { pushFollow(FOLLOW_2); rule__Time__Group__0(); @@ -5501,11 +5579,11 @@ public final void ruletime() throws RecognitionException { // $ANTLR start "entryRuleduration" - // InternalRos.g:1803:1: entryRuleduration : ruleduration EOF ; + // InternalRos.g:1828:1: entryRuleduration : ruleduration EOF ; public final void entryRuleduration() throws RecognitionException { try { - // InternalRos.g:1804:1: ( ruleduration EOF ) - // InternalRos.g:1805:1: ruleduration EOF + // InternalRos.g:1829:1: ( ruleduration EOF ) + // InternalRos.g:1830:1: ruleduration EOF { before(grammarAccess.getDurationRule()); pushFollow(FOLLOW_1); @@ -5531,21 +5609,21 @@ public final void entryRuleduration() throws RecognitionException { // $ANTLR start "ruleduration" - // InternalRos.g:1812:1: ruleduration : ( ( rule__Duration__Group__0 ) ) ; + // InternalRos.g:1837:1: ruleduration : ( ( rule__Duration__Group__0 ) ) ; public final void ruleduration() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1816:2: ( ( ( rule__Duration__Group__0 ) ) ) - // InternalRos.g:1817:2: ( ( rule__Duration__Group__0 ) ) + // InternalRos.g:1841:2: ( ( ( rule__Duration__Group__0 ) ) ) + // InternalRos.g:1842:2: ( ( rule__Duration__Group__0 ) ) { - // InternalRos.g:1817:2: ( ( rule__Duration__Group__0 ) ) - // InternalRos.g:1818:3: ( rule__Duration__Group__0 ) + // InternalRos.g:1842:2: ( ( rule__Duration__Group__0 ) ) + // InternalRos.g:1843:3: ( rule__Duration__Group__0 ) { before(grammarAccess.getDurationAccess().getGroup()); - // InternalRos.g:1819:3: ( rule__Duration__Group__0 ) - // InternalRos.g:1819:4: rule__Duration__Group__0 + // InternalRos.g:1844:3: ( rule__Duration__Group__0 ) + // InternalRos.g:1844:4: rule__Duration__Group__0 { pushFollow(FOLLOW_2); rule__Duration__Group__0(); @@ -5578,11 +5656,11 @@ public final void ruleduration() throws RecognitionException { // $ANTLR start "entryRuleboolArray" - // InternalRos.g:1828:1: entryRuleboolArray : ruleboolArray EOF ; + // InternalRos.g:1853:1: entryRuleboolArray : ruleboolArray EOF ; public final void entryRuleboolArray() throws RecognitionException { try { - // InternalRos.g:1829:1: ( ruleboolArray EOF ) - // InternalRos.g:1830:1: ruleboolArray EOF + // InternalRos.g:1854:1: ( ruleboolArray EOF ) + // InternalRos.g:1855:1: ruleboolArray EOF { before(grammarAccess.getBoolArrayRule()); pushFollow(FOLLOW_1); @@ -5608,21 +5686,21 @@ public final void entryRuleboolArray() throws RecognitionException { // $ANTLR start "ruleboolArray" - // InternalRos.g:1837:1: ruleboolArray : ( ( rule__BoolArray__Group__0 ) ) ; + // InternalRos.g:1862:1: ruleboolArray : ( ( rule__BoolArray__Group__0 ) ) ; public final void ruleboolArray() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1841:2: ( ( ( rule__BoolArray__Group__0 ) ) ) - // InternalRos.g:1842:2: ( ( rule__BoolArray__Group__0 ) ) + // InternalRos.g:1866:2: ( ( ( rule__BoolArray__Group__0 ) ) ) + // InternalRos.g:1867:2: ( ( rule__BoolArray__Group__0 ) ) { - // InternalRos.g:1842:2: ( ( rule__BoolArray__Group__0 ) ) - // InternalRos.g:1843:3: ( rule__BoolArray__Group__0 ) + // InternalRos.g:1867:2: ( ( rule__BoolArray__Group__0 ) ) + // InternalRos.g:1868:3: ( rule__BoolArray__Group__0 ) { before(grammarAccess.getBoolArrayAccess().getGroup()); - // InternalRos.g:1844:3: ( rule__BoolArray__Group__0 ) - // InternalRos.g:1844:4: rule__BoolArray__Group__0 + // InternalRos.g:1869:3: ( rule__BoolArray__Group__0 ) + // InternalRos.g:1869:4: rule__BoolArray__Group__0 { pushFollow(FOLLOW_2); rule__BoolArray__Group__0(); @@ -5655,11 +5733,11 @@ public final void ruleboolArray() throws RecognitionException { // $ANTLR start "entryRuleint8Array" - // InternalRos.g:1853:1: entryRuleint8Array : ruleint8Array EOF ; + // InternalRos.g:1878:1: entryRuleint8Array : ruleint8Array EOF ; public final void entryRuleint8Array() throws RecognitionException { try { - // InternalRos.g:1854:1: ( ruleint8Array EOF ) - // InternalRos.g:1855:1: ruleint8Array EOF + // InternalRos.g:1879:1: ( ruleint8Array EOF ) + // InternalRos.g:1880:1: ruleint8Array EOF { before(grammarAccess.getInt8ArrayRule()); pushFollow(FOLLOW_1); @@ -5685,21 +5763,21 @@ public final void entryRuleint8Array() throws RecognitionException { // $ANTLR start "ruleint8Array" - // InternalRos.g:1862:1: ruleint8Array : ( ( rule__Int8Array__Group__0 ) ) ; + // InternalRos.g:1887:1: ruleint8Array : ( ( rule__Int8Array__Group__0 ) ) ; public final void ruleint8Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1866:2: ( ( ( rule__Int8Array__Group__0 ) ) ) - // InternalRos.g:1867:2: ( ( rule__Int8Array__Group__0 ) ) + // InternalRos.g:1891:2: ( ( ( rule__Int8Array__Group__0 ) ) ) + // InternalRos.g:1892:2: ( ( rule__Int8Array__Group__0 ) ) { - // InternalRos.g:1867:2: ( ( rule__Int8Array__Group__0 ) ) - // InternalRos.g:1868:3: ( rule__Int8Array__Group__0 ) + // InternalRos.g:1892:2: ( ( rule__Int8Array__Group__0 ) ) + // InternalRos.g:1893:3: ( rule__Int8Array__Group__0 ) { before(grammarAccess.getInt8ArrayAccess().getGroup()); - // InternalRos.g:1869:3: ( rule__Int8Array__Group__0 ) - // InternalRos.g:1869:4: rule__Int8Array__Group__0 + // InternalRos.g:1894:3: ( rule__Int8Array__Group__0 ) + // InternalRos.g:1894:4: rule__Int8Array__Group__0 { pushFollow(FOLLOW_2); rule__Int8Array__Group__0(); @@ -5732,11 +5810,11 @@ public final void ruleint8Array() throws RecognitionException { // $ANTLR start "entryRuleuint8Array" - // InternalRos.g:1878:1: entryRuleuint8Array : ruleuint8Array EOF ; + // InternalRos.g:1903:1: entryRuleuint8Array : ruleuint8Array EOF ; public final void entryRuleuint8Array() throws RecognitionException { try { - // InternalRos.g:1879:1: ( ruleuint8Array EOF ) - // InternalRos.g:1880:1: ruleuint8Array EOF + // InternalRos.g:1904:1: ( ruleuint8Array EOF ) + // InternalRos.g:1905:1: ruleuint8Array EOF { before(grammarAccess.getUint8ArrayRule()); pushFollow(FOLLOW_1); @@ -5762,21 +5840,21 @@ public final void entryRuleuint8Array() throws RecognitionException { // $ANTLR start "ruleuint8Array" - // InternalRos.g:1887:1: ruleuint8Array : ( ( rule__Uint8Array__Group__0 ) ) ; + // InternalRos.g:1912:1: ruleuint8Array : ( ( rule__Uint8Array__Group__0 ) ) ; public final void ruleuint8Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1891:2: ( ( ( rule__Uint8Array__Group__0 ) ) ) - // InternalRos.g:1892:2: ( ( rule__Uint8Array__Group__0 ) ) + // InternalRos.g:1916:2: ( ( ( rule__Uint8Array__Group__0 ) ) ) + // InternalRos.g:1917:2: ( ( rule__Uint8Array__Group__0 ) ) { - // InternalRos.g:1892:2: ( ( rule__Uint8Array__Group__0 ) ) - // InternalRos.g:1893:3: ( rule__Uint8Array__Group__0 ) + // InternalRos.g:1917:2: ( ( rule__Uint8Array__Group__0 ) ) + // InternalRos.g:1918:3: ( rule__Uint8Array__Group__0 ) { before(grammarAccess.getUint8ArrayAccess().getGroup()); - // InternalRos.g:1894:3: ( rule__Uint8Array__Group__0 ) - // InternalRos.g:1894:4: rule__Uint8Array__Group__0 + // InternalRos.g:1919:3: ( rule__Uint8Array__Group__0 ) + // InternalRos.g:1919:4: rule__Uint8Array__Group__0 { pushFollow(FOLLOW_2); rule__Uint8Array__Group__0(); @@ -5809,11 +5887,11 @@ public final void ruleuint8Array() throws RecognitionException { // $ANTLR start "entryRuleint16Array" - // InternalRos.g:1903:1: entryRuleint16Array : ruleint16Array EOF ; + // InternalRos.g:1928:1: entryRuleint16Array : ruleint16Array EOF ; public final void entryRuleint16Array() throws RecognitionException { try { - // InternalRos.g:1904:1: ( ruleint16Array EOF ) - // InternalRos.g:1905:1: ruleint16Array EOF + // InternalRos.g:1929:1: ( ruleint16Array EOF ) + // InternalRos.g:1930:1: ruleint16Array EOF { before(grammarAccess.getInt16ArrayRule()); pushFollow(FOLLOW_1); @@ -5839,21 +5917,21 @@ public final void entryRuleint16Array() throws RecognitionException { // $ANTLR start "ruleint16Array" - // InternalRos.g:1912:1: ruleint16Array : ( ( rule__Int16Array__Group__0 ) ) ; + // InternalRos.g:1937:1: ruleint16Array : ( ( rule__Int16Array__Group__0 ) ) ; public final void ruleint16Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1916:2: ( ( ( rule__Int16Array__Group__0 ) ) ) - // InternalRos.g:1917:2: ( ( rule__Int16Array__Group__0 ) ) + // InternalRos.g:1941:2: ( ( ( rule__Int16Array__Group__0 ) ) ) + // InternalRos.g:1942:2: ( ( rule__Int16Array__Group__0 ) ) { - // InternalRos.g:1917:2: ( ( rule__Int16Array__Group__0 ) ) - // InternalRos.g:1918:3: ( rule__Int16Array__Group__0 ) + // InternalRos.g:1942:2: ( ( rule__Int16Array__Group__0 ) ) + // InternalRos.g:1943:3: ( rule__Int16Array__Group__0 ) { before(grammarAccess.getInt16ArrayAccess().getGroup()); - // InternalRos.g:1919:3: ( rule__Int16Array__Group__0 ) - // InternalRos.g:1919:4: rule__Int16Array__Group__0 + // InternalRos.g:1944:3: ( rule__Int16Array__Group__0 ) + // InternalRos.g:1944:4: rule__Int16Array__Group__0 { pushFollow(FOLLOW_2); rule__Int16Array__Group__0(); @@ -5886,11 +5964,11 @@ public final void ruleint16Array() throws RecognitionException { // $ANTLR start "entryRuleuint16Array" - // InternalRos.g:1928:1: entryRuleuint16Array : ruleuint16Array EOF ; + // InternalRos.g:1953:1: entryRuleuint16Array : ruleuint16Array EOF ; public final void entryRuleuint16Array() throws RecognitionException { try { - // InternalRos.g:1929:1: ( ruleuint16Array EOF ) - // InternalRos.g:1930:1: ruleuint16Array EOF + // InternalRos.g:1954:1: ( ruleuint16Array EOF ) + // InternalRos.g:1955:1: ruleuint16Array EOF { before(grammarAccess.getUint16ArrayRule()); pushFollow(FOLLOW_1); @@ -5916,21 +5994,21 @@ public final void entryRuleuint16Array() throws RecognitionException { // $ANTLR start "ruleuint16Array" - // InternalRos.g:1937:1: ruleuint16Array : ( ( rule__Uint16Array__Group__0 ) ) ; + // InternalRos.g:1962:1: ruleuint16Array : ( ( rule__Uint16Array__Group__0 ) ) ; public final void ruleuint16Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1941:2: ( ( ( rule__Uint16Array__Group__0 ) ) ) - // InternalRos.g:1942:2: ( ( rule__Uint16Array__Group__0 ) ) + // InternalRos.g:1966:2: ( ( ( rule__Uint16Array__Group__0 ) ) ) + // InternalRos.g:1967:2: ( ( rule__Uint16Array__Group__0 ) ) { - // InternalRos.g:1942:2: ( ( rule__Uint16Array__Group__0 ) ) - // InternalRos.g:1943:3: ( rule__Uint16Array__Group__0 ) + // InternalRos.g:1967:2: ( ( rule__Uint16Array__Group__0 ) ) + // InternalRos.g:1968:3: ( rule__Uint16Array__Group__0 ) { before(grammarAccess.getUint16ArrayAccess().getGroup()); - // InternalRos.g:1944:3: ( rule__Uint16Array__Group__0 ) - // InternalRos.g:1944:4: rule__Uint16Array__Group__0 + // InternalRos.g:1969:3: ( rule__Uint16Array__Group__0 ) + // InternalRos.g:1969:4: rule__Uint16Array__Group__0 { pushFollow(FOLLOW_2); rule__Uint16Array__Group__0(); @@ -5963,11 +6041,11 @@ public final void ruleuint16Array() throws RecognitionException { // $ANTLR start "entryRuleint32Array" - // InternalRos.g:1953:1: entryRuleint32Array : ruleint32Array EOF ; + // InternalRos.g:1978:1: entryRuleint32Array : ruleint32Array EOF ; public final void entryRuleint32Array() throws RecognitionException { try { - // InternalRos.g:1954:1: ( ruleint32Array EOF ) - // InternalRos.g:1955:1: ruleint32Array EOF + // InternalRos.g:1979:1: ( ruleint32Array EOF ) + // InternalRos.g:1980:1: ruleint32Array EOF { before(grammarAccess.getInt32ArrayRule()); pushFollow(FOLLOW_1); @@ -5993,21 +6071,21 @@ public final void entryRuleint32Array() throws RecognitionException { // $ANTLR start "ruleint32Array" - // InternalRos.g:1962:1: ruleint32Array : ( ( rule__Int32Array__Group__0 ) ) ; + // InternalRos.g:1987:1: ruleint32Array : ( ( rule__Int32Array__Group__0 ) ) ; public final void ruleint32Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1966:2: ( ( ( rule__Int32Array__Group__0 ) ) ) - // InternalRos.g:1967:2: ( ( rule__Int32Array__Group__0 ) ) + // InternalRos.g:1991:2: ( ( ( rule__Int32Array__Group__0 ) ) ) + // InternalRos.g:1992:2: ( ( rule__Int32Array__Group__0 ) ) { - // InternalRos.g:1967:2: ( ( rule__Int32Array__Group__0 ) ) - // InternalRos.g:1968:3: ( rule__Int32Array__Group__0 ) + // InternalRos.g:1992:2: ( ( rule__Int32Array__Group__0 ) ) + // InternalRos.g:1993:3: ( rule__Int32Array__Group__0 ) { before(grammarAccess.getInt32ArrayAccess().getGroup()); - // InternalRos.g:1969:3: ( rule__Int32Array__Group__0 ) - // InternalRos.g:1969:4: rule__Int32Array__Group__0 + // InternalRos.g:1994:3: ( rule__Int32Array__Group__0 ) + // InternalRos.g:1994:4: rule__Int32Array__Group__0 { pushFollow(FOLLOW_2); rule__Int32Array__Group__0(); @@ -6040,11 +6118,11 @@ public final void ruleint32Array() throws RecognitionException { // $ANTLR start "entryRuleuint32Array" - // InternalRos.g:1978:1: entryRuleuint32Array : ruleuint32Array EOF ; + // InternalRos.g:2003:1: entryRuleuint32Array : ruleuint32Array EOF ; public final void entryRuleuint32Array() throws RecognitionException { try { - // InternalRos.g:1979:1: ( ruleuint32Array EOF ) - // InternalRos.g:1980:1: ruleuint32Array EOF + // InternalRos.g:2004:1: ( ruleuint32Array EOF ) + // InternalRos.g:2005:1: ruleuint32Array EOF { before(grammarAccess.getUint32ArrayRule()); pushFollow(FOLLOW_1); @@ -6070,21 +6148,21 @@ public final void entryRuleuint32Array() throws RecognitionException { // $ANTLR start "ruleuint32Array" - // InternalRos.g:1987:1: ruleuint32Array : ( ( rule__Uint32Array__Group__0 ) ) ; + // InternalRos.g:2012:1: ruleuint32Array : ( ( rule__Uint32Array__Group__0 ) ) ; public final void ruleuint32Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:1991:2: ( ( ( rule__Uint32Array__Group__0 ) ) ) - // InternalRos.g:1992:2: ( ( rule__Uint32Array__Group__0 ) ) + // InternalRos.g:2016:2: ( ( ( rule__Uint32Array__Group__0 ) ) ) + // InternalRos.g:2017:2: ( ( rule__Uint32Array__Group__0 ) ) { - // InternalRos.g:1992:2: ( ( rule__Uint32Array__Group__0 ) ) - // InternalRos.g:1993:3: ( rule__Uint32Array__Group__0 ) + // InternalRos.g:2017:2: ( ( rule__Uint32Array__Group__0 ) ) + // InternalRos.g:2018:3: ( rule__Uint32Array__Group__0 ) { before(grammarAccess.getUint32ArrayAccess().getGroup()); - // InternalRos.g:1994:3: ( rule__Uint32Array__Group__0 ) - // InternalRos.g:1994:4: rule__Uint32Array__Group__0 + // InternalRos.g:2019:3: ( rule__Uint32Array__Group__0 ) + // InternalRos.g:2019:4: rule__Uint32Array__Group__0 { pushFollow(FOLLOW_2); rule__Uint32Array__Group__0(); @@ -6117,11 +6195,11 @@ public final void ruleuint32Array() throws RecognitionException { // $ANTLR start "entryRuleint64Array" - // InternalRos.g:2003:1: entryRuleint64Array : ruleint64Array EOF ; + // InternalRos.g:2028:1: entryRuleint64Array : ruleint64Array EOF ; public final void entryRuleint64Array() throws RecognitionException { try { - // InternalRos.g:2004:1: ( ruleint64Array EOF ) - // InternalRos.g:2005:1: ruleint64Array EOF + // InternalRos.g:2029:1: ( ruleint64Array EOF ) + // InternalRos.g:2030:1: ruleint64Array EOF { before(grammarAccess.getInt64ArrayRule()); pushFollow(FOLLOW_1); @@ -6147,21 +6225,21 @@ public final void entryRuleint64Array() throws RecognitionException { // $ANTLR start "ruleint64Array" - // InternalRos.g:2012:1: ruleint64Array : ( ( rule__Int64Array__Group__0 ) ) ; + // InternalRos.g:2037:1: ruleint64Array : ( ( rule__Int64Array__Group__0 ) ) ; public final void ruleint64Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2016:2: ( ( ( rule__Int64Array__Group__0 ) ) ) - // InternalRos.g:2017:2: ( ( rule__Int64Array__Group__0 ) ) + // InternalRos.g:2041:2: ( ( ( rule__Int64Array__Group__0 ) ) ) + // InternalRos.g:2042:2: ( ( rule__Int64Array__Group__0 ) ) { - // InternalRos.g:2017:2: ( ( rule__Int64Array__Group__0 ) ) - // InternalRos.g:2018:3: ( rule__Int64Array__Group__0 ) + // InternalRos.g:2042:2: ( ( rule__Int64Array__Group__0 ) ) + // InternalRos.g:2043:3: ( rule__Int64Array__Group__0 ) { before(grammarAccess.getInt64ArrayAccess().getGroup()); - // InternalRos.g:2019:3: ( rule__Int64Array__Group__0 ) - // InternalRos.g:2019:4: rule__Int64Array__Group__0 + // InternalRos.g:2044:3: ( rule__Int64Array__Group__0 ) + // InternalRos.g:2044:4: rule__Int64Array__Group__0 { pushFollow(FOLLOW_2); rule__Int64Array__Group__0(); @@ -6194,11 +6272,11 @@ public final void ruleint64Array() throws RecognitionException { // $ANTLR start "entryRuleuint64Array" - // InternalRos.g:2028:1: entryRuleuint64Array : ruleuint64Array EOF ; + // InternalRos.g:2053:1: entryRuleuint64Array : ruleuint64Array EOF ; public final void entryRuleuint64Array() throws RecognitionException { try { - // InternalRos.g:2029:1: ( ruleuint64Array EOF ) - // InternalRos.g:2030:1: ruleuint64Array EOF + // InternalRos.g:2054:1: ( ruleuint64Array EOF ) + // InternalRos.g:2055:1: ruleuint64Array EOF { before(grammarAccess.getUint64ArrayRule()); pushFollow(FOLLOW_1); @@ -6224,21 +6302,21 @@ public final void entryRuleuint64Array() throws RecognitionException { // $ANTLR start "ruleuint64Array" - // InternalRos.g:2037:1: ruleuint64Array : ( ( rule__Uint64Array__Group__0 ) ) ; + // InternalRos.g:2062:1: ruleuint64Array : ( ( rule__Uint64Array__Group__0 ) ) ; public final void ruleuint64Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2041:2: ( ( ( rule__Uint64Array__Group__0 ) ) ) - // InternalRos.g:2042:2: ( ( rule__Uint64Array__Group__0 ) ) + // InternalRos.g:2066:2: ( ( ( rule__Uint64Array__Group__0 ) ) ) + // InternalRos.g:2067:2: ( ( rule__Uint64Array__Group__0 ) ) { - // InternalRos.g:2042:2: ( ( rule__Uint64Array__Group__0 ) ) - // InternalRos.g:2043:3: ( rule__Uint64Array__Group__0 ) + // InternalRos.g:2067:2: ( ( rule__Uint64Array__Group__0 ) ) + // InternalRos.g:2068:3: ( rule__Uint64Array__Group__0 ) { before(grammarAccess.getUint64ArrayAccess().getGroup()); - // InternalRos.g:2044:3: ( rule__Uint64Array__Group__0 ) - // InternalRos.g:2044:4: rule__Uint64Array__Group__0 + // InternalRos.g:2069:3: ( rule__Uint64Array__Group__0 ) + // InternalRos.g:2069:4: rule__Uint64Array__Group__0 { pushFollow(FOLLOW_2); rule__Uint64Array__Group__0(); @@ -6271,11 +6349,11 @@ public final void ruleuint64Array() throws RecognitionException { // $ANTLR start "entryRulefloat32Array" - // InternalRos.g:2053:1: entryRulefloat32Array : rulefloat32Array EOF ; + // InternalRos.g:2078:1: entryRulefloat32Array : rulefloat32Array EOF ; public final void entryRulefloat32Array() throws RecognitionException { try { - // InternalRos.g:2054:1: ( rulefloat32Array EOF ) - // InternalRos.g:2055:1: rulefloat32Array EOF + // InternalRos.g:2079:1: ( rulefloat32Array EOF ) + // InternalRos.g:2080:1: rulefloat32Array EOF { before(grammarAccess.getFloat32ArrayRule()); pushFollow(FOLLOW_1); @@ -6301,21 +6379,21 @@ public final void entryRulefloat32Array() throws RecognitionException { // $ANTLR start "rulefloat32Array" - // InternalRos.g:2062:1: rulefloat32Array : ( ( rule__Float32Array__Group__0 ) ) ; + // InternalRos.g:2087:1: rulefloat32Array : ( ( rule__Float32Array__Group__0 ) ) ; public final void rulefloat32Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2066:2: ( ( ( rule__Float32Array__Group__0 ) ) ) - // InternalRos.g:2067:2: ( ( rule__Float32Array__Group__0 ) ) + // InternalRos.g:2091:2: ( ( ( rule__Float32Array__Group__0 ) ) ) + // InternalRos.g:2092:2: ( ( rule__Float32Array__Group__0 ) ) { - // InternalRos.g:2067:2: ( ( rule__Float32Array__Group__0 ) ) - // InternalRos.g:2068:3: ( rule__Float32Array__Group__0 ) + // InternalRos.g:2092:2: ( ( rule__Float32Array__Group__0 ) ) + // InternalRos.g:2093:3: ( rule__Float32Array__Group__0 ) { before(grammarAccess.getFloat32ArrayAccess().getGroup()); - // InternalRos.g:2069:3: ( rule__Float32Array__Group__0 ) - // InternalRos.g:2069:4: rule__Float32Array__Group__0 + // InternalRos.g:2094:3: ( rule__Float32Array__Group__0 ) + // InternalRos.g:2094:4: rule__Float32Array__Group__0 { pushFollow(FOLLOW_2); rule__Float32Array__Group__0(); @@ -6348,11 +6426,11 @@ public final void rulefloat32Array() throws RecognitionException { // $ANTLR start "entryRulefloat64Array" - // InternalRos.g:2078:1: entryRulefloat64Array : rulefloat64Array EOF ; + // InternalRos.g:2103:1: entryRulefloat64Array : rulefloat64Array EOF ; public final void entryRulefloat64Array() throws RecognitionException { try { - // InternalRos.g:2079:1: ( rulefloat64Array EOF ) - // InternalRos.g:2080:1: rulefloat64Array EOF + // InternalRos.g:2104:1: ( rulefloat64Array EOF ) + // InternalRos.g:2105:1: rulefloat64Array EOF { before(grammarAccess.getFloat64ArrayRule()); pushFollow(FOLLOW_1); @@ -6378,21 +6456,21 @@ public final void entryRulefloat64Array() throws RecognitionException { // $ANTLR start "rulefloat64Array" - // InternalRos.g:2087:1: rulefloat64Array : ( ( rule__Float64Array__Group__0 ) ) ; + // InternalRos.g:2112:1: rulefloat64Array : ( ( rule__Float64Array__Group__0 ) ) ; public final void rulefloat64Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2091:2: ( ( ( rule__Float64Array__Group__0 ) ) ) - // InternalRos.g:2092:2: ( ( rule__Float64Array__Group__0 ) ) + // InternalRos.g:2116:2: ( ( ( rule__Float64Array__Group__0 ) ) ) + // InternalRos.g:2117:2: ( ( rule__Float64Array__Group__0 ) ) { - // InternalRos.g:2092:2: ( ( rule__Float64Array__Group__0 ) ) - // InternalRos.g:2093:3: ( rule__Float64Array__Group__0 ) + // InternalRos.g:2117:2: ( ( rule__Float64Array__Group__0 ) ) + // InternalRos.g:2118:3: ( rule__Float64Array__Group__0 ) { before(grammarAccess.getFloat64ArrayAccess().getGroup()); - // InternalRos.g:2094:3: ( rule__Float64Array__Group__0 ) - // InternalRos.g:2094:4: rule__Float64Array__Group__0 + // InternalRos.g:2119:3: ( rule__Float64Array__Group__0 ) + // InternalRos.g:2119:4: rule__Float64Array__Group__0 { pushFollow(FOLLOW_2); rule__Float64Array__Group__0(); @@ -6425,11 +6503,11 @@ public final void rulefloat64Array() throws RecognitionException { // $ANTLR start "entryRulestring0Array" - // InternalRos.g:2103:1: entryRulestring0Array : rulestring0Array EOF ; + // InternalRos.g:2128:1: entryRulestring0Array : rulestring0Array EOF ; public final void entryRulestring0Array() throws RecognitionException { try { - // InternalRos.g:2104:1: ( rulestring0Array EOF ) - // InternalRos.g:2105:1: rulestring0Array EOF + // InternalRos.g:2129:1: ( rulestring0Array EOF ) + // InternalRos.g:2130:1: rulestring0Array EOF { before(grammarAccess.getString0ArrayRule()); pushFollow(FOLLOW_1); @@ -6455,21 +6533,21 @@ public final void entryRulestring0Array() throws RecognitionException { // $ANTLR start "rulestring0Array" - // InternalRos.g:2112:1: rulestring0Array : ( ( rule__String0Array__Group__0 ) ) ; + // InternalRos.g:2137:1: rulestring0Array : ( ( rule__String0Array__Group__0 ) ) ; public final void rulestring0Array() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2116:2: ( ( ( rule__String0Array__Group__0 ) ) ) - // InternalRos.g:2117:2: ( ( rule__String0Array__Group__0 ) ) + // InternalRos.g:2141:2: ( ( ( rule__String0Array__Group__0 ) ) ) + // InternalRos.g:2142:2: ( ( rule__String0Array__Group__0 ) ) { - // InternalRos.g:2117:2: ( ( rule__String0Array__Group__0 ) ) - // InternalRos.g:2118:3: ( rule__String0Array__Group__0 ) + // InternalRos.g:2142:2: ( ( rule__String0Array__Group__0 ) ) + // InternalRos.g:2143:3: ( rule__String0Array__Group__0 ) { before(grammarAccess.getString0ArrayAccess().getGroup()); - // InternalRos.g:2119:3: ( rule__String0Array__Group__0 ) - // InternalRos.g:2119:4: rule__String0Array__Group__0 + // InternalRos.g:2144:3: ( rule__String0Array__Group__0 ) + // InternalRos.g:2144:4: rule__String0Array__Group__0 { pushFollow(FOLLOW_2); rule__String0Array__Group__0(); @@ -6502,11 +6580,11 @@ public final void rulestring0Array() throws RecognitionException { // $ANTLR start "entryRulebyteArray" - // InternalRos.g:2128:1: entryRulebyteArray : rulebyteArray EOF ; + // InternalRos.g:2153:1: entryRulebyteArray : rulebyteArray EOF ; public final void entryRulebyteArray() throws RecognitionException { try { - // InternalRos.g:2129:1: ( rulebyteArray EOF ) - // InternalRos.g:2130:1: rulebyteArray EOF + // InternalRos.g:2154:1: ( rulebyteArray EOF ) + // InternalRos.g:2155:1: rulebyteArray EOF { before(grammarAccess.getByteArrayRule()); pushFollow(FOLLOW_1); @@ -6532,21 +6610,21 @@ public final void entryRulebyteArray() throws RecognitionException { // $ANTLR start "rulebyteArray" - // InternalRos.g:2137:1: rulebyteArray : ( ( rule__ByteArray__Group__0 ) ) ; + // InternalRos.g:2162:1: rulebyteArray : ( ( rule__ByteArray__Group__0 ) ) ; public final void rulebyteArray() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2141:2: ( ( ( rule__ByteArray__Group__0 ) ) ) - // InternalRos.g:2142:2: ( ( rule__ByteArray__Group__0 ) ) + // InternalRos.g:2166:2: ( ( ( rule__ByteArray__Group__0 ) ) ) + // InternalRos.g:2167:2: ( ( rule__ByteArray__Group__0 ) ) { - // InternalRos.g:2142:2: ( ( rule__ByteArray__Group__0 ) ) - // InternalRos.g:2143:3: ( rule__ByteArray__Group__0 ) + // InternalRos.g:2167:2: ( ( rule__ByteArray__Group__0 ) ) + // InternalRos.g:2168:3: ( rule__ByteArray__Group__0 ) { before(grammarAccess.getByteArrayAccess().getGroup()); - // InternalRos.g:2144:3: ( rule__ByteArray__Group__0 ) - // InternalRos.g:2144:4: rule__ByteArray__Group__0 + // InternalRos.g:2169:3: ( rule__ByteArray__Group__0 ) + // InternalRos.g:2169:4: rule__ByteArray__Group__0 { pushFollow(FOLLOW_2); rule__ByteArray__Group__0(); @@ -6579,11 +6657,11 @@ public final void rulebyteArray() throws RecognitionException { // $ANTLR start "entryRuleHeader" - // InternalRos.g:2153:1: entryRuleHeader : ruleHeader EOF ; + // InternalRos.g:2178:1: entryRuleHeader : ruleHeader EOF ; public final void entryRuleHeader() throws RecognitionException { try { - // InternalRos.g:2154:1: ( ruleHeader EOF ) - // InternalRos.g:2155:1: ruleHeader EOF + // InternalRos.g:2179:1: ( ruleHeader EOF ) + // InternalRos.g:2180:1: ruleHeader EOF { before(grammarAccess.getHeaderRule()); pushFollow(FOLLOW_1); @@ -6609,21 +6687,21 @@ public final void entryRuleHeader() throws RecognitionException { // $ANTLR start "ruleHeader" - // InternalRos.g:2162:1: ruleHeader : ( ( rule__Header__Group__0 ) ) ; + // InternalRos.g:2187:1: ruleHeader : ( ( rule__Header__Group__0 ) ) ; public final void ruleHeader() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2166:2: ( ( ( rule__Header__Group__0 ) ) ) - // InternalRos.g:2167:2: ( ( rule__Header__Group__0 ) ) + // InternalRos.g:2191:2: ( ( ( rule__Header__Group__0 ) ) ) + // InternalRos.g:2192:2: ( ( rule__Header__Group__0 ) ) { - // InternalRos.g:2167:2: ( ( rule__Header__Group__0 ) ) - // InternalRos.g:2168:3: ( rule__Header__Group__0 ) + // InternalRos.g:2192:2: ( ( rule__Header__Group__0 ) ) + // InternalRos.g:2193:3: ( rule__Header__Group__0 ) { before(grammarAccess.getHeaderAccess().getGroup()); - // InternalRos.g:2169:3: ( rule__Header__Group__0 ) - // InternalRos.g:2169:4: rule__Header__Group__0 + // InternalRos.g:2194:3: ( rule__Header__Group__0 ) + // InternalRos.g:2194:4: rule__Header__Group__0 { pushFollow(FOLLOW_2); rule__Header__Group__0(); @@ -6656,11 +6734,11 @@ public final void ruleHeader() throws RecognitionException { // $ANTLR start "entryRuleTopicSpecRef" - // InternalRos.g:2178:1: entryRuleTopicSpecRef : ruleTopicSpecRef EOF ; + // InternalRos.g:2203:1: entryRuleTopicSpecRef : ruleTopicSpecRef EOF ; public final void entryRuleTopicSpecRef() throws RecognitionException { try { - // InternalRos.g:2179:1: ( ruleTopicSpecRef EOF ) - // InternalRos.g:2180:1: ruleTopicSpecRef EOF + // InternalRos.g:2204:1: ( ruleTopicSpecRef EOF ) + // InternalRos.g:2205:1: ruleTopicSpecRef EOF { before(grammarAccess.getTopicSpecRefRule()); pushFollow(FOLLOW_1); @@ -6686,21 +6764,21 @@ public final void entryRuleTopicSpecRef() throws RecognitionException { // $ANTLR start "ruleTopicSpecRef" - // InternalRos.g:2187:1: ruleTopicSpecRef : ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) ; + // InternalRos.g:2212:1: ruleTopicSpecRef : ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) ; public final void ruleTopicSpecRef() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2191:2: ( ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) ) - // InternalRos.g:2192:2: ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) + // InternalRos.g:2216:2: ( ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) ) + // InternalRos.g:2217:2: ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) { - // InternalRos.g:2192:2: ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) - // InternalRos.g:2193:3: ( rule__TopicSpecRef__TopicSpecAssignment ) + // InternalRos.g:2217:2: ( ( rule__TopicSpecRef__TopicSpecAssignment ) ) + // InternalRos.g:2218:3: ( rule__TopicSpecRef__TopicSpecAssignment ) { before(grammarAccess.getTopicSpecRefAccess().getTopicSpecAssignment()); - // InternalRos.g:2194:3: ( rule__TopicSpecRef__TopicSpecAssignment ) - // InternalRos.g:2194:4: rule__TopicSpecRef__TopicSpecAssignment + // InternalRos.g:2219:3: ( rule__TopicSpecRef__TopicSpecAssignment ) + // InternalRos.g:2219:4: rule__TopicSpecRef__TopicSpecAssignment { pushFollow(FOLLOW_2); rule__TopicSpecRef__TopicSpecAssignment(); @@ -6733,11 +6811,11 @@ public final void ruleTopicSpecRef() throws RecognitionException { // $ANTLR start "entryRuleArrayTopicSpecRef" - // InternalRos.g:2203:1: entryRuleArrayTopicSpecRef : ruleArrayTopicSpecRef EOF ; + // InternalRos.g:2228:1: entryRuleArrayTopicSpecRef : ruleArrayTopicSpecRef EOF ; public final void entryRuleArrayTopicSpecRef() throws RecognitionException { try { - // InternalRos.g:2204:1: ( ruleArrayTopicSpecRef EOF ) - // InternalRos.g:2205:1: ruleArrayTopicSpecRef EOF + // InternalRos.g:2229:1: ( ruleArrayTopicSpecRef EOF ) + // InternalRos.g:2230:1: ruleArrayTopicSpecRef EOF { before(grammarAccess.getArrayTopicSpecRefRule()); pushFollow(FOLLOW_1); @@ -6763,21 +6841,21 @@ public final void entryRuleArrayTopicSpecRef() throws RecognitionException { // $ANTLR start "ruleArrayTopicSpecRef" - // InternalRos.g:2212:1: ruleArrayTopicSpecRef : ( ( rule__ArrayTopicSpecRef__Group__0 ) ) ; + // InternalRos.g:2237:1: ruleArrayTopicSpecRef : ( ( rule__ArrayTopicSpecRef__Group__0 ) ) ; public final void ruleArrayTopicSpecRef() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2216:2: ( ( ( rule__ArrayTopicSpecRef__Group__0 ) ) ) - // InternalRos.g:2217:2: ( ( rule__ArrayTopicSpecRef__Group__0 ) ) + // InternalRos.g:2241:2: ( ( ( rule__ArrayTopicSpecRef__Group__0 ) ) ) + // InternalRos.g:2242:2: ( ( rule__ArrayTopicSpecRef__Group__0 ) ) { - // InternalRos.g:2217:2: ( ( rule__ArrayTopicSpecRef__Group__0 ) ) - // InternalRos.g:2218:3: ( rule__ArrayTopicSpecRef__Group__0 ) + // InternalRos.g:2242:2: ( ( rule__ArrayTopicSpecRef__Group__0 ) ) + // InternalRos.g:2243:3: ( rule__ArrayTopicSpecRef__Group__0 ) { before(grammarAccess.getArrayTopicSpecRefAccess().getGroup()); - // InternalRos.g:2219:3: ( rule__ArrayTopicSpecRef__Group__0 ) - // InternalRos.g:2219:4: rule__ArrayTopicSpecRef__Group__0 + // InternalRos.g:2244:3: ( rule__ArrayTopicSpecRef__Group__0 ) + // InternalRos.g:2244:4: rule__ArrayTopicSpecRef__Group__0 { pushFollow(FOLLOW_2); rule__ArrayTopicSpecRef__Group__0(); @@ -6810,11 +6888,11 @@ public final void ruleArrayTopicSpecRef() throws RecognitionException { // $ANTLR start "entryRuleKEYWORD" - // InternalRos.g:2228:1: entryRuleKEYWORD : ruleKEYWORD EOF ; + // InternalRos.g:2253:1: entryRuleKEYWORD : ruleKEYWORD EOF ; public final void entryRuleKEYWORD() throws RecognitionException { try { - // InternalRos.g:2229:1: ( ruleKEYWORD EOF ) - // InternalRos.g:2230:1: ruleKEYWORD EOF + // InternalRos.g:2254:1: ( ruleKEYWORD EOF ) + // InternalRos.g:2255:1: ruleKEYWORD EOF { before(grammarAccess.getKEYWORDRule()); pushFollow(FOLLOW_1); @@ -6840,21 +6918,21 @@ public final void entryRuleKEYWORD() throws RecognitionException { // $ANTLR start "ruleKEYWORD" - // InternalRos.g:2237:1: ruleKEYWORD : ( ( rule__KEYWORD__Alternatives ) ) ; + // InternalRos.g:2262:1: ruleKEYWORD : ( ( rule__KEYWORD__Alternatives ) ) ; public final void ruleKEYWORD() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2241:2: ( ( ( rule__KEYWORD__Alternatives ) ) ) - // InternalRos.g:2242:2: ( ( rule__KEYWORD__Alternatives ) ) + // InternalRos.g:2266:2: ( ( ( rule__KEYWORD__Alternatives ) ) ) + // InternalRos.g:2267:2: ( ( rule__KEYWORD__Alternatives ) ) { - // InternalRos.g:2242:2: ( ( rule__KEYWORD__Alternatives ) ) - // InternalRos.g:2243:3: ( rule__KEYWORD__Alternatives ) + // InternalRos.g:2267:2: ( ( rule__KEYWORD__Alternatives ) ) + // InternalRos.g:2268:3: ( rule__KEYWORD__Alternatives ) { before(grammarAccess.getKEYWORDAccess().getAlternatives()); - // InternalRos.g:2244:3: ( rule__KEYWORD__Alternatives ) - // InternalRos.g:2244:4: rule__KEYWORD__Alternatives + // InternalRos.g:2269:3: ( rule__KEYWORD__Alternatives ) + // InternalRos.g:2269:4: rule__KEYWORD__Alternatives { pushFollow(FOLLOW_2); rule__KEYWORD__Alternatives(); @@ -6887,34 +6965,43 @@ public final void ruleKEYWORD() throws RecognitionException { // $ANTLR start "rule__Package__Alternatives" - // InternalRos.g:2252:1: rule__Package__Alternatives : ( ( rulePackage_Impl ) | ( ruleCatkinPackage ) ); + // InternalRos.g:2277:1: rule__Package__Alternatives : ( ( rulePackage_Impl ) | ( ruleCatkinPackage ) | ( ruleAmentPackage ) ); public final void rule__Package__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2256:1: ( ( rulePackage_Impl ) | ( ruleCatkinPackage ) ) - int alt1=2; - int LA1_0 = input.LA(1); - - if ( (LA1_0==44) ) { + // InternalRos.g:2281:1: ( ( rulePackage_Impl ) | ( ruleCatkinPackage ) | ( ruleAmentPackage ) ) + int alt1=3; + switch ( input.LA(1) ) { + case 44: + { alt1=1; - } - else if ( (LA1_0==48) ) { + } + break; + case 48: + { alt1=2; - } - else { + } + break; + case 50: + { + alt1=3; + } + break; + default: NoViableAltException nvae = new NoViableAltException("", 1, 0, input); throw nvae; } + switch (alt1) { case 1 : - // InternalRos.g:2257:2: ( rulePackage_Impl ) + // InternalRos.g:2282:2: ( rulePackage_Impl ) { - // InternalRos.g:2257:2: ( rulePackage_Impl ) - // InternalRos.g:2258:3: rulePackage_Impl + // InternalRos.g:2282:2: ( rulePackage_Impl ) + // InternalRos.g:2283:3: rulePackage_Impl { before(grammarAccess.getPackageAccess().getPackage_ImplParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -6930,10 +7017,10 @@ else if ( (LA1_0==48) ) { } break; case 2 : - // InternalRos.g:2263:2: ( ruleCatkinPackage ) + // InternalRos.g:2288:2: ( ruleCatkinPackage ) { - // InternalRos.g:2263:2: ( ruleCatkinPackage ) - // InternalRos.g:2264:3: ruleCatkinPackage + // InternalRos.g:2288:2: ( ruleCatkinPackage ) + // InternalRos.g:2289:3: ruleCatkinPackage { before(grammarAccess.getPackageAccess().getCatkinPackageParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -6946,6 +7033,25 @@ else if ( (LA1_0==48) ) { } + } + break; + case 3 : + // InternalRos.g:2294:2: ( ruleAmentPackage ) + { + // InternalRos.g:2294:2: ( ruleAmentPackage ) + // InternalRos.g:2295:3: ruleAmentPackage + { + before(grammarAccess.getPackageAccess().getAmentPackageParserRuleCall_2()); + pushFollow(FOLLOW_2); + ruleAmentPackage(); + + state._fsp--; + + after(grammarAccess.getPackageAccess().getAmentPackageParserRuleCall_2()); + + } + + } break; @@ -6966,26 +7072,26 @@ else if ( (LA1_0==48) ) { // $ANTLR start "rule__SpecBase__Alternatives" - // InternalRos.g:2273:1: rule__SpecBase__Alternatives : ( ( ruleServiceSpec ) | ( ruleTopicSpec ) | ( ruleActionSpec ) ); + // InternalRos.g:2304:1: rule__SpecBase__Alternatives : ( ( ruleServiceSpec ) | ( ruleTopicSpec ) | ( ruleActionSpec ) ); public final void rule__SpecBase__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2277:1: ( ( ruleServiceSpec ) | ( ruleTopicSpec ) | ( ruleActionSpec ) ) + // InternalRos.g:2308:1: ( ( ruleServiceSpec ) | ( ruleTopicSpec ) | ( ruleActionSpec ) ) int alt2=3; switch ( input.LA(1) ) { - case 50: + case 51: { alt2=1; } break; - case 53: + case 54: { alt2=2; } break; - case 54: + case 55: { alt2=3; } @@ -6999,10 +7105,10 @@ public final void rule__SpecBase__Alternatives() throws RecognitionException { switch (alt2) { case 1 : - // InternalRos.g:2278:2: ( ruleServiceSpec ) + // InternalRos.g:2309:2: ( ruleServiceSpec ) { - // InternalRos.g:2278:2: ( ruleServiceSpec ) - // InternalRos.g:2279:3: ruleServiceSpec + // InternalRos.g:2309:2: ( ruleServiceSpec ) + // InternalRos.g:2310:3: ruleServiceSpec { before(grammarAccess.getSpecBaseAccess().getServiceSpecParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -7018,10 +7124,10 @@ public final void rule__SpecBase__Alternatives() throws RecognitionException { } break; case 2 : - // InternalRos.g:2284:2: ( ruleTopicSpec ) + // InternalRos.g:2315:2: ( ruleTopicSpec ) { - // InternalRos.g:2284:2: ( ruleTopicSpec ) - // InternalRos.g:2285:3: ruleTopicSpec + // InternalRos.g:2315:2: ( ruleTopicSpec ) + // InternalRos.g:2316:3: ruleTopicSpec { before(grammarAccess.getSpecBaseAccess().getTopicSpecParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -7037,10 +7143,10 @@ public final void rule__SpecBase__Alternatives() throws RecognitionException { } break; case 3 : - // InternalRos.g:2290:2: ( ruleActionSpec ) + // InternalRos.g:2321:2: ( ruleActionSpec ) { - // InternalRos.g:2290:2: ( ruleActionSpec ) - // InternalRos.g:2291:3: ruleActionSpec + // InternalRos.g:2321:2: ( ruleActionSpec ) + // InternalRos.g:2322:3: ruleActionSpec { before(grammarAccess.getSpecBaseAccess().getActionSpecParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -7073,20 +7179,20 @@ public final void rule__SpecBase__Alternatives() throws RecognitionException { // $ANTLR start "rule__Dependency__Alternatives" - // InternalRos.g:2300:1: rule__Dependency__Alternatives : ( ( rulePackageDependency ) | ( ruleExternalDependency ) ); + // InternalRos.g:2331:1: rule__Dependency__Alternatives : ( ( rulePackageDependency ) | ( ruleExternalDependency ) ); public final void rule__Dependency__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2304:1: ( ( rulePackageDependency ) | ( ruleExternalDependency ) ) + // InternalRos.g:2335:1: ( ( rulePackageDependency ) | ( ruleExternalDependency ) ) int alt3=2; int LA3_0 = input.LA(1); if ( ((LA3_0>=RULE_STRING && LA3_0<=RULE_ID)) ) { alt3=1; } - else if ( (LA3_0==70) ) { + else if ( (LA3_0==71) ) { alt3=2; } else { @@ -7097,10 +7203,10 @@ else if ( (LA3_0==70) ) { } switch (alt3) { case 1 : - // InternalRos.g:2305:2: ( rulePackageDependency ) + // InternalRos.g:2336:2: ( rulePackageDependency ) { - // InternalRos.g:2305:2: ( rulePackageDependency ) - // InternalRos.g:2306:3: rulePackageDependency + // InternalRos.g:2336:2: ( rulePackageDependency ) + // InternalRos.g:2337:3: rulePackageDependency { before(grammarAccess.getDependencyAccess().getPackageDependencyParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -7116,10 +7222,10 @@ else if ( (LA3_0==70) ) { } break; case 2 : - // InternalRos.g:2311:2: ( ruleExternalDependency ) + // InternalRos.g:2342:2: ( ruleExternalDependency ) { - // InternalRos.g:2311:2: ( ruleExternalDependency ) - // InternalRos.g:2312:3: ruleExternalDependency + // InternalRos.g:2342:2: ( ruleExternalDependency ) + // InternalRos.g:2343:3: ruleExternalDependency { before(grammarAccess.getDependencyAccess().getExternalDependencyParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -7152,26 +7258,26 @@ else if ( (LA3_0==70) ) { // $ANTLR start "rule__Namespace__Alternatives" - // InternalRos.g:2321:1: rule__Namespace__Alternatives : ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ); + // InternalRos.g:2352:1: rule__Namespace__Alternatives : ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ); public final void rule__Namespace__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2325:1: ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ) + // InternalRos.g:2356:1: ( ( ruleGlobalNamespace ) | ( ruleRelativeNamespace_Impl ) | ( rulePrivateNamespace ) ) int alt4=3; switch ( input.LA(1) ) { - case 71: + case 72: { alt4=1; } break; - case 73: + case 74: { alt4=2; } break; - case 74: + case 75: { alt4=3; } @@ -7185,10 +7291,10 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { switch (alt4) { case 1 : - // InternalRos.g:2326:2: ( ruleGlobalNamespace ) + // InternalRos.g:2357:2: ( ruleGlobalNamespace ) { - // InternalRos.g:2326:2: ( ruleGlobalNamespace ) - // InternalRos.g:2327:3: ruleGlobalNamespace + // InternalRos.g:2357:2: ( ruleGlobalNamespace ) + // InternalRos.g:2358:3: ruleGlobalNamespace { before(grammarAccess.getNamespaceAccess().getGlobalNamespaceParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -7204,10 +7310,10 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { } break; case 2 : - // InternalRos.g:2332:2: ( ruleRelativeNamespace_Impl ) + // InternalRos.g:2363:2: ( ruleRelativeNamespace_Impl ) { - // InternalRos.g:2332:2: ( ruleRelativeNamespace_Impl ) - // InternalRos.g:2333:3: ruleRelativeNamespace_Impl + // InternalRos.g:2363:2: ( ruleRelativeNamespace_Impl ) + // InternalRos.g:2364:3: ruleRelativeNamespace_Impl { before(grammarAccess.getNamespaceAccess().getRelativeNamespace_ImplParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -7223,10 +7329,10 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { } break; case 3 : - // InternalRos.g:2338:2: ( rulePrivateNamespace ) + // InternalRos.g:2369:2: ( rulePrivateNamespace ) { - // InternalRos.g:2338:2: ( rulePrivateNamespace ) - // InternalRos.g:2339:3: rulePrivateNamespace + // InternalRos.g:2369:2: ( rulePrivateNamespace ) + // InternalRos.g:2370:3: rulePrivateNamespace { before(grammarAccess.getNamespaceAccess().getPrivateNamespaceParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -7259,13 +7365,13 @@ public final void rule__Namespace__Alternatives() throws RecognitionException { // $ANTLR start "rule__EString__Alternatives" - // InternalRos.g:2348:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) ); + // InternalRos.g:2379:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) ); public final void rule__EString__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2352:1: ( ( RULE_STRING ) | ( RULE_ID ) ) + // InternalRos.g:2383:1: ( ( RULE_STRING ) | ( RULE_ID ) ) int alt5=2; int LA5_0 = input.LA(1); @@ -7283,10 +7389,10 @@ else if ( (LA5_0==RULE_ID) ) { } switch (alt5) { case 1 : - // InternalRos.g:2353:2: ( RULE_STRING ) + // InternalRos.g:2384:2: ( RULE_STRING ) { - // InternalRos.g:2353:2: ( RULE_STRING ) - // InternalRos.g:2354:3: RULE_STRING + // InternalRos.g:2384:2: ( RULE_STRING ) + // InternalRos.g:2385:3: RULE_STRING { before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); match(input,RULE_STRING,FOLLOW_2); @@ -7298,10 +7404,10 @@ else if ( (LA5_0==RULE_ID) ) { } break; case 2 : - // InternalRos.g:2359:2: ( RULE_ID ) + // InternalRos.g:2390:2: ( RULE_ID ) { - // InternalRos.g:2359:2: ( RULE_ID ) - // InternalRos.g:2360:3: RULE_ID + // InternalRos.g:2390:2: ( RULE_ID ) + // InternalRos.g:2391:3: RULE_ID { before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); match(input,RULE_ID,FOLLOW_2); @@ -7330,13 +7436,13 @@ else if ( (LA5_0==RULE_ID) ) { // $ANTLR start "rule__RosNames__Alternatives" - // InternalRos.g:2369:1: rule__RosNames__Alternatives : ( ( RULE_ROS_CONVENTION_A ) | ( RULE_ID ) | ( 'node' ) ); + // InternalRos.g:2400:1: rule__RosNames__Alternatives : ( ( RULE_ROS_CONVENTION_A ) | ( RULE_ID ) | ( 'node' ) ); public final void rule__RosNames__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2373:1: ( ( RULE_ROS_CONVENTION_A ) | ( RULE_ID ) | ( 'node' ) ) + // InternalRos.g:2404:1: ( ( RULE_ROS_CONVENTION_A ) | ( RULE_ID ) | ( 'node' ) ) int alt6=3; switch ( input.LA(1) ) { case RULE_ROS_CONVENTION_A: @@ -7363,10 +7469,10 @@ public final void rule__RosNames__Alternatives() throws RecognitionException { switch (alt6) { case 1 : - // InternalRos.g:2374:2: ( RULE_ROS_CONVENTION_A ) + // InternalRos.g:2405:2: ( RULE_ROS_CONVENTION_A ) { - // InternalRos.g:2374:2: ( RULE_ROS_CONVENTION_A ) - // InternalRos.g:2375:3: RULE_ROS_CONVENTION_A + // InternalRos.g:2405:2: ( RULE_ROS_CONVENTION_A ) + // InternalRos.g:2406:3: RULE_ROS_CONVENTION_A { before(grammarAccess.getRosNamesAccess().getROS_CONVENTION_ATerminalRuleCall_0()); match(input,RULE_ROS_CONVENTION_A,FOLLOW_2); @@ -7378,10 +7484,10 @@ public final void rule__RosNames__Alternatives() throws RecognitionException { } break; case 2 : - // InternalRos.g:2380:2: ( RULE_ID ) + // InternalRos.g:2411:2: ( RULE_ID ) { - // InternalRos.g:2380:2: ( RULE_ID ) - // InternalRos.g:2381:3: RULE_ID + // InternalRos.g:2411:2: ( RULE_ID ) + // InternalRos.g:2412:3: RULE_ID { before(grammarAccess.getRosNamesAccess().getIDTerminalRuleCall_1()); match(input,RULE_ID,FOLLOW_2); @@ -7393,10 +7499,10 @@ public final void rule__RosNames__Alternatives() throws RecognitionException { } break; case 3 : - // InternalRos.g:2386:2: ( 'node' ) + // InternalRos.g:2417:2: ( 'node' ) { - // InternalRos.g:2386:2: ( 'node' ) - // InternalRos.g:2387:3: 'node' + // InternalRos.g:2417:2: ( 'node' ) + // InternalRos.g:2418:3: 'node' { before(grammarAccess.getRosNamesAccess().getNodeKeyword_2()); match(input,26,FOLLOW_2); @@ -7425,13 +7531,13 @@ public final void rule__RosNames__Alternatives() throws RecognitionException { // $ANTLR start "rule__TopicSpec__NameAlternatives_2_0" - // InternalRos.g:2396:1: rule__TopicSpec__NameAlternatives_2_0 : ( ( ruleEString ) | ( 'Header' ) | ( 'String' ) ); + // InternalRos.g:2427:1: rule__TopicSpec__NameAlternatives_2_0 : ( ( ruleEString ) | ( 'Header' ) | ( 'String' ) ); public final void rule__TopicSpec__NameAlternatives_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2400:1: ( ( ruleEString ) | ( 'Header' ) | ( 'String' ) ) + // InternalRos.g:2431:1: ( ( ruleEString ) | ( 'Header' ) | ( 'String' ) ) int alt7=3; switch ( input.LA(1) ) { case RULE_STRING: @@ -7459,10 +7565,10 @@ public final void rule__TopicSpec__NameAlternatives_2_0() throws RecognitionExce switch (alt7) { case 1 : - // InternalRos.g:2401:2: ( ruleEString ) + // InternalRos.g:2432:2: ( ruleEString ) { - // InternalRos.g:2401:2: ( ruleEString ) - // InternalRos.g:2402:3: ruleEString + // InternalRos.g:2432:2: ( ruleEString ) + // InternalRos.g:2433:3: ruleEString { before(grammarAccess.getTopicSpecAccess().getNameEStringParserRuleCall_2_0_0()); pushFollow(FOLLOW_2); @@ -7478,10 +7584,10 @@ public final void rule__TopicSpec__NameAlternatives_2_0() throws RecognitionExce } break; case 2 : - // InternalRos.g:2407:2: ( 'Header' ) + // InternalRos.g:2438:2: ( 'Header' ) { - // InternalRos.g:2407:2: ( 'Header' ) - // InternalRos.g:2408:3: 'Header' + // InternalRos.g:2438:2: ( 'Header' ) + // InternalRos.g:2439:3: 'Header' { before(grammarAccess.getTopicSpecAccess().getNameHeaderKeyword_2_0_1()); match(input,27,FOLLOW_2); @@ -7493,10 +7599,10 @@ public final void rule__TopicSpec__NameAlternatives_2_0() throws RecognitionExce } break; case 3 : - // InternalRos.g:2413:2: ( 'String' ) + // InternalRos.g:2444:2: ( 'String' ) { - // InternalRos.g:2413:2: ( 'String' ) - // InternalRos.g:2414:3: 'String' + // InternalRos.g:2444:2: ( 'String' ) + // InternalRos.g:2445:3: 'String' { before(grammarAccess.getTopicSpecAccess().getNameStringKeyword_2_0_2()); match(input,28,FOLLOW_2); @@ -7525,26 +7631,26 @@ public final void rule__TopicSpec__NameAlternatives_2_0() throws RecognitionExce // $ANTLR start "rule__ParameterType__Alternatives" - // InternalRos.g:2423:1: rule__ParameterType__Alternatives : ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ); + // InternalRos.g:2454:1: rule__ParameterType__Alternatives : ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ); public final void rule__ParameterType__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2427:1: ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ) + // InternalRos.g:2458:1: ( ( ruleParameterListType ) | ( ruleParameterStructType ) | ( ruleParameterIntegerType ) | ( ruleParameterStringType ) | ( ruleParameterDoubleType ) | ( ruleParameterBooleanType ) | ( ruleParameterBase64Type ) | ( ruleParameterArrayType ) ) int alt8=8; switch ( input.LA(1) ) { - case 76: + case 77: { alt8=1; } break; - case 77: + case 78: { alt8=2; } break; - case 78: + case 79: { alt8=3; } @@ -7554,22 +7660,22 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio alt8=4; } break; - case 80: + case 81: { alt8=5; } break; - case 81: + case 82: { alt8=6; } break; - case 82: + case 83: { alt8=7; } break; - case 83: + case 84: { alt8=8; } @@ -7583,10 +7689,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio switch (alt8) { case 1 : - // InternalRos.g:2428:2: ( ruleParameterListType ) + // InternalRos.g:2459:2: ( ruleParameterListType ) { - // InternalRos.g:2428:2: ( ruleParameterListType ) - // InternalRos.g:2429:3: ruleParameterListType + // InternalRos.g:2459:2: ( ruleParameterListType ) + // InternalRos.g:2460:3: ruleParameterListType { before(grammarAccess.getParameterTypeAccess().getParameterListTypeParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -7602,10 +7708,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 2 : - // InternalRos.g:2434:2: ( ruleParameterStructType ) + // InternalRos.g:2465:2: ( ruleParameterStructType ) { - // InternalRos.g:2434:2: ( ruleParameterStructType ) - // InternalRos.g:2435:3: ruleParameterStructType + // InternalRos.g:2465:2: ( ruleParameterStructType ) + // InternalRos.g:2466:3: ruleParameterStructType { before(grammarAccess.getParameterTypeAccess().getParameterStructTypeParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -7621,10 +7727,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 3 : - // InternalRos.g:2440:2: ( ruleParameterIntegerType ) + // InternalRos.g:2471:2: ( ruleParameterIntegerType ) { - // InternalRos.g:2440:2: ( ruleParameterIntegerType ) - // InternalRos.g:2441:3: ruleParameterIntegerType + // InternalRos.g:2471:2: ( ruleParameterIntegerType ) + // InternalRos.g:2472:3: ruleParameterIntegerType { before(grammarAccess.getParameterTypeAccess().getParameterIntegerTypeParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -7640,10 +7746,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 4 : - // InternalRos.g:2446:2: ( ruleParameterStringType ) + // InternalRos.g:2477:2: ( ruleParameterStringType ) { - // InternalRos.g:2446:2: ( ruleParameterStringType ) - // InternalRos.g:2447:3: ruleParameterStringType + // InternalRos.g:2477:2: ( ruleParameterStringType ) + // InternalRos.g:2478:3: ruleParameterStringType { before(grammarAccess.getParameterTypeAccess().getParameterStringTypeParserRuleCall_3()); pushFollow(FOLLOW_2); @@ -7659,10 +7765,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 5 : - // InternalRos.g:2452:2: ( ruleParameterDoubleType ) + // InternalRos.g:2483:2: ( ruleParameterDoubleType ) { - // InternalRos.g:2452:2: ( ruleParameterDoubleType ) - // InternalRos.g:2453:3: ruleParameterDoubleType + // InternalRos.g:2483:2: ( ruleParameterDoubleType ) + // InternalRos.g:2484:3: ruleParameterDoubleType { before(grammarAccess.getParameterTypeAccess().getParameterDoubleTypeParserRuleCall_4()); pushFollow(FOLLOW_2); @@ -7678,10 +7784,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 6 : - // InternalRos.g:2458:2: ( ruleParameterBooleanType ) + // InternalRos.g:2489:2: ( ruleParameterBooleanType ) { - // InternalRos.g:2458:2: ( ruleParameterBooleanType ) - // InternalRos.g:2459:3: ruleParameterBooleanType + // InternalRos.g:2489:2: ( ruleParameterBooleanType ) + // InternalRos.g:2490:3: ruleParameterBooleanType { before(grammarAccess.getParameterTypeAccess().getParameterBooleanTypeParserRuleCall_5()); pushFollow(FOLLOW_2); @@ -7697,10 +7803,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 7 : - // InternalRos.g:2464:2: ( ruleParameterBase64Type ) + // InternalRos.g:2495:2: ( ruleParameterBase64Type ) { - // InternalRos.g:2464:2: ( ruleParameterBase64Type ) - // InternalRos.g:2465:3: ruleParameterBase64Type + // InternalRos.g:2495:2: ( ruleParameterBase64Type ) + // InternalRos.g:2496:3: ruleParameterBase64Type { before(grammarAccess.getParameterTypeAccess().getParameterBase64TypeParserRuleCall_6()); pushFollow(FOLLOW_2); @@ -7716,10 +7822,10 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio } break; case 8 : - // InternalRos.g:2470:2: ( ruleParameterArrayType ) + // InternalRos.g:2501:2: ( ruleParameterArrayType ) { - // InternalRos.g:2470:2: ( ruleParameterArrayType ) - // InternalRos.g:2471:3: ruleParameterArrayType + // InternalRos.g:2501:2: ( ruleParameterArrayType ) + // InternalRos.g:2502:3: ruleParameterArrayType { before(grammarAccess.getParameterTypeAccess().getParameterArrayTypeParserRuleCall_7()); pushFollow(FOLLOW_2); @@ -7752,13 +7858,13 @@ public final void rule__ParameterType__Alternatives() throws RecognitionExceptio // $ANTLR start "rule__ParameterValue__Alternatives" - // InternalRos.g:2480:1: rule__ParameterValue__Alternatives : ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ); + // InternalRos.g:2511:1: rule__ParameterValue__Alternatives : ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ); public final void rule__ParameterValue__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2484:1: ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ) + // InternalRos.g:2515:1: ( ( ruleParameterString ) | ( ruleParameterBase64 ) | ( ruleParameterInteger ) | ( ruleParameterDouble ) | ( ruleParameterBoolean ) | ( ruleParameterList ) | ( ruleParameterStruct ) ) int alt9=7; switch ( input.LA(1) ) { case RULE_STRING: @@ -7791,7 +7897,7 @@ public final void rule__ParameterValue__Alternatives() throws RecognitionExcepti { int LA9_6 = input.LA(2); - if ( (LA9_6==85) ) { + if ( (LA9_6==86) ) { alt9=7; } else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA9_6<=RULE_ID)||(LA9_6>=41 && LA9_6<=43)) ) { @@ -7821,10 +7927,10 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA switch (alt9) { case 1 : - // InternalRos.g:2485:2: ( ruleParameterString ) + // InternalRos.g:2516:2: ( ruleParameterString ) { - // InternalRos.g:2485:2: ( ruleParameterString ) - // InternalRos.g:2486:3: ruleParameterString + // InternalRos.g:2516:2: ( ruleParameterString ) + // InternalRos.g:2517:3: ruleParameterString { before(grammarAccess.getParameterValueAccess().getParameterStringParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -7840,10 +7946,10 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA } break; case 2 : - // InternalRos.g:2491:2: ( ruleParameterBase64 ) + // InternalRos.g:2522:2: ( ruleParameterBase64 ) { - // InternalRos.g:2491:2: ( ruleParameterBase64 ) - // InternalRos.g:2492:3: ruleParameterBase64 + // InternalRos.g:2522:2: ( ruleParameterBase64 ) + // InternalRos.g:2523:3: ruleParameterBase64 { before(grammarAccess.getParameterValueAccess().getParameterBase64ParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -7859,10 +7965,10 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA } break; case 3 : - // InternalRos.g:2497:2: ( ruleParameterInteger ) + // InternalRos.g:2528:2: ( ruleParameterInteger ) { - // InternalRos.g:2497:2: ( ruleParameterInteger ) - // InternalRos.g:2498:3: ruleParameterInteger + // InternalRos.g:2528:2: ( ruleParameterInteger ) + // InternalRos.g:2529:3: ruleParameterInteger { before(grammarAccess.getParameterValueAccess().getParameterIntegerParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -7878,10 +7984,10 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA } break; case 4 : - // InternalRos.g:2503:2: ( ruleParameterDouble ) + // InternalRos.g:2534:2: ( ruleParameterDouble ) { - // InternalRos.g:2503:2: ( ruleParameterDouble ) - // InternalRos.g:2504:3: ruleParameterDouble + // InternalRos.g:2534:2: ( ruleParameterDouble ) + // InternalRos.g:2535:3: ruleParameterDouble { before(grammarAccess.getParameterValueAccess().getParameterDoubleParserRuleCall_3()); pushFollow(FOLLOW_2); @@ -7897,10 +8003,10 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA } break; case 5 : - // InternalRos.g:2509:2: ( ruleParameterBoolean ) + // InternalRos.g:2540:2: ( ruleParameterBoolean ) { - // InternalRos.g:2509:2: ( ruleParameterBoolean ) - // InternalRos.g:2510:3: ruleParameterBoolean + // InternalRos.g:2540:2: ( ruleParameterBoolean ) + // InternalRos.g:2541:3: ruleParameterBoolean { before(grammarAccess.getParameterValueAccess().getParameterBooleanParserRuleCall_4()); pushFollow(FOLLOW_2); @@ -7916,10 +8022,10 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA } break; case 6 : - // InternalRos.g:2515:2: ( ruleParameterList ) + // InternalRos.g:2546:2: ( ruleParameterList ) { - // InternalRos.g:2515:2: ( ruleParameterList ) - // InternalRos.g:2516:3: ruleParameterList + // InternalRos.g:2546:2: ( ruleParameterList ) + // InternalRos.g:2547:3: ruleParameterList { before(grammarAccess.getParameterValueAccess().getParameterListParserRuleCall_5()); pushFollow(FOLLOW_2); @@ -7935,10 +8041,10 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA } break; case 7 : - // InternalRos.g:2521:2: ( ruleParameterStruct ) + // InternalRos.g:2552:2: ( ruleParameterStruct ) { - // InternalRos.g:2521:2: ( ruleParameterStruct ) - // InternalRos.g:2522:3: ruleParameterStruct + // InternalRos.g:2552:2: ( ruleParameterStruct ) + // InternalRos.g:2553:3: ruleParameterStruct { before(grammarAccess.getParameterValueAccess().getParameterStructParserRuleCall_6()); pushFollow(FOLLOW_2); @@ -7971,13 +8077,13 @@ else if ( ((LA9_6>=RULE_BINARY && LA9_6<=RULE_DECINT)||(LA9_6>=RULE_STRING && LA // $ANTLR start "rule__MessagePart__DataAlternatives_1_0" - // InternalRos.g:2531:1: rule__MessagePart__DataAlternatives_1_0 : ( ( ruleKEYWORD ) | ( RULE_MESSAGE_ASIGMENT ) | ( ruleEString ) ); + // InternalRos.g:2562:1: rule__MessagePart__DataAlternatives_1_0 : ( ( ruleKEYWORD ) | ( RULE_MESSAGE_ASIGMENT ) | ( ruleEString ) ); public final void rule__MessagePart__DataAlternatives_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2535:1: ( ( ruleKEYWORD ) | ( RULE_MESSAGE_ASIGMENT ) | ( ruleEString ) ) + // InternalRos.g:2566:1: ( ( ruleKEYWORD ) | ( RULE_MESSAGE_ASIGMENT ) | ( ruleEString ) ) int alt10=3; switch ( input.LA(1) ) { case 29: @@ -8015,10 +8121,10 @@ public final void rule__MessagePart__DataAlternatives_1_0() throws RecognitionEx switch (alt10) { case 1 : - // InternalRos.g:2536:2: ( ruleKEYWORD ) + // InternalRos.g:2567:2: ( ruleKEYWORD ) { - // InternalRos.g:2536:2: ( ruleKEYWORD ) - // InternalRos.g:2537:3: ruleKEYWORD + // InternalRos.g:2567:2: ( ruleKEYWORD ) + // InternalRos.g:2568:3: ruleKEYWORD { before(grammarAccess.getMessagePartAccess().getDataKEYWORDParserRuleCall_1_0_0()); pushFollow(FOLLOW_2); @@ -8034,10 +8140,10 @@ public final void rule__MessagePart__DataAlternatives_1_0() throws RecognitionEx } break; case 2 : - // InternalRos.g:2542:2: ( RULE_MESSAGE_ASIGMENT ) + // InternalRos.g:2573:2: ( RULE_MESSAGE_ASIGMENT ) { - // InternalRos.g:2542:2: ( RULE_MESSAGE_ASIGMENT ) - // InternalRos.g:2543:3: RULE_MESSAGE_ASIGMENT + // InternalRos.g:2573:2: ( RULE_MESSAGE_ASIGMENT ) + // InternalRos.g:2574:3: RULE_MESSAGE_ASIGMENT { before(grammarAccess.getMessagePartAccess().getDataMESSAGE_ASIGMENTTerminalRuleCall_1_0_1()); match(input,RULE_MESSAGE_ASIGMENT,FOLLOW_2); @@ -8049,10 +8155,10 @@ public final void rule__MessagePart__DataAlternatives_1_0() throws RecognitionEx } break; case 3 : - // InternalRos.g:2548:2: ( ruleEString ) + // InternalRos.g:2579:2: ( ruleEString ) { - // InternalRos.g:2548:2: ( ruleEString ) - // InternalRos.g:2549:3: ruleEString + // InternalRos.g:2579:2: ( ruleEString ) + // InternalRos.g:2580:3: ruleEString { before(grammarAccess.getMessagePartAccess().getDataEStringParserRuleCall_1_0_2()); pushFollow(FOLLOW_2); @@ -8085,21 +8191,21 @@ public final void rule__MessagePart__DataAlternatives_1_0() throws RecognitionEx // $ANTLR start "rule__AbstractType__Alternatives" - // InternalRos.g:2558:1: rule__AbstractType__Alternatives : ( ( rulebool ) | ( ruleint8 ) | ( ruleuint8 ) | ( ruleint16 ) | ( ruleuint16 ) | ( ruleint32 ) | ( ruleuint32 ) | ( ruleint64 ) | ( ruleuint64 ) | ( rulefloat32 ) | ( rulefloat64 ) | ( rulestring0 ) | ( rulebyte ) | ( ruletime ) | ( ruleduration ) | ( ruleHeader ) | ( ruleboolArray ) | ( ruleint8Array ) | ( ruleuint8Array ) | ( ruleint16Array ) | ( ruleuint16Array ) | ( ruleint32Array ) | ( ruleuint32Array ) | ( ruleint64Array ) | ( ruleuint64Array ) | ( rulefloat32Array ) | ( rulefloat64Array ) | ( rulestring0Array ) | ( rulebyteArray ) | ( ruleTopicSpecRef ) | ( ruleArrayTopicSpecRef ) ); + // InternalRos.g:2589:1: rule__AbstractType__Alternatives : ( ( rulebool ) | ( ruleint8 ) | ( ruleuint8 ) | ( ruleint16 ) | ( ruleuint16 ) | ( ruleint32 ) | ( ruleuint32 ) | ( ruleint64 ) | ( ruleuint64 ) | ( rulefloat32 ) | ( rulefloat64 ) | ( rulestring0 ) | ( rulebyte ) | ( ruletime ) | ( ruleduration ) | ( ruleHeader ) | ( ruleboolArray ) | ( ruleint8Array ) | ( ruleuint8Array ) | ( ruleint16Array ) | ( ruleuint16Array ) | ( ruleint32Array ) | ( ruleuint32Array ) | ( ruleint64Array ) | ( ruleuint64Array ) | ( rulefloat32Array ) | ( rulefloat64Array ) | ( rulestring0Array ) | ( rulebyteArray ) | ( ruleTopicSpecRef ) | ( ruleArrayTopicSpecRef ) ); public final void rule__AbstractType__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2562:1: ( ( rulebool ) | ( ruleint8 ) | ( ruleuint8 ) | ( ruleint16 ) | ( ruleuint16 ) | ( ruleint32 ) | ( ruleuint32 ) | ( ruleint64 ) | ( ruleuint64 ) | ( rulefloat32 ) | ( rulefloat64 ) | ( rulestring0 ) | ( rulebyte ) | ( ruletime ) | ( ruleduration ) | ( ruleHeader ) | ( ruleboolArray ) | ( ruleint8Array ) | ( ruleuint8Array ) | ( ruleint16Array ) | ( ruleuint16Array ) | ( ruleint32Array ) | ( ruleuint32Array ) | ( ruleint64Array ) | ( ruleuint64Array ) | ( rulefloat32Array ) | ( rulefloat64Array ) | ( rulestring0Array ) | ( rulebyteArray ) | ( ruleTopicSpecRef ) | ( ruleArrayTopicSpecRef ) ) + // InternalRos.g:2593:1: ( ( rulebool ) | ( ruleint8 ) | ( ruleuint8 ) | ( ruleint16 ) | ( ruleuint16 ) | ( ruleint32 ) | ( ruleuint32 ) | ( ruleint64 ) | ( ruleuint64 ) | ( rulefloat32 ) | ( rulefloat64 ) | ( rulestring0 ) | ( rulebyte ) | ( ruletime ) | ( ruleduration ) | ( ruleHeader ) | ( ruleboolArray ) | ( ruleint8Array ) | ( ruleuint8Array ) | ( ruleint16Array ) | ( ruleuint16Array ) | ( ruleint32Array ) | ( ruleuint32Array ) | ( ruleint64Array ) | ( ruleuint64Array ) | ( rulefloat32Array ) | ( rulefloat64Array ) | ( rulestring0Array ) | ( rulebyteArray ) | ( ruleTopicSpecRef ) | ( ruleArrayTopicSpecRef ) ) int alt11=31; alt11 = dfa11.predict(input); switch (alt11) { case 1 : - // InternalRos.g:2563:2: ( rulebool ) + // InternalRos.g:2594:2: ( rulebool ) { - // InternalRos.g:2563:2: ( rulebool ) - // InternalRos.g:2564:3: rulebool + // InternalRos.g:2594:2: ( rulebool ) + // InternalRos.g:2595:3: rulebool { before(grammarAccess.getAbstractTypeAccess().getBoolParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -8115,10 +8221,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 2 : - // InternalRos.g:2569:2: ( ruleint8 ) + // InternalRos.g:2600:2: ( ruleint8 ) { - // InternalRos.g:2569:2: ( ruleint8 ) - // InternalRos.g:2570:3: ruleint8 + // InternalRos.g:2600:2: ( ruleint8 ) + // InternalRos.g:2601:3: ruleint8 { before(grammarAccess.getAbstractTypeAccess().getInt8ParserRuleCall_1()); pushFollow(FOLLOW_2); @@ -8134,10 +8240,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 3 : - // InternalRos.g:2575:2: ( ruleuint8 ) + // InternalRos.g:2606:2: ( ruleuint8 ) { - // InternalRos.g:2575:2: ( ruleuint8 ) - // InternalRos.g:2576:3: ruleuint8 + // InternalRos.g:2606:2: ( ruleuint8 ) + // InternalRos.g:2607:3: ruleuint8 { before(grammarAccess.getAbstractTypeAccess().getUint8ParserRuleCall_2()); pushFollow(FOLLOW_2); @@ -8153,10 +8259,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 4 : - // InternalRos.g:2581:2: ( ruleint16 ) + // InternalRos.g:2612:2: ( ruleint16 ) { - // InternalRos.g:2581:2: ( ruleint16 ) - // InternalRos.g:2582:3: ruleint16 + // InternalRos.g:2612:2: ( ruleint16 ) + // InternalRos.g:2613:3: ruleint16 { before(grammarAccess.getAbstractTypeAccess().getInt16ParserRuleCall_3()); pushFollow(FOLLOW_2); @@ -8172,10 +8278,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 5 : - // InternalRos.g:2587:2: ( ruleuint16 ) + // InternalRos.g:2618:2: ( ruleuint16 ) { - // InternalRos.g:2587:2: ( ruleuint16 ) - // InternalRos.g:2588:3: ruleuint16 + // InternalRos.g:2618:2: ( ruleuint16 ) + // InternalRos.g:2619:3: ruleuint16 { before(grammarAccess.getAbstractTypeAccess().getUint16ParserRuleCall_4()); pushFollow(FOLLOW_2); @@ -8191,10 +8297,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 6 : - // InternalRos.g:2593:2: ( ruleint32 ) + // InternalRos.g:2624:2: ( ruleint32 ) { - // InternalRos.g:2593:2: ( ruleint32 ) - // InternalRos.g:2594:3: ruleint32 + // InternalRos.g:2624:2: ( ruleint32 ) + // InternalRos.g:2625:3: ruleint32 { before(grammarAccess.getAbstractTypeAccess().getInt32ParserRuleCall_5()); pushFollow(FOLLOW_2); @@ -8210,10 +8316,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 7 : - // InternalRos.g:2599:2: ( ruleuint32 ) + // InternalRos.g:2630:2: ( ruleuint32 ) { - // InternalRos.g:2599:2: ( ruleuint32 ) - // InternalRos.g:2600:3: ruleuint32 + // InternalRos.g:2630:2: ( ruleuint32 ) + // InternalRos.g:2631:3: ruleuint32 { before(grammarAccess.getAbstractTypeAccess().getUint32ParserRuleCall_6()); pushFollow(FOLLOW_2); @@ -8229,10 +8335,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 8 : - // InternalRos.g:2605:2: ( ruleint64 ) + // InternalRos.g:2636:2: ( ruleint64 ) { - // InternalRos.g:2605:2: ( ruleint64 ) - // InternalRos.g:2606:3: ruleint64 + // InternalRos.g:2636:2: ( ruleint64 ) + // InternalRos.g:2637:3: ruleint64 { before(grammarAccess.getAbstractTypeAccess().getInt64ParserRuleCall_7()); pushFollow(FOLLOW_2); @@ -8248,10 +8354,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 9 : - // InternalRos.g:2611:2: ( ruleuint64 ) + // InternalRos.g:2642:2: ( ruleuint64 ) { - // InternalRos.g:2611:2: ( ruleuint64 ) - // InternalRos.g:2612:3: ruleuint64 + // InternalRos.g:2642:2: ( ruleuint64 ) + // InternalRos.g:2643:3: ruleuint64 { before(grammarAccess.getAbstractTypeAccess().getUint64ParserRuleCall_8()); pushFollow(FOLLOW_2); @@ -8267,10 +8373,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 10 : - // InternalRos.g:2617:2: ( rulefloat32 ) + // InternalRos.g:2648:2: ( rulefloat32 ) { - // InternalRos.g:2617:2: ( rulefloat32 ) - // InternalRos.g:2618:3: rulefloat32 + // InternalRos.g:2648:2: ( rulefloat32 ) + // InternalRos.g:2649:3: rulefloat32 { before(grammarAccess.getAbstractTypeAccess().getFloat32ParserRuleCall_9()); pushFollow(FOLLOW_2); @@ -8286,10 +8392,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 11 : - // InternalRos.g:2623:2: ( rulefloat64 ) + // InternalRos.g:2654:2: ( rulefloat64 ) { - // InternalRos.g:2623:2: ( rulefloat64 ) - // InternalRos.g:2624:3: rulefloat64 + // InternalRos.g:2654:2: ( rulefloat64 ) + // InternalRos.g:2655:3: rulefloat64 { before(grammarAccess.getAbstractTypeAccess().getFloat64ParserRuleCall_10()); pushFollow(FOLLOW_2); @@ -8305,10 +8411,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 12 : - // InternalRos.g:2629:2: ( rulestring0 ) + // InternalRos.g:2660:2: ( rulestring0 ) { - // InternalRos.g:2629:2: ( rulestring0 ) - // InternalRos.g:2630:3: rulestring0 + // InternalRos.g:2660:2: ( rulestring0 ) + // InternalRos.g:2661:3: rulestring0 { before(grammarAccess.getAbstractTypeAccess().getString0ParserRuleCall_11()); pushFollow(FOLLOW_2); @@ -8324,10 +8430,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 13 : - // InternalRos.g:2635:2: ( rulebyte ) + // InternalRos.g:2666:2: ( rulebyte ) { - // InternalRos.g:2635:2: ( rulebyte ) - // InternalRos.g:2636:3: rulebyte + // InternalRos.g:2666:2: ( rulebyte ) + // InternalRos.g:2667:3: rulebyte { before(grammarAccess.getAbstractTypeAccess().getByteParserRuleCall_12()); pushFollow(FOLLOW_2); @@ -8343,10 +8449,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 14 : - // InternalRos.g:2641:2: ( ruletime ) + // InternalRos.g:2672:2: ( ruletime ) { - // InternalRos.g:2641:2: ( ruletime ) - // InternalRos.g:2642:3: ruletime + // InternalRos.g:2672:2: ( ruletime ) + // InternalRos.g:2673:3: ruletime { before(grammarAccess.getAbstractTypeAccess().getTimeParserRuleCall_13()); pushFollow(FOLLOW_2); @@ -8362,10 +8468,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 15 : - // InternalRos.g:2647:2: ( ruleduration ) + // InternalRos.g:2678:2: ( ruleduration ) { - // InternalRos.g:2647:2: ( ruleduration ) - // InternalRos.g:2648:3: ruleduration + // InternalRos.g:2678:2: ( ruleduration ) + // InternalRos.g:2679:3: ruleduration { before(grammarAccess.getAbstractTypeAccess().getDurationParserRuleCall_14()); pushFollow(FOLLOW_2); @@ -8381,10 +8487,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 16 : - // InternalRos.g:2653:2: ( ruleHeader ) + // InternalRos.g:2684:2: ( ruleHeader ) { - // InternalRos.g:2653:2: ( ruleHeader ) - // InternalRos.g:2654:3: ruleHeader + // InternalRos.g:2684:2: ( ruleHeader ) + // InternalRos.g:2685:3: ruleHeader { before(grammarAccess.getAbstractTypeAccess().getHeaderParserRuleCall_15()); pushFollow(FOLLOW_2); @@ -8400,10 +8506,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 17 : - // InternalRos.g:2659:2: ( ruleboolArray ) + // InternalRos.g:2690:2: ( ruleboolArray ) { - // InternalRos.g:2659:2: ( ruleboolArray ) - // InternalRos.g:2660:3: ruleboolArray + // InternalRos.g:2690:2: ( ruleboolArray ) + // InternalRos.g:2691:3: ruleboolArray { before(grammarAccess.getAbstractTypeAccess().getBoolArrayParserRuleCall_16()); pushFollow(FOLLOW_2); @@ -8419,10 +8525,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 18 : - // InternalRos.g:2665:2: ( ruleint8Array ) + // InternalRos.g:2696:2: ( ruleint8Array ) { - // InternalRos.g:2665:2: ( ruleint8Array ) - // InternalRos.g:2666:3: ruleint8Array + // InternalRos.g:2696:2: ( ruleint8Array ) + // InternalRos.g:2697:3: ruleint8Array { before(grammarAccess.getAbstractTypeAccess().getInt8ArrayParserRuleCall_17()); pushFollow(FOLLOW_2); @@ -8438,10 +8544,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 19 : - // InternalRos.g:2671:2: ( ruleuint8Array ) + // InternalRos.g:2702:2: ( ruleuint8Array ) { - // InternalRos.g:2671:2: ( ruleuint8Array ) - // InternalRos.g:2672:3: ruleuint8Array + // InternalRos.g:2702:2: ( ruleuint8Array ) + // InternalRos.g:2703:3: ruleuint8Array { before(grammarAccess.getAbstractTypeAccess().getUint8ArrayParserRuleCall_18()); pushFollow(FOLLOW_2); @@ -8457,10 +8563,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 20 : - // InternalRos.g:2677:2: ( ruleint16Array ) + // InternalRos.g:2708:2: ( ruleint16Array ) { - // InternalRos.g:2677:2: ( ruleint16Array ) - // InternalRos.g:2678:3: ruleint16Array + // InternalRos.g:2708:2: ( ruleint16Array ) + // InternalRos.g:2709:3: ruleint16Array { before(grammarAccess.getAbstractTypeAccess().getInt16ArrayParserRuleCall_19()); pushFollow(FOLLOW_2); @@ -8476,10 +8582,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 21 : - // InternalRos.g:2683:2: ( ruleuint16Array ) + // InternalRos.g:2714:2: ( ruleuint16Array ) { - // InternalRos.g:2683:2: ( ruleuint16Array ) - // InternalRos.g:2684:3: ruleuint16Array + // InternalRos.g:2714:2: ( ruleuint16Array ) + // InternalRos.g:2715:3: ruleuint16Array { before(grammarAccess.getAbstractTypeAccess().getUint16ArrayParserRuleCall_20()); pushFollow(FOLLOW_2); @@ -8495,10 +8601,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 22 : - // InternalRos.g:2689:2: ( ruleint32Array ) + // InternalRos.g:2720:2: ( ruleint32Array ) { - // InternalRos.g:2689:2: ( ruleint32Array ) - // InternalRos.g:2690:3: ruleint32Array + // InternalRos.g:2720:2: ( ruleint32Array ) + // InternalRos.g:2721:3: ruleint32Array { before(grammarAccess.getAbstractTypeAccess().getInt32ArrayParserRuleCall_21()); pushFollow(FOLLOW_2); @@ -8514,10 +8620,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 23 : - // InternalRos.g:2695:2: ( ruleuint32Array ) + // InternalRos.g:2726:2: ( ruleuint32Array ) { - // InternalRos.g:2695:2: ( ruleuint32Array ) - // InternalRos.g:2696:3: ruleuint32Array + // InternalRos.g:2726:2: ( ruleuint32Array ) + // InternalRos.g:2727:3: ruleuint32Array { before(grammarAccess.getAbstractTypeAccess().getUint32ArrayParserRuleCall_22()); pushFollow(FOLLOW_2); @@ -8533,10 +8639,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 24 : - // InternalRos.g:2701:2: ( ruleint64Array ) + // InternalRos.g:2732:2: ( ruleint64Array ) { - // InternalRos.g:2701:2: ( ruleint64Array ) - // InternalRos.g:2702:3: ruleint64Array + // InternalRos.g:2732:2: ( ruleint64Array ) + // InternalRos.g:2733:3: ruleint64Array { before(grammarAccess.getAbstractTypeAccess().getInt64ArrayParserRuleCall_23()); pushFollow(FOLLOW_2); @@ -8552,10 +8658,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 25 : - // InternalRos.g:2707:2: ( ruleuint64Array ) + // InternalRos.g:2738:2: ( ruleuint64Array ) { - // InternalRos.g:2707:2: ( ruleuint64Array ) - // InternalRos.g:2708:3: ruleuint64Array + // InternalRos.g:2738:2: ( ruleuint64Array ) + // InternalRos.g:2739:3: ruleuint64Array { before(grammarAccess.getAbstractTypeAccess().getUint64ArrayParserRuleCall_24()); pushFollow(FOLLOW_2); @@ -8571,10 +8677,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 26 : - // InternalRos.g:2713:2: ( rulefloat32Array ) + // InternalRos.g:2744:2: ( rulefloat32Array ) { - // InternalRos.g:2713:2: ( rulefloat32Array ) - // InternalRos.g:2714:3: rulefloat32Array + // InternalRos.g:2744:2: ( rulefloat32Array ) + // InternalRos.g:2745:3: rulefloat32Array { before(grammarAccess.getAbstractTypeAccess().getFloat32ArrayParserRuleCall_25()); pushFollow(FOLLOW_2); @@ -8590,10 +8696,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 27 : - // InternalRos.g:2719:2: ( rulefloat64Array ) + // InternalRos.g:2750:2: ( rulefloat64Array ) { - // InternalRos.g:2719:2: ( rulefloat64Array ) - // InternalRos.g:2720:3: rulefloat64Array + // InternalRos.g:2750:2: ( rulefloat64Array ) + // InternalRos.g:2751:3: rulefloat64Array { before(grammarAccess.getAbstractTypeAccess().getFloat64ArrayParserRuleCall_26()); pushFollow(FOLLOW_2); @@ -8609,10 +8715,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 28 : - // InternalRos.g:2725:2: ( rulestring0Array ) + // InternalRos.g:2756:2: ( rulestring0Array ) { - // InternalRos.g:2725:2: ( rulestring0Array ) - // InternalRos.g:2726:3: rulestring0Array + // InternalRos.g:2756:2: ( rulestring0Array ) + // InternalRos.g:2757:3: rulestring0Array { before(grammarAccess.getAbstractTypeAccess().getString0ArrayParserRuleCall_27()); pushFollow(FOLLOW_2); @@ -8628,10 +8734,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 29 : - // InternalRos.g:2731:2: ( rulebyteArray ) + // InternalRos.g:2762:2: ( rulebyteArray ) { - // InternalRos.g:2731:2: ( rulebyteArray ) - // InternalRos.g:2732:3: rulebyteArray + // InternalRos.g:2762:2: ( rulebyteArray ) + // InternalRos.g:2763:3: rulebyteArray { before(grammarAccess.getAbstractTypeAccess().getByteArrayParserRuleCall_28()); pushFollow(FOLLOW_2); @@ -8647,10 +8753,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 30 : - // InternalRos.g:2737:2: ( ruleTopicSpecRef ) + // InternalRos.g:2768:2: ( ruleTopicSpecRef ) { - // InternalRos.g:2737:2: ( ruleTopicSpecRef ) - // InternalRos.g:2738:3: ruleTopicSpecRef + // InternalRos.g:2768:2: ( ruleTopicSpecRef ) + // InternalRos.g:2769:3: ruleTopicSpecRef { before(grammarAccess.getAbstractTypeAccess().getTopicSpecRefParserRuleCall_29()); pushFollow(FOLLOW_2); @@ -8666,10 +8772,10 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException } break; case 31 : - // InternalRos.g:2743:2: ( ruleArrayTopicSpecRef ) + // InternalRos.g:2774:2: ( ruleArrayTopicSpecRef ) { - // InternalRos.g:2743:2: ( ruleArrayTopicSpecRef ) - // InternalRos.g:2744:3: ruleArrayTopicSpecRef + // InternalRos.g:2774:2: ( ruleArrayTopicSpecRef ) + // InternalRos.g:2775:3: ruleArrayTopicSpecRef { before(grammarAccess.getAbstractTypeAccess().getArrayTopicSpecRefParserRuleCall_30()); pushFollow(FOLLOW_2); @@ -8702,13 +8808,13 @@ public final void rule__AbstractType__Alternatives() throws RecognitionException // $ANTLR start "rule__KEYWORD__Alternatives" - // InternalRos.g:2753:1: rule__KEYWORD__Alternatives : ( ( 'goal' ) | ( 'message' ) | ( 'result' ) | ( 'feedback' ) | ( 'name' ) | ( 'value' ) | ( 'service' ) | ( 'type' ) | ( 'action' ) | ( 'duration' ) | ( 'time' ) ); + // InternalRos.g:2784:1: rule__KEYWORD__Alternatives : ( ( 'goal' ) | ( 'message' ) | ( 'result' ) | ( 'feedback' ) | ( 'name' ) | ( 'value' ) | ( 'service' ) | ( 'type' ) | ( 'action' ) | ( 'duration' ) | ( 'time' ) ); public final void rule__KEYWORD__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2757:1: ( ( 'goal' ) | ( 'message' ) | ( 'result' ) | ( 'feedback' ) | ( 'name' ) | ( 'value' ) | ( 'service' ) | ( 'type' ) | ( 'action' ) | ( 'duration' ) | ( 'time' ) ) + // InternalRos.g:2788:1: ( ( 'goal' ) | ( 'message' ) | ( 'result' ) | ( 'feedback' ) | ( 'name' ) | ( 'value' ) | ( 'service' ) | ( 'type' ) | ( 'action' ) | ( 'duration' ) | ( 'time' ) ) int alt12=11; switch ( input.LA(1) ) { case 29: @@ -8775,10 +8881,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { switch (alt12) { case 1 : - // InternalRos.g:2758:2: ( 'goal' ) + // InternalRos.g:2789:2: ( 'goal' ) { - // InternalRos.g:2758:2: ( 'goal' ) - // InternalRos.g:2759:3: 'goal' + // InternalRos.g:2789:2: ( 'goal' ) + // InternalRos.g:2790:3: 'goal' { before(grammarAccess.getKEYWORDAccess().getGoalKeyword_0()); match(input,29,FOLLOW_2); @@ -8790,10 +8896,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 2 : - // InternalRos.g:2764:2: ( 'message' ) + // InternalRos.g:2795:2: ( 'message' ) { - // InternalRos.g:2764:2: ( 'message' ) - // InternalRos.g:2765:3: 'message' + // InternalRos.g:2795:2: ( 'message' ) + // InternalRos.g:2796:3: 'message' { before(grammarAccess.getKEYWORDAccess().getMessageKeyword_1()); match(input,30,FOLLOW_2); @@ -8805,10 +8911,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 3 : - // InternalRos.g:2770:2: ( 'result' ) + // InternalRos.g:2801:2: ( 'result' ) { - // InternalRos.g:2770:2: ( 'result' ) - // InternalRos.g:2771:3: 'result' + // InternalRos.g:2801:2: ( 'result' ) + // InternalRos.g:2802:3: 'result' { before(grammarAccess.getKEYWORDAccess().getResultKeyword_2()); match(input,31,FOLLOW_2); @@ -8820,10 +8926,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 4 : - // InternalRos.g:2776:2: ( 'feedback' ) + // InternalRos.g:2807:2: ( 'feedback' ) { - // InternalRos.g:2776:2: ( 'feedback' ) - // InternalRos.g:2777:3: 'feedback' + // InternalRos.g:2807:2: ( 'feedback' ) + // InternalRos.g:2808:3: 'feedback' { before(grammarAccess.getKEYWORDAccess().getFeedbackKeyword_3()); match(input,32,FOLLOW_2); @@ -8835,10 +8941,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 5 : - // InternalRos.g:2782:2: ( 'name' ) + // InternalRos.g:2813:2: ( 'name' ) { - // InternalRos.g:2782:2: ( 'name' ) - // InternalRos.g:2783:3: 'name' + // InternalRos.g:2813:2: ( 'name' ) + // InternalRos.g:2814:3: 'name' { before(grammarAccess.getKEYWORDAccess().getNameKeyword_4()); match(input,33,FOLLOW_2); @@ -8850,10 +8956,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 6 : - // InternalRos.g:2788:2: ( 'value' ) + // InternalRos.g:2819:2: ( 'value' ) { - // InternalRos.g:2788:2: ( 'value' ) - // InternalRos.g:2789:3: 'value' + // InternalRos.g:2819:2: ( 'value' ) + // InternalRos.g:2820:3: 'value' { before(grammarAccess.getKEYWORDAccess().getValueKeyword_5()); match(input,34,FOLLOW_2); @@ -8865,10 +8971,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 7 : - // InternalRos.g:2794:2: ( 'service' ) + // InternalRos.g:2825:2: ( 'service' ) { - // InternalRos.g:2794:2: ( 'service' ) - // InternalRos.g:2795:3: 'service' + // InternalRos.g:2825:2: ( 'service' ) + // InternalRos.g:2826:3: 'service' { before(grammarAccess.getKEYWORDAccess().getServiceKeyword_6()); match(input,35,FOLLOW_2); @@ -8880,10 +8986,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 8 : - // InternalRos.g:2800:2: ( 'type' ) + // InternalRos.g:2831:2: ( 'type' ) { - // InternalRos.g:2800:2: ( 'type' ) - // InternalRos.g:2801:3: 'type' + // InternalRos.g:2831:2: ( 'type' ) + // InternalRos.g:2832:3: 'type' { before(grammarAccess.getKEYWORDAccess().getTypeKeyword_7()); match(input,36,FOLLOW_2); @@ -8895,10 +9001,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 9 : - // InternalRos.g:2806:2: ( 'action' ) + // InternalRos.g:2837:2: ( 'action' ) { - // InternalRos.g:2806:2: ( 'action' ) - // InternalRos.g:2807:3: 'action' + // InternalRos.g:2837:2: ( 'action' ) + // InternalRos.g:2838:3: 'action' { before(grammarAccess.getKEYWORDAccess().getActionKeyword_8()); match(input,37,FOLLOW_2); @@ -8910,10 +9016,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 10 : - // InternalRos.g:2812:2: ( 'duration' ) + // InternalRos.g:2843:2: ( 'duration' ) { - // InternalRos.g:2812:2: ( 'duration' ) - // InternalRos.g:2813:3: 'duration' + // InternalRos.g:2843:2: ( 'duration' ) + // InternalRos.g:2844:3: 'duration' { before(grammarAccess.getKEYWORDAccess().getDurationKeyword_9()); match(input,38,FOLLOW_2); @@ -8925,10 +9031,10 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { } break; case 11 : - // InternalRos.g:2818:2: ( 'time' ) + // InternalRos.g:2849:2: ( 'time' ) { - // InternalRos.g:2818:2: ( 'time' ) - // InternalRos.g:2819:3: 'time' + // InternalRos.g:2849:2: ( 'time' ) + // InternalRos.g:2850:3: 'time' { before(grammarAccess.getKEYWORDAccess().getTimeKeyword_10()); match(input,39,FOLLOW_2); @@ -8957,14 +9063,14 @@ public final void rule__KEYWORD__Alternatives() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group__0" - // InternalRos.g:2828:1: rule__PackageSet__Group__0 : rule__PackageSet__Group__0__Impl rule__PackageSet__Group__1 ; + // InternalRos.g:2859:1: rule__PackageSet__Group__0 : rule__PackageSet__Group__0__Impl rule__PackageSet__Group__1 ; public final void rule__PackageSet__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2832:1: ( rule__PackageSet__Group__0__Impl rule__PackageSet__Group__1 ) - // InternalRos.g:2833:2: rule__PackageSet__Group__0__Impl rule__PackageSet__Group__1 + // InternalRos.g:2863:1: ( rule__PackageSet__Group__0__Impl rule__PackageSet__Group__1 ) + // InternalRos.g:2864:2: rule__PackageSet__Group__0__Impl rule__PackageSet__Group__1 { pushFollow(FOLLOW_3); rule__PackageSet__Group__0__Impl(); @@ -8995,21 +9101,21 @@ public final void rule__PackageSet__Group__0() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group__0__Impl" - // InternalRos.g:2840:1: rule__PackageSet__Group__0__Impl : ( () ) ; + // InternalRos.g:2871:1: rule__PackageSet__Group__0__Impl : ( () ) ; public final void rule__PackageSet__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2844:1: ( ( () ) ) - // InternalRos.g:2845:1: ( () ) + // InternalRos.g:2875:1: ( ( () ) ) + // InternalRos.g:2876:1: ( () ) { - // InternalRos.g:2845:1: ( () ) - // InternalRos.g:2846:2: () + // InternalRos.g:2876:1: ( () ) + // InternalRos.g:2877:2: () { before(grammarAccess.getPackageSetAccess().getPackageSetAction_0()); - // InternalRos.g:2847:2: () - // InternalRos.g:2847:3: + // InternalRos.g:2878:2: () + // InternalRos.g:2878:3: { } @@ -9032,14 +9138,14 @@ public final void rule__PackageSet__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__PackageSet__Group__1" - // InternalRos.g:2855:1: rule__PackageSet__Group__1 : rule__PackageSet__Group__1__Impl rule__PackageSet__Group__2 ; + // InternalRos.g:2886:1: rule__PackageSet__Group__1 : rule__PackageSet__Group__1__Impl rule__PackageSet__Group__2 ; public final void rule__PackageSet__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2859:1: ( rule__PackageSet__Group__1__Impl rule__PackageSet__Group__2 ) - // InternalRos.g:2860:2: rule__PackageSet__Group__1__Impl rule__PackageSet__Group__2 + // InternalRos.g:2890:1: ( rule__PackageSet__Group__1__Impl rule__PackageSet__Group__2 ) + // InternalRos.g:2891:2: rule__PackageSet__Group__1__Impl rule__PackageSet__Group__2 { pushFollow(FOLLOW_4); rule__PackageSet__Group__1__Impl(); @@ -9070,17 +9176,17 @@ public final void rule__PackageSet__Group__1() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group__1__Impl" - // InternalRos.g:2867:1: rule__PackageSet__Group__1__Impl : ( 'PackageSet' ) ; + // InternalRos.g:2898:1: rule__PackageSet__Group__1__Impl : ( 'PackageSet' ) ; public final void rule__PackageSet__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2871:1: ( ( 'PackageSet' ) ) - // InternalRos.g:2872:1: ( 'PackageSet' ) + // InternalRos.g:2902:1: ( ( 'PackageSet' ) ) + // InternalRos.g:2903:1: ( 'PackageSet' ) { - // InternalRos.g:2872:1: ( 'PackageSet' ) - // InternalRos.g:2873:2: 'PackageSet' + // InternalRos.g:2903:1: ( 'PackageSet' ) + // InternalRos.g:2904:2: 'PackageSet' { before(grammarAccess.getPackageSetAccess().getPackageSetKeyword_1()); match(input,40,FOLLOW_2); @@ -9107,14 +9213,14 @@ public final void rule__PackageSet__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__PackageSet__Group__2" - // InternalRos.g:2882:1: rule__PackageSet__Group__2 : rule__PackageSet__Group__2__Impl rule__PackageSet__Group__3 ; + // InternalRos.g:2913:1: rule__PackageSet__Group__2 : rule__PackageSet__Group__2__Impl rule__PackageSet__Group__3 ; public final void rule__PackageSet__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2886:1: ( rule__PackageSet__Group__2__Impl rule__PackageSet__Group__3 ) - // InternalRos.g:2887:2: rule__PackageSet__Group__2__Impl rule__PackageSet__Group__3 + // InternalRos.g:2917:1: ( rule__PackageSet__Group__2__Impl rule__PackageSet__Group__3 ) + // InternalRos.g:2918:2: rule__PackageSet__Group__2__Impl rule__PackageSet__Group__3 { pushFollow(FOLLOW_5); rule__PackageSet__Group__2__Impl(); @@ -9145,17 +9251,17 @@ public final void rule__PackageSet__Group__2() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group__2__Impl" - // InternalRos.g:2894:1: rule__PackageSet__Group__2__Impl : ( '{' ) ; + // InternalRos.g:2925:1: rule__PackageSet__Group__2__Impl : ( '{' ) ; public final void rule__PackageSet__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2898:1: ( ( '{' ) ) - // InternalRos.g:2899:1: ( '{' ) + // InternalRos.g:2929:1: ( ( '{' ) ) + // InternalRos.g:2930:1: ( '{' ) { - // InternalRos.g:2899:1: ( '{' ) - // InternalRos.g:2900:2: '{' + // InternalRos.g:2930:1: ( '{' ) + // InternalRos.g:2931:2: '{' { before(grammarAccess.getPackageSetAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -9182,14 +9288,14 @@ public final void rule__PackageSet__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__PackageSet__Group__3" - // InternalRos.g:2909:1: rule__PackageSet__Group__3 : rule__PackageSet__Group__3__Impl rule__PackageSet__Group__4 ; + // InternalRos.g:2940:1: rule__PackageSet__Group__3 : rule__PackageSet__Group__3__Impl rule__PackageSet__Group__4 ; public final void rule__PackageSet__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2913:1: ( rule__PackageSet__Group__3__Impl rule__PackageSet__Group__4 ) - // InternalRos.g:2914:2: rule__PackageSet__Group__3__Impl rule__PackageSet__Group__4 + // InternalRos.g:2944:1: ( rule__PackageSet__Group__3__Impl rule__PackageSet__Group__4 ) + // InternalRos.g:2945:2: rule__PackageSet__Group__3__Impl rule__PackageSet__Group__4 { pushFollow(FOLLOW_5); rule__PackageSet__Group__3__Impl(); @@ -9220,29 +9326,29 @@ public final void rule__PackageSet__Group__3() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group__3__Impl" - // InternalRos.g:2921:1: rule__PackageSet__Group__3__Impl : ( ( rule__PackageSet__Group_3__0 )? ) ; + // InternalRos.g:2952:1: rule__PackageSet__Group__3__Impl : ( ( rule__PackageSet__Group_3__0 )? ) ; public final void rule__PackageSet__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2925:1: ( ( ( rule__PackageSet__Group_3__0 )? ) ) - // InternalRos.g:2926:1: ( ( rule__PackageSet__Group_3__0 )? ) + // InternalRos.g:2956:1: ( ( ( rule__PackageSet__Group_3__0 )? ) ) + // InternalRos.g:2957:1: ( ( rule__PackageSet__Group_3__0 )? ) { - // InternalRos.g:2926:1: ( ( rule__PackageSet__Group_3__0 )? ) - // InternalRos.g:2927:2: ( rule__PackageSet__Group_3__0 )? + // InternalRos.g:2957:1: ( ( rule__PackageSet__Group_3__0 )? ) + // InternalRos.g:2958:2: ( rule__PackageSet__Group_3__0 )? { before(grammarAccess.getPackageSetAccess().getGroup_3()); - // InternalRos.g:2928:2: ( rule__PackageSet__Group_3__0 )? + // InternalRos.g:2959:2: ( rule__PackageSet__Group_3__0 )? int alt13=2; int LA13_0 = input.LA(1); - if ( (LA13_0==44||LA13_0==48) ) { + if ( (LA13_0==44||LA13_0==48||LA13_0==50) ) { alt13=1; } switch (alt13) { case 1 : - // InternalRos.g:2928:3: rule__PackageSet__Group_3__0 + // InternalRos.g:2959:3: rule__PackageSet__Group_3__0 { pushFollow(FOLLOW_2); rule__PackageSet__Group_3__0(); @@ -9278,14 +9384,14 @@ public final void rule__PackageSet__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__PackageSet__Group__4" - // InternalRos.g:2936:1: rule__PackageSet__Group__4 : rule__PackageSet__Group__4__Impl ; + // InternalRos.g:2967:1: rule__PackageSet__Group__4 : rule__PackageSet__Group__4__Impl ; public final void rule__PackageSet__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2940:1: ( rule__PackageSet__Group__4__Impl ) - // InternalRos.g:2941:2: rule__PackageSet__Group__4__Impl + // InternalRos.g:2971:1: ( rule__PackageSet__Group__4__Impl ) + // InternalRos.g:2972:2: rule__PackageSet__Group__4__Impl { pushFollow(FOLLOW_2); rule__PackageSet__Group__4__Impl(); @@ -9311,17 +9417,17 @@ public final void rule__PackageSet__Group__4() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group__4__Impl" - // InternalRos.g:2947:1: rule__PackageSet__Group__4__Impl : ( '}' ) ; + // InternalRos.g:2978:1: rule__PackageSet__Group__4__Impl : ( '}' ) ; public final void rule__PackageSet__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2951:1: ( ( '}' ) ) - // InternalRos.g:2952:1: ( '}' ) + // InternalRos.g:2982:1: ( ( '}' ) ) + // InternalRos.g:2983:1: ( '}' ) { - // InternalRos.g:2952:1: ( '}' ) - // InternalRos.g:2953:2: '}' + // InternalRos.g:2983:1: ( '}' ) + // InternalRos.g:2984:2: '}' { before(grammarAccess.getPackageSetAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -9348,14 +9454,14 @@ public final void rule__PackageSet__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__PackageSet__Group_3__0" - // InternalRos.g:2963:1: rule__PackageSet__Group_3__0 : rule__PackageSet__Group_3__0__Impl rule__PackageSet__Group_3__1 ; + // InternalRos.g:2994:1: rule__PackageSet__Group_3__0 : rule__PackageSet__Group_3__0__Impl rule__PackageSet__Group_3__1 ; public final void rule__PackageSet__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2967:1: ( rule__PackageSet__Group_3__0__Impl rule__PackageSet__Group_3__1 ) - // InternalRos.g:2968:2: rule__PackageSet__Group_3__0__Impl rule__PackageSet__Group_3__1 + // InternalRos.g:2998:1: ( rule__PackageSet__Group_3__0__Impl rule__PackageSet__Group_3__1 ) + // InternalRos.g:2999:2: rule__PackageSet__Group_3__0__Impl rule__PackageSet__Group_3__1 { pushFollow(FOLLOW_6); rule__PackageSet__Group_3__0__Impl(); @@ -9386,21 +9492,21 @@ public final void rule__PackageSet__Group_3__0() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group_3__0__Impl" - // InternalRos.g:2975:1: rule__PackageSet__Group_3__0__Impl : ( ( rule__PackageSet__PackageAssignment_3_0 ) ) ; + // InternalRos.g:3006:1: rule__PackageSet__Group_3__0__Impl : ( ( rule__PackageSet__PackageAssignment_3_0 ) ) ; public final void rule__PackageSet__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2979:1: ( ( ( rule__PackageSet__PackageAssignment_3_0 ) ) ) - // InternalRos.g:2980:1: ( ( rule__PackageSet__PackageAssignment_3_0 ) ) + // InternalRos.g:3010:1: ( ( ( rule__PackageSet__PackageAssignment_3_0 ) ) ) + // InternalRos.g:3011:1: ( ( rule__PackageSet__PackageAssignment_3_0 ) ) { - // InternalRos.g:2980:1: ( ( rule__PackageSet__PackageAssignment_3_0 ) ) - // InternalRos.g:2981:2: ( rule__PackageSet__PackageAssignment_3_0 ) + // InternalRos.g:3011:1: ( ( rule__PackageSet__PackageAssignment_3_0 ) ) + // InternalRos.g:3012:2: ( rule__PackageSet__PackageAssignment_3_0 ) { before(grammarAccess.getPackageSetAccess().getPackageAssignment_3_0()); - // InternalRos.g:2982:2: ( rule__PackageSet__PackageAssignment_3_0 ) - // InternalRos.g:2982:3: rule__PackageSet__PackageAssignment_3_0 + // InternalRos.g:3013:2: ( rule__PackageSet__PackageAssignment_3_0 ) + // InternalRos.g:3013:3: rule__PackageSet__PackageAssignment_3_0 { pushFollow(FOLLOW_2); rule__PackageSet__PackageAssignment_3_0(); @@ -9433,14 +9539,14 @@ public final void rule__PackageSet__Group_3__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__PackageSet__Group_3__1" - // InternalRos.g:2990:1: rule__PackageSet__Group_3__1 : rule__PackageSet__Group_3__1__Impl ; + // InternalRos.g:3021:1: rule__PackageSet__Group_3__1 : rule__PackageSet__Group_3__1__Impl ; public final void rule__PackageSet__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:2994:1: ( rule__PackageSet__Group_3__1__Impl ) - // InternalRos.g:2995:2: rule__PackageSet__Group_3__1__Impl + // InternalRos.g:3025:1: ( rule__PackageSet__Group_3__1__Impl ) + // InternalRos.g:3026:2: rule__PackageSet__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__PackageSet__Group_3__1__Impl(); @@ -9466,20 +9572,20 @@ public final void rule__PackageSet__Group_3__1() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group_3__1__Impl" - // InternalRos.g:3001:1: rule__PackageSet__Group_3__1__Impl : ( ( rule__PackageSet__Group_3_1__0 )* ) ; + // InternalRos.g:3032:1: rule__PackageSet__Group_3__1__Impl : ( ( rule__PackageSet__Group_3_1__0 )* ) ; public final void rule__PackageSet__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3005:1: ( ( ( rule__PackageSet__Group_3_1__0 )* ) ) - // InternalRos.g:3006:1: ( ( rule__PackageSet__Group_3_1__0 )* ) + // InternalRos.g:3036:1: ( ( ( rule__PackageSet__Group_3_1__0 )* ) ) + // InternalRos.g:3037:1: ( ( rule__PackageSet__Group_3_1__0 )* ) { - // InternalRos.g:3006:1: ( ( rule__PackageSet__Group_3_1__0 )* ) - // InternalRos.g:3007:2: ( rule__PackageSet__Group_3_1__0 )* + // InternalRos.g:3037:1: ( ( rule__PackageSet__Group_3_1__0 )* ) + // InternalRos.g:3038:2: ( rule__PackageSet__Group_3_1__0 )* { before(grammarAccess.getPackageSetAccess().getGroup_3_1()); - // InternalRos.g:3008:2: ( rule__PackageSet__Group_3_1__0 )* + // InternalRos.g:3039:2: ( rule__PackageSet__Group_3_1__0 )* loop14: do { int alt14=2; @@ -9492,7 +9598,7 @@ public final void rule__PackageSet__Group_3__1__Impl() throws RecognitionExcepti switch (alt14) { case 1 : - // InternalRos.g:3008:3: rule__PackageSet__Group_3_1__0 + // InternalRos.g:3039:3: rule__PackageSet__Group_3_1__0 { pushFollow(FOLLOW_7); rule__PackageSet__Group_3_1__0(); @@ -9531,14 +9637,14 @@ public final void rule__PackageSet__Group_3__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__PackageSet__Group_3_1__0" - // InternalRos.g:3017:1: rule__PackageSet__Group_3_1__0 : rule__PackageSet__Group_3_1__0__Impl rule__PackageSet__Group_3_1__1 ; + // InternalRos.g:3048:1: rule__PackageSet__Group_3_1__0 : rule__PackageSet__Group_3_1__0__Impl rule__PackageSet__Group_3_1__1 ; public final void rule__PackageSet__Group_3_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3021:1: ( rule__PackageSet__Group_3_1__0__Impl rule__PackageSet__Group_3_1__1 ) - // InternalRos.g:3022:2: rule__PackageSet__Group_3_1__0__Impl rule__PackageSet__Group_3_1__1 + // InternalRos.g:3052:1: ( rule__PackageSet__Group_3_1__0__Impl rule__PackageSet__Group_3_1__1 ) + // InternalRos.g:3053:2: rule__PackageSet__Group_3_1__0__Impl rule__PackageSet__Group_3_1__1 { pushFollow(FOLLOW_8); rule__PackageSet__Group_3_1__0__Impl(); @@ -9569,17 +9675,17 @@ public final void rule__PackageSet__Group_3_1__0() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group_3_1__0__Impl" - // InternalRos.g:3029:1: rule__PackageSet__Group_3_1__0__Impl : ( ',' ) ; + // InternalRos.g:3060:1: rule__PackageSet__Group_3_1__0__Impl : ( ',' ) ; public final void rule__PackageSet__Group_3_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3033:1: ( ( ',' ) ) - // InternalRos.g:3034:1: ( ',' ) + // InternalRos.g:3064:1: ( ( ',' ) ) + // InternalRos.g:3065:1: ( ',' ) { - // InternalRos.g:3034:1: ( ',' ) - // InternalRos.g:3035:2: ',' + // InternalRos.g:3065:1: ( ',' ) + // InternalRos.g:3066:2: ',' { before(grammarAccess.getPackageSetAccess().getCommaKeyword_3_1_0()); match(input,43,FOLLOW_2); @@ -9606,14 +9712,14 @@ public final void rule__PackageSet__Group_3_1__0__Impl() throws RecognitionExcep // $ANTLR start "rule__PackageSet__Group_3_1__1" - // InternalRos.g:3044:1: rule__PackageSet__Group_3_1__1 : rule__PackageSet__Group_3_1__1__Impl ; + // InternalRos.g:3075:1: rule__PackageSet__Group_3_1__1 : rule__PackageSet__Group_3_1__1__Impl ; public final void rule__PackageSet__Group_3_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3048:1: ( rule__PackageSet__Group_3_1__1__Impl ) - // InternalRos.g:3049:2: rule__PackageSet__Group_3_1__1__Impl + // InternalRos.g:3079:1: ( rule__PackageSet__Group_3_1__1__Impl ) + // InternalRos.g:3080:2: rule__PackageSet__Group_3_1__1__Impl { pushFollow(FOLLOW_2); rule__PackageSet__Group_3_1__1__Impl(); @@ -9639,21 +9745,21 @@ public final void rule__PackageSet__Group_3_1__1() throws RecognitionException { // $ANTLR start "rule__PackageSet__Group_3_1__1__Impl" - // InternalRos.g:3055:1: rule__PackageSet__Group_3_1__1__Impl : ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) ; + // InternalRos.g:3086:1: rule__PackageSet__Group_3_1__1__Impl : ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) ; public final void rule__PackageSet__Group_3_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3059:1: ( ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) ) - // InternalRos.g:3060:1: ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) + // InternalRos.g:3090:1: ( ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) ) + // InternalRos.g:3091:1: ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) { - // InternalRos.g:3060:1: ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) - // InternalRos.g:3061:2: ( rule__PackageSet__PackageAssignment_3_1_1 ) + // InternalRos.g:3091:1: ( ( rule__PackageSet__PackageAssignment_3_1_1 ) ) + // InternalRos.g:3092:2: ( rule__PackageSet__PackageAssignment_3_1_1 ) { before(grammarAccess.getPackageSetAccess().getPackageAssignment_3_1_1()); - // InternalRos.g:3062:2: ( rule__PackageSet__PackageAssignment_3_1_1 ) - // InternalRos.g:3062:3: rule__PackageSet__PackageAssignment_3_1_1 + // InternalRos.g:3093:2: ( rule__PackageSet__PackageAssignment_3_1_1 ) + // InternalRos.g:3093:3: rule__PackageSet__PackageAssignment_3_1_1 { pushFollow(FOLLOW_2); rule__PackageSet__PackageAssignment_3_1_1(); @@ -9686,14 +9792,14 @@ public final void rule__PackageSet__Group_3_1__1__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group__0" - // InternalRos.g:3071:1: rule__Package_Impl__Group__0 : rule__Package_Impl__Group__0__Impl rule__Package_Impl__Group__1 ; + // InternalRos.g:3102:1: rule__Package_Impl__Group__0 : rule__Package_Impl__Group__0__Impl rule__Package_Impl__Group__1 ; public final void rule__Package_Impl__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3075:1: ( rule__Package_Impl__Group__0__Impl rule__Package_Impl__Group__1 ) - // InternalRos.g:3076:2: rule__Package_Impl__Group__0__Impl rule__Package_Impl__Group__1 + // InternalRos.g:3106:1: ( rule__Package_Impl__Group__0__Impl rule__Package_Impl__Group__1 ) + // InternalRos.g:3107:2: rule__Package_Impl__Group__0__Impl rule__Package_Impl__Group__1 { pushFollow(FOLLOW_9); rule__Package_Impl__Group__0__Impl(); @@ -9724,21 +9830,21 @@ public final void rule__Package_Impl__Group__0() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__0__Impl" - // InternalRos.g:3083:1: rule__Package_Impl__Group__0__Impl : ( () ) ; + // InternalRos.g:3114:1: rule__Package_Impl__Group__0__Impl : ( () ) ; public final void rule__Package_Impl__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3087:1: ( ( () ) ) - // InternalRos.g:3088:1: ( () ) + // InternalRos.g:3118:1: ( ( () ) ) + // InternalRos.g:3119:1: ( () ) { - // InternalRos.g:3088:1: ( () ) - // InternalRos.g:3089:2: () + // InternalRos.g:3119:1: ( () ) + // InternalRos.g:3120:2: () { before(grammarAccess.getPackage_ImplAccess().getPackageAction_0()); - // InternalRos.g:3090:2: () - // InternalRos.g:3090:3: + // InternalRos.g:3121:2: () + // InternalRos.g:3121:3: { } @@ -9761,14 +9867,14 @@ public final void rule__Package_Impl__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__1" - // InternalRos.g:3098:1: rule__Package_Impl__Group__1 : rule__Package_Impl__Group__1__Impl rule__Package_Impl__Group__2 ; + // InternalRos.g:3129:1: rule__Package_Impl__Group__1 : rule__Package_Impl__Group__1__Impl rule__Package_Impl__Group__2 ; public final void rule__Package_Impl__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3102:1: ( rule__Package_Impl__Group__1__Impl rule__Package_Impl__Group__2 ) - // InternalRos.g:3103:2: rule__Package_Impl__Group__1__Impl rule__Package_Impl__Group__2 + // InternalRos.g:3133:1: ( rule__Package_Impl__Group__1__Impl rule__Package_Impl__Group__2 ) + // InternalRos.g:3134:2: rule__Package_Impl__Group__1__Impl rule__Package_Impl__Group__2 { pushFollow(FOLLOW_10); rule__Package_Impl__Group__1__Impl(); @@ -9799,17 +9905,17 @@ public final void rule__Package_Impl__Group__1() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__1__Impl" - // InternalRos.g:3110:1: rule__Package_Impl__Group__1__Impl : ( 'Package' ) ; + // InternalRos.g:3141:1: rule__Package_Impl__Group__1__Impl : ( 'Package' ) ; public final void rule__Package_Impl__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3114:1: ( ( 'Package' ) ) - // InternalRos.g:3115:1: ( 'Package' ) + // InternalRos.g:3145:1: ( ( 'Package' ) ) + // InternalRos.g:3146:1: ( 'Package' ) { - // InternalRos.g:3115:1: ( 'Package' ) - // InternalRos.g:3116:2: 'Package' + // InternalRos.g:3146:1: ( 'Package' ) + // InternalRos.g:3147:2: 'Package' { before(grammarAccess.getPackage_ImplAccess().getPackageKeyword_1()); match(input,44,FOLLOW_2); @@ -9836,14 +9942,14 @@ public final void rule__Package_Impl__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__2" - // InternalRos.g:3125:1: rule__Package_Impl__Group__2 : rule__Package_Impl__Group__2__Impl rule__Package_Impl__Group__3 ; + // InternalRos.g:3156:1: rule__Package_Impl__Group__2 : rule__Package_Impl__Group__2__Impl rule__Package_Impl__Group__3 ; public final void rule__Package_Impl__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3129:1: ( rule__Package_Impl__Group__2__Impl rule__Package_Impl__Group__3 ) - // InternalRos.g:3130:2: rule__Package_Impl__Group__2__Impl rule__Package_Impl__Group__3 + // InternalRos.g:3160:1: ( rule__Package_Impl__Group__2__Impl rule__Package_Impl__Group__3 ) + // InternalRos.g:3161:2: rule__Package_Impl__Group__2__Impl rule__Package_Impl__Group__3 { pushFollow(FOLLOW_4); rule__Package_Impl__Group__2__Impl(); @@ -9874,21 +9980,21 @@ public final void rule__Package_Impl__Group__2() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__2__Impl" - // InternalRos.g:3137:1: rule__Package_Impl__Group__2__Impl : ( ( rule__Package_Impl__NameAssignment_2 ) ) ; + // InternalRos.g:3168:1: rule__Package_Impl__Group__2__Impl : ( ( rule__Package_Impl__NameAssignment_2 ) ) ; public final void rule__Package_Impl__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3141:1: ( ( ( rule__Package_Impl__NameAssignment_2 ) ) ) - // InternalRos.g:3142:1: ( ( rule__Package_Impl__NameAssignment_2 ) ) + // InternalRos.g:3172:1: ( ( ( rule__Package_Impl__NameAssignment_2 ) ) ) + // InternalRos.g:3173:1: ( ( rule__Package_Impl__NameAssignment_2 ) ) { - // InternalRos.g:3142:1: ( ( rule__Package_Impl__NameAssignment_2 ) ) - // InternalRos.g:3143:2: ( rule__Package_Impl__NameAssignment_2 ) + // InternalRos.g:3173:1: ( ( rule__Package_Impl__NameAssignment_2 ) ) + // InternalRos.g:3174:2: ( rule__Package_Impl__NameAssignment_2 ) { before(grammarAccess.getPackage_ImplAccess().getNameAssignment_2()); - // InternalRos.g:3144:2: ( rule__Package_Impl__NameAssignment_2 ) - // InternalRos.g:3144:3: rule__Package_Impl__NameAssignment_2 + // InternalRos.g:3175:2: ( rule__Package_Impl__NameAssignment_2 ) + // InternalRos.g:3175:3: rule__Package_Impl__NameAssignment_2 { pushFollow(FOLLOW_2); rule__Package_Impl__NameAssignment_2(); @@ -9921,14 +10027,14 @@ public final void rule__Package_Impl__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__3" - // InternalRos.g:3152:1: rule__Package_Impl__Group__3 : rule__Package_Impl__Group__3__Impl rule__Package_Impl__Group__4 ; + // InternalRos.g:3183:1: rule__Package_Impl__Group__3 : rule__Package_Impl__Group__3__Impl rule__Package_Impl__Group__4 ; public final void rule__Package_Impl__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3156:1: ( rule__Package_Impl__Group__3__Impl rule__Package_Impl__Group__4 ) - // InternalRos.g:3157:2: rule__Package_Impl__Group__3__Impl rule__Package_Impl__Group__4 + // InternalRos.g:3187:1: ( rule__Package_Impl__Group__3__Impl rule__Package_Impl__Group__4 ) + // InternalRos.g:3188:2: rule__Package_Impl__Group__3__Impl rule__Package_Impl__Group__4 { pushFollow(FOLLOW_11); rule__Package_Impl__Group__3__Impl(); @@ -9959,17 +10065,17 @@ public final void rule__Package_Impl__Group__3() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__3__Impl" - // InternalRos.g:3164:1: rule__Package_Impl__Group__3__Impl : ( '{' ) ; + // InternalRos.g:3195:1: rule__Package_Impl__Group__3__Impl : ( '{' ) ; public final void rule__Package_Impl__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3168:1: ( ( '{' ) ) - // InternalRos.g:3169:1: ( '{' ) + // InternalRos.g:3199:1: ( ( '{' ) ) + // InternalRos.g:3200:1: ( '{' ) { - // InternalRos.g:3169:1: ( '{' ) - // InternalRos.g:3170:2: '{' + // InternalRos.g:3200:1: ( '{' ) + // InternalRos.g:3201:2: '{' { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -9996,14 +10102,14 @@ public final void rule__Package_Impl__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__4" - // InternalRos.g:3179:1: rule__Package_Impl__Group__4 : rule__Package_Impl__Group__4__Impl rule__Package_Impl__Group__5 ; + // InternalRos.g:3210:1: rule__Package_Impl__Group__4 : rule__Package_Impl__Group__4__Impl rule__Package_Impl__Group__5 ; public final void rule__Package_Impl__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3183:1: ( rule__Package_Impl__Group__4__Impl rule__Package_Impl__Group__5 ) - // InternalRos.g:3184:2: rule__Package_Impl__Group__4__Impl rule__Package_Impl__Group__5 + // InternalRos.g:3214:1: ( rule__Package_Impl__Group__4__Impl rule__Package_Impl__Group__5 ) + // InternalRos.g:3215:2: rule__Package_Impl__Group__4__Impl rule__Package_Impl__Group__5 { pushFollow(FOLLOW_11); rule__Package_Impl__Group__4__Impl(); @@ -10034,20 +10140,20 @@ public final void rule__Package_Impl__Group__4() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__4__Impl" - // InternalRos.g:3191:1: rule__Package_Impl__Group__4__Impl : ( ( rule__Package_Impl__Group_4__0 )? ) ; + // InternalRos.g:3222:1: rule__Package_Impl__Group__4__Impl : ( ( rule__Package_Impl__Group_4__0 )? ) ; public final void rule__Package_Impl__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3195:1: ( ( ( rule__Package_Impl__Group_4__0 )? ) ) - // InternalRos.g:3196:1: ( ( rule__Package_Impl__Group_4__0 )? ) + // InternalRos.g:3226:1: ( ( ( rule__Package_Impl__Group_4__0 )? ) ) + // InternalRos.g:3227:1: ( ( rule__Package_Impl__Group_4__0 )? ) { - // InternalRos.g:3196:1: ( ( rule__Package_Impl__Group_4__0 )? ) - // InternalRos.g:3197:2: ( rule__Package_Impl__Group_4__0 )? + // InternalRos.g:3227:1: ( ( rule__Package_Impl__Group_4__0 )? ) + // InternalRos.g:3228:2: ( rule__Package_Impl__Group_4__0 )? { before(grammarAccess.getPackage_ImplAccess().getGroup_4()); - // InternalRos.g:3198:2: ( rule__Package_Impl__Group_4__0 )? + // InternalRos.g:3229:2: ( rule__Package_Impl__Group_4__0 )? int alt15=2; int LA15_0 = input.LA(1); @@ -10056,7 +10162,7 @@ public final void rule__Package_Impl__Group__4__Impl() throws RecognitionExcepti } switch (alt15) { case 1 : - // InternalRos.g:3198:3: rule__Package_Impl__Group_4__0 + // InternalRos.g:3229:3: rule__Package_Impl__Group_4__0 { pushFollow(FOLLOW_2); rule__Package_Impl__Group_4__0(); @@ -10092,14 +10198,14 @@ public final void rule__Package_Impl__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__5" - // InternalRos.g:3206:1: rule__Package_Impl__Group__5 : rule__Package_Impl__Group__5__Impl rule__Package_Impl__Group__6 ; + // InternalRos.g:3237:1: rule__Package_Impl__Group__5 : rule__Package_Impl__Group__5__Impl rule__Package_Impl__Group__6 ; public final void rule__Package_Impl__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3210:1: ( rule__Package_Impl__Group__5__Impl rule__Package_Impl__Group__6 ) - // InternalRos.g:3211:2: rule__Package_Impl__Group__5__Impl rule__Package_Impl__Group__6 + // InternalRos.g:3241:1: ( rule__Package_Impl__Group__5__Impl rule__Package_Impl__Group__6 ) + // InternalRos.g:3242:2: rule__Package_Impl__Group__5__Impl rule__Package_Impl__Group__6 { pushFollow(FOLLOW_11); rule__Package_Impl__Group__5__Impl(); @@ -10130,20 +10236,20 @@ public final void rule__Package_Impl__Group__5() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__5__Impl" - // InternalRos.g:3218:1: rule__Package_Impl__Group__5__Impl : ( ( rule__Package_Impl__Group_5__0 )? ) ; + // InternalRos.g:3249:1: rule__Package_Impl__Group__5__Impl : ( ( rule__Package_Impl__Group_5__0 )? ) ; public final void rule__Package_Impl__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3222:1: ( ( ( rule__Package_Impl__Group_5__0 )? ) ) - // InternalRos.g:3223:1: ( ( rule__Package_Impl__Group_5__0 )? ) + // InternalRos.g:3253:1: ( ( ( rule__Package_Impl__Group_5__0 )? ) ) + // InternalRos.g:3254:1: ( ( rule__Package_Impl__Group_5__0 )? ) { - // InternalRos.g:3223:1: ( ( rule__Package_Impl__Group_5__0 )? ) - // InternalRos.g:3224:2: ( rule__Package_Impl__Group_5__0 )? + // InternalRos.g:3254:1: ( ( rule__Package_Impl__Group_5__0 )? ) + // InternalRos.g:3255:2: ( rule__Package_Impl__Group_5__0 )? { before(grammarAccess.getPackage_ImplAccess().getGroup_5()); - // InternalRos.g:3225:2: ( rule__Package_Impl__Group_5__0 )? + // InternalRos.g:3256:2: ( rule__Package_Impl__Group_5__0 )? int alt16=2; int LA16_0 = input.LA(1); @@ -10152,7 +10258,7 @@ public final void rule__Package_Impl__Group__5__Impl() throws RecognitionExcepti } switch (alt16) { case 1 : - // InternalRos.g:3225:3: rule__Package_Impl__Group_5__0 + // InternalRos.g:3256:3: rule__Package_Impl__Group_5__0 { pushFollow(FOLLOW_2); rule__Package_Impl__Group_5__0(); @@ -10188,14 +10294,14 @@ public final void rule__Package_Impl__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__6" - // InternalRos.g:3233:1: rule__Package_Impl__Group__6 : rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 ; + // InternalRos.g:3264:1: rule__Package_Impl__Group__6 : rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 ; public final void rule__Package_Impl__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3237:1: ( rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 ) - // InternalRos.g:3238:2: rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 + // InternalRos.g:3268:1: ( rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 ) + // InternalRos.g:3269:2: rule__Package_Impl__Group__6__Impl rule__Package_Impl__Group__7 { pushFollow(FOLLOW_11); rule__Package_Impl__Group__6__Impl(); @@ -10226,20 +10332,20 @@ public final void rule__Package_Impl__Group__6() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__6__Impl" - // InternalRos.g:3245:1: rule__Package_Impl__Group__6__Impl : ( ( rule__Package_Impl__Group_6__0 )? ) ; + // InternalRos.g:3276:1: rule__Package_Impl__Group__6__Impl : ( ( rule__Package_Impl__Group_6__0 )? ) ; public final void rule__Package_Impl__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3249:1: ( ( ( rule__Package_Impl__Group_6__0 )? ) ) - // InternalRos.g:3250:1: ( ( rule__Package_Impl__Group_6__0 )? ) + // InternalRos.g:3280:1: ( ( ( rule__Package_Impl__Group_6__0 )? ) ) + // InternalRos.g:3281:1: ( ( rule__Package_Impl__Group_6__0 )? ) { - // InternalRos.g:3250:1: ( ( rule__Package_Impl__Group_6__0 )? ) - // InternalRos.g:3251:2: ( rule__Package_Impl__Group_6__0 )? + // InternalRos.g:3281:1: ( ( rule__Package_Impl__Group_6__0 )? ) + // InternalRos.g:3282:2: ( rule__Package_Impl__Group_6__0 )? { before(grammarAccess.getPackage_ImplAccess().getGroup_6()); - // InternalRos.g:3252:2: ( rule__Package_Impl__Group_6__0 )? + // InternalRos.g:3283:2: ( rule__Package_Impl__Group_6__0 )? int alt17=2; int LA17_0 = input.LA(1); @@ -10248,7 +10354,7 @@ public final void rule__Package_Impl__Group__6__Impl() throws RecognitionExcepti } switch (alt17) { case 1 : - // InternalRos.g:3252:3: rule__Package_Impl__Group_6__0 + // InternalRos.g:3283:3: rule__Package_Impl__Group_6__0 { pushFollow(FOLLOW_2); rule__Package_Impl__Group_6__0(); @@ -10284,14 +10390,14 @@ public final void rule__Package_Impl__Group__6__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group__7" - // InternalRos.g:3260:1: rule__Package_Impl__Group__7 : rule__Package_Impl__Group__7__Impl ; + // InternalRos.g:3291:1: rule__Package_Impl__Group__7 : rule__Package_Impl__Group__7__Impl ; public final void rule__Package_Impl__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3264:1: ( rule__Package_Impl__Group__7__Impl ) - // InternalRos.g:3265:2: rule__Package_Impl__Group__7__Impl + // InternalRos.g:3295:1: ( rule__Package_Impl__Group__7__Impl ) + // InternalRos.g:3296:2: rule__Package_Impl__Group__7__Impl { pushFollow(FOLLOW_2); rule__Package_Impl__Group__7__Impl(); @@ -10317,17 +10423,17 @@ public final void rule__Package_Impl__Group__7() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group__7__Impl" - // InternalRos.g:3271:1: rule__Package_Impl__Group__7__Impl : ( '}' ) ; + // InternalRos.g:3302:1: rule__Package_Impl__Group__7__Impl : ( '}' ) ; public final void rule__Package_Impl__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3275:1: ( ( '}' ) ) - // InternalRos.g:3276:1: ( '}' ) + // InternalRos.g:3306:1: ( ( '}' ) ) + // InternalRos.g:3307:1: ( '}' ) { - // InternalRos.g:3276:1: ( '}' ) - // InternalRos.g:3277:2: '}' + // InternalRos.g:3307:1: ( '}' ) + // InternalRos.g:3308:2: '}' { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -10354,14 +10460,14 @@ public final void rule__Package_Impl__Group__7__Impl() throws RecognitionExcepti // $ANTLR start "rule__Package_Impl__Group_4__0" - // InternalRos.g:3287:1: rule__Package_Impl__Group_4__0 : rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ; + // InternalRos.g:3318:1: rule__Package_Impl__Group_4__0 : rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ; public final void rule__Package_Impl__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3291:1: ( rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ) - // InternalRos.g:3292:2: rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 + // InternalRos.g:3322:1: ( rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 ) + // InternalRos.g:3323:2: rule__Package_Impl__Group_4__0__Impl rule__Package_Impl__Group_4__1 { pushFollow(FOLLOW_10); rule__Package_Impl__Group_4__0__Impl(); @@ -10392,17 +10498,17 @@ public final void rule__Package_Impl__Group_4__0() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_4__0__Impl" - // InternalRos.g:3299:1: rule__Package_Impl__Group_4__0__Impl : ( 'FromGitRepo' ) ; + // InternalRos.g:3330:1: rule__Package_Impl__Group_4__0__Impl : ( 'FromGitRepo' ) ; public final void rule__Package_Impl__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3303:1: ( ( 'FromGitRepo' ) ) - // InternalRos.g:3304:1: ( 'FromGitRepo' ) + // InternalRos.g:3334:1: ( ( 'FromGitRepo' ) ) + // InternalRos.g:3335:1: ( 'FromGitRepo' ) { - // InternalRos.g:3304:1: ( 'FromGitRepo' ) - // InternalRos.g:3305:2: 'FromGitRepo' + // InternalRos.g:3335:1: ( 'FromGitRepo' ) + // InternalRos.g:3336:2: 'FromGitRepo' { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); match(input,45,FOLLOW_2); @@ -10429,14 +10535,14 @@ public final void rule__Package_Impl__Group_4__0__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_4__1" - // InternalRos.g:3314:1: rule__Package_Impl__Group_4__1 : rule__Package_Impl__Group_4__1__Impl ; + // InternalRos.g:3345:1: rule__Package_Impl__Group_4__1 : rule__Package_Impl__Group_4__1__Impl ; public final void rule__Package_Impl__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3318:1: ( rule__Package_Impl__Group_4__1__Impl ) - // InternalRos.g:3319:2: rule__Package_Impl__Group_4__1__Impl + // InternalRos.g:3349:1: ( rule__Package_Impl__Group_4__1__Impl ) + // InternalRos.g:3350:2: rule__Package_Impl__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__Package_Impl__Group_4__1__Impl(); @@ -10462,21 +10568,21 @@ public final void rule__Package_Impl__Group_4__1() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_4__1__Impl" - // InternalRos.g:3325:1: rule__Package_Impl__Group_4__1__Impl : ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) ; + // InternalRos.g:3356:1: rule__Package_Impl__Group_4__1__Impl : ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) ; public final void rule__Package_Impl__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3329:1: ( ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) ) - // InternalRos.g:3330:1: ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) + // InternalRos.g:3360:1: ( ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) ) + // InternalRos.g:3361:1: ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) { - // InternalRos.g:3330:1: ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) - // InternalRos.g:3331:2: ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) + // InternalRos.g:3361:1: ( ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) ) + // InternalRos.g:3362:2: ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoAssignment_4_1()); - // InternalRos.g:3332:2: ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) - // InternalRos.g:3332:3: rule__Package_Impl__FromGitRepoAssignment_4_1 + // InternalRos.g:3363:2: ( rule__Package_Impl__FromGitRepoAssignment_4_1 ) + // InternalRos.g:3363:3: rule__Package_Impl__FromGitRepoAssignment_4_1 { pushFollow(FOLLOW_2); rule__Package_Impl__FromGitRepoAssignment_4_1(); @@ -10509,14 +10615,14 @@ public final void rule__Package_Impl__Group_4__1__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_5__0" - // InternalRos.g:3341:1: rule__Package_Impl__Group_5__0 : rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ; + // InternalRos.g:3372:1: rule__Package_Impl__Group_5__0 : rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ; public final void rule__Package_Impl__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3345:1: ( rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ) - // InternalRos.g:3346:2: rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 + // InternalRos.g:3376:1: ( rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 ) + // InternalRos.g:3377:2: rule__Package_Impl__Group_5__0__Impl rule__Package_Impl__Group_5__1 { pushFollow(FOLLOW_4); rule__Package_Impl__Group_5__0__Impl(); @@ -10547,17 +10653,17 @@ public final void rule__Package_Impl__Group_5__0() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_5__0__Impl" - // InternalRos.g:3353:1: rule__Package_Impl__Group_5__0__Impl : ( 'Specs' ) ; + // InternalRos.g:3384:1: rule__Package_Impl__Group_5__0__Impl : ( 'Specs' ) ; public final void rule__Package_Impl__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3357:1: ( ( 'Specs' ) ) - // InternalRos.g:3358:1: ( 'Specs' ) + // InternalRos.g:3388:1: ( ( 'Specs' ) ) + // InternalRos.g:3389:1: ( 'Specs' ) { - // InternalRos.g:3358:1: ( 'Specs' ) - // InternalRos.g:3359:2: 'Specs' + // InternalRos.g:3389:1: ( 'Specs' ) + // InternalRos.g:3390:2: 'Specs' { before(grammarAccess.getPackage_ImplAccess().getSpecsKeyword_5_0()); match(input,46,FOLLOW_2); @@ -10584,14 +10690,14 @@ public final void rule__Package_Impl__Group_5__0__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_5__1" - // InternalRos.g:3368:1: rule__Package_Impl__Group_5__1 : rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 ; + // InternalRos.g:3399:1: rule__Package_Impl__Group_5__1 : rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 ; public final void rule__Package_Impl__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3372:1: ( rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 ) - // InternalRos.g:3373:2: rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 + // InternalRos.g:3403:1: ( rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 ) + // InternalRos.g:3404:2: rule__Package_Impl__Group_5__1__Impl rule__Package_Impl__Group_5__2 { pushFollow(FOLLOW_12); rule__Package_Impl__Group_5__1__Impl(); @@ -10622,17 +10728,17 @@ public final void rule__Package_Impl__Group_5__1() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_5__1__Impl" - // InternalRos.g:3380:1: rule__Package_Impl__Group_5__1__Impl : ( '{' ) ; + // InternalRos.g:3411:1: rule__Package_Impl__Group_5__1__Impl : ( '{' ) ; public final void rule__Package_Impl__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3384:1: ( ( '{' ) ) - // InternalRos.g:3385:1: ( '{' ) + // InternalRos.g:3415:1: ( ( '{' ) ) + // InternalRos.g:3416:1: ( '{' ) { - // InternalRos.g:3385:1: ( '{' ) - // InternalRos.g:3386:2: '{' + // InternalRos.g:3416:1: ( '{' ) + // InternalRos.g:3417:2: '{' { before(grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); match(input,41,FOLLOW_2); @@ -10659,14 +10765,14 @@ public final void rule__Package_Impl__Group_5__1__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_5__2" - // InternalRos.g:3395:1: rule__Package_Impl__Group_5__2 : rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 ; + // InternalRos.g:3426:1: rule__Package_Impl__Group_5__2 : rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 ; public final void rule__Package_Impl__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3399:1: ( rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 ) - // InternalRos.g:3400:2: rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 + // InternalRos.g:3430:1: ( rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 ) + // InternalRos.g:3431:2: rule__Package_Impl__Group_5__2__Impl rule__Package_Impl__Group_5__3 { pushFollow(FOLLOW_13); rule__Package_Impl__Group_5__2__Impl(); @@ -10697,21 +10803,21 @@ public final void rule__Package_Impl__Group_5__2() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_5__2__Impl" - // InternalRos.g:3407:1: rule__Package_Impl__Group_5__2__Impl : ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) ; + // InternalRos.g:3438:1: rule__Package_Impl__Group_5__2__Impl : ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) ; public final void rule__Package_Impl__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3411:1: ( ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) ) - // InternalRos.g:3412:1: ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) + // InternalRos.g:3442:1: ( ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) ) + // InternalRos.g:3443:1: ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) { - // InternalRos.g:3412:1: ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) - // InternalRos.g:3413:2: ( rule__Package_Impl__SpecAssignment_5_2 ) + // InternalRos.g:3443:1: ( ( rule__Package_Impl__SpecAssignment_5_2 ) ) + // InternalRos.g:3444:2: ( rule__Package_Impl__SpecAssignment_5_2 ) { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_2()); - // InternalRos.g:3414:2: ( rule__Package_Impl__SpecAssignment_5_2 ) - // InternalRos.g:3414:3: rule__Package_Impl__SpecAssignment_5_2 + // InternalRos.g:3445:2: ( rule__Package_Impl__SpecAssignment_5_2 ) + // InternalRos.g:3445:3: rule__Package_Impl__SpecAssignment_5_2 { pushFollow(FOLLOW_2); rule__Package_Impl__SpecAssignment_5_2(); @@ -10744,14 +10850,14 @@ public final void rule__Package_Impl__Group_5__2__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_5__3" - // InternalRos.g:3422:1: rule__Package_Impl__Group_5__3 : rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 ; + // InternalRos.g:3453:1: rule__Package_Impl__Group_5__3 : rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 ; public final void rule__Package_Impl__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3426:1: ( rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 ) - // InternalRos.g:3427:2: rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 + // InternalRos.g:3457:1: ( rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 ) + // InternalRos.g:3458:2: rule__Package_Impl__Group_5__3__Impl rule__Package_Impl__Group_5__4 { pushFollow(FOLLOW_13); rule__Package_Impl__Group_5__3__Impl(); @@ -10782,20 +10888,20 @@ public final void rule__Package_Impl__Group_5__3() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_5__3__Impl" - // InternalRos.g:3434:1: rule__Package_Impl__Group_5__3__Impl : ( ( rule__Package_Impl__Group_5_3__0 )* ) ; + // InternalRos.g:3465:1: rule__Package_Impl__Group_5__3__Impl : ( ( rule__Package_Impl__Group_5_3__0 )* ) ; public final void rule__Package_Impl__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3438:1: ( ( ( rule__Package_Impl__Group_5_3__0 )* ) ) - // InternalRos.g:3439:1: ( ( rule__Package_Impl__Group_5_3__0 )* ) + // InternalRos.g:3469:1: ( ( ( rule__Package_Impl__Group_5_3__0 )* ) ) + // InternalRos.g:3470:1: ( ( rule__Package_Impl__Group_5_3__0 )* ) { - // InternalRos.g:3439:1: ( ( rule__Package_Impl__Group_5_3__0 )* ) - // InternalRos.g:3440:2: ( rule__Package_Impl__Group_5_3__0 )* + // InternalRos.g:3470:1: ( ( rule__Package_Impl__Group_5_3__0 )* ) + // InternalRos.g:3471:2: ( rule__Package_Impl__Group_5_3__0 )* { before(grammarAccess.getPackage_ImplAccess().getGroup_5_3()); - // InternalRos.g:3441:2: ( rule__Package_Impl__Group_5_3__0 )* + // InternalRos.g:3472:2: ( rule__Package_Impl__Group_5_3__0 )* loop18: do { int alt18=2; @@ -10808,7 +10914,7 @@ public final void rule__Package_Impl__Group_5__3__Impl() throws RecognitionExcep switch (alt18) { case 1 : - // InternalRos.g:3441:3: rule__Package_Impl__Group_5_3__0 + // InternalRos.g:3472:3: rule__Package_Impl__Group_5_3__0 { pushFollow(FOLLOW_7); rule__Package_Impl__Group_5_3__0(); @@ -10847,14 +10953,14 @@ public final void rule__Package_Impl__Group_5__3__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_5__4" - // InternalRos.g:3449:1: rule__Package_Impl__Group_5__4 : rule__Package_Impl__Group_5__4__Impl ; + // InternalRos.g:3480:1: rule__Package_Impl__Group_5__4 : rule__Package_Impl__Group_5__4__Impl ; public final void rule__Package_Impl__Group_5__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3453:1: ( rule__Package_Impl__Group_5__4__Impl ) - // InternalRos.g:3454:2: rule__Package_Impl__Group_5__4__Impl + // InternalRos.g:3484:1: ( rule__Package_Impl__Group_5__4__Impl ) + // InternalRos.g:3485:2: rule__Package_Impl__Group_5__4__Impl { pushFollow(FOLLOW_2); rule__Package_Impl__Group_5__4__Impl(); @@ -10880,17 +10986,17 @@ public final void rule__Package_Impl__Group_5__4() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_5__4__Impl" - // InternalRos.g:3460:1: rule__Package_Impl__Group_5__4__Impl : ( '}' ) ; + // InternalRos.g:3491:1: rule__Package_Impl__Group_5__4__Impl : ( '}' ) ; public final void rule__Package_Impl__Group_5__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3464:1: ( ( '}' ) ) - // InternalRos.g:3465:1: ( '}' ) + // InternalRos.g:3495:1: ( ( '}' ) ) + // InternalRos.g:3496:1: ( '}' ) { - // InternalRos.g:3465:1: ( '}' ) - // InternalRos.g:3466:2: '}' + // InternalRos.g:3496:1: ( '}' ) + // InternalRos.g:3497:2: '}' { before(grammarAccess.getPackage_ImplAccess().getRightCurlyBracketKeyword_5_4()); match(input,42,FOLLOW_2); @@ -10917,14 +11023,14 @@ public final void rule__Package_Impl__Group_5__4__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_5_3__0" - // InternalRos.g:3476:1: rule__Package_Impl__Group_5_3__0 : rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 ; + // InternalRos.g:3507:1: rule__Package_Impl__Group_5_3__0 : rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 ; public final void rule__Package_Impl__Group_5_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3480:1: ( rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 ) - // InternalRos.g:3481:2: rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 + // InternalRos.g:3511:1: ( rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 ) + // InternalRos.g:3512:2: rule__Package_Impl__Group_5_3__0__Impl rule__Package_Impl__Group_5_3__1 { pushFollow(FOLLOW_12); rule__Package_Impl__Group_5_3__0__Impl(); @@ -10955,17 +11061,17 @@ public final void rule__Package_Impl__Group_5_3__0() throws RecognitionException // $ANTLR start "rule__Package_Impl__Group_5_3__0__Impl" - // InternalRos.g:3488:1: rule__Package_Impl__Group_5_3__0__Impl : ( ',' ) ; + // InternalRos.g:3519:1: rule__Package_Impl__Group_5_3__0__Impl : ( ',' ) ; public final void rule__Package_Impl__Group_5_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3492:1: ( ( ',' ) ) - // InternalRos.g:3493:1: ( ',' ) + // InternalRos.g:3523:1: ( ( ',' ) ) + // InternalRos.g:3524:1: ( ',' ) { - // InternalRos.g:3493:1: ( ',' ) - // InternalRos.g:3494:2: ',' + // InternalRos.g:3524:1: ( ',' ) + // InternalRos.g:3525:2: ',' { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); match(input,43,FOLLOW_2); @@ -10992,14 +11098,14 @@ public final void rule__Package_Impl__Group_5_3__0__Impl() throws RecognitionExc // $ANTLR start "rule__Package_Impl__Group_5_3__1" - // InternalRos.g:3503:1: rule__Package_Impl__Group_5_3__1 : rule__Package_Impl__Group_5_3__1__Impl ; + // InternalRos.g:3534:1: rule__Package_Impl__Group_5_3__1 : rule__Package_Impl__Group_5_3__1__Impl ; public final void rule__Package_Impl__Group_5_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3507:1: ( rule__Package_Impl__Group_5_3__1__Impl ) - // InternalRos.g:3508:2: rule__Package_Impl__Group_5_3__1__Impl + // InternalRos.g:3538:1: ( rule__Package_Impl__Group_5_3__1__Impl ) + // InternalRos.g:3539:2: rule__Package_Impl__Group_5_3__1__Impl { pushFollow(FOLLOW_2); rule__Package_Impl__Group_5_3__1__Impl(); @@ -11025,21 +11131,21 @@ public final void rule__Package_Impl__Group_5_3__1() throws RecognitionException // $ANTLR start "rule__Package_Impl__Group_5_3__1__Impl" - // InternalRos.g:3514:1: rule__Package_Impl__Group_5_3__1__Impl : ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) ; + // InternalRos.g:3545:1: rule__Package_Impl__Group_5_3__1__Impl : ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) ; public final void rule__Package_Impl__Group_5_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3518:1: ( ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) ) - // InternalRos.g:3519:1: ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) + // InternalRos.g:3549:1: ( ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) ) + // InternalRos.g:3550:1: ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) { - // InternalRos.g:3519:1: ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) - // InternalRos.g:3520:2: ( rule__Package_Impl__SpecAssignment_5_3_1 ) + // InternalRos.g:3550:1: ( ( rule__Package_Impl__SpecAssignment_5_3_1 ) ) + // InternalRos.g:3551:2: ( rule__Package_Impl__SpecAssignment_5_3_1 ) { before(grammarAccess.getPackage_ImplAccess().getSpecAssignment_5_3_1()); - // InternalRos.g:3521:2: ( rule__Package_Impl__SpecAssignment_5_3_1 ) - // InternalRos.g:3521:3: rule__Package_Impl__SpecAssignment_5_3_1 + // InternalRos.g:3552:2: ( rule__Package_Impl__SpecAssignment_5_3_1 ) + // InternalRos.g:3552:3: rule__Package_Impl__SpecAssignment_5_3_1 { pushFollow(FOLLOW_2); rule__Package_Impl__SpecAssignment_5_3_1(); @@ -11072,14 +11178,14 @@ public final void rule__Package_Impl__Group_5_3__1__Impl() throws RecognitionExc // $ANTLR start "rule__Package_Impl__Group_6__0" - // InternalRos.g:3530:1: rule__Package_Impl__Group_6__0 : rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 ; + // InternalRos.g:3561:1: rule__Package_Impl__Group_6__0 : rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 ; public final void rule__Package_Impl__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3534:1: ( rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 ) - // InternalRos.g:3535:2: rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 + // InternalRos.g:3565:1: ( rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 ) + // InternalRos.g:3566:2: rule__Package_Impl__Group_6__0__Impl rule__Package_Impl__Group_6__1 { pushFollow(FOLLOW_6); rule__Package_Impl__Group_6__0__Impl(); @@ -11110,21 +11216,21 @@ public final void rule__Package_Impl__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_6__0__Impl" - // InternalRos.g:3542:1: rule__Package_Impl__Group_6__0__Impl : ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) ; + // InternalRos.g:3573:1: rule__Package_Impl__Group_6__0__Impl : ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) ; public final void rule__Package_Impl__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3546:1: ( ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) ) - // InternalRos.g:3547:1: ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) + // InternalRos.g:3577:1: ( ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) ) + // InternalRos.g:3578:1: ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) { - // InternalRos.g:3547:1: ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) - // InternalRos.g:3548:2: ( rule__Package_Impl__ArtifactAssignment_6_0 ) + // InternalRos.g:3578:1: ( ( rule__Package_Impl__ArtifactAssignment_6_0 ) ) + // InternalRos.g:3579:2: ( rule__Package_Impl__ArtifactAssignment_6_0 ) { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_0()); - // InternalRos.g:3549:2: ( rule__Package_Impl__ArtifactAssignment_6_0 ) - // InternalRos.g:3549:3: rule__Package_Impl__ArtifactAssignment_6_0 + // InternalRos.g:3580:2: ( rule__Package_Impl__ArtifactAssignment_6_0 ) + // InternalRos.g:3580:3: rule__Package_Impl__ArtifactAssignment_6_0 { pushFollow(FOLLOW_2); rule__Package_Impl__ArtifactAssignment_6_0(); @@ -11157,14 +11263,14 @@ public final void rule__Package_Impl__Group_6__0__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_6__1" - // InternalRos.g:3557:1: rule__Package_Impl__Group_6__1 : rule__Package_Impl__Group_6__1__Impl ; + // InternalRos.g:3588:1: rule__Package_Impl__Group_6__1 : rule__Package_Impl__Group_6__1__Impl ; public final void rule__Package_Impl__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3561:1: ( rule__Package_Impl__Group_6__1__Impl ) - // InternalRos.g:3562:2: rule__Package_Impl__Group_6__1__Impl + // InternalRos.g:3592:1: ( rule__Package_Impl__Group_6__1__Impl ) + // InternalRos.g:3593:2: rule__Package_Impl__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__Package_Impl__Group_6__1__Impl(); @@ -11190,20 +11296,20 @@ public final void rule__Package_Impl__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Package_Impl__Group_6__1__Impl" - // InternalRos.g:3568:1: rule__Package_Impl__Group_6__1__Impl : ( ( rule__Package_Impl__Group_6_1__0 )* ) ; + // InternalRos.g:3599:1: rule__Package_Impl__Group_6__1__Impl : ( ( rule__Package_Impl__Group_6_1__0 )* ) ; public final void rule__Package_Impl__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3572:1: ( ( ( rule__Package_Impl__Group_6_1__0 )* ) ) - // InternalRos.g:3573:1: ( ( rule__Package_Impl__Group_6_1__0 )* ) + // InternalRos.g:3603:1: ( ( ( rule__Package_Impl__Group_6_1__0 )* ) ) + // InternalRos.g:3604:1: ( ( rule__Package_Impl__Group_6_1__0 )* ) { - // InternalRos.g:3573:1: ( ( rule__Package_Impl__Group_6_1__0 )* ) - // InternalRos.g:3574:2: ( rule__Package_Impl__Group_6_1__0 )* + // InternalRos.g:3604:1: ( ( rule__Package_Impl__Group_6_1__0 )* ) + // InternalRos.g:3605:2: ( rule__Package_Impl__Group_6_1__0 )* { before(grammarAccess.getPackage_ImplAccess().getGroup_6_1()); - // InternalRos.g:3575:2: ( rule__Package_Impl__Group_6_1__0 )* + // InternalRos.g:3606:2: ( rule__Package_Impl__Group_6_1__0 )* loop19: do { int alt19=2; @@ -11216,7 +11322,7 @@ public final void rule__Package_Impl__Group_6__1__Impl() throws RecognitionExcep switch (alt19) { case 1 : - // InternalRos.g:3575:3: rule__Package_Impl__Group_6_1__0 + // InternalRos.g:3606:3: rule__Package_Impl__Group_6_1__0 { pushFollow(FOLLOW_7); rule__Package_Impl__Group_6_1__0(); @@ -11255,14 +11361,14 @@ public final void rule__Package_Impl__Group_6__1__Impl() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__Group_6_1__0" - // InternalRos.g:3584:1: rule__Package_Impl__Group_6_1__0 : rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 ; + // InternalRos.g:3615:1: rule__Package_Impl__Group_6_1__0 : rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 ; public final void rule__Package_Impl__Group_6_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3588:1: ( rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 ) - // InternalRos.g:3589:2: rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 + // InternalRos.g:3619:1: ( rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 ) + // InternalRos.g:3620:2: rule__Package_Impl__Group_6_1__0__Impl rule__Package_Impl__Group_6_1__1 { pushFollow(FOLLOW_14); rule__Package_Impl__Group_6_1__0__Impl(); @@ -11293,17 +11399,17 @@ public final void rule__Package_Impl__Group_6_1__0() throws RecognitionException // $ANTLR start "rule__Package_Impl__Group_6_1__0__Impl" - // InternalRos.g:3596:1: rule__Package_Impl__Group_6_1__0__Impl : ( ',' ) ; + // InternalRos.g:3627:1: rule__Package_Impl__Group_6_1__0__Impl : ( ',' ) ; public final void rule__Package_Impl__Group_6_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3600:1: ( ( ',' ) ) - // InternalRos.g:3601:1: ( ',' ) + // InternalRos.g:3631:1: ( ( ',' ) ) + // InternalRos.g:3632:1: ( ',' ) { - // InternalRos.g:3601:1: ( ',' ) - // InternalRos.g:3602:2: ',' + // InternalRos.g:3632:1: ( ',' ) + // InternalRos.g:3633:2: ',' { before(grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); match(input,43,FOLLOW_2); @@ -11330,14 +11436,14 @@ public final void rule__Package_Impl__Group_6_1__0__Impl() throws RecognitionExc // $ANTLR start "rule__Package_Impl__Group_6_1__1" - // InternalRos.g:3611:1: rule__Package_Impl__Group_6_1__1 : rule__Package_Impl__Group_6_1__1__Impl ; + // InternalRos.g:3642:1: rule__Package_Impl__Group_6_1__1 : rule__Package_Impl__Group_6_1__1__Impl ; public final void rule__Package_Impl__Group_6_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3615:1: ( rule__Package_Impl__Group_6_1__1__Impl ) - // InternalRos.g:3616:2: rule__Package_Impl__Group_6_1__1__Impl + // InternalRos.g:3646:1: ( rule__Package_Impl__Group_6_1__1__Impl ) + // InternalRos.g:3647:2: rule__Package_Impl__Group_6_1__1__Impl { pushFollow(FOLLOW_2); rule__Package_Impl__Group_6_1__1__Impl(); @@ -11363,21 +11469,21 @@ public final void rule__Package_Impl__Group_6_1__1() throws RecognitionException // $ANTLR start "rule__Package_Impl__Group_6_1__1__Impl" - // InternalRos.g:3622:1: rule__Package_Impl__Group_6_1__1__Impl : ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) ; + // InternalRos.g:3653:1: rule__Package_Impl__Group_6_1__1__Impl : ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) ; public final void rule__Package_Impl__Group_6_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3626:1: ( ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) ) - // InternalRos.g:3627:1: ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) + // InternalRos.g:3657:1: ( ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) ) + // InternalRos.g:3658:1: ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) { - // InternalRos.g:3627:1: ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) - // InternalRos.g:3628:2: ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) + // InternalRos.g:3658:1: ( ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) ) + // InternalRos.g:3659:2: ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) { before(grammarAccess.getPackage_ImplAccess().getArtifactAssignment_6_1_1()); - // InternalRos.g:3629:2: ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) - // InternalRos.g:3629:3: rule__Package_Impl__ArtifactAssignment_6_1_1 + // InternalRos.g:3660:2: ( rule__Package_Impl__ArtifactAssignment_6_1_1 ) + // InternalRos.g:3660:3: rule__Package_Impl__ArtifactAssignment_6_1_1 { pushFollow(FOLLOW_2); rule__Package_Impl__ArtifactAssignment_6_1_1(); @@ -11410,14 +11516,14 @@ public final void rule__Package_Impl__Group_6_1__1__Impl() throws RecognitionExc // $ANTLR start "rule__Artifact__Group__0" - // InternalRos.g:3638:1: rule__Artifact__Group__0 : rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ; + // InternalRos.g:3669:1: rule__Artifact__Group__0 : rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ; public final void rule__Artifact__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3642:1: ( rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ) - // InternalRos.g:3643:2: rule__Artifact__Group__0__Impl rule__Artifact__Group__1 + // InternalRos.g:3673:1: ( rule__Artifact__Group__0__Impl rule__Artifact__Group__1 ) + // InternalRos.g:3674:2: rule__Artifact__Group__0__Impl rule__Artifact__Group__1 { pushFollow(FOLLOW_14); rule__Artifact__Group__0__Impl(); @@ -11448,21 +11554,21 @@ public final void rule__Artifact__Group__0() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__0__Impl" - // InternalRos.g:3650:1: rule__Artifact__Group__0__Impl : ( () ) ; + // InternalRos.g:3681:1: rule__Artifact__Group__0__Impl : ( () ) ; public final void rule__Artifact__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3654:1: ( ( () ) ) - // InternalRos.g:3655:1: ( () ) + // InternalRos.g:3685:1: ( ( () ) ) + // InternalRos.g:3686:1: ( () ) { - // InternalRos.g:3655:1: ( () ) - // InternalRos.g:3656:2: () + // InternalRos.g:3686:1: ( () ) + // InternalRos.g:3687:2: () { before(grammarAccess.getArtifactAccess().getArtifactAction_0()); - // InternalRos.g:3657:2: () - // InternalRos.g:3657:3: + // InternalRos.g:3688:2: () + // InternalRos.g:3688:3: { } @@ -11485,14 +11591,14 @@ public final void rule__Artifact__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__1" - // InternalRos.g:3665:1: rule__Artifact__Group__1 : rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ; + // InternalRos.g:3696:1: rule__Artifact__Group__1 : rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ; public final void rule__Artifact__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3669:1: ( rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ) - // InternalRos.g:3670:2: rule__Artifact__Group__1__Impl rule__Artifact__Group__2 + // InternalRos.g:3700:1: ( rule__Artifact__Group__1__Impl rule__Artifact__Group__2 ) + // InternalRos.g:3701:2: rule__Artifact__Group__1__Impl rule__Artifact__Group__2 { pushFollow(FOLLOW_15); rule__Artifact__Group__1__Impl(); @@ -11523,17 +11629,17 @@ public final void rule__Artifact__Group__1() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__1__Impl" - // InternalRos.g:3677:1: rule__Artifact__Group__1__Impl : ( 'Artifact' ) ; + // InternalRos.g:3708:1: rule__Artifact__Group__1__Impl : ( 'Artifact' ) ; public final void rule__Artifact__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3681:1: ( ( 'Artifact' ) ) - // InternalRos.g:3682:1: ( 'Artifact' ) + // InternalRos.g:3712:1: ( ( 'Artifact' ) ) + // InternalRos.g:3713:1: ( 'Artifact' ) { - // InternalRos.g:3682:1: ( 'Artifact' ) - // InternalRos.g:3683:2: 'Artifact' + // InternalRos.g:3713:1: ( 'Artifact' ) + // InternalRos.g:3714:2: 'Artifact' { before(grammarAccess.getArtifactAccess().getArtifactKeyword_1()); match(input,47,FOLLOW_2); @@ -11560,14 +11666,14 @@ public final void rule__Artifact__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__2" - // InternalRos.g:3692:1: rule__Artifact__Group__2 : rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ; + // InternalRos.g:3723:1: rule__Artifact__Group__2 : rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ; public final void rule__Artifact__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3696:1: ( rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ) - // InternalRos.g:3697:2: rule__Artifact__Group__2__Impl rule__Artifact__Group__3 + // InternalRos.g:3727:1: ( rule__Artifact__Group__2__Impl rule__Artifact__Group__3 ) + // InternalRos.g:3728:2: rule__Artifact__Group__2__Impl rule__Artifact__Group__3 { pushFollow(FOLLOW_4); rule__Artifact__Group__2__Impl(); @@ -11598,21 +11704,21 @@ public final void rule__Artifact__Group__2() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__2__Impl" - // InternalRos.g:3704:1: rule__Artifact__Group__2__Impl : ( ( rule__Artifact__NameAssignment_2 ) ) ; + // InternalRos.g:3735:1: rule__Artifact__Group__2__Impl : ( ( rule__Artifact__NameAssignment_2 ) ) ; public final void rule__Artifact__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3708:1: ( ( ( rule__Artifact__NameAssignment_2 ) ) ) - // InternalRos.g:3709:1: ( ( rule__Artifact__NameAssignment_2 ) ) + // InternalRos.g:3739:1: ( ( ( rule__Artifact__NameAssignment_2 ) ) ) + // InternalRos.g:3740:1: ( ( rule__Artifact__NameAssignment_2 ) ) { - // InternalRos.g:3709:1: ( ( rule__Artifact__NameAssignment_2 ) ) - // InternalRos.g:3710:2: ( rule__Artifact__NameAssignment_2 ) + // InternalRos.g:3740:1: ( ( rule__Artifact__NameAssignment_2 ) ) + // InternalRos.g:3741:2: ( rule__Artifact__NameAssignment_2 ) { before(grammarAccess.getArtifactAccess().getNameAssignment_2()); - // InternalRos.g:3711:2: ( rule__Artifact__NameAssignment_2 ) - // InternalRos.g:3711:3: rule__Artifact__NameAssignment_2 + // InternalRos.g:3742:2: ( rule__Artifact__NameAssignment_2 ) + // InternalRos.g:3742:3: rule__Artifact__NameAssignment_2 { pushFollow(FOLLOW_2); rule__Artifact__NameAssignment_2(); @@ -11645,14 +11751,14 @@ public final void rule__Artifact__Group__2__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__3" - // InternalRos.g:3719:1: rule__Artifact__Group__3 : rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ; + // InternalRos.g:3750:1: rule__Artifact__Group__3 : rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ; public final void rule__Artifact__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3723:1: ( rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ) - // InternalRos.g:3724:2: rule__Artifact__Group__3__Impl rule__Artifact__Group__4 + // InternalRos.g:3754:1: ( rule__Artifact__Group__3__Impl rule__Artifact__Group__4 ) + // InternalRos.g:3755:2: rule__Artifact__Group__3__Impl rule__Artifact__Group__4 { pushFollow(FOLLOW_16); rule__Artifact__Group__3__Impl(); @@ -11683,17 +11789,17 @@ public final void rule__Artifact__Group__3() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__3__Impl" - // InternalRos.g:3731:1: rule__Artifact__Group__3__Impl : ( '{' ) ; + // InternalRos.g:3762:1: rule__Artifact__Group__3__Impl : ( '{' ) ; public final void rule__Artifact__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3735:1: ( ( '{' ) ) - // InternalRos.g:3736:1: ( '{' ) + // InternalRos.g:3766:1: ( ( '{' ) ) + // InternalRos.g:3767:1: ( '{' ) { - // InternalRos.g:3736:1: ( '{' ) - // InternalRos.g:3737:2: '{' + // InternalRos.g:3767:1: ( '{' ) + // InternalRos.g:3768:2: '{' { before(grammarAccess.getArtifactAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -11720,14 +11826,14 @@ public final void rule__Artifact__Group__3__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__4" - // InternalRos.g:3746:1: rule__Artifact__Group__4 : rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ; + // InternalRos.g:3777:1: rule__Artifact__Group__4 : rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ; public final void rule__Artifact__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3750:1: ( rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ) - // InternalRos.g:3751:2: rule__Artifact__Group__4__Impl rule__Artifact__Group__5 + // InternalRos.g:3781:1: ( rule__Artifact__Group__4__Impl rule__Artifact__Group__5 ) + // InternalRos.g:3782:2: rule__Artifact__Group__4__Impl rule__Artifact__Group__5 { pushFollow(FOLLOW_16); rule__Artifact__Group__4__Impl(); @@ -11758,29 +11864,29 @@ public final void rule__Artifact__Group__4() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__4__Impl" - // InternalRos.g:3758:1: rule__Artifact__Group__4__Impl : ( ( rule__Artifact__NodeAssignment_4 )? ) ; + // InternalRos.g:3789:1: rule__Artifact__Group__4__Impl : ( ( rule__Artifact__NodeAssignment_4 )? ) ; public final void rule__Artifact__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3762:1: ( ( ( rule__Artifact__NodeAssignment_4 )? ) ) - // InternalRos.g:3763:1: ( ( rule__Artifact__NodeAssignment_4 )? ) + // InternalRos.g:3793:1: ( ( ( rule__Artifact__NodeAssignment_4 )? ) ) + // InternalRos.g:3794:1: ( ( rule__Artifact__NodeAssignment_4 )? ) { - // InternalRos.g:3763:1: ( ( rule__Artifact__NodeAssignment_4 )? ) - // InternalRos.g:3764:2: ( rule__Artifact__NodeAssignment_4 )? + // InternalRos.g:3794:1: ( ( rule__Artifact__NodeAssignment_4 )? ) + // InternalRos.g:3795:2: ( rule__Artifact__NodeAssignment_4 )? { before(grammarAccess.getArtifactAccess().getNodeAssignment_4()); - // InternalRos.g:3765:2: ( rule__Artifact__NodeAssignment_4 )? + // InternalRos.g:3796:2: ( rule__Artifact__NodeAssignment_4 )? int alt20=2; int LA20_0 = input.LA(1); - if ( (LA20_0==55) ) { + if ( (LA20_0==56) ) { alt20=1; } switch (alt20) { case 1 : - // InternalRos.g:3765:3: rule__Artifact__NodeAssignment_4 + // InternalRos.g:3796:3: rule__Artifact__NodeAssignment_4 { pushFollow(FOLLOW_2); rule__Artifact__NodeAssignment_4(); @@ -11816,14 +11922,14 @@ public final void rule__Artifact__Group__4__Impl() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__5" - // InternalRos.g:3773:1: rule__Artifact__Group__5 : rule__Artifact__Group__5__Impl ; + // InternalRos.g:3804:1: rule__Artifact__Group__5 : rule__Artifact__Group__5__Impl ; public final void rule__Artifact__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3777:1: ( rule__Artifact__Group__5__Impl ) - // InternalRos.g:3778:2: rule__Artifact__Group__5__Impl + // InternalRos.g:3808:1: ( rule__Artifact__Group__5__Impl ) + // InternalRos.g:3809:2: rule__Artifact__Group__5__Impl { pushFollow(FOLLOW_2); rule__Artifact__Group__5__Impl(); @@ -11849,17 +11955,17 @@ public final void rule__Artifact__Group__5() throws RecognitionException { // $ANTLR start "rule__Artifact__Group__5__Impl" - // InternalRos.g:3784:1: rule__Artifact__Group__5__Impl : ( '}' ) ; + // InternalRos.g:3815:1: rule__Artifact__Group__5__Impl : ( '}' ) ; public final void rule__Artifact__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3788:1: ( ( '}' ) ) - // InternalRos.g:3789:1: ( '}' ) + // InternalRos.g:3819:1: ( ( '}' ) ) + // InternalRos.g:3820:1: ( '}' ) { - // InternalRos.g:3789:1: ( '}' ) - // InternalRos.g:3790:2: '}' + // InternalRos.g:3820:1: ( '}' ) + // InternalRos.g:3821:2: '}' { before(grammarAccess.getArtifactAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -11886,16 +11992,16 @@ public final void rule__Artifact__Group__5__Impl() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__0" - // InternalRos.g:3800:1: rule__CatkinPackage__Group__0 : rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ; + // InternalRos.g:3831:1: rule__CatkinPackage__Group__0 : rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ; public final void rule__CatkinPackage__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3804:1: ( rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ) - // InternalRos.g:3805:2: rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 + // InternalRos.g:3835:1: ( rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 ) + // InternalRos.g:3836:2: rule__CatkinPackage__Group__0__Impl rule__CatkinPackage__Group__1 { - pushFollow(FOLLOW_8); + pushFollow(FOLLOW_17); rule__CatkinPackage__Group__0__Impl(); state._fsp--; @@ -11924,21 +12030,21 @@ public final void rule__CatkinPackage__Group__0() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__0__Impl" - // InternalRos.g:3812:1: rule__CatkinPackage__Group__0__Impl : ( () ) ; + // InternalRos.g:3843:1: rule__CatkinPackage__Group__0__Impl : ( () ) ; public final void rule__CatkinPackage__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3816:1: ( ( () ) ) - // InternalRos.g:3817:1: ( () ) + // InternalRos.g:3847:1: ( ( () ) ) + // InternalRos.g:3848:1: ( () ) { - // InternalRos.g:3817:1: ( () ) - // InternalRos.g:3818:2: () + // InternalRos.g:3848:1: ( () ) + // InternalRos.g:3849:2: () { before(grammarAccess.getCatkinPackageAccess().getCatkinPackageAction_0()); - // InternalRos.g:3819:2: () - // InternalRos.g:3819:3: + // InternalRos.g:3850:2: () + // InternalRos.g:3850:3: { } @@ -11961,14 +12067,14 @@ public final void rule__CatkinPackage__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__1" - // InternalRos.g:3827:1: rule__CatkinPackage__Group__1 : rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ; + // InternalRos.g:3858:1: rule__CatkinPackage__Group__1 : rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ; public final void rule__CatkinPackage__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3831:1: ( rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ) - // InternalRos.g:3832:2: rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 + // InternalRos.g:3862:1: ( rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 ) + // InternalRos.g:3863:2: rule__CatkinPackage__Group__1__Impl rule__CatkinPackage__Group__2 { pushFollow(FOLLOW_15); rule__CatkinPackage__Group__1__Impl(); @@ -11999,17 +12105,17 @@ public final void rule__CatkinPackage__Group__1() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__1__Impl" - // InternalRos.g:3839:1: rule__CatkinPackage__Group__1__Impl : ( 'CatkinPackage' ) ; + // InternalRos.g:3870:1: rule__CatkinPackage__Group__1__Impl : ( 'CatkinPackage' ) ; public final void rule__CatkinPackage__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3843:1: ( ( 'CatkinPackage' ) ) - // InternalRos.g:3844:1: ( 'CatkinPackage' ) + // InternalRos.g:3874:1: ( ( 'CatkinPackage' ) ) + // InternalRos.g:3875:1: ( 'CatkinPackage' ) { - // InternalRos.g:3844:1: ( 'CatkinPackage' ) - // InternalRos.g:3845:2: 'CatkinPackage' + // InternalRos.g:3875:1: ( 'CatkinPackage' ) + // InternalRos.g:3876:2: 'CatkinPackage' { before(grammarAccess.getCatkinPackageAccess().getCatkinPackageKeyword_1()); match(input,48,FOLLOW_2); @@ -12036,14 +12142,14 @@ public final void rule__CatkinPackage__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__2" - // InternalRos.g:3854:1: rule__CatkinPackage__Group__2 : rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ; + // InternalRos.g:3885:1: rule__CatkinPackage__Group__2 : rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ; public final void rule__CatkinPackage__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3858:1: ( rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ) - // InternalRos.g:3859:2: rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 + // InternalRos.g:3889:1: ( rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 ) + // InternalRos.g:3890:2: rule__CatkinPackage__Group__2__Impl rule__CatkinPackage__Group__3 { pushFollow(FOLLOW_4); rule__CatkinPackage__Group__2__Impl(); @@ -12074,21 +12180,21 @@ public final void rule__CatkinPackage__Group__2() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__2__Impl" - // InternalRos.g:3866:1: rule__CatkinPackage__Group__2__Impl : ( ( rule__CatkinPackage__NameAssignment_2 ) ) ; + // InternalRos.g:3897:1: rule__CatkinPackage__Group__2__Impl : ( ( rule__CatkinPackage__NameAssignment_2 ) ) ; public final void rule__CatkinPackage__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3870:1: ( ( ( rule__CatkinPackage__NameAssignment_2 ) ) ) - // InternalRos.g:3871:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) + // InternalRos.g:3901:1: ( ( ( rule__CatkinPackage__NameAssignment_2 ) ) ) + // InternalRos.g:3902:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) { - // InternalRos.g:3871:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) - // InternalRos.g:3872:2: ( rule__CatkinPackage__NameAssignment_2 ) + // InternalRos.g:3902:1: ( ( rule__CatkinPackage__NameAssignment_2 ) ) + // InternalRos.g:3903:2: ( rule__CatkinPackage__NameAssignment_2 ) { before(grammarAccess.getCatkinPackageAccess().getNameAssignment_2()); - // InternalRos.g:3873:2: ( rule__CatkinPackage__NameAssignment_2 ) - // InternalRos.g:3873:3: rule__CatkinPackage__NameAssignment_2 + // InternalRos.g:3904:2: ( rule__CatkinPackage__NameAssignment_2 ) + // InternalRos.g:3904:3: rule__CatkinPackage__NameAssignment_2 { pushFollow(FOLLOW_2); rule__CatkinPackage__NameAssignment_2(); @@ -12121,16 +12227,16 @@ public final void rule__CatkinPackage__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__3" - // InternalRos.g:3881:1: rule__CatkinPackage__Group__3 : rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ; + // InternalRos.g:3912:1: rule__CatkinPackage__Group__3 : rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ; public final void rule__CatkinPackage__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3885:1: ( rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ) - // InternalRos.g:3886:2: rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 + // InternalRos.g:3916:1: ( rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 ) + // InternalRos.g:3917:2: rule__CatkinPackage__Group__3__Impl rule__CatkinPackage__Group__4 { - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_18); rule__CatkinPackage__Group__3__Impl(); state._fsp--; @@ -12159,17 +12265,17 @@ public final void rule__CatkinPackage__Group__3() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__3__Impl" - // InternalRos.g:3893:1: rule__CatkinPackage__Group__3__Impl : ( '{' ) ; + // InternalRos.g:3924:1: rule__CatkinPackage__Group__3__Impl : ( '{' ) ; public final void rule__CatkinPackage__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3897:1: ( ( '{' ) ) - // InternalRos.g:3898:1: ( '{' ) + // InternalRos.g:3928:1: ( ( '{' ) ) + // InternalRos.g:3929:1: ( '{' ) { - // InternalRos.g:3898:1: ( '{' ) - // InternalRos.g:3899:2: '{' + // InternalRos.g:3929:1: ( '{' ) + // InternalRos.g:3930:2: '{' { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -12196,16 +12302,16 @@ public final void rule__CatkinPackage__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__4" - // InternalRos.g:3908:1: rule__CatkinPackage__Group__4 : rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ; + // InternalRos.g:3939:1: rule__CatkinPackage__Group__4 : rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ; public final void rule__CatkinPackage__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3912:1: ( rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ) - // InternalRos.g:3913:2: rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 + // InternalRos.g:3943:1: ( rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 ) + // InternalRos.g:3944:2: rule__CatkinPackage__Group__4__Impl rule__CatkinPackage__Group__5 { - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_18); rule__CatkinPackage__Group__4__Impl(); state._fsp--; @@ -12234,20 +12340,20 @@ public final void rule__CatkinPackage__Group__4() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__4__Impl" - // InternalRos.g:3920:1: rule__CatkinPackage__Group__4__Impl : ( ( rule__CatkinPackage__Group_4__0 )? ) ; + // InternalRos.g:3951:1: rule__CatkinPackage__Group__4__Impl : ( ( rule__CatkinPackage__Group_4__0 )? ) ; public final void rule__CatkinPackage__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3924:1: ( ( ( rule__CatkinPackage__Group_4__0 )? ) ) - // InternalRos.g:3925:1: ( ( rule__CatkinPackage__Group_4__0 )? ) + // InternalRos.g:3955:1: ( ( ( rule__CatkinPackage__Group_4__0 )? ) ) + // InternalRos.g:3956:1: ( ( rule__CatkinPackage__Group_4__0 )? ) { - // InternalRos.g:3925:1: ( ( rule__CatkinPackage__Group_4__0 )? ) - // InternalRos.g:3926:2: ( rule__CatkinPackage__Group_4__0 )? + // InternalRos.g:3956:1: ( ( rule__CatkinPackage__Group_4__0 )? ) + // InternalRos.g:3957:2: ( rule__CatkinPackage__Group_4__0 )? { before(grammarAccess.getCatkinPackageAccess().getGroup_4()); - // InternalRos.g:3927:2: ( rule__CatkinPackage__Group_4__0 )? + // InternalRos.g:3958:2: ( rule__CatkinPackage__Group_4__0 )? int alt21=2; int LA21_0 = input.LA(1); @@ -12256,7 +12362,7 @@ public final void rule__CatkinPackage__Group__4__Impl() throws RecognitionExcept } switch (alt21) { case 1 : - // InternalRos.g:3927:3: rule__CatkinPackage__Group_4__0 + // InternalRos.g:3958:3: rule__CatkinPackage__Group_4__0 { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_4__0(); @@ -12292,16 +12398,16 @@ public final void rule__CatkinPackage__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__5" - // InternalRos.g:3935:1: rule__CatkinPackage__Group__5 : rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ; + // InternalRos.g:3966:1: rule__CatkinPackage__Group__5 : rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ; public final void rule__CatkinPackage__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3939:1: ( rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ) - // InternalRos.g:3940:2: rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 + // InternalRos.g:3970:1: ( rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 ) + // InternalRos.g:3971:2: rule__CatkinPackage__Group__5__Impl rule__CatkinPackage__Group__6 { - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_18); rule__CatkinPackage__Group__5__Impl(); state._fsp--; @@ -12330,20 +12436,20 @@ public final void rule__CatkinPackage__Group__5() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__5__Impl" - // InternalRos.g:3947:1: rule__CatkinPackage__Group__5__Impl : ( ( rule__CatkinPackage__Group_5__0 )? ) ; + // InternalRos.g:3978:1: rule__CatkinPackage__Group__5__Impl : ( ( rule__CatkinPackage__Group_5__0 )? ) ; public final void rule__CatkinPackage__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3951:1: ( ( ( rule__CatkinPackage__Group_5__0 )? ) ) - // InternalRos.g:3952:1: ( ( rule__CatkinPackage__Group_5__0 )? ) + // InternalRos.g:3982:1: ( ( ( rule__CatkinPackage__Group_5__0 )? ) ) + // InternalRos.g:3983:1: ( ( rule__CatkinPackage__Group_5__0 )? ) { - // InternalRos.g:3952:1: ( ( rule__CatkinPackage__Group_5__0 )? ) - // InternalRos.g:3953:2: ( rule__CatkinPackage__Group_5__0 )? + // InternalRos.g:3983:1: ( ( rule__CatkinPackage__Group_5__0 )? ) + // InternalRos.g:3984:2: ( rule__CatkinPackage__Group_5__0 )? { before(grammarAccess.getCatkinPackageAccess().getGroup_5()); - // InternalRos.g:3954:2: ( rule__CatkinPackage__Group_5__0 )? + // InternalRos.g:3985:2: ( rule__CatkinPackage__Group_5__0 )? int alt22=2; int LA22_0 = input.LA(1); @@ -12352,7 +12458,7 @@ public final void rule__CatkinPackage__Group__5__Impl() throws RecognitionExcept } switch (alt22) { case 1 : - // InternalRos.g:3954:3: rule__CatkinPackage__Group_5__0 + // InternalRos.g:3985:3: rule__CatkinPackage__Group_5__0 { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_5__0(); @@ -12388,16 +12494,16 @@ public final void rule__CatkinPackage__Group__5__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__6" - // InternalRos.g:3962:1: rule__CatkinPackage__Group__6 : rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ; + // InternalRos.g:3993:1: rule__CatkinPackage__Group__6 : rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ; public final void rule__CatkinPackage__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3966:1: ( rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ) - // InternalRos.g:3967:2: rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 + // InternalRos.g:3997:1: ( rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 ) + // InternalRos.g:3998:2: rule__CatkinPackage__Group__6__Impl rule__CatkinPackage__Group__7 { - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_18); rule__CatkinPackage__Group__6__Impl(); state._fsp--; @@ -12426,20 +12532,20 @@ public final void rule__CatkinPackage__Group__6() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__6__Impl" - // InternalRos.g:3974:1: rule__CatkinPackage__Group__6__Impl : ( ( rule__CatkinPackage__Group_6__0 )? ) ; + // InternalRos.g:4005:1: rule__CatkinPackage__Group__6__Impl : ( ( rule__CatkinPackage__Group_6__0 )? ) ; public final void rule__CatkinPackage__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3978:1: ( ( ( rule__CatkinPackage__Group_6__0 )? ) ) - // InternalRos.g:3979:1: ( ( rule__CatkinPackage__Group_6__0 )? ) + // InternalRos.g:4009:1: ( ( ( rule__CatkinPackage__Group_6__0 )? ) ) + // InternalRos.g:4010:1: ( ( rule__CatkinPackage__Group_6__0 )? ) { - // InternalRos.g:3979:1: ( ( rule__CatkinPackage__Group_6__0 )? ) - // InternalRos.g:3980:2: ( rule__CatkinPackage__Group_6__0 )? + // InternalRos.g:4010:1: ( ( rule__CatkinPackage__Group_6__0 )? ) + // InternalRos.g:4011:2: ( rule__CatkinPackage__Group_6__0 )? { before(grammarAccess.getCatkinPackageAccess().getGroup_6()); - // InternalRos.g:3981:2: ( rule__CatkinPackage__Group_6__0 )? + // InternalRos.g:4012:2: ( rule__CatkinPackage__Group_6__0 )? int alt23=2; int LA23_0 = input.LA(1); @@ -12448,7 +12554,7 @@ public final void rule__CatkinPackage__Group__6__Impl() throws RecognitionExcept } switch (alt23) { case 1 : - // InternalRos.g:3981:3: rule__CatkinPackage__Group_6__0 + // InternalRos.g:4012:3: rule__CatkinPackage__Group_6__0 { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_6__0(); @@ -12484,16 +12590,16 @@ public final void rule__CatkinPackage__Group__6__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__7" - // InternalRos.g:3989:1: rule__CatkinPackage__Group__7 : rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 ; + // InternalRos.g:4020:1: rule__CatkinPackage__Group__7 : rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 ; public final void rule__CatkinPackage__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:3993:1: ( rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 ) - // InternalRos.g:3994:2: rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 + // InternalRos.g:4024:1: ( rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 ) + // InternalRos.g:4025:2: rule__CatkinPackage__Group__7__Impl rule__CatkinPackage__Group__8 { - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_18); rule__CatkinPackage__Group__7__Impl(); state._fsp--; @@ -12522,20 +12628,20 @@ public final void rule__CatkinPackage__Group__7() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__7__Impl" - // InternalRos.g:4001:1: rule__CatkinPackage__Group__7__Impl : ( ( rule__CatkinPackage__Group_7__0 )? ) ; + // InternalRos.g:4032:1: rule__CatkinPackage__Group__7__Impl : ( ( rule__CatkinPackage__Group_7__0 )? ) ; public final void rule__CatkinPackage__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4005:1: ( ( ( rule__CatkinPackage__Group_7__0 )? ) ) - // InternalRos.g:4006:1: ( ( rule__CatkinPackage__Group_7__0 )? ) + // InternalRos.g:4036:1: ( ( ( rule__CatkinPackage__Group_7__0 )? ) ) + // InternalRos.g:4037:1: ( ( rule__CatkinPackage__Group_7__0 )? ) { - // InternalRos.g:4006:1: ( ( rule__CatkinPackage__Group_7__0 )? ) - // InternalRos.g:4007:2: ( rule__CatkinPackage__Group_7__0 )? + // InternalRos.g:4037:1: ( ( rule__CatkinPackage__Group_7__0 )? ) + // InternalRos.g:4038:2: ( rule__CatkinPackage__Group_7__0 )? { before(grammarAccess.getCatkinPackageAccess().getGroup_7()); - // InternalRos.g:4008:2: ( rule__CatkinPackage__Group_7__0 )? + // InternalRos.g:4039:2: ( rule__CatkinPackage__Group_7__0 )? int alt24=2; int LA24_0 = input.LA(1); @@ -12544,7 +12650,7 @@ public final void rule__CatkinPackage__Group__7__Impl() throws RecognitionExcept } switch (alt24) { case 1 : - // InternalRos.g:4008:3: rule__CatkinPackage__Group_7__0 + // InternalRos.g:4039:3: rule__CatkinPackage__Group_7__0 { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_7__0(); @@ -12580,14 +12686,14 @@ public final void rule__CatkinPackage__Group__7__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group__8" - // InternalRos.g:4016:1: rule__CatkinPackage__Group__8 : rule__CatkinPackage__Group__8__Impl ; + // InternalRos.g:4047:1: rule__CatkinPackage__Group__8 : rule__CatkinPackage__Group__8__Impl ; public final void rule__CatkinPackage__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4020:1: ( rule__CatkinPackage__Group__8__Impl ) - // InternalRos.g:4021:2: rule__CatkinPackage__Group__8__Impl + // InternalRos.g:4051:1: ( rule__CatkinPackage__Group__8__Impl ) + // InternalRos.g:4052:2: rule__CatkinPackage__Group__8__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group__8__Impl(); @@ -12613,17 +12719,17 @@ public final void rule__CatkinPackage__Group__8() throws RecognitionException { // $ANTLR start "rule__CatkinPackage__Group__8__Impl" - // InternalRos.g:4027:1: rule__CatkinPackage__Group__8__Impl : ( '}' ) ; + // InternalRos.g:4058:1: rule__CatkinPackage__Group__8__Impl : ( '}' ) ; public final void rule__CatkinPackage__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4031:1: ( ( '}' ) ) - // InternalRos.g:4032:1: ( '}' ) + // InternalRos.g:4062:1: ( ( '}' ) ) + // InternalRos.g:4063:1: ( '}' ) { - // InternalRos.g:4032:1: ( '}' ) - // InternalRos.g:4033:2: '}' + // InternalRos.g:4063:1: ( '}' ) + // InternalRos.g:4064:2: '}' { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); match(input,42,FOLLOW_2); @@ -12650,14 +12756,14 @@ public final void rule__CatkinPackage__Group__8__Impl() throws RecognitionExcept // $ANTLR start "rule__CatkinPackage__Group_4__0" - // InternalRos.g:4043:1: rule__CatkinPackage__Group_4__0 : rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ; + // InternalRos.g:4074:1: rule__CatkinPackage__Group_4__0 : rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ; public final void rule__CatkinPackage__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4047:1: ( rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ) - // InternalRos.g:4048:2: rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 + // InternalRos.g:4078:1: ( rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 ) + // InternalRos.g:4079:2: rule__CatkinPackage__Group_4__0__Impl rule__CatkinPackage__Group_4__1 { pushFollow(FOLLOW_10); rule__CatkinPackage__Group_4__0__Impl(); @@ -12688,17 +12794,17 @@ public final void rule__CatkinPackage__Group_4__0() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_4__0__Impl" - // InternalRos.g:4055:1: rule__CatkinPackage__Group_4__0__Impl : ( 'FromGitRepo' ) ; + // InternalRos.g:4086:1: rule__CatkinPackage__Group_4__0__Impl : ( 'FromGitRepo' ) ; public final void rule__CatkinPackage__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4059:1: ( ( 'FromGitRepo' ) ) - // InternalRos.g:4060:1: ( 'FromGitRepo' ) + // InternalRos.g:4090:1: ( ( 'FromGitRepo' ) ) + // InternalRos.g:4091:1: ( 'FromGitRepo' ) { - // InternalRos.g:4060:1: ( 'FromGitRepo' ) - // InternalRos.g:4061:2: 'FromGitRepo' + // InternalRos.g:4091:1: ( 'FromGitRepo' ) + // InternalRos.g:4092:2: 'FromGitRepo' { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); match(input,45,FOLLOW_2); @@ -12725,14 +12831,14 @@ public final void rule__CatkinPackage__Group_4__0__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_4__1" - // InternalRos.g:4070:1: rule__CatkinPackage__Group_4__1 : rule__CatkinPackage__Group_4__1__Impl ; + // InternalRos.g:4101:1: rule__CatkinPackage__Group_4__1 : rule__CatkinPackage__Group_4__1__Impl ; public final void rule__CatkinPackage__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4074:1: ( rule__CatkinPackage__Group_4__1__Impl ) - // InternalRos.g:4075:2: rule__CatkinPackage__Group_4__1__Impl + // InternalRos.g:4105:1: ( rule__CatkinPackage__Group_4__1__Impl ) + // InternalRos.g:4106:2: rule__CatkinPackage__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_4__1__Impl(); @@ -12758,21 +12864,21 @@ public final void rule__CatkinPackage__Group_4__1() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_4__1__Impl" - // InternalRos.g:4081:1: rule__CatkinPackage__Group_4__1__Impl : ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) ; + // InternalRos.g:4112:1: rule__CatkinPackage__Group_4__1__Impl : ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) ; public final void rule__CatkinPackage__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4085:1: ( ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) ) - // InternalRos.g:4086:1: ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) + // InternalRos.g:4116:1: ( ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) ) + // InternalRos.g:4117:1: ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) { - // InternalRos.g:4086:1: ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) - // InternalRos.g:4087:2: ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) + // InternalRos.g:4117:1: ( ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) ) + // InternalRos.g:4118:2: ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoAssignment_4_1()); - // InternalRos.g:4088:2: ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) - // InternalRos.g:4088:3: rule__CatkinPackage__FromGitRepoAssignment_4_1 + // InternalRos.g:4119:2: ( rule__CatkinPackage__FromGitRepoAssignment_4_1 ) + // InternalRos.g:4119:3: rule__CatkinPackage__FromGitRepoAssignment_4_1 { pushFollow(FOLLOW_2); rule__CatkinPackage__FromGitRepoAssignment_4_1(); @@ -12805,14 +12911,14 @@ public final void rule__CatkinPackage__Group_4__1__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_5__0" - // InternalRos.g:4097:1: rule__CatkinPackage__Group_5__0 : rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ; + // InternalRos.g:4128:1: rule__CatkinPackage__Group_5__0 : rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ; public final void rule__CatkinPackage__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4101:1: ( rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ) - // InternalRos.g:4102:2: rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 + // InternalRos.g:4132:1: ( rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 ) + // InternalRos.g:4133:2: rule__CatkinPackage__Group_5__0__Impl rule__CatkinPackage__Group_5__1 { pushFollow(FOLLOW_4); rule__CatkinPackage__Group_5__0__Impl(); @@ -12843,17 +12949,17 @@ public final void rule__CatkinPackage__Group_5__0() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_5__0__Impl" - // InternalRos.g:4109:1: rule__CatkinPackage__Group_5__0__Impl : ( 'Dependencies' ) ; + // InternalRos.g:4140:1: rule__CatkinPackage__Group_5__0__Impl : ( 'Dependencies' ) ; public final void rule__CatkinPackage__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4113:1: ( ( 'Dependencies' ) ) - // InternalRos.g:4114:1: ( 'Dependencies' ) + // InternalRos.g:4144:1: ( ( 'Dependencies' ) ) + // InternalRos.g:4145:1: ( 'Dependencies' ) { - // InternalRos.g:4114:1: ( 'Dependencies' ) - // InternalRos.g:4115:2: 'Dependencies' + // InternalRos.g:4145:1: ( 'Dependencies' ) + // InternalRos.g:4146:2: 'Dependencies' { before(grammarAccess.getCatkinPackageAccess().getDependenciesKeyword_5_0()); match(input,49,FOLLOW_2); @@ -12880,16 +12986,16 @@ public final void rule__CatkinPackage__Group_5__0__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_5__1" - // InternalRos.g:4124:1: rule__CatkinPackage__Group_5__1 : rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 ; + // InternalRos.g:4155:1: rule__CatkinPackage__Group_5__1 : rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 ; public final void rule__CatkinPackage__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4128:1: ( rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 ) - // InternalRos.g:4129:2: rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 + // InternalRos.g:4159:1: ( rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 ) + // InternalRos.g:4160:2: rule__CatkinPackage__Group_5__1__Impl rule__CatkinPackage__Group_5__2 { - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_19); rule__CatkinPackage__Group_5__1__Impl(); state._fsp--; @@ -12918,17 +13024,17 @@ public final void rule__CatkinPackage__Group_5__1() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_5__1__Impl" - // InternalRos.g:4136:1: rule__CatkinPackage__Group_5__1__Impl : ( '{' ) ; + // InternalRos.g:4167:1: rule__CatkinPackage__Group_5__1__Impl : ( '{' ) ; public final void rule__CatkinPackage__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4140:1: ( ( '{' ) ) - // InternalRos.g:4141:1: ( '{' ) + // InternalRos.g:4171:1: ( ( '{' ) ) + // InternalRos.g:4172:1: ( '{' ) { - // InternalRos.g:4141:1: ( '{' ) - // InternalRos.g:4142:2: '{' + // InternalRos.g:4172:1: ( '{' ) + // InternalRos.g:4173:2: '{' { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); match(input,41,FOLLOW_2); @@ -12955,14 +13061,14 @@ public final void rule__CatkinPackage__Group_5__1__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_5__2" - // InternalRos.g:4151:1: rule__CatkinPackage__Group_5__2 : rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 ; + // InternalRos.g:4182:1: rule__CatkinPackage__Group_5__2 : rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 ; public final void rule__CatkinPackage__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4155:1: ( rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 ) - // InternalRos.g:4156:2: rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 + // InternalRos.g:4186:1: ( rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 ) + // InternalRos.g:4187:2: rule__CatkinPackage__Group_5__2__Impl rule__CatkinPackage__Group_5__3 { pushFollow(FOLLOW_13); rule__CatkinPackage__Group_5__2__Impl(); @@ -12993,21 +13099,21 @@ public final void rule__CatkinPackage__Group_5__2() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_5__2__Impl" - // InternalRos.g:4163:1: rule__CatkinPackage__Group_5__2__Impl : ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) ; + // InternalRos.g:4194:1: rule__CatkinPackage__Group_5__2__Impl : ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) ; public final void rule__CatkinPackage__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4167:1: ( ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) ) - // InternalRos.g:4168:1: ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) + // InternalRos.g:4198:1: ( ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) ) + // InternalRos.g:4199:1: ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) { - // InternalRos.g:4168:1: ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) - // InternalRos.g:4169:2: ( rule__CatkinPackage__DependencyAssignment_5_2 ) + // InternalRos.g:4199:1: ( ( rule__CatkinPackage__DependencyAssignment_5_2 ) ) + // InternalRos.g:4200:2: ( rule__CatkinPackage__DependencyAssignment_5_2 ) { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_2()); - // InternalRos.g:4170:2: ( rule__CatkinPackage__DependencyAssignment_5_2 ) - // InternalRos.g:4170:3: rule__CatkinPackage__DependencyAssignment_5_2 + // InternalRos.g:4201:2: ( rule__CatkinPackage__DependencyAssignment_5_2 ) + // InternalRos.g:4201:3: rule__CatkinPackage__DependencyAssignment_5_2 { pushFollow(FOLLOW_2); rule__CatkinPackage__DependencyAssignment_5_2(); @@ -13040,14 +13146,14 @@ public final void rule__CatkinPackage__Group_5__2__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_5__3" - // InternalRos.g:4178:1: rule__CatkinPackage__Group_5__3 : rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 ; + // InternalRos.g:4209:1: rule__CatkinPackage__Group_5__3 : rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 ; public final void rule__CatkinPackage__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4182:1: ( rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 ) - // InternalRos.g:4183:2: rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 + // InternalRos.g:4213:1: ( rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 ) + // InternalRos.g:4214:2: rule__CatkinPackage__Group_5__3__Impl rule__CatkinPackage__Group_5__4 { pushFollow(FOLLOW_13); rule__CatkinPackage__Group_5__3__Impl(); @@ -13078,20 +13184,20 @@ public final void rule__CatkinPackage__Group_5__3() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_5__3__Impl" - // InternalRos.g:4190:1: rule__CatkinPackage__Group_5__3__Impl : ( ( rule__CatkinPackage__Group_5_3__0 )* ) ; + // InternalRos.g:4221:1: rule__CatkinPackage__Group_5__3__Impl : ( ( rule__CatkinPackage__Group_5_3__0 )* ) ; public final void rule__CatkinPackage__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4194:1: ( ( ( rule__CatkinPackage__Group_5_3__0 )* ) ) - // InternalRos.g:4195:1: ( ( rule__CatkinPackage__Group_5_3__0 )* ) + // InternalRos.g:4225:1: ( ( ( rule__CatkinPackage__Group_5_3__0 )* ) ) + // InternalRos.g:4226:1: ( ( rule__CatkinPackage__Group_5_3__0 )* ) { - // InternalRos.g:4195:1: ( ( rule__CatkinPackage__Group_5_3__0 )* ) - // InternalRos.g:4196:2: ( rule__CatkinPackage__Group_5_3__0 )* + // InternalRos.g:4226:1: ( ( rule__CatkinPackage__Group_5_3__0 )* ) + // InternalRos.g:4227:2: ( rule__CatkinPackage__Group_5_3__0 )* { before(grammarAccess.getCatkinPackageAccess().getGroup_5_3()); - // InternalRos.g:4197:2: ( rule__CatkinPackage__Group_5_3__0 )* + // InternalRos.g:4228:2: ( rule__CatkinPackage__Group_5_3__0 )* loop25: do { int alt25=2; @@ -13104,7 +13210,7 @@ public final void rule__CatkinPackage__Group_5__3__Impl() throws RecognitionExce switch (alt25) { case 1 : - // InternalRos.g:4197:3: rule__CatkinPackage__Group_5_3__0 + // InternalRos.g:4228:3: rule__CatkinPackage__Group_5_3__0 { pushFollow(FOLLOW_7); rule__CatkinPackage__Group_5_3__0(); @@ -13143,14 +13249,14 @@ public final void rule__CatkinPackage__Group_5__3__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_5__4" - // InternalRos.g:4205:1: rule__CatkinPackage__Group_5__4 : rule__CatkinPackage__Group_5__4__Impl ; + // InternalRos.g:4236:1: rule__CatkinPackage__Group_5__4 : rule__CatkinPackage__Group_5__4__Impl ; public final void rule__CatkinPackage__Group_5__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4209:1: ( rule__CatkinPackage__Group_5__4__Impl ) - // InternalRos.g:4210:2: rule__CatkinPackage__Group_5__4__Impl + // InternalRos.g:4240:1: ( rule__CatkinPackage__Group_5__4__Impl ) + // InternalRos.g:4241:2: rule__CatkinPackage__Group_5__4__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_5__4__Impl(); @@ -13176,17 +13282,17 @@ public final void rule__CatkinPackage__Group_5__4() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_5__4__Impl" - // InternalRos.g:4216:1: rule__CatkinPackage__Group_5__4__Impl : ( '}' ) ; + // InternalRos.g:4247:1: rule__CatkinPackage__Group_5__4__Impl : ( '}' ) ; public final void rule__CatkinPackage__Group_5__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4220:1: ( ( '}' ) ) - // InternalRos.g:4221:1: ( '}' ) + // InternalRos.g:4251:1: ( ( '}' ) ) + // InternalRos.g:4252:1: ( '}' ) { - // InternalRos.g:4221:1: ( '}' ) - // InternalRos.g:4222:2: '}' + // InternalRos.g:4252:1: ( '}' ) + // InternalRos.g:4253:2: '}' { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_5_4()); match(input,42,FOLLOW_2); @@ -13213,16 +13319,16 @@ public final void rule__CatkinPackage__Group_5__4__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_5_3__0" - // InternalRos.g:4232:1: rule__CatkinPackage__Group_5_3__0 : rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 ; + // InternalRos.g:4263:1: rule__CatkinPackage__Group_5_3__0 : rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 ; public final void rule__CatkinPackage__Group_5_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4236:1: ( rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 ) - // InternalRos.g:4237:2: rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 + // InternalRos.g:4267:1: ( rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 ) + // InternalRos.g:4268:2: rule__CatkinPackage__Group_5_3__0__Impl rule__CatkinPackage__Group_5_3__1 { - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_19); rule__CatkinPackage__Group_5_3__0__Impl(); state._fsp--; @@ -13251,17 +13357,17 @@ public final void rule__CatkinPackage__Group_5_3__0() throws RecognitionExceptio // $ANTLR start "rule__CatkinPackage__Group_5_3__0__Impl" - // InternalRos.g:4244:1: rule__CatkinPackage__Group_5_3__0__Impl : ( ',' ) ; + // InternalRos.g:4275:1: rule__CatkinPackage__Group_5_3__0__Impl : ( ',' ) ; public final void rule__CatkinPackage__Group_5_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4248:1: ( ( ',' ) ) - // InternalRos.g:4249:1: ( ',' ) + // InternalRos.g:4279:1: ( ( ',' ) ) + // InternalRos.g:4280:1: ( ',' ) { - // InternalRos.g:4249:1: ( ',' ) - // InternalRos.g:4250:2: ',' + // InternalRos.g:4280:1: ( ',' ) + // InternalRos.g:4281:2: ',' { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); match(input,43,FOLLOW_2); @@ -13288,14 +13394,14 @@ public final void rule__CatkinPackage__Group_5_3__0__Impl() throws RecognitionEx // $ANTLR start "rule__CatkinPackage__Group_5_3__1" - // InternalRos.g:4259:1: rule__CatkinPackage__Group_5_3__1 : rule__CatkinPackage__Group_5_3__1__Impl ; + // InternalRos.g:4290:1: rule__CatkinPackage__Group_5_3__1 : rule__CatkinPackage__Group_5_3__1__Impl ; public final void rule__CatkinPackage__Group_5_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4263:1: ( rule__CatkinPackage__Group_5_3__1__Impl ) - // InternalRos.g:4264:2: rule__CatkinPackage__Group_5_3__1__Impl + // InternalRos.g:4294:1: ( rule__CatkinPackage__Group_5_3__1__Impl ) + // InternalRos.g:4295:2: rule__CatkinPackage__Group_5_3__1__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_5_3__1__Impl(); @@ -13321,21 +13427,21 @@ public final void rule__CatkinPackage__Group_5_3__1() throws RecognitionExceptio // $ANTLR start "rule__CatkinPackage__Group_5_3__1__Impl" - // InternalRos.g:4270:1: rule__CatkinPackage__Group_5_3__1__Impl : ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) ; + // InternalRos.g:4301:1: rule__CatkinPackage__Group_5_3__1__Impl : ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) ; public final void rule__CatkinPackage__Group_5_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4274:1: ( ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) ) - // InternalRos.g:4275:1: ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) + // InternalRos.g:4305:1: ( ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) ) + // InternalRos.g:4306:1: ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) { - // InternalRos.g:4275:1: ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) - // InternalRos.g:4276:2: ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) + // InternalRos.g:4306:1: ( ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) ) + // InternalRos.g:4307:2: ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) { before(grammarAccess.getCatkinPackageAccess().getDependencyAssignment_5_3_1()); - // InternalRos.g:4277:2: ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) - // InternalRos.g:4277:3: rule__CatkinPackage__DependencyAssignment_5_3_1 + // InternalRos.g:4308:2: ( rule__CatkinPackage__DependencyAssignment_5_3_1 ) + // InternalRos.g:4308:3: rule__CatkinPackage__DependencyAssignment_5_3_1 { pushFollow(FOLLOW_2); rule__CatkinPackage__DependencyAssignment_5_3_1(); @@ -13368,14 +13474,14 @@ public final void rule__CatkinPackage__Group_5_3__1__Impl() throws RecognitionEx // $ANTLR start "rule__CatkinPackage__Group_6__0" - // InternalRos.g:4286:1: rule__CatkinPackage__Group_6__0 : rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ; + // InternalRos.g:4317:1: rule__CatkinPackage__Group_6__0 : rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ; public final void rule__CatkinPackage__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4290:1: ( rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ) - // InternalRos.g:4291:2: rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 + // InternalRos.g:4321:1: ( rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 ) + // InternalRos.g:4322:2: rule__CatkinPackage__Group_6__0__Impl rule__CatkinPackage__Group_6__1 { pushFollow(FOLLOW_4); rule__CatkinPackage__Group_6__0__Impl(); @@ -13406,17 +13512,17 @@ public final void rule__CatkinPackage__Group_6__0() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_6__0__Impl" - // InternalRos.g:4298:1: rule__CatkinPackage__Group_6__0__Impl : ( 'Specs' ) ; + // InternalRos.g:4329:1: rule__CatkinPackage__Group_6__0__Impl : ( 'Specs' ) ; public final void rule__CatkinPackage__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4302:1: ( ( 'Specs' ) ) - // InternalRos.g:4303:1: ( 'Specs' ) + // InternalRos.g:4333:1: ( ( 'Specs' ) ) + // InternalRos.g:4334:1: ( 'Specs' ) { - // InternalRos.g:4303:1: ( 'Specs' ) - // InternalRos.g:4304:2: 'Specs' + // InternalRos.g:4334:1: ( 'Specs' ) + // InternalRos.g:4335:2: 'Specs' { before(grammarAccess.getCatkinPackageAccess().getSpecsKeyword_6_0()); match(input,46,FOLLOW_2); @@ -13443,14 +13549,14 @@ public final void rule__CatkinPackage__Group_6__0__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_6__1" - // InternalRos.g:4313:1: rule__CatkinPackage__Group_6__1 : rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ; + // InternalRos.g:4344:1: rule__CatkinPackage__Group_6__1 : rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ; public final void rule__CatkinPackage__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4317:1: ( rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ) - // InternalRos.g:4318:2: rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 + // InternalRos.g:4348:1: ( rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 ) + // InternalRos.g:4349:2: rule__CatkinPackage__Group_6__1__Impl rule__CatkinPackage__Group_6__2 { pushFollow(FOLLOW_12); rule__CatkinPackage__Group_6__1__Impl(); @@ -13481,17 +13587,17 @@ public final void rule__CatkinPackage__Group_6__1() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_6__1__Impl" - // InternalRos.g:4325:1: rule__CatkinPackage__Group_6__1__Impl : ( '{' ) ; + // InternalRos.g:4356:1: rule__CatkinPackage__Group_6__1__Impl : ( '{' ) ; public final void rule__CatkinPackage__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4329:1: ( ( '{' ) ) - // InternalRos.g:4330:1: ( '{' ) + // InternalRos.g:4360:1: ( ( '{' ) ) + // InternalRos.g:4361:1: ( '{' ) { - // InternalRos.g:4330:1: ( '{' ) - // InternalRos.g:4331:2: '{' + // InternalRos.g:4361:1: ( '{' ) + // InternalRos.g:4362:2: '{' { before(grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); match(input,41,FOLLOW_2); @@ -13518,14 +13624,14 @@ public final void rule__CatkinPackage__Group_6__1__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_6__2" - // InternalRos.g:4340:1: rule__CatkinPackage__Group_6__2 : rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ; + // InternalRos.g:4371:1: rule__CatkinPackage__Group_6__2 : rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ; public final void rule__CatkinPackage__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4344:1: ( rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ) - // InternalRos.g:4345:2: rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 + // InternalRos.g:4375:1: ( rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 ) + // InternalRos.g:4376:2: rule__CatkinPackage__Group_6__2__Impl rule__CatkinPackage__Group_6__3 { pushFollow(FOLLOW_13); rule__CatkinPackage__Group_6__2__Impl(); @@ -13556,21 +13662,21 @@ public final void rule__CatkinPackage__Group_6__2() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_6__2__Impl" - // InternalRos.g:4352:1: rule__CatkinPackage__Group_6__2__Impl : ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) ; + // InternalRos.g:4383:1: rule__CatkinPackage__Group_6__2__Impl : ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) ; public final void rule__CatkinPackage__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4356:1: ( ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) ) - // InternalRos.g:4357:1: ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) + // InternalRos.g:4387:1: ( ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) ) + // InternalRos.g:4388:1: ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) { - // InternalRos.g:4357:1: ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) - // InternalRos.g:4358:2: ( rule__CatkinPackage__SpecAssignment_6_2 ) + // InternalRos.g:4388:1: ( ( rule__CatkinPackage__SpecAssignment_6_2 ) ) + // InternalRos.g:4389:2: ( rule__CatkinPackage__SpecAssignment_6_2 ) { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_2()); - // InternalRos.g:4359:2: ( rule__CatkinPackage__SpecAssignment_6_2 ) - // InternalRos.g:4359:3: rule__CatkinPackage__SpecAssignment_6_2 + // InternalRos.g:4390:2: ( rule__CatkinPackage__SpecAssignment_6_2 ) + // InternalRos.g:4390:3: rule__CatkinPackage__SpecAssignment_6_2 { pushFollow(FOLLOW_2); rule__CatkinPackage__SpecAssignment_6_2(); @@ -13603,14 +13709,14 @@ public final void rule__CatkinPackage__Group_6__2__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_6__3" - // InternalRos.g:4367:1: rule__CatkinPackage__Group_6__3 : rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ; + // InternalRos.g:4398:1: rule__CatkinPackage__Group_6__3 : rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ; public final void rule__CatkinPackage__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4371:1: ( rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ) - // InternalRos.g:4372:2: rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 + // InternalRos.g:4402:1: ( rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 ) + // InternalRos.g:4403:2: rule__CatkinPackage__Group_6__3__Impl rule__CatkinPackage__Group_6__4 { pushFollow(FOLLOW_13); rule__CatkinPackage__Group_6__3__Impl(); @@ -13641,20 +13747,20 @@ public final void rule__CatkinPackage__Group_6__3() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_6__3__Impl" - // InternalRos.g:4379:1: rule__CatkinPackage__Group_6__3__Impl : ( ( rule__CatkinPackage__Group_6_3__0 )* ) ; + // InternalRos.g:4410:1: rule__CatkinPackage__Group_6__3__Impl : ( ( rule__CatkinPackage__Group_6_3__0 )* ) ; public final void rule__CatkinPackage__Group_6__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4383:1: ( ( ( rule__CatkinPackage__Group_6_3__0 )* ) ) - // InternalRos.g:4384:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) + // InternalRos.g:4414:1: ( ( ( rule__CatkinPackage__Group_6_3__0 )* ) ) + // InternalRos.g:4415:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) { - // InternalRos.g:4384:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) - // InternalRos.g:4385:2: ( rule__CatkinPackage__Group_6_3__0 )* + // InternalRos.g:4415:1: ( ( rule__CatkinPackage__Group_6_3__0 )* ) + // InternalRos.g:4416:2: ( rule__CatkinPackage__Group_6_3__0 )* { before(grammarAccess.getCatkinPackageAccess().getGroup_6_3()); - // InternalRos.g:4386:2: ( rule__CatkinPackage__Group_6_3__0 )* + // InternalRos.g:4417:2: ( rule__CatkinPackage__Group_6_3__0 )* loop26: do { int alt26=2; @@ -13667,7 +13773,7 @@ public final void rule__CatkinPackage__Group_6__3__Impl() throws RecognitionExce switch (alt26) { case 1 : - // InternalRos.g:4386:3: rule__CatkinPackage__Group_6_3__0 + // InternalRos.g:4417:3: rule__CatkinPackage__Group_6_3__0 { pushFollow(FOLLOW_7); rule__CatkinPackage__Group_6_3__0(); @@ -13706,14 +13812,14 @@ public final void rule__CatkinPackage__Group_6__3__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_6__4" - // InternalRos.g:4394:1: rule__CatkinPackage__Group_6__4 : rule__CatkinPackage__Group_6__4__Impl ; + // InternalRos.g:4425:1: rule__CatkinPackage__Group_6__4 : rule__CatkinPackage__Group_6__4__Impl ; public final void rule__CatkinPackage__Group_6__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4398:1: ( rule__CatkinPackage__Group_6__4__Impl ) - // InternalRos.g:4399:2: rule__CatkinPackage__Group_6__4__Impl + // InternalRos.g:4429:1: ( rule__CatkinPackage__Group_6__4__Impl ) + // InternalRos.g:4430:2: rule__CatkinPackage__Group_6__4__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_6__4__Impl(); @@ -13739,17 +13845,17 @@ public final void rule__CatkinPackage__Group_6__4() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_6__4__Impl" - // InternalRos.g:4405:1: rule__CatkinPackage__Group_6__4__Impl : ( '}' ) ; + // InternalRos.g:4436:1: rule__CatkinPackage__Group_6__4__Impl : ( '}' ) ; public final void rule__CatkinPackage__Group_6__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4409:1: ( ( '}' ) ) - // InternalRos.g:4410:1: ( '}' ) + // InternalRos.g:4440:1: ( ( '}' ) ) + // InternalRos.g:4441:1: ( '}' ) { - // InternalRos.g:4410:1: ( '}' ) - // InternalRos.g:4411:2: '}' + // InternalRos.g:4441:1: ( '}' ) + // InternalRos.g:4442:2: '}' { before(grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_6_4()); match(input,42,FOLLOW_2); @@ -13776,14 +13882,14 @@ public final void rule__CatkinPackage__Group_6__4__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_6_3__0" - // InternalRos.g:4421:1: rule__CatkinPackage__Group_6_3__0 : rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ; + // InternalRos.g:4452:1: rule__CatkinPackage__Group_6_3__0 : rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ; public final void rule__CatkinPackage__Group_6_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4425:1: ( rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ) - // InternalRos.g:4426:2: rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 + // InternalRos.g:4456:1: ( rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 ) + // InternalRos.g:4457:2: rule__CatkinPackage__Group_6_3__0__Impl rule__CatkinPackage__Group_6_3__1 { pushFollow(FOLLOW_12); rule__CatkinPackage__Group_6_3__0__Impl(); @@ -13814,17 +13920,17 @@ public final void rule__CatkinPackage__Group_6_3__0() throws RecognitionExceptio // $ANTLR start "rule__CatkinPackage__Group_6_3__0__Impl" - // InternalRos.g:4433:1: rule__CatkinPackage__Group_6_3__0__Impl : ( ',' ) ; + // InternalRos.g:4464:1: rule__CatkinPackage__Group_6_3__0__Impl : ( ',' ) ; public final void rule__CatkinPackage__Group_6_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4437:1: ( ( ',' ) ) - // InternalRos.g:4438:1: ( ',' ) + // InternalRos.g:4468:1: ( ( ',' ) ) + // InternalRos.g:4469:1: ( ',' ) { - // InternalRos.g:4438:1: ( ',' ) - // InternalRos.g:4439:2: ',' + // InternalRos.g:4469:1: ( ',' ) + // InternalRos.g:4470:2: ',' { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); match(input,43,FOLLOW_2); @@ -13851,14 +13957,14 @@ public final void rule__CatkinPackage__Group_6_3__0__Impl() throws RecognitionEx // $ANTLR start "rule__CatkinPackage__Group_6_3__1" - // InternalRos.g:4448:1: rule__CatkinPackage__Group_6_3__1 : rule__CatkinPackage__Group_6_3__1__Impl ; + // InternalRos.g:4479:1: rule__CatkinPackage__Group_6_3__1 : rule__CatkinPackage__Group_6_3__1__Impl ; public final void rule__CatkinPackage__Group_6_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4452:1: ( rule__CatkinPackage__Group_6_3__1__Impl ) - // InternalRos.g:4453:2: rule__CatkinPackage__Group_6_3__1__Impl + // InternalRos.g:4483:1: ( rule__CatkinPackage__Group_6_3__1__Impl ) + // InternalRos.g:4484:2: rule__CatkinPackage__Group_6_3__1__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_6_3__1__Impl(); @@ -13884,21 +13990,21 @@ public final void rule__CatkinPackage__Group_6_3__1() throws RecognitionExceptio // $ANTLR start "rule__CatkinPackage__Group_6_3__1__Impl" - // InternalRos.g:4459:1: rule__CatkinPackage__Group_6_3__1__Impl : ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) ; + // InternalRos.g:4490:1: rule__CatkinPackage__Group_6_3__1__Impl : ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) ; public final void rule__CatkinPackage__Group_6_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4463:1: ( ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) ) - // InternalRos.g:4464:1: ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) + // InternalRos.g:4494:1: ( ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) ) + // InternalRos.g:4495:1: ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) { - // InternalRos.g:4464:1: ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) - // InternalRos.g:4465:2: ( rule__CatkinPackage__SpecAssignment_6_3_1 ) + // InternalRos.g:4495:1: ( ( rule__CatkinPackage__SpecAssignment_6_3_1 ) ) + // InternalRos.g:4496:2: ( rule__CatkinPackage__SpecAssignment_6_3_1 ) { before(grammarAccess.getCatkinPackageAccess().getSpecAssignment_6_3_1()); - // InternalRos.g:4466:2: ( rule__CatkinPackage__SpecAssignment_6_3_1 ) - // InternalRos.g:4466:3: rule__CatkinPackage__SpecAssignment_6_3_1 + // InternalRos.g:4497:2: ( rule__CatkinPackage__SpecAssignment_6_3_1 ) + // InternalRos.g:4497:3: rule__CatkinPackage__SpecAssignment_6_3_1 { pushFollow(FOLLOW_2); rule__CatkinPackage__SpecAssignment_6_3_1(); @@ -13931,14 +14037,14 @@ public final void rule__CatkinPackage__Group_6_3__1__Impl() throws RecognitionEx // $ANTLR start "rule__CatkinPackage__Group_7__0" - // InternalRos.g:4475:1: rule__CatkinPackage__Group_7__0 : rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 ; + // InternalRos.g:4506:1: rule__CatkinPackage__Group_7__0 : rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 ; public final void rule__CatkinPackage__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4479:1: ( rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 ) - // InternalRos.g:4480:2: rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 + // InternalRos.g:4510:1: ( rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 ) + // InternalRos.g:4511:2: rule__CatkinPackage__Group_7__0__Impl rule__CatkinPackage__Group_7__1 { pushFollow(FOLLOW_6); rule__CatkinPackage__Group_7__0__Impl(); @@ -13969,21 +14075,21 @@ public final void rule__CatkinPackage__Group_7__0() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_7__0__Impl" - // InternalRos.g:4487:1: rule__CatkinPackage__Group_7__0__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) ; + // InternalRos.g:4518:1: rule__CatkinPackage__Group_7__0__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) ; public final void rule__CatkinPackage__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4491:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) ) - // InternalRos.g:4492:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) + // InternalRos.g:4522:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) ) + // InternalRos.g:4523:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) { - // InternalRos.g:4492:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) - // InternalRos.g:4493:2: ( rule__CatkinPackage__ArtifactAssignment_7_0 ) + // InternalRos.g:4523:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_0 ) ) + // InternalRos.g:4524:2: ( rule__CatkinPackage__ArtifactAssignment_7_0 ) { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_0()); - // InternalRos.g:4494:2: ( rule__CatkinPackage__ArtifactAssignment_7_0 ) - // InternalRos.g:4494:3: rule__CatkinPackage__ArtifactAssignment_7_0 + // InternalRos.g:4525:2: ( rule__CatkinPackage__ArtifactAssignment_7_0 ) + // InternalRos.g:4525:3: rule__CatkinPackage__ArtifactAssignment_7_0 { pushFollow(FOLLOW_2); rule__CatkinPackage__ArtifactAssignment_7_0(); @@ -14016,14 +14122,14 @@ public final void rule__CatkinPackage__Group_7__0__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_7__1" - // InternalRos.g:4502:1: rule__CatkinPackage__Group_7__1 : rule__CatkinPackage__Group_7__1__Impl ; + // InternalRos.g:4533:1: rule__CatkinPackage__Group_7__1 : rule__CatkinPackage__Group_7__1__Impl ; public final void rule__CatkinPackage__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4506:1: ( rule__CatkinPackage__Group_7__1__Impl ) - // InternalRos.g:4507:2: rule__CatkinPackage__Group_7__1__Impl + // InternalRos.g:4537:1: ( rule__CatkinPackage__Group_7__1__Impl ) + // InternalRos.g:4538:2: rule__CatkinPackage__Group_7__1__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_7__1__Impl(); @@ -14049,20 +14155,20 @@ public final void rule__CatkinPackage__Group_7__1() throws RecognitionException // $ANTLR start "rule__CatkinPackage__Group_7__1__Impl" - // InternalRos.g:4513:1: rule__CatkinPackage__Group_7__1__Impl : ( ( rule__CatkinPackage__Group_7_1__0 )* ) ; + // InternalRos.g:4544:1: rule__CatkinPackage__Group_7__1__Impl : ( ( rule__CatkinPackage__Group_7_1__0 )* ) ; public final void rule__CatkinPackage__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4517:1: ( ( ( rule__CatkinPackage__Group_7_1__0 )* ) ) - // InternalRos.g:4518:1: ( ( rule__CatkinPackage__Group_7_1__0 )* ) + // InternalRos.g:4548:1: ( ( ( rule__CatkinPackage__Group_7_1__0 )* ) ) + // InternalRos.g:4549:1: ( ( rule__CatkinPackage__Group_7_1__0 )* ) { - // InternalRos.g:4518:1: ( ( rule__CatkinPackage__Group_7_1__0 )* ) - // InternalRos.g:4519:2: ( rule__CatkinPackage__Group_7_1__0 )* + // InternalRos.g:4549:1: ( ( rule__CatkinPackage__Group_7_1__0 )* ) + // InternalRos.g:4550:2: ( rule__CatkinPackage__Group_7_1__0 )* { before(grammarAccess.getCatkinPackageAccess().getGroup_7_1()); - // InternalRos.g:4520:2: ( rule__CatkinPackage__Group_7_1__0 )* + // InternalRos.g:4551:2: ( rule__CatkinPackage__Group_7_1__0 )* loop27: do { int alt27=2; @@ -14075,7 +14181,7 @@ public final void rule__CatkinPackage__Group_7__1__Impl() throws RecognitionExce switch (alt27) { case 1 : - // InternalRos.g:4520:3: rule__CatkinPackage__Group_7_1__0 + // InternalRos.g:4551:3: rule__CatkinPackage__Group_7_1__0 { pushFollow(FOLLOW_7); rule__CatkinPackage__Group_7_1__0(); @@ -14114,14 +14220,14 @@ public final void rule__CatkinPackage__Group_7__1__Impl() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__Group_7_1__0" - // InternalRos.g:4529:1: rule__CatkinPackage__Group_7_1__0 : rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 ; + // InternalRos.g:4560:1: rule__CatkinPackage__Group_7_1__0 : rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 ; public final void rule__CatkinPackage__Group_7_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4533:1: ( rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 ) - // InternalRos.g:4534:2: rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 + // InternalRos.g:4564:1: ( rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 ) + // InternalRos.g:4565:2: rule__CatkinPackage__Group_7_1__0__Impl rule__CatkinPackage__Group_7_1__1 { pushFollow(FOLLOW_14); rule__CatkinPackage__Group_7_1__0__Impl(); @@ -14152,17 +14258,17 @@ public final void rule__CatkinPackage__Group_7_1__0() throws RecognitionExceptio // $ANTLR start "rule__CatkinPackage__Group_7_1__0__Impl" - // InternalRos.g:4541:1: rule__CatkinPackage__Group_7_1__0__Impl : ( ',' ) ; + // InternalRos.g:4572:1: rule__CatkinPackage__Group_7_1__0__Impl : ( ',' ) ; public final void rule__CatkinPackage__Group_7_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4545:1: ( ( ',' ) ) - // InternalRos.g:4546:1: ( ',' ) + // InternalRos.g:4576:1: ( ( ',' ) ) + // InternalRos.g:4577:1: ( ',' ) { - // InternalRos.g:4546:1: ( ',' ) - // InternalRos.g:4547:2: ',' + // InternalRos.g:4577:1: ( ',' ) + // InternalRos.g:4578:2: ',' { before(grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); match(input,43,FOLLOW_2); @@ -14189,14 +14295,14 @@ public final void rule__CatkinPackage__Group_7_1__0__Impl() throws RecognitionEx // $ANTLR start "rule__CatkinPackage__Group_7_1__1" - // InternalRos.g:4556:1: rule__CatkinPackage__Group_7_1__1 : rule__CatkinPackage__Group_7_1__1__Impl ; + // InternalRos.g:4587:1: rule__CatkinPackage__Group_7_1__1 : rule__CatkinPackage__Group_7_1__1__Impl ; public final void rule__CatkinPackage__Group_7_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4560:1: ( rule__CatkinPackage__Group_7_1__1__Impl ) - // InternalRos.g:4561:2: rule__CatkinPackage__Group_7_1__1__Impl + // InternalRos.g:4591:1: ( rule__CatkinPackage__Group_7_1__1__Impl ) + // InternalRos.g:4592:2: rule__CatkinPackage__Group_7_1__1__Impl { pushFollow(FOLLOW_2); rule__CatkinPackage__Group_7_1__1__Impl(); @@ -14222,21 +14328,21 @@ public final void rule__CatkinPackage__Group_7_1__1() throws RecognitionExceptio // $ANTLR start "rule__CatkinPackage__Group_7_1__1__Impl" - // InternalRos.g:4567:1: rule__CatkinPackage__Group_7_1__1__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) ; + // InternalRos.g:4598:1: rule__CatkinPackage__Group_7_1__1__Impl : ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) ; public final void rule__CatkinPackage__Group_7_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4571:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) ) - // InternalRos.g:4572:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) + // InternalRos.g:4602:1: ( ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) ) + // InternalRos.g:4603:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) { - // InternalRos.g:4572:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) - // InternalRos.g:4573:2: ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) + // InternalRos.g:4603:1: ( ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) ) + // InternalRos.g:4604:2: ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) { before(grammarAccess.getCatkinPackageAccess().getArtifactAssignment_7_1_1()); - // InternalRos.g:4574:2: ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) - // InternalRos.g:4574:3: rule__CatkinPackage__ArtifactAssignment_7_1_1 + // InternalRos.g:4605:2: ( rule__CatkinPackage__ArtifactAssignment_7_1_1 ) + // InternalRos.g:4605:3: rule__CatkinPackage__ArtifactAssignment_7_1_1 { pushFollow(FOLLOW_2); rule__CatkinPackage__ArtifactAssignment_7_1_1(); @@ -14268,23 +14374,23 @@ public final void rule__CatkinPackage__Group_7_1__1__Impl() throws RecognitionEx // $ANTLR end "rule__CatkinPackage__Group_7_1__1__Impl" - // $ANTLR start "rule__ServiceSpec__Group__0" - // InternalRos.g:4583:1: rule__ServiceSpec__Group__0 : rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ; - public final void rule__ServiceSpec__Group__0() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__0" + // InternalRos.g:4614:1: rule__AmentPackage__Group__0 : rule__AmentPackage__Group__0__Impl rule__AmentPackage__Group__1 ; + public final void rule__AmentPackage__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4587:1: ( rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ) - // InternalRos.g:4588:2: rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 + // InternalRos.g:4618:1: ( rule__AmentPackage__Group__0__Impl rule__AmentPackage__Group__1 ) + // InternalRos.g:4619:2: rule__AmentPackage__Group__0__Impl rule__AmentPackage__Group__1 { - pushFollow(FOLLOW_19); - rule__ServiceSpec__Group__0__Impl(); + pushFollow(FOLLOW_8); + rule__AmentPackage__Group__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group__1(); + rule__AmentPackage__Group__1(); state._fsp--; @@ -14303,29 +14409,29 @@ public final void rule__ServiceSpec__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group__0" + // $ANTLR end "rule__AmentPackage__Group__0" - // $ANTLR start "rule__ServiceSpec__Group__0__Impl" - // InternalRos.g:4595:1: rule__ServiceSpec__Group__0__Impl : ( () ) ; - public final void rule__ServiceSpec__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__0__Impl" + // InternalRos.g:4626:1: rule__AmentPackage__Group__0__Impl : ( () ) ; + public final void rule__AmentPackage__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4599:1: ( ( () ) ) - // InternalRos.g:4600:1: ( () ) + // InternalRos.g:4630:1: ( ( () ) ) + // InternalRos.g:4631:1: ( () ) { - // InternalRos.g:4600:1: ( () ) - // InternalRos.g:4601:2: () + // InternalRos.g:4631:1: ( () ) + // InternalRos.g:4632:2: () { - before(grammarAccess.getServiceSpecAccess().getServiceSpecAction_0()); - // InternalRos.g:4602:2: () - // InternalRos.g:4602:3: + before(grammarAccess.getAmentPackageAccess().getAmentPackageAction_0()); + // InternalRos.g:4633:2: () + // InternalRos.g:4633:3: { } - after(grammarAccess.getServiceSpecAccess().getServiceSpecAction_0()); + after(grammarAccess.getAmentPackageAccess().getAmentPackageAction_0()); } @@ -14340,26 +14446,26 @@ public final void rule__ServiceSpec__Group__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceSpec__Group__0__Impl" + // $ANTLR end "rule__AmentPackage__Group__0__Impl" - // $ANTLR start "rule__ServiceSpec__Group__1" - // InternalRos.g:4610:1: rule__ServiceSpec__Group__1 : rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ; - public final void rule__ServiceSpec__Group__1() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__1" + // InternalRos.g:4641:1: rule__AmentPackage__Group__1 : rule__AmentPackage__Group__1__Impl rule__AmentPackage__Group__2 ; + public final void rule__AmentPackage__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4614:1: ( rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ) - // InternalRos.g:4615:2: rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 + // InternalRos.g:4645:1: ( rule__AmentPackage__Group__1__Impl rule__AmentPackage__Group__2 ) + // InternalRos.g:4646:2: rule__AmentPackage__Group__1__Impl rule__AmentPackage__Group__2 { - pushFollow(FOLLOW_10); - rule__ServiceSpec__Group__1__Impl(); + pushFollow(FOLLOW_15); + rule__AmentPackage__Group__1__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group__2(); + rule__AmentPackage__Group__2(); state._fsp--; @@ -14378,25 +14484,25 @@ public final void rule__ServiceSpec__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group__1" + // $ANTLR end "rule__AmentPackage__Group__1" - // $ANTLR start "rule__ServiceSpec__Group__1__Impl" - // InternalRos.g:4622:1: rule__ServiceSpec__Group__1__Impl : ( 'ServiceSpec' ) ; - public final void rule__ServiceSpec__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__1__Impl" + // InternalRos.g:4653:1: rule__AmentPackage__Group__1__Impl : ( 'AmentPackage' ) ; + public final void rule__AmentPackage__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4626:1: ( ( 'ServiceSpec' ) ) - // InternalRos.g:4627:1: ( 'ServiceSpec' ) + // InternalRos.g:4657:1: ( ( 'AmentPackage' ) ) + // InternalRos.g:4658:1: ( 'AmentPackage' ) { - // InternalRos.g:4627:1: ( 'ServiceSpec' ) - // InternalRos.g:4628:2: 'ServiceSpec' + // InternalRos.g:4658:1: ( 'AmentPackage' ) + // InternalRos.g:4659:2: 'AmentPackage' { - before(grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); + before(grammarAccess.getAmentPackageAccess().getAmentPackageKeyword_1()); match(input,50,FOLLOW_2); - after(grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); + after(grammarAccess.getAmentPackageAccess().getAmentPackageKeyword_1()); } @@ -14415,26 +14521,26 @@ public final void rule__ServiceSpec__Group__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceSpec__Group__1__Impl" + // $ANTLR end "rule__AmentPackage__Group__1__Impl" - // $ANTLR start "rule__ServiceSpec__Group__2" - // InternalRos.g:4637:1: rule__ServiceSpec__Group__2 : rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ; - public final void rule__ServiceSpec__Group__2() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__2" + // InternalRos.g:4668:1: rule__AmentPackage__Group__2 : rule__AmentPackage__Group__2__Impl rule__AmentPackage__Group__3 ; + public final void rule__AmentPackage__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4641:1: ( rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ) - // InternalRos.g:4642:2: rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 + // InternalRos.g:4672:1: ( rule__AmentPackage__Group__2__Impl rule__AmentPackage__Group__3 ) + // InternalRos.g:4673:2: rule__AmentPackage__Group__2__Impl rule__AmentPackage__Group__3 { pushFollow(FOLLOW_4); - rule__ServiceSpec__Group__2__Impl(); + rule__AmentPackage__Group__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group__3(); + rule__AmentPackage__Group__3(); state._fsp--; @@ -14453,35 +14559,35 @@ public final void rule__ServiceSpec__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group__2" + // $ANTLR end "rule__AmentPackage__Group__2" - // $ANTLR start "rule__ServiceSpec__Group__2__Impl" - // InternalRos.g:4649:1: rule__ServiceSpec__Group__2__Impl : ( ( rule__ServiceSpec__NameAssignment_2 ) ) ; - public final void rule__ServiceSpec__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__2__Impl" + // InternalRos.g:4680:1: rule__AmentPackage__Group__2__Impl : ( ( rule__AmentPackage__NameAssignment_2 ) ) ; + public final void rule__AmentPackage__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4653:1: ( ( ( rule__ServiceSpec__NameAssignment_2 ) ) ) - // InternalRos.g:4654:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) + // InternalRos.g:4684:1: ( ( ( rule__AmentPackage__NameAssignment_2 ) ) ) + // InternalRos.g:4685:1: ( ( rule__AmentPackage__NameAssignment_2 ) ) { - // InternalRos.g:4654:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) - // InternalRos.g:4655:2: ( rule__ServiceSpec__NameAssignment_2 ) + // InternalRos.g:4685:1: ( ( rule__AmentPackage__NameAssignment_2 ) ) + // InternalRos.g:4686:2: ( rule__AmentPackage__NameAssignment_2 ) { - before(grammarAccess.getServiceSpecAccess().getNameAssignment_2()); - // InternalRos.g:4656:2: ( rule__ServiceSpec__NameAssignment_2 ) - // InternalRos.g:4656:3: rule__ServiceSpec__NameAssignment_2 + before(grammarAccess.getAmentPackageAccess().getNameAssignment_2()); + // InternalRos.g:4687:2: ( rule__AmentPackage__NameAssignment_2 ) + // InternalRos.g:4687:3: rule__AmentPackage__NameAssignment_2 { pushFollow(FOLLOW_2); - rule__ServiceSpec__NameAssignment_2(); + rule__AmentPackage__NameAssignment_2(); state._fsp--; } - after(grammarAccess.getServiceSpecAccess().getNameAssignment_2()); + after(grammarAccess.getAmentPackageAccess().getNameAssignment_2()); } @@ -14500,26 +14606,26 @@ public final void rule__ServiceSpec__Group__2__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceSpec__Group__2__Impl" + // $ANTLR end "rule__AmentPackage__Group__2__Impl" - // $ANTLR start "rule__ServiceSpec__Group__3" - // InternalRos.g:4664:1: rule__ServiceSpec__Group__3 : rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ; - public final void rule__ServiceSpec__Group__3() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__3" + // InternalRos.g:4695:1: rule__AmentPackage__Group__3 : rule__AmentPackage__Group__3__Impl rule__AmentPackage__Group__4 ; + public final void rule__AmentPackage__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4668:1: ( rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ) - // InternalRos.g:4669:2: rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 + // InternalRos.g:4699:1: ( rule__AmentPackage__Group__3__Impl rule__AmentPackage__Group__4 ) + // InternalRos.g:4700:2: rule__AmentPackage__Group__3__Impl rule__AmentPackage__Group__4 { - pushFollow(FOLLOW_20); - rule__ServiceSpec__Group__3__Impl(); + pushFollow(FOLLOW_18); + rule__AmentPackage__Group__3__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group__4(); + rule__AmentPackage__Group__4(); state._fsp--; @@ -14538,25 +14644,25 @@ public final void rule__ServiceSpec__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group__3" + // $ANTLR end "rule__AmentPackage__Group__3" - // $ANTLR start "rule__ServiceSpec__Group__3__Impl" - // InternalRos.g:4676:1: rule__ServiceSpec__Group__3__Impl : ( '{' ) ; - public final void rule__ServiceSpec__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__3__Impl" + // InternalRos.g:4707:1: rule__AmentPackage__Group__3__Impl : ( '{' ) ; + public final void rule__AmentPackage__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4680:1: ( ( '{' ) ) - // InternalRos.g:4681:1: ( '{' ) + // InternalRos.g:4711:1: ( ( '{' ) ) + // InternalRos.g:4712:1: ( '{' ) { - // InternalRos.g:4681:1: ( '{' ) - // InternalRos.g:4682:2: '{' + // InternalRos.g:4712:1: ( '{' ) + // InternalRos.g:4713:2: '{' { - before(grammarAccess.getServiceSpecAccess().getLeftCurlyBracketKeyword_3()); + before(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); - after(grammarAccess.getServiceSpecAccess().getLeftCurlyBracketKeyword_3()); + after(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_3()); } @@ -14575,26 +14681,26 @@ public final void rule__ServiceSpec__Group__3__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceSpec__Group__3__Impl" + // $ANTLR end "rule__AmentPackage__Group__3__Impl" - // $ANTLR start "rule__ServiceSpec__Group__4" - // InternalRos.g:4691:1: rule__ServiceSpec__Group__4 : rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ; - public final void rule__ServiceSpec__Group__4() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__4" + // InternalRos.g:4722:1: rule__AmentPackage__Group__4 : rule__AmentPackage__Group__4__Impl rule__AmentPackage__Group__5 ; + public final void rule__AmentPackage__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4695:1: ( rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ) - // InternalRos.g:4696:2: rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 + // InternalRos.g:4726:1: ( rule__AmentPackage__Group__4__Impl rule__AmentPackage__Group__5 ) + // InternalRos.g:4727:2: rule__AmentPackage__Group__4__Impl rule__AmentPackage__Group__5 { - pushFollow(FOLLOW_20); - rule__ServiceSpec__Group__4__Impl(); + pushFollow(FOLLOW_18); + rule__AmentPackage__Group__4__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group__5(); + rule__AmentPackage__Group__5(); state._fsp--; @@ -14613,36 +14719,36 @@ public final void rule__ServiceSpec__Group__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group__4" + // $ANTLR end "rule__AmentPackage__Group__4" - // $ANTLR start "rule__ServiceSpec__Group__4__Impl" - // InternalRos.g:4703:1: rule__ServiceSpec__Group__4__Impl : ( ( rule__ServiceSpec__Group_4__0 )? ) ; - public final void rule__ServiceSpec__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__4__Impl" + // InternalRos.g:4734:1: rule__AmentPackage__Group__4__Impl : ( ( rule__AmentPackage__Group_4__0 )? ) ; + public final void rule__AmentPackage__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4707:1: ( ( ( rule__ServiceSpec__Group_4__0 )? ) ) - // InternalRos.g:4708:1: ( ( rule__ServiceSpec__Group_4__0 )? ) + // InternalRos.g:4738:1: ( ( ( rule__AmentPackage__Group_4__0 )? ) ) + // InternalRos.g:4739:1: ( ( rule__AmentPackage__Group_4__0 )? ) { - // InternalRos.g:4708:1: ( ( rule__ServiceSpec__Group_4__0 )? ) - // InternalRos.g:4709:2: ( rule__ServiceSpec__Group_4__0 )? + // InternalRos.g:4739:1: ( ( rule__AmentPackage__Group_4__0 )? ) + // InternalRos.g:4740:2: ( rule__AmentPackage__Group_4__0 )? { - before(grammarAccess.getServiceSpecAccess().getGroup_4()); - // InternalRos.g:4710:2: ( rule__ServiceSpec__Group_4__0 )? + before(grammarAccess.getAmentPackageAccess().getGroup_4()); + // InternalRos.g:4741:2: ( rule__AmentPackage__Group_4__0 )? int alt28=2; int LA28_0 = input.LA(1); - if ( (LA28_0==51) ) { + if ( (LA28_0==45) ) { alt28=1; } switch (alt28) { case 1 : - // InternalRos.g:4710:3: rule__ServiceSpec__Group_4__0 + // InternalRos.g:4741:3: rule__AmentPackage__Group_4__0 { pushFollow(FOLLOW_2); - rule__ServiceSpec__Group_4__0(); + rule__AmentPackage__Group_4__0(); state._fsp--; @@ -14652,7 +14758,7 @@ public final void rule__ServiceSpec__Group__4__Impl() throws RecognitionExceptio } - after(grammarAccess.getServiceSpecAccess().getGroup_4()); + after(grammarAccess.getAmentPackageAccess().getGroup_4()); } @@ -14671,26 +14777,26 @@ public final void rule__ServiceSpec__Group__4__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceSpec__Group__4__Impl" + // $ANTLR end "rule__AmentPackage__Group__4__Impl" - // $ANTLR start "rule__ServiceSpec__Group__5" - // InternalRos.g:4718:1: rule__ServiceSpec__Group__5 : rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ; - public final void rule__ServiceSpec__Group__5() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__5" + // InternalRos.g:4749:1: rule__AmentPackage__Group__5 : rule__AmentPackage__Group__5__Impl rule__AmentPackage__Group__6 ; + public final void rule__AmentPackage__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4722:1: ( rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ) - // InternalRos.g:4723:2: rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 + // InternalRos.g:4753:1: ( rule__AmentPackage__Group__5__Impl rule__AmentPackage__Group__6 ) + // InternalRos.g:4754:2: rule__AmentPackage__Group__5__Impl rule__AmentPackage__Group__6 { - pushFollow(FOLLOW_20); - rule__ServiceSpec__Group__5__Impl(); + pushFollow(FOLLOW_18); + rule__AmentPackage__Group__5__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group__6(); + rule__AmentPackage__Group__6(); state._fsp--; @@ -14709,36 +14815,36 @@ public final void rule__ServiceSpec__Group__5() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group__5" + // $ANTLR end "rule__AmentPackage__Group__5" - // $ANTLR start "rule__ServiceSpec__Group__5__Impl" - // InternalRos.g:4730:1: rule__ServiceSpec__Group__5__Impl : ( ( rule__ServiceSpec__Group_5__0 )? ) ; - public final void rule__ServiceSpec__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__5__Impl" + // InternalRos.g:4761:1: rule__AmentPackage__Group__5__Impl : ( ( rule__AmentPackage__Group_5__0 )? ) ; + public final void rule__AmentPackage__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4734:1: ( ( ( rule__ServiceSpec__Group_5__0 )? ) ) - // InternalRos.g:4735:1: ( ( rule__ServiceSpec__Group_5__0 )? ) + // InternalRos.g:4765:1: ( ( ( rule__AmentPackage__Group_5__0 )? ) ) + // InternalRos.g:4766:1: ( ( rule__AmentPackage__Group_5__0 )? ) { - // InternalRos.g:4735:1: ( ( rule__ServiceSpec__Group_5__0 )? ) - // InternalRos.g:4736:2: ( rule__ServiceSpec__Group_5__0 )? + // InternalRos.g:4766:1: ( ( rule__AmentPackage__Group_5__0 )? ) + // InternalRos.g:4767:2: ( rule__AmentPackage__Group_5__0 )? { - before(grammarAccess.getServiceSpecAccess().getGroup_5()); - // InternalRos.g:4737:2: ( rule__ServiceSpec__Group_5__0 )? + before(grammarAccess.getAmentPackageAccess().getGroup_5()); + // InternalRos.g:4768:2: ( rule__AmentPackage__Group_5__0 )? int alt29=2; int LA29_0 = input.LA(1); - if ( (LA29_0==52) ) { + if ( (LA29_0==49) ) { alt29=1; } switch (alt29) { case 1 : - // InternalRos.g:4737:3: rule__ServiceSpec__Group_5__0 + // InternalRos.g:4768:3: rule__AmentPackage__Group_5__0 { pushFollow(FOLLOW_2); - rule__ServiceSpec__Group_5__0(); + rule__AmentPackage__Group_5__0(); state._fsp--; @@ -14748,7 +14854,7 @@ public final void rule__ServiceSpec__Group__5__Impl() throws RecognitionExceptio } - after(grammarAccess.getServiceSpecAccess().getGroup_5()); + after(grammarAccess.getAmentPackageAccess().getGroup_5()); } @@ -14767,21 +14873,26 @@ public final void rule__ServiceSpec__Group__5__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceSpec__Group__5__Impl" + // $ANTLR end "rule__AmentPackage__Group__5__Impl" - // $ANTLR start "rule__ServiceSpec__Group__6" - // InternalRos.g:4745:1: rule__ServiceSpec__Group__6 : rule__ServiceSpec__Group__6__Impl ; - public final void rule__ServiceSpec__Group__6() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__6" + // InternalRos.g:4776:1: rule__AmentPackage__Group__6 : rule__AmentPackage__Group__6__Impl rule__AmentPackage__Group__7 ; + public final void rule__AmentPackage__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4749:1: ( rule__ServiceSpec__Group__6__Impl ) - // InternalRos.g:4750:2: rule__ServiceSpec__Group__6__Impl + // InternalRos.g:4780:1: ( rule__AmentPackage__Group__6__Impl rule__AmentPackage__Group__7 ) + // InternalRos.g:4781:2: rule__AmentPackage__Group__6__Impl rule__AmentPackage__Group__7 { + pushFollow(FOLLOW_18); + rule__AmentPackage__Group__6__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__ServiceSpec__Group__6__Impl(); + rule__AmentPackage__Group__7(); state._fsp--; @@ -14800,25 +14911,46 @@ public final void rule__ServiceSpec__Group__6() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group__6" + // $ANTLR end "rule__AmentPackage__Group__6" - // $ANTLR start "rule__ServiceSpec__Group__6__Impl" - // InternalRos.g:4756:1: rule__ServiceSpec__Group__6__Impl : ( '}' ) ; - public final void rule__ServiceSpec__Group__6__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__6__Impl" + // InternalRos.g:4788:1: rule__AmentPackage__Group__6__Impl : ( ( rule__AmentPackage__Group_6__0 )? ) ; + public final void rule__AmentPackage__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4760:1: ( ( '}' ) ) - // InternalRos.g:4761:1: ( '}' ) + // InternalRos.g:4792:1: ( ( ( rule__AmentPackage__Group_6__0 )? ) ) + // InternalRos.g:4793:1: ( ( rule__AmentPackage__Group_6__0 )? ) { - // InternalRos.g:4761:1: ( '}' ) - // InternalRos.g:4762:2: '}' + // InternalRos.g:4793:1: ( ( rule__AmentPackage__Group_6__0 )? ) + // InternalRos.g:4794:2: ( rule__AmentPackage__Group_6__0 )? { - before(grammarAccess.getServiceSpecAccess().getRightCurlyBracketKeyword_6()); - match(input,42,FOLLOW_2); - after(grammarAccess.getServiceSpecAccess().getRightCurlyBracketKeyword_6()); + before(grammarAccess.getAmentPackageAccess().getGroup_6()); + // InternalRos.g:4795:2: ( rule__AmentPackage__Group_6__0 )? + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==46) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // InternalRos.g:4795:3: rule__AmentPackage__Group_6__0 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_6__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getAmentPackageAccess().getGroup_6()); } @@ -14837,26 +14969,26 @@ public final void rule__ServiceSpec__Group__6__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__ServiceSpec__Group__6__Impl" + // $ANTLR end "rule__AmentPackage__Group__6__Impl" - // $ANTLR start "rule__ServiceSpec__Group_4__0" - // InternalRos.g:4772:1: rule__ServiceSpec__Group_4__0 : rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ; - public final void rule__ServiceSpec__Group_4__0() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__7" + // InternalRos.g:4803:1: rule__AmentPackage__Group__7 : rule__AmentPackage__Group__7__Impl rule__AmentPackage__Group__8 ; + public final void rule__AmentPackage__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4776:1: ( rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ) - // InternalRos.g:4777:2: rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 + // InternalRos.g:4807:1: ( rule__AmentPackage__Group__7__Impl rule__AmentPackage__Group__8 ) + // InternalRos.g:4808:2: rule__AmentPackage__Group__7__Impl rule__AmentPackage__Group__8 { - pushFollow(FOLLOW_4); - rule__ServiceSpec__Group_4__0__Impl(); + pushFollow(FOLLOW_18); + rule__AmentPackage__Group__7__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group_4__1(); + rule__AmentPackage__Group__8(); state._fsp--; @@ -14875,25 +15007,46 @@ public final void rule__ServiceSpec__Group_4__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group_4__0" + // $ANTLR end "rule__AmentPackage__Group__7" - // $ANTLR start "rule__ServiceSpec__Group_4__0__Impl" - // InternalRos.g:4784:1: rule__ServiceSpec__Group_4__0__Impl : ( 'request' ) ; - public final void rule__ServiceSpec__Group_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__7__Impl" + // InternalRos.g:4815:1: rule__AmentPackage__Group__7__Impl : ( ( rule__AmentPackage__Group_7__0 )? ) ; + public final void rule__AmentPackage__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4788:1: ( ( 'request' ) ) - // InternalRos.g:4789:1: ( 'request' ) + // InternalRos.g:4819:1: ( ( ( rule__AmentPackage__Group_7__0 )? ) ) + // InternalRos.g:4820:1: ( ( rule__AmentPackage__Group_7__0 )? ) { - // InternalRos.g:4789:1: ( 'request' ) - // InternalRos.g:4790:2: 'request' + // InternalRos.g:4820:1: ( ( rule__AmentPackage__Group_7__0 )? ) + // InternalRos.g:4821:2: ( rule__AmentPackage__Group_7__0 )? { - before(grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); - match(input,51,FOLLOW_2); - after(grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); + before(grammarAccess.getAmentPackageAccess().getGroup_7()); + // InternalRos.g:4822:2: ( rule__AmentPackage__Group_7__0 )? + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==47) ) { + alt31=1; + } + switch (alt31) { + case 1 : + // InternalRos.g:4822:3: rule__AmentPackage__Group_7__0 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_7__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getAmentPackageAccess().getGroup_7()); } @@ -14912,21 +15065,21 @@ public final void rule__ServiceSpec__Group_4__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ServiceSpec__Group_4__0__Impl" + // $ANTLR end "rule__AmentPackage__Group__7__Impl" - // $ANTLR start "rule__ServiceSpec__Group_4__1" - // InternalRos.g:4799:1: rule__ServiceSpec__Group_4__1 : rule__ServiceSpec__Group_4__1__Impl ; - public final void rule__ServiceSpec__Group_4__1() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__8" + // InternalRos.g:4830:1: rule__AmentPackage__Group__8 : rule__AmentPackage__Group__8__Impl ; + public final void rule__AmentPackage__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4803:1: ( rule__ServiceSpec__Group_4__1__Impl ) - // InternalRos.g:4804:2: rule__ServiceSpec__Group_4__1__Impl + // InternalRos.g:4834:1: ( rule__AmentPackage__Group__8__Impl ) + // InternalRos.g:4835:2: rule__AmentPackage__Group__8__Impl { pushFollow(FOLLOW_2); - rule__ServiceSpec__Group_4__1__Impl(); + rule__AmentPackage__Group__8__Impl(); state._fsp--; @@ -14945,35 +15098,25 @@ public final void rule__ServiceSpec__Group_4__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group_4__1" + // $ANTLR end "rule__AmentPackage__Group__8" - // $ANTLR start "rule__ServiceSpec__Group_4__1__Impl" - // InternalRos.g:4810:1: rule__ServiceSpec__Group_4__1__Impl : ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ; - public final void rule__ServiceSpec__Group_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group__8__Impl" + // InternalRos.g:4841:1: rule__AmentPackage__Group__8__Impl : ( '}' ) ; + public final void rule__AmentPackage__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4814:1: ( ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ) - // InternalRos.g:4815:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) + // InternalRos.g:4845:1: ( ( '}' ) ) + // InternalRos.g:4846:1: ( '}' ) { - // InternalRos.g:4815:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) - // InternalRos.g:4816:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) - { - before(grammarAccess.getServiceSpecAccess().getRequestAssignment_4_1()); - // InternalRos.g:4817:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) - // InternalRos.g:4817:3: rule__ServiceSpec__RequestAssignment_4_1 + // InternalRos.g:4846:1: ( '}' ) + // InternalRos.g:4847:2: '}' { - pushFollow(FOLLOW_2); - rule__ServiceSpec__RequestAssignment_4_1(); - - state._fsp--; - - - } - - after(grammarAccess.getServiceSpecAccess().getRequestAssignment_4_1()); + before(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_8()); + match(input,42,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_8()); } @@ -14992,26 +15135,26 @@ public final void rule__ServiceSpec__Group_4__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ServiceSpec__Group_4__1__Impl" + // $ANTLR end "rule__AmentPackage__Group__8__Impl" - // $ANTLR start "rule__ServiceSpec__Group_5__0" - // InternalRos.g:4826:1: rule__ServiceSpec__Group_5__0 : rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ; - public final void rule__ServiceSpec__Group_5__0() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_4__0" + // InternalRos.g:4857:1: rule__AmentPackage__Group_4__0 : rule__AmentPackage__Group_4__0__Impl rule__AmentPackage__Group_4__1 ; + public final void rule__AmentPackage__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4830:1: ( rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ) - // InternalRos.g:4831:2: rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 + // InternalRos.g:4861:1: ( rule__AmentPackage__Group_4__0__Impl rule__AmentPackage__Group_4__1 ) + // InternalRos.g:4862:2: rule__AmentPackage__Group_4__0__Impl rule__AmentPackage__Group_4__1 { - pushFollow(FOLLOW_4); - rule__ServiceSpec__Group_5__0__Impl(); + pushFollow(FOLLOW_10); + rule__AmentPackage__Group_4__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ServiceSpec__Group_5__1(); + rule__AmentPackage__Group_4__1(); state._fsp--; @@ -15030,25 +15173,25 @@ public final void rule__ServiceSpec__Group_5__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group_5__0" + // $ANTLR end "rule__AmentPackage__Group_4__0" - // $ANTLR start "rule__ServiceSpec__Group_5__0__Impl" - // InternalRos.g:4838:1: rule__ServiceSpec__Group_5__0__Impl : ( 'response' ) ; - public final void rule__ServiceSpec__Group_5__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_4__0__Impl" + // InternalRos.g:4869:1: rule__AmentPackage__Group_4__0__Impl : ( 'FromGitRepo' ) ; + public final void rule__AmentPackage__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4842:1: ( ( 'response' ) ) - // InternalRos.g:4843:1: ( 'response' ) + // InternalRos.g:4873:1: ( ( 'FromGitRepo' ) ) + // InternalRos.g:4874:1: ( 'FromGitRepo' ) { - // InternalRos.g:4843:1: ( 'response' ) - // InternalRos.g:4844:2: 'response' + // InternalRos.g:4874:1: ( 'FromGitRepo' ) + // InternalRos.g:4875:2: 'FromGitRepo' { - before(grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); - match(input,52,FOLLOW_2); - after(grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); + before(grammarAccess.getAmentPackageAccess().getFromGitRepoKeyword_4_0()); + match(input,45,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getFromGitRepoKeyword_4_0()); } @@ -15067,21 +15210,21 @@ public final void rule__ServiceSpec__Group_5__0__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ServiceSpec__Group_5__0__Impl" + // $ANTLR end "rule__AmentPackage__Group_4__0__Impl" - // $ANTLR start "rule__ServiceSpec__Group_5__1" - // InternalRos.g:4853:1: rule__ServiceSpec__Group_5__1 : rule__ServiceSpec__Group_5__1__Impl ; - public final void rule__ServiceSpec__Group_5__1() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_4__1" + // InternalRos.g:4884:1: rule__AmentPackage__Group_4__1 : rule__AmentPackage__Group_4__1__Impl ; + public final void rule__AmentPackage__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4857:1: ( rule__ServiceSpec__Group_5__1__Impl ) - // InternalRos.g:4858:2: rule__ServiceSpec__Group_5__1__Impl + // InternalRos.g:4888:1: ( rule__AmentPackage__Group_4__1__Impl ) + // InternalRos.g:4889:2: rule__AmentPackage__Group_4__1__Impl { pushFollow(FOLLOW_2); - rule__ServiceSpec__Group_5__1__Impl(); + rule__AmentPackage__Group_4__1__Impl(); state._fsp--; @@ -15100,35 +15243,35 @@ public final void rule__ServiceSpec__Group_5__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ServiceSpec__Group_5__1" + // $ANTLR end "rule__AmentPackage__Group_4__1" - // $ANTLR start "rule__ServiceSpec__Group_5__1__Impl" - // InternalRos.g:4864:1: rule__ServiceSpec__Group_5__1__Impl : ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ; - public final void rule__ServiceSpec__Group_5__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_4__1__Impl" + // InternalRos.g:4895:1: rule__AmentPackage__Group_4__1__Impl : ( ( rule__AmentPackage__FromGitRepoAssignment_4_1 ) ) ; + public final void rule__AmentPackage__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4868:1: ( ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ) - // InternalRos.g:4869:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) + // InternalRos.g:4899:1: ( ( ( rule__AmentPackage__FromGitRepoAssignment_4_1 ) ) ) + // InternalRos.g:4900:1: ( ( rule__AmentPackage__FromGitRepoAssignment_4_1 ) ) { - // InternalRos.g:4869:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) - // InternalRos.g:4870:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) + // InternalRos.g:4900:1: ( ( rule__AmentPackage__FromGitRepoAssignment_4_1 ) ) + // InternalRos.g:4901:2: ( rule__AmentPackage__FromGitRepoAssignment_4_1 ) { - before(grammarAccess.getServiceSpecAccess().getResponseAssignment_5_1()); - // InternalRos.g:4871:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) - // InternalRos.g:4871:3: rule__ServiceSpec__ResponseAssignment_5_1 + before(grammarAccess.getAmentPackageAccess().getFromGitRepoAssignment_4_1()); + // InternalRos.g:4902:2: ( rule__AmentPackage__FromGitRepoAssignment_4_1 ) + // InternalRos.g:4902:3: rule__AmentPackage__FromGitRepoAssignment_4_1 { pushFollow(FOLLOW_2); - rule__ServiceSpec__ResponseAssignment_5_1(); + rule__AmentPackage__FromGitRepoAssignment_4_1(); state._fsp--; } - after(grammarAccess.getServiceSpecAccess().getResponseAssignment_5_1()); + after(grammarAccess.getAmentPackageAccess().getFromGitRepoAssignment_4_1()); } @@ -15147,26 +15290,26 @@ public final void rule__ServiceSpec__Group_5__1__Impl() throws RecognitionExcept } return ; } - // $ANTLR end "rule__ServiceSpec__Group_5__1__Impl" + // $ANTLR end "rule__AmentPackage__Group_4__1__Impl" - // $ANTLR start "rule__TopicSpec__Group__0" - // InternalRos.g:4880:1: rule__TopicSpec__Group__0 : rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ; - public final void rule__TopicSpec__Group__0() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__0" + // InternalRos.g:4911:1: rule__AmentPackage__Group_5__0 : rule__AmentPackage__Group_5__0__Impl rule__AmentPackage__Group_5__1 ; + public final void rule__AmentPackage__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4884:1: ( rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ) - // InternalRos.g:4885:2: rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 + // InternalRos.g:4915:1: ( rule__AmentPackage__Group_5__0__Impl rule__AmentPackage__Group_5__1 ) + // InternalRos.g:4916:2: rule__AmentPackage__Group_5__0__Impl rule__AmentPackage__Group_5__1 { - pushFollow(FOLLOW_21); - rule__TopicSpec__Group__0__Impl(); + pushFollow(FOLLOW_4); + rule__AmentPackage__Group_5__0__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicSpec__Group__1(); + rule__AmentPackage__Group_5__1(); state._fsp--; @@ -15185,29 +15328,25 @@ public final void rule__TopicSpec__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group__0" + // $ANTLR end "rule__AmentPackage__Group_5__0" - // $ANTLR start "rule__TopicSpec__Group__0__Impl" - // InternalRos.g:4892:1: rule__TopicSpec__Group__0__Impl : ( () ) ; - public final void rule__TopicSpec__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__0__Impl" + // InternalRos.g:4923:1: rule__AmentPackage__Group_5__0__Impl : ( 'Dependencies' ) ; + public final void rule__AmentPackage__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4896:1: ( ( () ) ) - // InternalRos.g:4897:1: ( () ) + // InternalRos.g:4927:1: ( ( 'Dependencies' ) ) + // InternalRos.g:4928:1: ( 'Dependencies' ) { - // InternalRos.g:4897:1: ( () ) - // InternalRos.g:4898:2: () + // InternalRos.g:4928:1: ( 'Dependencies' ) + // InternalRos.g:4929:2: 'Dependencies' { - before(grammarAccess.getTopicSpecAccess().getTopicSpecAction_0()); - // InternalRos.g:4899:2: () - // InternalRos.g:4899:3: - { - } - - after(grammarAccess.getTopicSpecAccess().getTopicSpecAction_0()); + before(grammarAccess.getAmentPackageAccess().getDependenciesKeyword_5_0()); + match(input,49,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getDependenciesKeyword_5_0()); } @@ -15215,6 +15354,10 @@ public final void rule__TopicSpec__Group__0__Impl() throws RecognitionException } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -15222,26 +15365,26 @@ public final void rule__TopicSpec__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicSpec__Group__0__Impl" + // $ANTLR end "rule__AmentPackage__Group_5__0__Impl" - // $ANTLR start "rule__TopicSpec__Group__1" - // InternalRos.g:4907:1: rule__TopicSpec__Group__1 : rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ; - public final void rule__TopicSpec__Group__1() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__1" + // InternalRos.g:4938:1: rule__AmentPackage__Group_5__1 : rule__AmentPackage__Group_5__1__Impl rule__AmentPackage__Group_5__2 ; + public final void rule__AmentPackage__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4911:1: ( rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ) - // InternalRos.g:4912:2: rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 + // InternalRos.g:4942:1: ( rule__AmentPackage__Group_5__1__Impl rule__AmentPackage__Group_5__2 ) + // InternalRos.g:4943:2: rule__AmentPackage__Group_5__1__Impl rule__AmentPackage__Group_5__2 { - pushFollow(FOLLOW_22); - rule__TopicSpec__Group__1__Impl(); + pushFollow(FOLLOW_19); + rule__AmentPackage__Group_5__1__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicSpec__Group__2(); + rule__AmentPackage__Group_5__2(); state._fsp--; @@ -15260,25 +15403,25 @@ public final void rule__TopicSpec__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group__1" + // $ANTLR end "rule__AmentPackage__Group_5__1" - // $ANTLR start "rule__TopicSpec__Group__1__Impl" - // InternalRos.g:4919:1: rule__TopicSpec__Group__1__Impl : ( 'TopicSpec' ) ; - public final void rule__TopicSpec__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__1__Impl" + // InternalRos.g:4950:1: rule__AmentPackage__Group_5__1__Impl : ( '{' ) ; + public final void rule__AmentPackage__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4923:1: ( ( 'TopicSpec' ) ) - // InternalRos.g:4924:1: ( 'TopicSpec' ) + // InternalRos.g:4954:1: ( ( '{' ) ) + // InternalRos.g:4955:1: ( '{' ) { - // InternalRos.g:4924:1: ( 'TopicSpec' ) - // InternalRos.g:4925:2: 'TopicSpec' + // InternalRos.g:4955:1: ( '{' ) + // InternalRos.g:4956:2: '{' { - before(grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); - match(input,53,FOLLOW_2); - after(grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); + before(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_5_1()); + match(input,41,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_5_1()); } @@ -15297,26 +15440,26 @@ public final void rule__TopicSpec__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicSpec__Group__1__Impl" + // $ANTLR end "rule__AmentPackage__Group_5__1__Impl" - // $ANTLR start "rule__TopicSpec__Group__2" - // InternalRos.g:4934:1: rule__TopicSpec__Group__2 : rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ; - public final void rule__TopicSpec__Group__2() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__2" + // InternalRos.g:4965:1: rule__AmentPackage__Group_5__2 : rule__AmentPackage__Group_5__2__Impl rule__AmentPackage__Group_5__3 ; + public final void rule__AmentPackage__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4938:1: ( rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ) - // InternalRos.g:4939:2: rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 + // InternalRos.g:4969:1: ( rule__AmentPackage__Group_5__2__Impl rule__AmentPackage__Group_5__3 ) + // InternalRos.g:4970:2: rule__AmentPackage__Group_5__2__Impl rule__AmentPackage__Group_5__3 { - pushFollow(FOLLOW_4); - rule__TopicSpec__Group__2__Impl(); + pushFollow(FOLLOW_13); + rule__AmentPackage__Group_5__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicSpec__Group__3(); + rule__AmentPackage__Group_5__3(); state._fsp--; @@ -15335,35 +15478,35 @@ public final void rule__TopicSpec__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group__2" + // $ANTLR end "rule__AmentPackage__Group_5__2" - // $ANTLR start "rule__TopicSpec__Group__2__Impl" - // InternalRos.g:4946:1: rule__TopicSpec__Group__2__Impl : ( ( rule__TopicSpec__NameAssignment_2 ) ) ; - public final void rule__TopicSpec__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__2__Impl" + // InternalRos.g:4977:1: rule__AmentPackage__Group_5__2__Impl : ( ( rule__AmentPackage__DependencyAssignment_5_2 ) ) ; + public final void rule__AmentPackage__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4950:1: ( ( ( rule__TopicSpec__NameAssignment_2 ) ) ) - // InternalRos.g:4951:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) + // InternalRos.g:4981:1: ( ( ( rule__AmentPackage__DependencyAssignment_5_2 ) ) ) + // InternalRos.g:4982:1: ( ( rule__AmentPackage__DependencyAssignment_5_2 ) ) { - // InternalRos.g:4951:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) - // InternalRos.g:4952:2: ( rule__TopicSpec__NameAssignment_2 ) + // InternalRos.g:4982:1: ( ( rule__AmentPackage__DependencyAssignment_5_2 ) ) + // InternalRos.g:4983:2: ( rule__AmentPackage__DependencyAssignment_5_2 ) { - before(grammarAccess.getTopicSpecAccess().getNameAssignment_2()); - // InternalRos.g:4953:2: ( rule__TopicSpec__NameAssignment_2 ) - // InternalRos.g:4953:3: rule__TopicSpec__NameAssignment_2 + before(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_2()); + // InternalRos.g:4984:2: ( rule__AmentPackage__DependencyAssignment_5_2 ) + // InternalRos.g:4984:3: rule__AmentPackage__DependencyAssignment_5_2 { pushFollow(FOLLOW_2); - rule__TopicSpec__NameAssignment_2(); + rule__AmentPackage__DependencyAssignment_5_2(); state._fsp--; } - after(grammarAccess.getTopicSpecAccess().getNameAssignment_2()); + after(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_2()); } @@ -15382,26 +15525,26 @@ public final void rule__TopicSpec__Group__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicSpec__Group__2__Impl" + // $ANTLR end "rule__AmentPackage__Group_5__2__Impl" - // $ANTLR start "rule__TopicSpec__Group__3" - // InternalRos.g:4961:1: rule__TopicSpec__Group__3 : rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ; - public final void rule__TopicSpec__Group__3() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__3" + // InternalRos.g:4992:1: rule__AmentPackage__Group_5__3 : rule__AmentPackage__Group_5__3__Impl rule__AmentPackage__Group_5__4 ; + public final void rule__AmentPackage__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4965:1: ( rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ) - // InternalRos.g:4966:2: rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 + // InternalRos.g:4996:1: ( rule__AmentPackage__Group_5__3__Impl rule__AmentPackage__Group_5__4 ) + // InternalRos.g:4997:2: rule__AmentPackage__Group_5__3__Impl rule__AmentPackage__Group_5__4 { - pushFollow(FOLLOW_23); - rule__TopicSpec__Group__3__Impl(); + pushFollow(FOLLOW_13); + rule__AmentPackage__Group_5__3__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__TopicSpec__Group__4(); + rule__AmentPackage__Group_5__4(); state._fsp--; @@ -15420,25 +15563,53 @@ public final void rule__TopicSpec__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group__3" + // $ANTLR end "rule__AmentPackage__Group_5__3" - // $ANTLR start "rule__TopicSpec__Group__3__Impl" - // InternalRos.g:4973:1: rule__TopicSpec__Group__3__Impl : ( '{' ) ; - public final void rule__TopicSpec__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__3__Impl" + // InternalRos.g:5004:1: rule__AmentPackage__Group_5__3__Impl : ( ( rule__AmentPackage__Group_5_3__0 )* ) ; + public final void rule__AmentPackage__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4977:1: ( ( '{' ) ) - // InternalRos.g:4978:1: ( '{' ) + // InternalRos.g:5008:1: ( ( ( rule__AmentPackage__Group_5_3__0 )* ) ) + // InternalRos.g:5009:1: ( ( rule__AmentPackage__Group_5_3__0 )* ) { - // InternalRos.g:4978:1: ( '{' ) - // InternalRos.g:4979:2: '{' + // InternalRos.g:5009:1: ( ( rule__AmentPackage__Group_5_3__0 )* ) + // InternalRos.g:5010:2: ( rule__AmentPackage__Group_5_3__0 )* { - before(grammarAccess.getTopicSpecAccess().getLeftCurlyBracketKeyword_3()); - match(input,41,FOLLOW_2); - after(grammarAccess.getTopicSpecAccess().getLeftCurlyBracketKeyword_3()); + before(grammarAccess.getAmentPackageAccess().getGroup_5_3()); + // InternalRos.g:5011:2: ( rule__AmentPackage__Group_5_3__0 )* + loop32: + do { + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==43) ) { + alt32=1; + } + + + switch (alt32) { + case 1 : + // InternalRos.g:5011:3: rule__AmentPackage__Group_5_3__0 + { + pushFollow(FOLLOW_7); + rule__AmentPackage__Group_5_3__0(); + + state._fsp--; + + + } + break; + + default : + break loop32; + } + } while (true); + + after(grammarAccess.getAmentPackageAccess().getGroup_5_3()); } @@ -15457,26 +15628,21 @@ public final void rule__TopicSpec__Group__3__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicSpec__Group__3__Impl" + // $ANTLR end "rule__AmentPackage__Group_5__3__Impl" - // $ANTLR start "rule__TopicSpec__Group__4" - // InternalRos.g:4988:1: rule__TopicSpec__Group__4 : rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ; - public final void rule__TopicSpec__Group__4() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__4" + // InternalRos.g:5019:1: rule__AmentPackage__Group_5__4 : rule__AmentPackage__Group_5__4__Impl ; + public final void rule__AmentPackage__Group_5__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:4992:1: ( rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ) - // InternalRos.g:4993:2: rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 + // InternalRos.g:5023:1: ( rule__AmentPackage__Group_5__4__Impl ) + // InternalRos.g:5024:2: rule__AmentPackage__Group_5__4__Impl { - pushFollow(FOLLOW_23); - rule__TopicSpec__Group__4__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__TopicSpec__Group__5(); + rule__AmentPackage__Group_5__4__Impl(); state._fsp--; @@ -15495,46 +15661,25 @@ public final void rule__TopicSpec__Group__4() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group__4" + // $ANTLR end "rule__AmentPackage__Group_5__4" - // $ANTLR start "rule__TopicSpec__Group__4__Impl" - // InternalRos.g:5000:1: rule__TopicSpec__Group__4__Impl : ( ( rule__TopicSpec__Group_4__0 )? ) ; - public final void rule__TopicSpec__Group__4__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5__4__Impl" + // InternalRos.g:5030:1: rule__AmentPackage__Group_5__4__Impl : ( '}' ) ; + public final void rule__AmentPackage__Group_5__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5004:1: ( ( ( rule__TopicSpec__Group_4__0 )? ) ) - // InternalRos.g:5005:1: ( ( rule__TopicSpec__Group_4__0 )? ) + // InternalRos.g:5034:1: ( ( '}' ) ) + // InternalRos.g:5035:1: ( '}' ) { - // InternalRos.g:5005:1: ( ( rule__TopicSpec__Group_4__0 )? ) - // InternalRos.g:5006:2: ( rule__TopicSpec__Group_4__0 )? + // InternalRos.g:5035:1: ( '}' ) + // InternalRos.g:5036:2: '}' { - before(grammarAccess.getTopicSpecAccess().getGroup_4()); - // InternalRos.g:5007:2: ( rule__TopicSpec__Group_4__0 )? - int alt30=2; - int LA30_0 = input.LA(1); - - if ( (LA30_0==30) ) { - alt30=1; - } - switch (alt30) { - case 1 : - // InternalRos.g:5007:3: rule__TopicSpec__Group_4__0 - { - pushFollow(FOLLOW_2); - rule__TopicSpec__Group_4__0(); - - state._fsp--; - - - } - break; - - } - - after(grammarAccess.getTopicSpecAccess().getGroup_4()); + before(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_5_4()); + match(input,42,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_5_4()); } @@ -15553,21 +15698,26 @@ public final void rule__TopicSpec__Group__4__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicSpec__Group__4__Impl" + // $ANTLR end "rule__AmentPackage__Group_5__4__Impl" - // $ANTLR start "rule__TopicSpec__Group__5" - // InternalRos.g:5015:1: rule__TopicSpec__Group__5 : rule__TopicSpec__Group__5__Impl ; - public final void rule__TopicSpec__Group__5() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5_3__0" + // InternalRos.g:5046:1: rule__AmentPackage__Group_5_3__0 : rule__AmentPackage__Group_5_3__0__Impl rule__AmentPackage__Group_5_3__1 ; + public final void rule__AmentPackage__Group_5_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5019:1: ( rule__TopicSpec__Group__5__Impl ) - // InternalRos.g:5020:2: rule__TopicSpec__Group__5__Impl + // InternalRos.g:5050:1: ( rule__AmentPackage__Group_5_3__0__Impl rule__AmentPackage__Group_5_3__1 ) + // InternalRos.g:5051:2: rule__AmentPackage__Group_5_3__0__Impl rule__AmentPackage__Group_5_3__1 { + pushFollow(FOLLOW_19); + rule__AmentPackage__Group_5_3__0__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__TopicSpec__Group__5__Impl(); + rule__AmentPackage__Group_5_3__1(); state._fsp--; @@ -15586,25 +15736,25 @@ public final void rule__TopicSpec__Group__5() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group__5" + // $ANTLR end "rule__AmentPackage__Group_5_3__0" - // $ANTLR start "rule__TopicSpec__Group__5__Impl" - // InternalRos.g:5026:1: rule__TopicSpec__Group__5__Impl : ( '}' ) ; - public final void rule__TopicSpec__Group__5__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5_3__0__Impl" + // InternalRos.g:5058:1: rule__AmentPackage__Group_5_3__0__Impl : ( ',' ) ; + public final void rule__AmentPackage__Group_5_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5030:1: ( ( '}' ) ) - // InternalRos.g:5031:1: ( '}' ) + // InternalRos.g:5062:1: ( ( ',' ) ) + // InternalRos.g:5063:1: ( ',' ) { - // InternalRos.g:5031:1: ( '}' ) - // InternalRos.g:5032:2: '}' + // InternalRos.g:5063:1: ( ',' ) + // InternalRos.g:5064:2: ',' { - before(grammarAccess.getTopicSpecAccess().getRightCurlyBracketKeyword_5()); - match(input,42,FOLLOW_2); - after(grammarAccess.getTopicSpecAccess().getRightCurlyBracketKeyword_5()); + before(grammarAccess.getAmentPackageAccess().getCommaKeyword_5_3_0()); + match(input,43,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getCommaKeyword_5_3_0()); } @@ -15623,26 +15773,21 @@ public final void rule__TopicSpec__Group__5__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__TopicSpec__Group__5__Impl" + // $ANTLR end "rule__AmentPackage__Group_5_3__0__Impl" - // $ANTLR start "rule__TopicSpec__Group_4__0" - // InternalRos.g:5042:1: rule__TopicSpec__Group_4__0 : rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ; - public final void rule__TopicSpec__Group_4__0() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5_3__1" + // InternalRos.g:5073:1: rule__AmentPackage__Group_5_3__1 : rule__AmentPackage__Group_5_3__1__Impl ; + public final void rule__AmentPackage__Group_5_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5046:1: ( rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ) - // InternalRos.g:5047:2: rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 + // InternalRos.g:5077:1: ( rule__AmentPackage__Group_5_3__1__Impl ) + // InternalRos.g:5078:2: rule__AmentPackage__Group_5_3__1__Impl { - pushFollow(FOLLOW_4); - rule__TopicSpec__Group_4__0__Impl(); - - state._fsp--; - pushFollow(FOLLOW_2); - rule__TopicSpec__Group_4__1(); + rule__AmentPackage__Group_5_3__1__Impl(); state._fsp--; @@ -15661,25 +15806,35 @@ public final void rule__TopicSpec__Group_4__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group_4__0" + // $ANTLR end "rule__AmentPackage__Group_5_3__1" - // $ANTLR start "rule__TopicSpec__Group_4__0__Impl" - // InternalRos.g:5054:1: rule__TopicSpec__Group_4__0__Impl : ( 'message' ) ; - public final void rule__TopicSpec__Group_4__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_5_3__1__Impl" + // InternalRos.g:5084:1: rule__AmentPackage__Group_5_3__1__Impl : ( ( rule__AmentPackage__DependencyAssignment_5_3_1 ) ) ; + public final void rule__AmentPackage__Group_5_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5058:1: ( ( 'message' ) ) - // InternalRos.g:5059:1: ( 'message' ) + // InternalRos.g:5088:1: ( ( ( rule__AmentPackage__DependencyAssignment_5_3_1 ) ) ) + // InternalRos.g:5089:1: ( ( rule__AmentPackage__DependencyAssignment_5_3_1 ) ) { - // InternalRos.g:5059:1: ( 'message' ) - // InternalRos.g:5060:2: 'message' + // InternalRos.g:5089:1: ( ( rule__AmentPackage__DependencyAssignment_5_3_1 ) ) + // InternalRos.g:5090:2: ( rule__AmentPackage__DependencyAssignment_5_3_1 ) { - before(grammarAccess.getTopicSpecAccess().getMessageKeyword_4_0()); - match(input,30,FOLLOW_2); - after(grammarAccess.getTopicSpecAccess().getMessageKeyword_4_0()); + before(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_3_1()); + // InternalRos.g:5091:2: ( rule__AmentPackage__DependencyAssignment_5_3_1 ) + // InternalRos.g:5091:3: rule__AmentPackage__DependencyAssignment_5_3_1 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__DependencyAssignment_5_3_1(); + + state._fsp--; + + + } + + after(grammarAccess.getAmentPackageAccess().getDependencyAssignment_5_3_1()); } @@ -15698,21 +15853,26 @@ public final void rule__TopicSpec__Group_4__0__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__TopicSpec__Group_4__0__Impl" + // $ANTLR end "rule__AmentPackage__Group_5_3__1__Impl" - // $ANTLR start "rule__TopicSpec__Group_4__1" - // InternalRos.g:5069:1: rule__TopicSpec__Group_4__1 : rule__TopicSpec__Group_4__1__Impl ; - public final void rule__TopicSpec__Group_4__1() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_6__0" + // InternalRos.g:5100:1: rule__AmentPackage__Group_6__0 : rule__AmentPackage__Group_6__0__Impl rule__AmentPackage__Group_6__1 ; + public final void rule__AmentPackage__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5073:1: ( rule__TopicSpec__Group_4__1__Impl ) - // InternalRos.g:5074:2: rule__TopicSpec__Group_4__1__Impl + // InternalRos.g:5104:1: ( rule__AmentPackage__Group_6__0__Impl rule__AmentPackage__Group_6__1 ) + // InternalRos.g:5105:2: rule__AmentPackage__Group_6__0__Impl rule__AmentPackage__Group_6__1 { + pushFollow(FOLLOW_4); + rule__AmentPackage__Group_6__0__Impl(); + + state._fsp--; + pushFollow(FOLLOW_2); - rule__TopicSpec__Group_4__1__Impl(); + rule__AmentPackage__Group_6__1(); state._fsp--; @@ -15731,35 +15891,25 @@ public final void rule__TopicSpec__Group_4__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__TopicSpec__Group_4__1" + // $ANTLR end "rule__AmentPackage__Group_6__0" - // $ANTLR start "rule__TopicSpec__Group_4__1__Impl" - // InternalRos.g:5080:1: rule__TopicSpec__Group_4__1__Impl : ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ; - public final void rule__TopicSpec__Group_4__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_6__0__Impl" + // InternalRos.g:5112:1: rule__AmentPackage__Group_6__0__Impl : ( 'Specs' ) ; + public final void rule__AmentPackage__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5084:1: ( ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ) - // InternalRos.g:5085:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) + // InternalRos.g:5116:1: ( ( 'Specs' ) ) + // InternalRos.g:5117:1: ( 'Specs' ) { - // InternalRos.g:5085:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) - // InternalRos.g:5086:2: ( rule__TopicSpec__MessageAssignment_4_1 ) + // InternalRos.g:5117:1: ( 'Specs' ) + // InternalRos.g:5118:2: 'Specs' { - before(grammarAccess.getTopicSpecAccess().getMessageAssignment_4_1()); - // InternalRos.g:5087:2: ( rule__TopicSpec__MessageAssignment_4_1 ) - // InternalRos.g:5087:3: rule__TopicSpec__MessageAssignment_4_1 - { - pushFollow(FOLLOW_2); - rule__TopicSpec__MessageAssignment_4_1(); - - state._fsp--; - - - } - - after(grammarAccess.getTopicSpecAccess().getMessageAssignment_4_1()); + before(grammarAccess.getAmentPackageAccess().getSpecsKeyword_6_0()); + match(input,46,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getSpecsKeyword_6_0()); } @@ -15778,26 +15928,26 @@ public final void rule__TopicSpec__Group_4__1__Impl() throws RecognitionExceptio } return ; } - // $ANTLR end "rule__TopicSpec__Group_4__1__Impl" + // $ANTLR end "rule__AmentPackage__Group_6__0__Impl" - // $ANTLR start "rule__ActionSpec__Group__0" - // InternalRos.g:5096:1: rule__ActionSpec__Group__0 : rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ; - public final void rule__ActionSpec__Group__0() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_6__1" + // InternalRos.g:5127:1: rule__AmentPackage__Group_6__1 : rule__AmentPackage__Group_6__1__Impl rule__AmentPackage__Group_6__2 ; + public final void rule__AmentPackage__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5100:1: ( rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ) - // InternalRos.g:5101:2: rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 + // InternalRos.g:5131:1: ( rule__AmentPackage__Group_6__1__Impl rule__AmentPackage__Group_6__2 ) + // InternalRos.g:5132:2: rule__AmentPackage__Group_6__1__Impl rule__AmentPackage__Group_6__2 { pushFollow(FOLLOW_12); - rule__ActionSpec__Group__0__Impl(); + rule__AmentPackage__Group_6__1__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ActionSpec__Group__1(); + rule__AmentPackage__Group_6__2(); state._fsp--; @@ -15816,29 +15966,25 @@ public final void rule__ActionSpec__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__ActionSpec__Group__0" + // $ANTLR end "rule__AmentPackage__Group_6__1" - // $ANTLR start "rule__ActionSpec__Group__0__Impl" - // InternalRos.g:5108:1: rule__ActionSpec__Group__0__Impl : ( () ) ; - public final void rule__ActionSpec__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_6__1__Impl" + // InternalRos.g:5139:1: rule__AmentPackage__Group_6__1__Impl : ( '{' ) ; + public final void rule__AmentPackage__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5112:1: ( ( () ) ) - // InternalRos.g:5113:1: ( () ) + // InternalRos.g:5143:1: ( ( '{' ) ) + // InternalRos.g:5144:1: ( '{' ) { - // InternalRos.g:5113:1: ( () ) - // InternalRos.g:5114:2: () + // InternalRos.g:5144:1: ( '{' ) + // InternalRos.g:5145:2: '{' { - before(grammarAccess.getActionSpecAccess().getActionSpecAction_0()); - // InternalRos.g:5115:2: () - // InternalRos.g:5115:3: - { - } - - after(grammarAccess.getActionSpecAccess().getActionSpecAction_0()); + before(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_6_1()); + match(input,41,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_6_1()); } @@ -15846,6 +15992,10 @@ public final void rule__ActionSpec__Group__0__Impl() throws RecognitionException } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } finally { restoreStackSize(stackSize); @@ -15853,26 +16003,26 @@ public final void rule__ActionSpec__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionSpec__Group__0__Impl" + // $ANTLR end "rule__AmentPackage__Group_6__1__Impl" - // $ANTLR start "rule__ActionSpec__Group__1" - // InternalRos.g:5123:1: rule__ActionSpec__Group__1 : rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ; - public final void rule__ActionSpec__Group__1() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_6__2" + // InternalRos.g:5154:1: rule__AmentPackage__Group_6__2 : rule__AmentPackage__Group_6__2__Impl rule__AmentPackage__Group_6__3 ; + public final void rule__AmentPackage__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5127:1: ( rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ) - // InternalRos.g:5128:2: rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 + // InternalRos.g:5158:1: ( rule__AmentPackage__Group_6__2__Impl rule__AmentPackage__Group_6__3 ) + // InternalRos.g:5159:2: rule__AmentPackage__Group_6__2__Impl rule__AmentPackage__Group_6__3 { - pushFollow(FOLLOW_10); - rule__ActionSpec__Group__1__Impl(); + pushFollow(FOLLOW_13); + rule__AmentPackage__Group_6__2__Impl(); state._fsp--; pushFollow(FOLLOW_2); - rule__ActionSpec__Group__2(); + rule__AmentPackage__Group_6__3(); state._fsp--; @@ -15891,25 +16041,35 @@ public final void rule__ActionSpec__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__ActionSpec__Group__1" + // $ANTLR end "rule__AmentPackage__Group_6__2" - // $ANTLR start "rule__ActionSpec__Group__1__Impl" - // InternalRos.g:5135:1: rule__ActionSpec__Group__1__Impl : ( 'ActionSpec' ) ; - public final void rule__ActionSpec__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_6__2__Impl" + // InternalRos.g:5166:1: rule__AmentPackage__Group_6__2__Impl : ( ( rule__AmentPackage__SpecAssignment_6_2 ) ) ; + public final void rule__AmentPackage__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5139:1: ( ( 'ActionSpec' ) ) - // InternalRos.g:5140:1: ( 'ActionSpec' ) + // InternalRos.g:5170:1: ( ( ( rule__AmentPackage__SpecAssignment_6_2 ) ) ) + // InternalRos.g:5171:1: ( ( rule__AmentPackage__SpecAssignment_6_2 ) ) { - // InternalRos.g:5140:1: ( 'ActionSpec' ) - // InternalRos.g:5141:2: 'ActionSpec' + // InternalRos.g:5171:1: ( ( rule__AmentPackage__SpecAssignment_6_2 ) ) + // InternalRos.g:5172:2: ( rule__AmentPackage__SpecAssignment_6_2 ) { - before(grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); - match(input,54,FOLLOW_2); - after(grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); + before(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_2()); + // InternalRos.g:5173:2: ( rule__AmentPackage__SpecAssignment_6_2 ) + // InternalRos.g:5173:3: rule__AmentPackage__SpecAssignment_6_2 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__SpecAssignment_6_2(); + + state._fsp--; + + + } + + after(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_2()); } @@ -15928,21 +16088,2350 @@ public final void rule__ActionSpec__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__ActionSpec__Group__1__Impl" + // $ANTLR end "rule__AmentPackage__Group_6__2__Impl" - // $ANTLR start "rule__ActionSpec__Group__2" - // InternalRos.g:5150:1: rule__ActionSpec__Group__2 : rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ; - public final void rule__ActionSpec__Group__2() throws RecognitionException { + // $ANTLR start "rule__AmentPackage__Group_6__3" + // InternalRos.g:5181:1: rule__AmentPackage__Group_6__3 : rule__AmentPackage__Group_6__3__Impl rule__AmentPackage__Group_6__4 ; + public final void rule__AmentPackage__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5154:1: ( rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ) - // InternalRos.g:5155:2: rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 + // InternalRos.g:5185:1: ( rule__AmentPackage__Group_6__3__Impl rule__AmentPackage__Group_6__4 ) + // InternalRos.g:5186:2: rule__AmentPackage__Group_6__3__Impl rule__AmentPackage__Group_6__4 { - pushFollow(FOLLOW_4); - rule__ActionSpec__Group__2__Impl(); + pushFollow(FOLLOW_13); + rule__AmentPackage__Group_6__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_6__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6__3" + + + // $ANTLR start "rule__AmentPackage__Group_6__3__Impl" + // InternalRos.g:5193:1: rule__AmentPackage__Group_6__3__Impl : ( ( rule__AmentPackage__Group_6_3__0 )* ) ; + public final void rule__AmentPackage__Group_6__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5197:1: ( ( ( rule__AmentPackage__Group_6_3__0 )* ) ) + // InternalRos.g:5198:1: ( ( rule__AmentPackage__Group_6_3__0 )* ) + { + // InternalRos.g:5198:1: ( ( rule__AmentPackage__Group_6_3__0 )* ) + // InternalRos.g:5199:2: ( rule__AmentPackage__Group_6_3__0 )* + { + before(grammarAccess.getAmentPackageAccess().getGroup_6_3()); + // InternalRos.g:5200:2: ( rule__AmentPackage__Group_6_3__0 )* + loop33: + do { + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==43) ) { + alt33=1; + } + + + switch (alt33) { + case 1 : + // InternalRos.g:5200:3: rule__AmentPackage__Group_6_3__0 + { + pushFollow(FOLLOW_7); + rule__AmentPackage__Group_6_3__0(); + + state._fsp--; + + + } + break; + + default : + break loop33; + } + } while (true); + + after(grammarAccess.getAmentPackageAccess().getGroup_6_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6__3__Impl" + + + // $ANTLR start "rule__AmentPackage__Group_6__4" + // InternalRos.g:5208:1: rule__AmentPackage__Group_6__4 : rule__AmentPackage__Group_6__4__Impl ; + public final void rule__AmentPackage__Group_6__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5212:1: ( rule__AmentPackage__Group_6__4__Impl ) + // InternalRos.g:5213:2: rule__AmentPackage__Group_6__4__Impl + { + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_6__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6__4" + + + // $ANTLR start "rule__AmentPackage__Group_6__4__Impl" + // InternalRos.g:5219:1: rule__AmentPackage__Group_6__4__Impl : ( '}' ) ; + public final void rule__AmentPackage__Group_6__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5223:1: ( ( '}' ) ) + // InternalRos.g:5224:1: ( '}' ) + { + // InternalRos.g:5224:1: ( '}' ) + // InternalRos.g:5225:2: '}' + { + before(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_6_4()); + match(input,42,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_6_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6__4__Impl" + + + // $ANTLR start "rule__AmentPackage__Group_6_3__0" + // InternalRos.g:5235:1: rule__AmentPackage__Group_6_3__0 : rule__AmentPackage__Group_6_3__0__Impl rule__AmentPackage__Group_6_3__1 ; + public final void rule__AmentPackage__Group_6_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5239:1: ( rule__AmentPackage__Group_6_3__0__Impl rule__AmentPackage__Group_6_3__1 ) + // InternalRos.g:5240:2: rule__AmentPackage__Group_6_3__0__Impl rule__AmentPackage__Group_6_3__1 + { + pushFollow(FOLLOW_12); + rule__AmentPackage__Group_6_3__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_6_3__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6_3__0" + + + // $ANTLR start "rule__AmentPackage__Group_6_3__0__Impl" + // InternalRos.g:5247:1: rule__AmentPackage__Group_6_3__0__Impl : ( ',' ) ; + public final void rule__AmentPackage__Group_6_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5251:1: ( ( ',' ) ) + // InternalRos.g:5252:1: ( ',' ) + { + // InternalRos.g:5252:1: ( ',' ) + // InternalRos.g:5253:2: ',' + { + before(grammarAccess.getAmentPackageAccess().getCommaKeyword_6_3_0()); + match(input,43,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getCommaKeyword_6_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6_3__0__Impl" + + + // $ANTLR start "rule__AmentPackage__Group_6_3__1" + // InternalRos.g:5262:1: rule__AmentPackage__Group_6_3__1 : rule__AmentPackage__Group_6_3__1__Impl ; + public final void rule__AmentPackage__Group_6_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5266:1: ( rule__AmentPackage__Group_6_3__1__Impl ) + // InternalRos.g:5267:2: rule__AmentPackage__Group_6_3__1__Impl + { + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_6_3__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6_3__1" + + + // $ANTLR start "rule__AmentPackage__Group_6_3__1__Impl" + // InternalRos.g:5273:1: rule__AmentPackage__Group_6_3__1__Impl : ( ( rule__AmentPackage__SpecAssignment_6_3_1 ) ) ; + public final void rule__AmentPackage__Group_6_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5277:1: ( ( ( rule__AmentPackage__SpecAssignment_6_3_1 ) ) ) + // InternalRos.g:5278:1: ( ( rule__AmentPackage__SpecAssignment_6_3_1 ) ) + { + // InternalRos.g:5278:1: ( ( rule__AmentPackage__SpecAssignment_6_3_1 ) ) + // InternalRos.g:5279:2: ( rule__AmentPackage__SpecAssignment_6_3_1 ) + { + before(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_3_1()); + // InternalRos.g:5280:2: ( rule__AmentPackage__SpecAssignment_6_3_1 ) + // InternalRos.g:5280:3: rule__AmentPackage__SpecAssignment_6_3_1 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__SpecAssignment_6_3_1(); + + state._fsp--; + + + } + + after(grammarAccess.getAmentPackageAccess().getSpecAssignment_6_3_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_6_3__1__Impl" + + + // $ANTLR start "rule__AmentPackage__Group_7__0" + // InternalRos.g:5289:1: rule__AmentPackage__Group_7__0 : rule__AmentPackage__Group_7__0__Impl rule__AmentPackage__Group_7__1 ; + public final void rule__AmentPackage__Group_7__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5293:1: ( rule__AmentPackage__Group_7__0__Impl rule__AmentPackage__Group_7__1 ) + // InternalRos.g:5294:2: rule__AmentPackage__Group_7__0__Impl rule__AmentPackage__Group_7__1 + { + pushFollow(FOLLOW_6); + rule__AmentPackage__Group_7__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_7__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7__0" + + + // $ANTLR start "rule__AmentPackage__Group_7__0__Impl" + // InternalRos.g:5301:1: rule__AmentPackage__Group_7__0__Impl : ( ( rule__AmentPackage__ArtifactAssignment_7_0 ) ) ; + public final void rule__AmentPackage__Group_7__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5305:1: ( ( ( rule__AmentPackage__ArtifactAssignment_7_0 ) ) ) + // InternalRos.g:5306:1: ( ( rule__AmentPackage__ArtifactAssignment_7_0 ) ) + { + // InternalRos.g:5306:1: ( ( rule__AmentPackage__ArtifactAssignment_7_0 ) ) + // InternalRos.g:5307:2: ( rule__AmentPackage__ArtifactAssignment_7_0 ) + { + before(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_0()); + // InternalRos.g:5308:2: ( rule__AmentPackage__ArtifactAssignment_7_0 ) + // InternalRos.g:5308:3: rule__AmentPackage__ArtifactAssignment_7_0 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__ArtifactAssignment_7_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7__0__Impl" + + + // $ANTLR start "rule__AmentPackage__Group_7__1" + // InternalRos.g:5316:1: rule__AmentPackage__Group_7__1 : rule__AmentPackage__Group_7__1__Impl ; + public final void rule__AmentPackage__Group_7__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5320:1: ( rule__AmentPackage__Group_7__1__Impl ) + // InternalRos.g:5321:2: rule__AmentPackage__Group_7__1__Impl + { + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_7__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7__1" + + + // $ANTLR start "rule__AmentPackage__Group_7__1__Impl" + // InternalRos.g:5327:1: rule__AmentPackage__Group_7__1__Impl : ( ( rule__AmentPackage__Group_7_1__0 )* ) ; + public final void rule__AmentPackage__Group_7__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5331:1: ( ( ( rule__AmentPackage__Group_7_1__0 )* ) ) + // InternalRos.g:5332:1: ( ( rule__AmentPackage__Group_7_1__0 )* ) + { + // InternalRos.g:5332:1: ( ( rule__AmentPackage__Group_7_1__0 )* ) + // InternalRos.g:5333:2: ( rule__AmentPackage__Group_7_1__0 )* + { + before(grammarAccess.getAmentPackageAccess().getGroup_7_1()); + // InternalRos.g:5334:2: ( rule__AmentPackage__Group_7_1__0 )* + loop34: + do { + int alt34=2; + int LA34_0 = input.LA(1); + + if ( (LA34_0==43) ) { + alt34=1; + } + + + switch (alt34) { + case 1 : + // InternalRos.g:5334:3: rule__AmentPackage__Group_7_1__0 + { + pushFollow(FOLLOW_7); + rule__AmentPackage__Group_7_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop34; + } + } while (true); + + after(grammarAccess.getAmentPackageAccess().getGroup_7_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7__1__Impl" + + + // $ANTLR start "rule__AmentPackage__Group_7_1__0" + // InternalRos.g:5343:1: rule__AmentPackage__Group_7_1__0 : rule__AmentPackage__Group_7_1__0__Impl rule__AmentPackage__Group_7_1__1 ; + public final void rule__AmentPackage__Group_7_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5347:1: ( rule__AmentPackage__Group_7_1__0__Impl rule__AmentPackage__Group_7_1__1 ) + // InternalRos.g:5348:2: rule__AmentPackage__Group_7_1__0__Impl rule__AmentPackage__Group_7_1__1 + { + pushFollow(FOLLOW_14); + rule__AmentPackage__Group_7_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_7_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7_1__0" + + + // $ANTLR start "rule__AmentPackage__Group_7_1__0__Impl" + // InternalRos.g:5355:1: rule__AmentPackage__Group_7_1__0__Impl : ( ',' ) ; + public final void rule__AmentPackage__Group_7_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5359:1: ( ( ',' ) ) + // InternalRos.g:5360:1: ( ',' ) + { + // InternalRos.g:5360:1: ( ',' ) + // InternalRos.g:5361:2: ',' + { + before(grammarAccess.getAmentPackageAccess().getCommaKeyword_7_1_0()); + match(input,43,FOLLOW_2); + after(grammarAccess.getAmentPackageAccess().getCommaKeyword_7_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7_1__0__Impl" + + + // $ANTLR start "rule__AmentPackage__Group_7_1__1" + // InternalRos.g:5370:1: rule__AmentPackage__Group_7_1__1 : rule__AmentPackage__Group_7_1__1__Impl ; + public final void rule__AmentPackage__Group_7_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5374:1: ( rule__AmentPackage__Group_7_1__1__Impl ) + // InternalRos.g:5375:2: rule__AmentPackage__Group_7_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__AmentPackage__Group_7_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7_1__1" + + + // $ANTLR start "rule__AmentPackage__Group_7_1__1__Impl" + // InternalRos.g:5381:1: rule__AmentPackage__Group_7_1__1__Impl : ( ( rule__AmentPackage__ArtifactAssignment_7_1_1 ) ) ; + public final void rule__AmentPackage__Group_7_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5385:1: ( ( ( rule__AmentPackage__ArtifactAssignment_7_1_1 ) ) ) + // InternalRos.g:5386:1: ( ( rule__AmentPackage__ArtifactAssignment_7_1_1 ) ) + { + // InternalRos.g:5386:1: ( ( rule__AmentPackage__ArtifactAssignment_7_1_1 ) ) + // InternalRos.g:5387:2: ( rule__AmentPackage__ArtifactAssignment_7_1_1 ) + { + before(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_1_1()); + // InternalRos.g:5388:2: ( rule__AmentPackage__ArtifactAssignment_7_1_1 ) + // InternalRos.g:5388:3: rule__AmentPackage__ArtifactAssignment_7_1_1 + { + pushFollow(FOLLOW_2); + rule__AmentPackage__ArtifactAssignment_7_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getAmentPackageAccess().getArtifactAssignment_7_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__Group_7_1__1__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group__0" + // InternalRos.g:5397:1: rule__ServiceSpec__Group__0 : rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ; + public final void rule__ServiceSpec__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5401:1: ( rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 ) + // InternalRos.g:5402:2: rule__ServiceSpec__Group__0__Impl rule__ServiceSpec__Group__1 + { + pushFollow(FOLLOW_20); + rule__ServiceSpec__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__0" + + + // $ANTLR start "rule__ServiceSpec__Group__0__Impl" + // InternalRos.g:5409:1: rule__ServiceSpec__Group__0__Impl : ( () ) ; + public final void rule__ServiceSpec__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5413:1: ( ( () ) ) + // InternalRos.g:5414:1: ( () ) + { + // InternalRos.g:5414:1: ( () ) + // InternalRos.g:5415:2: () + { + before(grammarAccess.getServiceSpecAccess().getServiceSpecAction_0()); + // InternalRos.g:5416:2: () + // InternalRos.g:5416:3: + { + } + + after(grammarAccess.getServiceSpecAccess().getServiceSpecAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__0__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group__1" + // InternalRos.g:5424:1: rule__ServiceSpec__Group__1 : rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ; + public final void rule__ServiceSpec__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5428:1: ( rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 ) + // InternalRos.g:5429:2: rule__ServiceSpec__Group__1__Impl rule__ServiceSpec__Group__2 + { + pushFollow(FOLLOW_10); + rule__ServiceSpec__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__1" + + + // $ANTLR start "rule__ServiceSpec__Group__1__Impl" + // InternalRos.g:5436:1: rule__ServiceSpec__Group__1__Impl : ( 'ServiceSpec' ) ; + public final void rule__ServiceSpec__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5440:1: ( ( 'ServiceSpec' ) ) + // InternalRos.g:5441:1: ( 'ServiceSpec' ) + { + // InternalRos.g:5441:1: ( 'ServiceSpec' ) + // InternalRos.g:5442:2: 'ServiceSpec' + { + before(grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); + match(input,51,FOLLOW_2); + after(grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__1__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group__2" + // InternalRos.g:5451:1: rule__ServiceSpec__Group__2 : rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ; + public final void rule__ServiceSpec__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5455:1: ( rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 ) + // InternalRos.g:5456:2: rule__ServiceSpec__Group__2__Impl rule__ServiceSpec__Group__3 + { + pushFollow(FOLLOW_4); + rule__ServiceSpec__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__2" + + + // $ANTLR start "rule__ServiceSpec__Group__2__Impl" + // InternalRos.g:5463:1: rule__ServiceSpec__Group__2__Impl : ( ( rule__ServiceSpec__NameAssignment_2 ) ) ; + public final void rule__ServiceSpec__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5467:1: ( ( ( rule__ServiceSpec__NameAssignment_2 ) ) ) + // InternalRos.g:5468:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) + { + // InternalRos.g:5468:1: ( ( rule__ServiceSpec__NameAssignment_2 ) ) + // InternalRos.g:5469:2: ( rule__ServiceSpec__NameAssignment_2 ) + { + before(grammarAccess.getServiceSpecAccess().getNameAssignment_2()); + // InternalRos.g:5470:2: ( rule__ServiceSpec__NameAssignment_2 ) + // InternalRos.g:5470:3: rule__ServiceSpec__NameAssignment_2 + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__NameAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getServiceSpecAccess().getNameAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__2__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group__3" + // InternalRos.g:5478:1: rule__ServiceSpec__Group__3 : rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ; + public final void rule__ServiceSpec__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5482:1: ( rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 ) + // InternalRos.g:5483:2: rule__ServiceSpec__Group__3__Impl rule__ServiceSpec__Group__4 + { + pushFollow(FOLLOW_21); + rule__ServiceSpec__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__3" + + + // $ANTLR start "rule__ServiceSpec__Group__3__Impl" + // InternalRos.g:5490:1: rule__ServiceSpec__Group__3__Impl : ( '{' ) ; + public final void rule__ServiceSpec__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5494:1: ( ( '{' ) ) + // InternalRos.g:5495:1: ( '{' ) + { + // InternalRos.g:5495:1: ( '{' ) + // InternalRos.g:5496:2: '{' + { + before(grammarAccess.getServiceSpecAccess().getLeftCurlyBracketKeyword_3()); + match(input,41,FOLLOW_2); + after(grammarAccess.getServiceSpecAccess().getLeftCurlyBracketKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__3__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group__4" + // InternalRos.g:5505:1: rule__ServiceSpec__Group__4 : rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ; + public final void rule__ServiceSpec__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5509:1: ( rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 ) + // InternalRos.g:5510:2: rule__ServiceSpec__Group__4__Impl rule__ServiceSpec__Group__5 + { + pushFollow(FOLLOW_21); + rule__ServiceSpec__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__4" + + + // $ANTLR start "rule__ServiceSpec__Group__4__Impl" + // InternalRos.g:5517:1: rule__ServiceSpec__Group__4__Impl : ( ( rule__ServiceSpec__Group_4__0 )? ) ; + public final void rule__ServiceSpec__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5521:1: ( ( ( rule__ServiceSpec__Group_4__0 )? ) ) + // InternalRos.g:5522:1: ( ( rule__ServiceSpec__Group_4__0 )? ) + { + // InternalRos.g:5522:1: ( ( rule__ServiceSpec__Group_4__0 )? ) + // InternalRos.g:5523:2: ( rule__ServiceSpec__Group_4__0 )? + { + before(grammarAccess.getServiceSpecAccess().getGroup_4()); + // InternalRos.g:5524:2: ( rule__ServiceSpec__Group_4__0 )? + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==52) ) { + alt35=1; + } + switch (alt35) { + case 1 : + // InternalRos.g:5524:3: rule__ServiceSpec__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group_4__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getServiceSpecAccess().getGroup_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__4__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group__5" + // InternalRos.g:5532:1: rule__ServiceSpec__Group__5 : rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ; + public final void rule__ServiceSpec__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5536:1: ( rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 ) + // InternalRos.g:5537:2: rule__ServiceSpec__Group__5__Impl rule__ServiceSpec__Group__6 + { + pushFollow(FOLLOW_21); + rule__ServiceSpec__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__5" + + + // $ANTLR start "rule__ServiceSpec__Group__5__Impl" + // InternalRos.g:5544:1: rule__ServiceSpec__Group__5__Impl : ( ( rule__ServiceSpec__Group_5__0 )? ) ; + public final void rule__ServiceSpec__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5548:1: ( ( ( rule__ServiceSpec__Group_5__0 )? ) ) + // InternalRos.g:5549:1: ( ( rule__ServiceSpec__Group_5__0 )? ) + { + // InternalRos.g:5549:1: ( ( rule__ServiceSpec__Group_5__0 )? ) + // InternalRos.g:5550:2: ( rule__ServiceSpec__Group_5__0 )? + { + before(grammarAccess.getServiceSpecAccess().getGroup_5()); + // InternalRos.g:5551:2: ( rule__ServiceSpec__Group_5__0 )? + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==53) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // InternalRos.g:5551:3: rule__ServiceSpec__Group_5__0 + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group_5__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getServiceSpecAccess().getGroup_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__5__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group__6" + // InternalRos.g:5559:1: rule__ServiceSpec__Group__6 : rule__ServiceSpec__Group__6__Impl ; + public final void rule__ServiceSpec__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5563:1: ( rule__ServiceSpec__Group__6__Impl ) + // InternalRos.g:5564:2: rule__ServiceSpec__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group__6__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__6" + + + // $ANTLR start "rule__ServiceSpec__Group__6__Impl" + // InternalRos.g:5570:1: rule__ServiceSpec__Group__6__Impl : ( '}' ) ; + public final void rule__ServiceSpec__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5574:1: ( ( '}' ) ) + // InternalRos.g:5575:1: ( '}' ) + { + // InternalRos.g:5575:1: ( '}' ) + // InternalRos.g:5576:2: '}' + { + before(grammarAccess.getServiceSpecAccess().getRightCurlyBracketKeyword_6()); + match(input,42,FOLLOW_2); + after(grammarAccess.getServiceSpecAccess().getRightCurlyBracketKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group__6__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group_4__0" + // InternalRos.g:5586:1: rule__ServiceSpec__Group_4__0 : rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ; + public final void rule__ServiceSpec__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5590:1: ( rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 ) + // InternalRos.g:5591:2: rule__ServiceSpec__Group_4__0__Impl rule__ServiceSpec__Group_4__1 + { + pushFollow(FOLLOW_4); + rule__ServiceSpec__Group_4__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group_4__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_4__0" + + + // $ANTLR start "rule__ServiceSpec__Group_4__0__Impl" + // InternalRos.g:5598:1: rule__ServiceSpec__Group_4__0__Impl : ( 'request' ) ; + public final void rule__ServiceSpec__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5602:1: ( ( 'request' ) ) + // InternalRos.g:5603:1: ( 'request' ) + { + // InternalRos.g:5603:1: ( 'request' ) + // InternalRos.g:5604:2: 'request' + { + before(grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); + match(input,52,FOLLOW_2); + after(grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_4__0__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group_4__1" + // InternalRos.g:5613:1: rule__ServiceSpec__Group_4__1 : rule__ServiceSpec__Group_4__1__Impl ; + public final void rule__ServiceSpec__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5617:1: ( rule__ServiceSpec__Group_4__1__Impl ) + // InternalRos.g:5618:2: rule__ServiceSpec__Group_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group_4__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_4__1" + + + // $ANTLR start "rule__ServiceSpec__Group_4__1__Impl" + // InternalRos.g:5624:1: rule__ServiceSpec__Group_4__1__Impl : ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ; + public final void rule__ServiceSpec__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5628:1: ( ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) ) + // InternalRos.g:5629:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) + { + // InternalRos.g:5629:1: ( ( rule__ServiceSpec__RequestAssignment_4_1 ) ) + // InternalRos.g:5630:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) + { + before(grammarAccess.getServiceSpecAccess().getRequestAssignment_4_1()); + // InternalRos.g:5631:2: ( rule__ServiceSpec__RequestAssignment_4_1 ) + // InternalRos.g:5631:3: rule__ServiceSpec__RequestAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__RequestAssignment_4_1(); + + state._fsp--; + + + } + + after(grammarAccess.getServiceSpecAccess().getRequestAssignment_4_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_4__1__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group_5__0" + // InternalRos.g:5640:1: rule__ServiceSpec__Group_5__0 : rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ; + public final void rule__ServiceSpec__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5644:1: ( rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 ) + // InternalRos.g:5645:2: rule__ServiceSpec__Group_5__0__Impl rule__ServiceSpec__Group_5__1 + { + pushFollow(FOLLOW_4); + rule__ServiceSpec__Group_5__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group_5__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_5__0" + + + // $ANTLR start "rule__ServiceSpec__Group_5__0__Impl" + // InternalRos.g:5652:1: rule__ServiceSpec__Group_5__0__Impl : ( 'response' ) ; + public final void rule__ServiceSpec__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5656:1: ( ( 'response' ) ) + // InternalRos.g:5657:1: ( 'response' ) + { + // InternalRos.g:5657:1: ( 'response' ) + // InternalRos.g:5658:2: 'response' + { + before(grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); + match(input,53,FOLLOW_2); + after(grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_5__0__Impl" + + + // $ANTLR start "rule__ServiceSpec__Group_5__1" + // InternalRos.g:5667:1: rule__ServiceSpec__Group_5__1 : rule__ServiceSpec__Group_5__1__Impl ; + public final void rule__ServiceSpec__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5671:1: ( rule__ServiceSpec__Group_5__1__Impl ) + // InternalRos.g:5672:2: rule__ServiceSpec__Group_5__1__Impl + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__Group_5__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_5__1" + + + // $ANTLR start "rule__ServiceSpec__Group_5__1__Impl" + // InternalRos.g:5678:1: rule__ServiceSpec__Group_5__1__Impl : ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ; + public final void rule__ServiceSpec__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5682:1: ( ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) ) + // InternalRos.g:5683:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) + { + // InternalRos.g:5683:1: ( ( rule__ServiceSpec__ResponseAssignment_5_1 ) ) + // InternalRos.g:5684:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) + { + before(grammarAccess.getServiceSpecAccess().getResponseAssignment_5_1()); + // InternalRos.g:5685:2: ( rule__ServiceSpec__ResponseAssignment_5_1 ) + // InternalRos.g:5685:3: rule__ServiceSpec__ResponseAssignment_5_1 + { + pushFollow(FOLLOW_2); + rule__ServiceSpec__ResponseAssignment_5_1(); + + state._fsp--; + + + } + + after(grammarAccess.getServiceSpecAccess().getResponseAssignment_5_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ServiceSpec__Group_5__1__Impl" + + + // $ANTLR start "rule__TopicSpec__Group__0" + // InternalRos.g:5694:1: rule__TopicSpec__Group__0 : rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ; + public final void rule__TopicSpec__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5698:1: ( rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 ) + // InternalRos.g:5699:2: rule__TopicSpec__Group__0__Impl rule__TopicSpec__Group__1 + { + pushFollow(FOLLOW_22); + rule__TopicSpec__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicSpec__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__0" + + + // $ANTLR start "rule__TopicSpec__Group__0__Impl" + // InternalRos.g:5706:1: rule__TopicSpec__Group__0__Impl : ( () ) ; + public final void rule__TopicSpec__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5710:1: ( ( () ) ) + // InternalRos.g:5711:1: ( () ) + { + // InternalRos.g:5711:1: ( () ) + // InternalRos.g:5712:2: () + { + before(grammarAccess.getTopicSpecAccess().getTopicSpecAction_0()); + // InternalRos.g:5713:2: () + // InternalRos.g:5713:3: + { + } + + after(grammarAccess.getTopicSpecAccess().getTopicSpecAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__0__Impl" + + + // $ANTLR start "rule__TopicSpec__Group__1" + // InternalRos.g:5721:1: rule__TopicSpec__Group__1 : rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ; + public final void rule__TopicSpec__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5725:1: ( rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 ) + // InternalRos.g:5726:2: rule__TopicSpec__Group__1__Impl rule__TopicSpec__Group__2 + { + pushFollow(FOLLOW_23); + rule__TopicSpec__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicSpec__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__1" + + + // $ANTLR start "rule__TopicSpec__Group__1__Impl" + // InternalRos.g:5733:1: rule__TopicSpec__Group__1__Impl : ( 'TopicSpec' ) ; + public final void rule__TopicSpec__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5737:1: ( ( 'TopicSpec' ) ) + // InternalRos.g:5738:1: ( 'TopicSpec' ) + { + // InternalRos.g:5738:1: ( 'TopicSpec' ) + // InternalRos.g:5739:2: 'TopicSpec' + { + before(grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); + match(input,54,FOLLOW_2); + after(grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__1__Impl" + + + // $ANTLR start "rule__TopicSpec__Group__2" + // InternalRos.g:5748:1: rule__TopicSpec__Group__2 : rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ; + public final void rule__TopicSpec__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5752:1: ( rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 ) + // InternalRos.g:5753:2: rule__TopicSpec__Group__2__Impl rule__TopicSpec__Group__3 + { + pushFollow(FOLLOW_4); + rule__TopicSpec__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicSpec__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__2" + + + // $ANTLR start "rule__TopicSpec__Group__2__Impl" + // InternalRos.g:5760:1: rule__TopicSpec__Group__2__Impl : ( ( rule__TopicSpec__NameAssignment_2 ) ) ; + public final void rule__TopicSpec__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5764:1: ( ( ( rule__TopicSpec__NameAssignment_2 ) ) ) + // InternalRos.g:5765:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) + { + // InternalRos.g:5765:1: ( ( rule__TopicSpec__NameAssignment_2 ) ) + // InternalRos.g:5766:2: ( rule__TopicSpec__NameAssignment_2 ) + { + before(grammarAccess.getTopicSpecAccess().getNameAssignment_2()); + // InternalRos.g:5767:2: ( rule__TopicSpec__NameAssignment_2 ) + // InternalRos.g:5767:3: rule__TopicSpec__NameAssignment_2 + { + pushFollow(FOLLOW_2); + rule__TopicSpec__NameAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getTopicSpecAccess().getNameAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__2__Impl" + + + // $ANTLR start "rule__TopicSpec__Group__3" + // InternalRos.g:5775:1: rule__TopicSpec__Group__3 : rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ; + public final void rule__TopicSpec__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5779:1: ( rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 ) + // InternalRos.g:5780:2: rule__TopicSpec__Group__3__Impl rule__TopicSpec__Group__4 + { + pushFollow(FOLLOW_24); + rule__TopicSpec__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicSpec__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__3" + + + // $ANTLR start "rule__TopicSpec__Group__3__Impl" + // InternalRos.g:5787:1: rule__TopicSpec__Group__3__Impl : ( '{' ) ; + public final void rule__TopicSpec__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5791:1: ( ( '{' ) ) + // InternalRos.g:5792:1: ( '{' ) + { + // InternalRos.g:5792:1: ( '{' ) + // InternalRos.g:5793:2: '{' + { + before(grammarAccess.getTopicSpecAccess().getLeftCurlyBracketKeyword_3()); + match(input,41,FOLLOW_2); + after(grammarAccess.getTopicSpecAccess().getLeftCurlyBracketKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__3__Impl" + + + // $ANTLR start "rule__TopicSpec__Group__4" + // InternalRos.g:5802:1: rule__TopicSpec__Group__4 : rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ; + public final void rule__TopicSpec__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5806:1: ( rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 ) + // InternalRos.g:5807:2: rule__TopicSpec__Group__4__Impl rule__TopicSpec__Group__5 + { + pushFollow(FOLLOW_24); + rule__TopicSpec__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicSpec__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__4" + + + // $ANTLR start "rule__TopicSpec__Group__4__Impl" + // InternalRos.g:5814:1: rule__TopicSpec__Group__4__Impl : ( ( rule__TopicSpec__Group_4__0 )? ) ; + public final void rule__TopicSpec__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5818:1: ( ( ( rule__TopicSpec__Group_4__0 )? ) ) + // InternalRos.g:5819:1: ( ( rule__TopicSpec__Group_4__0 )? ) + { + // InternalRos.g:5819:1: ( ( rule__TopicSpec__Group_4__0 )? ) + // InternalRos.g:5820:2: ( rule__TopicSpec__Group_4__0 )? + { + before(grammarAccess.getTopicSpecAccess().getGroup_4()); + // InternalRos.g:5821:2: ( rule__TopicSpec__Group_4__0 )? + int alt37=2; + int LA37_0 = input.LA(1); + + if ( (LA37_0==30) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // InternalRos.g:5821:3: rule__TopicSpec__Group_4__0 + { + pushFollow(FOLLOW_2); + rule__TopicSpec__Group_4__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getTopicSpecAccess().getGroup_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__4__Impl" + + + // $ANTLR start "rule__TopicSpec__Group__5" + // InternalRos.g:5829:1: rule__TopicSpec__Group__5 : rule__TopicSpec__Group__5__Impl ; + public final void rule__TopicSpec__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5833:1: ( rule__TopicSpec__Group__5__Impl ) + // InternalRos.g:5834:2: rule__TopicSpec__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__TopicSpec__Group__5__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__5" + + + // $ANTLR start "rule__TopicSpec__Group__5__Impl" + // InternalRos.g:5840:1: rule__TopicSpec__Group__5__Impl : ( '}' ) ; + public final void rule__TopicSpec__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5844:1: ( ( '}' ) ) + // InternalRos.g:5845:1: ( '}' ) + { + // InternalRos.g:5845:1: ( '}' ) + // InternalRos.g:5846:2: '}' + { + before(grammarAccess.getTopicSpecAccess().getRightCurlyBracketKeyword_5()); + match(input,42,FOLLOW_2); + after(grammarAccess.getTopicSpecAccess().getRightCurlyBracketKeyword_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group__5__Impl" + + + // $ANTLR start "rule__TopicSpec__Group_4__0" + // InternalRos.g:5856:1: rule__TopicSpec__Group_4__0 : rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ; + public final void rule__TopicSpec__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5860:1: ( rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 ) + // InternalRos.g:5861:2: rule__TopicSpec__Group_4__0__Impl rule__TopicSpec__Group_4__1 + { + pushFollow(FOLLOW_4); + rule__TopicSpec__Group_4__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TopicSpec__Group_4__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group_4__0" + + + // $ANTLR start "rule__TopicSpec__Group_4__0__Impl" + // InternalRos.g:5868:1: rule__TopicSpec__Group_4__0__Impl : ( 'message' ) ; + public final void rule__TopicSpec__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5872:1: ( ( 'message' ) ) + // InternalRos.g:5873:1: ( 'message' ) + { + // InternalRos.g:5873:1: ( 'message' ) + // InternalRos.g:5874:2: 'message' + { + before(grammarAccess.getTopicSpecAccess().getMessageKeyword_4_0()); + match(input,30,FOLLOW_2); + after(grammarAccess.getTopicSpecAccess().getMessageKeyword_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group_4__0__Impl" + + + // $ANTLR start "rule__TopicSpec__Group_4__1" + // InternalRos.g:5883:1: rule__TopicSpec__Group_4__1 : rule__TopicSpec__Group_4__1__Impl ; + public final void rule__TopicSpec__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5887:1: ( rule__TopicSpec__Group_4__1__Impl ) + // InternalRos.g:5888:2: rule__TopicSpec__Group_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__TopicSpec__Group_4__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group_4__1" + + + // $ANTLR start "rule__TopicSpec__Group_4__1__Impl" + // InternalRos.g:5894:1: rule__TopicSpec__Group_4__1__Impl : ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ; + public final void rule__TopicSpec__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5898:1: ( ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) ) + // InternalRos.g:5899:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) + { + // InternalRos.g:5899:1: ( ( rule__TopicSpec__MessageAssignment_4_1 ) ) + // InternalRos.g:5900:2: ( rule__TopicSpec__MessageAssignment_4_1 ) + { + before(grammarAccess.getTopicSpecAccess().getMessageAssignment_4_1()); + // InternalRos.g:5901:2: ( rule__TopicSpec__MessageAssignment_4_1 ) + // InternalRos.g:5901:3: rule__TopicSpec__MessageAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__TopicSpec__MessageAssignment_4_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTopicSpecAccess().getMessageAssignment_4_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TopicSpec__Group_4__1__Impl" + + + // $ANTLR start "rule__ActionSpec__Group__0" + // InternalRos.g:5910:1: rule__ActionSpec__Group__0 : rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ; + public final void rule__ActionSpec__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5914:1: ( rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 ) + // InternalRos.g:5915:2: rule__ActionSpec__Group__0__Impl rule__ActionSpec__Group__1 + { + pushFollow(FOLLOW_12); + rule__ActionSpec__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionSpec__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionSpec__Group__0" + + + // $ANTLR start "rule__ActionSpec__Group__0__Impl" + // InternalRos.g:5922:1: rule__ActionSpec__Group__0__Impl : ( () ) ; + public final void rule__ActionSpec__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5926:1: ( ( () ) ) + // InternalRos.g:5927:1: ( () ) + { + // InternalRos.g:5927:1: ( () ) + // InternalRos.g:5928:2: () + { + before(grammarAccess.getActionSpecAccess().getActionSpecAction_0()); + // InternalRos.g:5929:2: () + // InternalRos.g:5929:3: + { + } + + after(grammarAccess.getActionSpecAccess().getActionSpecAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionSpec__Group__0__Impl" + + + // $ANTLR start "rule__ActionSpec__Group__1" + // InternalRos.g:5937:1: rule__ActionSpec__Group__1 : rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ; + public final void rule__ActionSpec__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5941:1: ( rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 ) + // InternalRos.g:5942:2: rule__ActionSpec__Group__1__Impl rule__ActionSpec__Group__2 + { + pushFollow(FOLLOW_10); + rule__ActionSpec__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ActionSpec__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionSpec__Group__1" + + + // $ANTLR start "rule__ActionSpec__Group__1__Impl" + // InternalRos.g:5949:1: rule__ActionSpec__Group__1__Impl : ( 'ActionSpec' ) ; + public final void rule__ActionSpec__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5953:1: ( ( 'ActionSpec' ) ) + // InternalRos.g:5954:1: ( 'ActionSpec' ) + { + // InternalRos.g:5954:1: ( 'ActionSpec' ) + // InternalRos.g:5955:2: 'ActionSpec' + { + before(grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); + match(input,55,FOLLOW_2); + after(grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ActionSpec__Group__1__Impl" + + + // $ANTLR start "rule__ActionSpec__Group__2" + // InternalRos.g:5964:1: rule__ActionSpec__Group__2 : rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ; + public final void rule__ActionSpec__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:5968:1: ( rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 ) + // InternalRos.g:5969:2: rule__ActionSpec__Group__2__Impl rule__ActionSpec__Group__3 + { + pushFollow(FOLLOW_4); + rule__ActionSpec__Group__2__Impl(); state._fsp--; @@ -15970,21 +18459,21 @@ public final void rule__ActionSpec__Group__2() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__2__Impl" - // InternalRos.g:5162:1: rule__ActionSpec__Group__2__Impl : ( ( rule__ActionSpec__NameAssignment_2 ) ) ; + // InternalRos.g:5976:1: rule__ActionSpec__Group__2__Impl : ( ( rule__ActionSpec__NameAssignment_2 ) ) ; public final void rule__ActionSpec__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5166:1: ( ( ( rule__ActionSpec__NameAssignment_2 ) ) ) - // InternalRos.g:5167:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) + // InternalRos.g:5980:1: ( ( ( rule__ActionSpec__NameAssignment_2 ) ) ) + // InternalRos.g:5981:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) { - // InternalRos.g:5167:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) - // InternalRos.g:5168:2: ( rule__ActionSpec__NameAssignment_2 ) + // InternalRos.g:5981:1: ( ( rule__ActionSpec__NameAssignment_2 ) ) + // InternalRos.g:5982:2: ( rule__ActionSpec__NameAssignment_2 ) { before(grammarAccess.getActionSpecAccess().getNameAssignment_2()); - // InternalRos.g:5169:2: ( rule__ActionSpec__NameAssignment_2 ) - // InternalRos.g:5169:3: rule__ActionSpec__NameAssignment_2 + // InternalRos.g:5983:2: ( rule__ActionSpec__NameAssignment_2 ) + // InternalRos.g:5983:3: rule__ActionSpec__NameAssignment_2 { pushFollow(FOLLOW_2); rule__ActionSpec__NameAssignment_2(); @@ -16017,16 +18506,16 @@ public final void rule__ActionSpec__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__3" - // InternalRos.g:5177:1: rule__ActionSpec__Group__3 : rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ; + // InternalRos.g:5991:1: rule__ActionSpec__Group__3 : rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ; public final void rule__ActionSpec__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5181:1: ( rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ) - // InternalRos.g:5182:2: rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 + // InternalRos.g:5995:1: ( rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 ) + // InternalRos.g:5996:2: rule__ActionSpec__Group__3__Impl rule__ActionSpec__Group__4 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_25); rule__ActionSpec__Group__3__Impl(); state._fsp--; @@ -16055,17 +18544,17 @@ public final void rule__ActionSpec__Group__3() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__3__Impl" - // InternalRos.g:5189:1: rule__ActionSpec__Group__3__Impl : ( '{' ) ; + // InternalRos.g:6003:1: rule__ActionSpec__Group__3__Impl : ( '{' ) ; public final void rule__ActionSpec__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5193:1: ( ( '{' ) ) - // InternalRos.g:5194:1: ( '{' ) + // InternalRos.g:6007:1: ( ( '{' ) ) + // InternalRos.g:6008:1: ( '{' ) { - // InternalRos.g:5194:1: ( '{' ) - // InternalRos.g:5195:2: '{' + // InternalRos.g:6008:1: ( '{' ) + // InternalRos.g:6009:2: '{' { before(grammarAccess.getActionSpecAccess().getLeftCurlyBracketKeyword_3()); match(input,41,FOLLOW_2); @@ -16092,16 +18581,16 @@ public final void rule__ActionSpec__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__4" - // InternalRos.g:5204:1: rule__ActionSpec__Group__4 : rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ; + // InternalRos.g:6018:1: rule__ActionSpec__Group__4 : rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ; public final void rule__ActionSpec__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5208:1: ( rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ) - // InternalRos.g:5209:2: rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 + // InternalRos.g:6022:1: ( rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 ) + // InternalRos.g:6023:2: rule__ActionSpec__Group__4__Impl rule__ActionSpec__Group__5 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_25); rule__ActionSpec__Group__4__Impl(); state._fsp--; @@ -16130,29 +18619,29 @@ public final void rule__ActionSpec__Group__4() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__4__Impl" - // InternalRos.g:5216:1: rule__ActionSpec__Group__4__Impl : ( ( rule__ActionSpec__Group_4__0 )? ) ; + // InternalRos.g:6030:1: rule__ActionSpec__Group__4__Impl : ( ( rule__ActionSpec__Group_4__0 )? ) ; public final void rule__ActionSpec__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5220:1: ( ( ( rule__ActionSpec__Group_4__0 )? ) ) - // InternalRos.g:5221:1: ( ( rule__ActionSpec__Group_4__0 )? ) + // InternalRos.g:6034:1: ( ( ( rule__ActionSpec__Group_4__0 )? ) ) + // InternalRos.g:6035:1: ( ( rule__ActionSpec__Group_4__0 )? ) { - // InternalRos.g:5221:1: ( ( rule__ActionSpec__Group_4__0 )? ) - // InternalRos.g:5222:2: ( rule__ActionSpec__Group_4__0 )? + // InternalRos.g:6035:1: ( ( rule__ActionSpec__Group_4__0 )? ) + // InternalRos.g:6036:2: ( rule__ActionSpec__Group_4__0 )? { before(grammarAccess.getActionSpecAccess().getGroup_4()); - // InternalRos.g:5223:2: ( rule__ActionSpec__Group_4__0 )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalRos.g:6037:2: ( rule__ActionSpec__Group_4__0 )? + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA31_0==29) ) { - alt31=1; + if ( (LA38_0==29) ) { + alt38=1; } - switch (alt31) { + switch (alt38) { case 1 : - // InternalRos.g:5223:3: rule__ActionSpec__Group_4__0 + // InternalRos.g:6037:3: rule__ActionSpec__Group_4__0 { pushFollow(FOLLOW_2); rule__ActionSpec__Group_4__0(); @@ -16188,16 +18677,16 @@ public final void rule__ActionSpec__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__5" - // InternalRos.g:5231:1: rule__ActionSpec__Group__5 : rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ; + // InternalRos.g:6045:1: rule__ActionSpec__Group__5 : rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ; public final void rule__ActionSpec__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5235:1: ( rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ) - // InternalRos.g:5236:2: rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 + // InternalRos.g:6049:1: ( rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 ) + // InternalRos.g:6050:2: rule__ActionSpec__Group__5__Impl rule__ActionSpec__Group__6 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_25); rule__ActionSpec__Group__5__Impl(); state._fsp--; @@ -16226,29 +18715,29 @@ public final void rule__ActionSpec__Group__5() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__5__Impl" - // InternalRos.g:5243:1: rule__ActionSpec__Group__5__Impl : ( ( rule__ActionSpec__Group_5__0 )? ) ; + // InternalRos.g:6057:1: rule__ActionSpec__Group__5__Impl : ( ( rule__ActionSpec__Group_5__0 )? ) ; public final void rule__ActionSpec__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5247:1: ( ( ( rule__ActionSpec__Group_5__0 )? ) ) - // InternalRos.g:5248:1: ( ( rule__ActionSpec__Group_5__0 )? ) + // InternalRos.g:6061:1: ( ( ( rule__ActionSpec__Group_5__0 )? ) ) + // InternalRos.g:6062:1: ( ( rule__ActionSpec__Group_5__0 )? ) { - // InternalRos.g:5248:1: ( ( rule__ActionSpec__Group_5__0 )? ) - // InternalRos.g:5249:2: ( rule__ActionSpec__Group_5__0 )? + // InternalRos.g:6062:1: ( ( rule__ActionSpec__Group_5__0 )? ) + // InternalRos.g:6063:2: ( rule__ActionSpec__Group_5__0 )? { before(grammarAccess.getActionSpecAccess().getGroup_5()); - // InternalRos.g:5250:2: ( rule__ActionSpec__Group_5__0 )? - int alt32=2; - int LA32_0 = input.LA(1); + // InternalRos.g:6064:2: ( rule__ActionSpec__Group_5__0 )? + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA32_0==31) ) { - alt32=1; + if ( (LA39_0==31) ) { + alt39=1; } - switch (alt32) { + switch (alt39) { case 1 : - // InternalRos.g:5250:3: rule__ActionSpec__Group_5__0 + // InternalRos.g:6064:3: rule__ActionSpec__Group_5__0 { pushFollow(FOLLOW_2); rule__ActionSpec__Group_5__0(); @@ -16284,16 +18773,16 @@ public final void rule__ActionSpec__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__6" - // InternalRos.g:5258:1: rule__ActionSpec__Group__6 : rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ; + // InternalRos.g:6072:1: rule__ActionSpec__Group__6 : rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ; public final void rule__ActionSpec__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5262:1: ( rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ) - // InternalRos.g:5263:2: rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 + // InternalRos.g:6076:1: ( rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 ) + // InternalRos.g:6077:2: rule__ActionSpec__Group__6__Impl rule__ActionSpec__Group__7 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_25); rule__ActionSpec__Group__6__Impl(); state._fsp--; @@ -16322,29 +18811,29 @@ public final void rule__ActionSpec__Group__6() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__6__Impl" - // InternalRos.g:5270:1: rule__ActionSpec__Group__6__Impl : ( ( rule__ActionSpec__Group_6__0 )? ) ; + // InternalRos.g:6084:1: rule__ActionSpec__Group__6__Impl : ( ( rule__ActionSpec__Group_6__0 )? ) ; public final void rule__ActionSpec__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5274:1: ( ( ( rule__ActionSpec__Group_6__0 )? ) ) - // InternalRos.g:5275:1: ( ( rule__ActionSpec__Group_6__0 )? ) + // InternalRos.g:6088:1: ( ( ( rule__ActionSpec__Group_6__0 )? ) ) + // InternalRos.g:6089:1: ( ( rule__ActionSpec__Group_6__0 )? ) { - // InternalRos.g:5275:1: ( ( rule__ActionSpec__Group_6__0 )? ) - // InternalRos.g:5276:2: ( rule__ActionSpec__Group_6__0 )? + // InternalRos.g:6089:1: ( ( rule__ActionSpec__Group_6__0 )? ) + // InternalRos.g:6090:2: ( rule__ActionSpec__Group_6__0 )? { before(grammarAccess.getActionSpecAccess().getGroup_6()); - // InternalRos.g:5277:2: ( rule__ActionSpec__Group_6__0 )? - int alt33=2; - int LA33_0 = input.LA(1); + // InternalRos.g:6091:2: ( rule__ActionSpec__Group_6__0 )? + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA33_0==32) ) { - alt33=1; + if ( (LA40_0==32) ) { + alt40=1; } - switch (alt33) { + switch (alt40) { case 1 : - // InternalRos.g:5277:3: rule__ActionSpec__Group_6__0 + // InternalRos.g:6091:3: rule__ActionSpec__Group_6__0 { pushFollow(FOLLOW_2); rule__ActionSpec__Group_6__0(); @@ -16380,14 +18869,14 @@ public final void rule__ActionSpec__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group__7" - // InternalRos.g:5285:1: rule__ActionSpec__Group__7 : rule__ActionSpec__Group__7__Impl ; + // InternalRos.g:6099:1: rule__ActionSpec__Group__7 : rule__ActionSpec__Group__7__Impl ; public final void rule__ActionSpec__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5289:1: ( rule__ActionSpec__Group__7__Impl ) - // InternalRos.g:5290:2: rule__ActionSpec__Group__7__Impl + // InternalRos.g:6103:1: ( rule__ActionSpec__Group__7__Impl ) + // InternalRos.g:6104:2: rule__ActionSpec__Group__7__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group__7__Impl(); @@ -16413,17 +18902,17 @@ public final void rule__ActionSpec__Group__7() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group__7__Impl" - // InternalRos.g:5296:1: rule__ActionSpec__Group__7__Impl : ( '}' ) ; + // InternalRos.g:6110:1: rule__ActionSpec__Group__7__Impl : ( '}' ) ; public final void rule__ActionSpec__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5300:1: ( ( '}' ) ) - // InternalRos.g:5301:1: ( '}' ) + // InternalRos.g:6114:1: ( ( '}' ) ) + // InternalRos.g:6115:1: ( '}' ) { - // InternalRos.g:5301:1: ( '}' ) - // InternalRos.g:5302:2: '}' + // InternalRos.g:6115:1: ( '}' ) + // InternalRos.g:6116:2: '}' { before(grammarAccess.getActionSpecAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -16450,14 +18939,14 @@ public final void rule__ActionSpec__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__ActionSpec__Group_4__0" - // InternalRos.g:5312:1: rule__ActionSpec__Group_4__0 : rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ; + // InternalRos.g:6126:1: rule__ActionSpec__Group_4__0 : rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ; public final void rule__ActionSpec__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5316:1: ( rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ) - // InternalRos.g:5317:2: rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 + // InternalRos.g:6130:1: ( rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 ) + // InternalRos.g:6131:2: rule__ActionSpec__Group_4__0__Impl rule__ActionSpec__Group_4__1 { pushFollow(FOLLOW_4); rule__ActionSpec__Group_4__0__Impl(); @@ -16488,17 +18977,17 @@ public final void rule__ActionSpec__Group_4__0() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_4__0__Impl" - // InternalRos.g:5324:1: rule__ActionSpec__Group_4__0__Impl : ( 'goal' ) ; + // InternalRos.g:6138:1: rule__ActionSpec__Group_4__0__Impl : ( 'goal' ) ; public final void rule__ActionSpec__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5328:1: ( ( 'goal' ) ) - // InternalRos.g:5329:1: ( 'goal' ) + // InternalRos.g:6142:1: ( ( 'goal' ) ) + // InternalRos.g:6143:1: ( 'goal' ) { - // InternalRos.g:5329:1: ( 'goal' ) - // InternalRos.g:5330:2: 'goal' + // InternalRos.g:6143:1: ( 'goal' ) + // InternalRos.g:6144:2: 'goal' { before(grammarAccess.getActionSpecAccess().getGoalKeyword_4_0()); match(input,29,FOLLOW_2); @@ -16525,14 +19014,14 @@ public final void rule__ActionSpec__Group_4__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_4__1" - // InternalRos.g:5339:1: rule__ActionSpec__Group_4__1 : rule__ActionSpec__Group_4__1__Impl ; + // InternalRos.g:6153:1: rule__ActionSpec__Group_4__1 : rule__ActionSpec__Group_4__1__Impl ; public final void rule__ActionSpec__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5343:1: ( rule__ActionSpec__Group_4__1__Impl ) - // InternalRos.g:5344:2: rule__ActionSpec__Group_4__1__Impl + // InternalRos.g:6157:1: ( rule__ActionSpec__Group_4__1__Impl ) + // InternalRos.g:6158:2: rule__ActionSpec__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group_4__1__Impl(); @@ -16558,21 +19047,21 @@ public final void rule__ActionSpec__Group_4__1() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_4__1__Impl" - // InternalRos.g:5350:1: rule__ActionSpec__Group_4__1__Impl : ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ; + // InternalRos.g:6164:1: rule__ActionSpec__Group_4__1__Impl : ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ; public final void rule__ActionSpec__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5354:1: ( ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ) - // InternalRos.g:5355:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) + // InternalRos.g:6168:1: ( ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) ) + // InternalRos.g:6169:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) { - // InternalRos.g:5355:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) - // InternalRos.g:5356:2: ( rule__ActionSpec__GoalAssignment_4_1 ) + // InternalRos.g:6169:1: ( ( rule__ActionSpec__GoalAssignment_4_1 ) ) + // InternalRos.g:6170:2: ( rule__ActionSpec__GoalAssignment_4_1 ) { before(grammarAccess.getActionSpecAccess().getGoalAssignment_4_1()); - // InternalRos.g:5357:2: ( rule__ActionSpec__GoalAssignment_4_1 ) - // InternalRos.g:5357:3: rule__ActionSpec__GoalAssignment_4_1 + // InternalRos.g:6171:2: ( rule__ActionSpec__GoalAssignment_4_1 ) + // InternalRos.g:6171:3: rule__ActionSpec__GoalAssignment_4_1 { pushFollow(FOLLOW_2); rule__ActionSpec__GoalAssignment_4_1(); @@ -16605,14 +19094,14 @@ public final void rule__ActionSpec__Group_4__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_5__0" - // InternalRos.g:5366:1: rule__ActionSpec__Group_5__0 : rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ; + // InternalRos.g:6180:1: rule__ActionSpec__Group_5__0 : rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ; public final void rule__ActionSpec__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5370:1: ( rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ) - // InternalRos.g:5371:2: rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 + // InternalRos.g:6184:1: ( rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 ) + // InternalRos.g:6185:2: rule__ActionSpec__Group_5__0__Impl rule__ActionSpec__Group_5__1 { pushFollow(FOLLOW_4); rule__ActionSpec__Group_5__0__Impl(); @@ -16643,17 +19132,17 @@ public final void rule__ActionSpec__Group_5__0() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_5__0__Impl" - // InternalRos.g:5378:1: rule__ActionSpec__Group_5__0__Impl : ( 'result' ) ; + // InternalRos.g:6192:1: rule__ActionSpec__Group_5__0__Impl : ( 'result' ) ; public final void rule__ActionSpec__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5382:1: ( ( 'result' ) ) - // InternalRos.g:5383:1: ( 'result' ) + // InternalRos.g:6196:1: ( ( 'result' ) ) + // InternalRos.g:6197:1: ( 'result' ) { - // InternalRos.g:5383:1: ( 'result' ) - // InternalRos.g:5384:2: 'result' + // InternalRos.g:6197:1: ( 'result' ) + // InternalRos.g:6198:2: 'result' { before(grammarAccess.getActionSpecAccess().getResultKeyword_5_0()); match(input,31,FOLLOW_2); @@ -16680,14 +19169,14 @@ public final void rule__ActionSpec__Group_5__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_5__1" - // InternalRos.g:5393:1: rule__ActionSpec__Group_5__1 : rule__ActionSpec__Group_5__1__Impl ; + // InternalRos.g:6207:1: rule__ActionSpec__Group_5__1 : rule__ActionSpec__Group_5__1__Impl ; public final void rule__ActionSpec__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5397:1: ( rule__ActionSpec__Group_5__1__Impl ) - // InternalRos.g:5398:2: rule__ActionSpec__Group_5__1__Impl + // InternalRos.g:6211:1: ( rule__ActionSpec__Group_5__1__Impl ) + // InternalRos.g:6212:2: rule__ActionSpec__Group_5__1__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group_5__1__Impl(); @@ -16713,21 +19202,21 @@ public final void rule__ActionSpec__Group_5__1() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_5__1__Impl" - // InternalRos.g:5404:1: rule__ActionSpec__Group_5__1__Impl : ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ; + // InternalRos.g:6218:1: rule__ActionSpec__Group_5__1__Impl : ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ; public final void rule__ActionSpec__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5408:1: ( ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ) - // InternalRos.g:5409:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) + // InternalRos.g:6222:1: ( ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) ) + // InternalRos.g:6223:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) { - // InternalRos.g:5409:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) - // InternalRos.g:5410:2: ( rule__ActionSpec__ResultAssignment_5_1 ) + // InternalRos.g:6223:1: ( ( rule__ActionSpec__ResultAssignment_5_1 ) ) + // InternalRos.g:6224:2: ( rule__ActionSpec__ResultAssignment_5_1 ) { before(grammarAccess.getActionSpecAccess().getResultAssignment_5_1()); - // InternalRos.g:5411:2: ( rule__ActionSpec__ResultAssignment_5_1 ) - // InternalRos.g:5411:3: rule__ActionSpec__ResultAssignment_5_1 + // InternalRos.g:6225:2: ( rule__ActionSpec__ResultAssignment_5_1 ) + // InternalRos.g:6225:3: rule__ActionSpec__ResultAssignment_5_1 { pushFollow(FOLLOW_2); rule__ActionSpec__ResultAssignment_5_1(); @@ -16760,14 +19249,14 @@ public final void rule__ActionSpec__Group_5__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_6__0" - // InternalRos.g:5420:1: rule__ActionSpec__Group_6__0 : rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ; + // InternalRos.g:6234:1: rule__ActionSpec__Group_6__0 : rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ; public final void rule__ActionSpec__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5424:1: ( rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ) - // InternalRos.g:5425:2: rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 + // InternalRos.g:6238:1: ( rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 ) + // InternalRos.g:6239:2: rule__ActionSpec__Group_6__0__Impl rule__ActionSpec__Group_6__1 { pushFollow(FOLLOW_4); rule__ActionSpec__Group_6__0__Impl(); @@ -16798,17 +19287,17 @@ public final void rule__ActionSpec__Group_6__0() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_6__0__Impl" - // InternalRos.g:5432:1: rule__ActionSpec__Group_6__0__Impl : ( 'feedback' ) ; + // InternalRos.g:6246:1: rule__ActionSpec__Group_6__0__Impl : ( 'feedback' ) ; public final void rule__ActionSpec__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5436:1: ( ( 'feedback' ) ) - // InternalRos.g:5437:1: ( 'feedback' ) + // InternalRos.g:6250:1: ( ( 'feedback' ) ) + // InternalRos.g:6251:1: ( 'feedback' ) { - // InternalRos.g:5437:1: ( 'feedback' ) - // InternalRos.g:5438:2: 'feedback' + // InternalRos.g:6251:1: ( 'feedback' ) + // InternalRos.g:6252:2: 'feedback' { before(grammarAccess.getActionSpecAccess().getFeedbackKeyword_6_0()); match(input,32,FOLLOW_2); @@ -16835,14 +19324,14 @@ public final void rule__ActionSpec__Group_6__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__Group_6__1" - // InternalRos.g:5447:1: rule__ActionSpec__Group_6__1 : rule__ActionSpec__Group_6__1__Impl ; + // InternalRos.g:6261:1: rule__ActionSpec__Group_6__1 : rule__ActionSpec__Group_6__1__Impl ; public final void rule__ActionSpec__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5451:1: ( rule__ActionSpec__Group_6__1__Impl ) - // InternalRos.g:5452:2: rule__ActionSpec__Group_6__1__Impl + // InternalRos.g:6265:1: ( rule__ActionSpec__Group_6__1__Impl ) + // InternalRos.g:6266:2: rule__ActionSpec__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ActionSpec__Group_6__1__Impl(); @@ -16868,21 +19357,21 @@ public final void rule__ActionSpec__Group_6__1() throws RecognitionException { // $ANTLR start "rule__ActionSpec__Group_6__1__Impl" - // InternalRos.g:5458:1: rule__ActionSpec__Group_6__1__Impl : ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ; + // InternalRos.g:6272:1: rule__ActionSpec__Group_6__1__Impl : ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ; public final void rule__ActionSpec__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5462:1: ( ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ) - // InternalRos.g:5463:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) + // InternalRos.g:6276:1: ( ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) ) + // InternalRos.g:6277:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) { - // InternalRos.g:5463:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) - // InternalRos.g:5464:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) + // InternalRos.g:6277:1: ( ( rule__ActionSpec__FeedbackAssignment_6_1 ) ) + // InternalRos.g:6278:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) { before(grammarAccess.getActionSpecAccess().getFeedbackAssignment_6_1()); - // InternalRos.g:5465:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) - // InternalRos.g:5465:3: rule__ActionSpec__FeedbackAssignment_6_1 + // InternalRos.g:6279:2: ( rule__ActionSpec__FeedbackAssignment_6_1 ) + // InternalRos.g:6279:3: rule__ActionSpec__FeedbackAssignment_6_1 { pushFollow(FOLLOW_2); rule__ActionSpec__FeedbackAssignment_6_1(); @@ -16915,14 +19404,14 @@ public final void rule__ActionSpec__Group_6__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__MessageDefinition__Group__0" - // InternalRos.g:5474:1: rule__MessageDefinition__Group__0 : rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ; + // InternalRos.g:6288:1: rule__MessageDefinition__Group__0 : rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ; public final void rule__MessageDefinition__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5478:1: ( rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ) - // InternalRos.g:5479:2: rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 + // InternalRos.g:6292:1: ( rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 ) + // InternalRos.g:6293:2: rule__MessageDefinition__Group__0__Impl rule__MessageDefinition__Group__1 { pushFollow(FOLLOW_4); rule__MessageDefinition__Group__0__Impl(); @@ -16953,21 +19442,21 @@ public final void rule__MessageDefinition__Group__0() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__0__Impl" - // InternalRos.g:5486:1: rule__MessageDefinition__Group__0__Impl : ( () ) ; + // InternalRos.g:6300:1: rule__MessageDefinition__Group__0__Impl : ( () ) ; public final void rule__MessageDefinition__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5490:1: ( ( () ) ) - // InternalRos.g:5491:1: ( () ) + // InternalRos.g:6304:1: ( ( () ) ) + // InternalRos.g:6305:1: ( () ) { - // InternalRos.g:5491:1: ( () ) - // InternalRos.g:5492:2: () + // InternalRos.g:6305:1: ( () ) + // InternalRos.g:6306:2: () { before(grammarAccess.getMessageDefinitionAccess().getMessageDefinitionAction_0()); - // InternalRos.g:5493:2: () - // InternalRos.g:5493:3: + // InternalRos.g:6307:2: () + // InternalRos.g:6307:3: { } @@ -16990,16 +19479,16 @@ public final void rule__MessageDefinition__Group__0__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group__1" - // InternalRos.g:5501:1: rule__MessageDefinition__Group__1 : rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ; + // InternalRos.g:6315:1: rule__MessageDefinition__Group__1 : rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ; public final void rule__MessageDefinition__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5505:1: ( rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ) - // InternalRos.g:5506:2: rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 + // InternalRos.g:6319:1: ( rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 ) + // InternalRos.g:6320:2: rule__MessageDefinition__Group__1__Impl rule__MessageDefinition__Group__2 { - pushFollow(FOLLOW_25); + pushFollow(FOLLOW_26); rule__MessageDefinition__Group__1__Impl(); state._fsp--; @@ -17028,17 +19517,17 @@ public final void rule__MessageDefinition__Group__1() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__1__Impl" - // InternalRos.g:5513:1: rule__MessageDefinition__Group__1__Impl : ( '{' ) ; + // InternalRos.g:6327:1: rule__MessageDefinition__Group__1__Impl : ( '{' ) ; public final void rule__MessageDefinition__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5517:1: ( ( '{' ) ) - // InternalRos.g:5518:1: ( '{' ) + // InternalRos.g:6331:1: ( ( '{' ) ) + // InternalRos.g:6332:1: ( '{' ) { - // InternalRos.g:5518:1: ( '{' ) - // InternalRos.g:5519:2: '{' + // InternalRos.g:6332:1: ( '{' ) + // InternalRos.g:6333:2: '{' { before(grammarAccess.getMessageDefinitionAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -17065,16 +19554,16 @@ public final void rule__MessageDefinition__Group__1__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group__2" - // InternalRos.g:5528:1: rule__MessageDefinition__Group__2 : rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ; + // InternalRos.g:6342:1: rule__MessageDefinition__Group__2 : rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ; public final void rule__MessageDefinition__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5532:1: ( rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ) - // InternalRos.g:5533:2: rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 + // InternalRos.g:6346:1: ( rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 ) + // InternalRos.g:6347:2: rule__MessageDefinition__Group__2__Impl rule__MessageDefinition__Group__3 { - pushFollow(FOLLOW_25); + pushFollow(FOLLOW_26); rule__MessageDefinition__Group__2__Impl(); state._fsp--; @@ -17103,29 +19592,29 @@ public final void rule__MessageDefinition__Group__2() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__2__Impl" - // InternalRos.g:5540:1: rule__MessageDefinition__Group__2__Impl : ( ( rule__MessageDefinition__Group_2__0 )? ) ; + // InternalRos.g:6354:1: rule__MessageDefinition__Group__2__Impl : ( ( rule__MessageDefinition__Group_2__0 )? ) ; public final void rule__MessageDefinition__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5544:1: ( ( ( rule__MessageDefinition__Group_2__0 )? ) ) - // InternalRos.g:5545:1: ( ( rule__MessageDefinition__Group_2__0 )? ) + // InternalRos.g:6358:1: ( ( ( rule__MessageDefinition__Group_2__0 )? ) ) + // InternalRos.g:6359:1: ( ( rule__MessageDefinition__Group_2__0 )? ) { - // InternalRos.g:5545:1: ( ( rule__MessageDefinition__Group_2__0 )? ) - // InternalRos.g:5546:2: ( rule__MessageDefinition__Group_2__0 )? + // InternalRos.g:6359:1: ( ( rule__MessageDefinition__Group_2__0 )? ) + // InternalRos.g:6360:2: ( rule__MessageDefinition__Group_2__0 )? { before(grammarAccess.getMessageDefinitionAccess().getGroup_2()); - // InternalRos.g:5547:2: ( rule__MessageDefinition__Group_2__0 )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalRos.g:6361:2: ( rule__MessageDefinition__Group_2__0 )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( ((LA34_0>=RULE_STRING && LA34_0<=RULE_ID)||LA34_0==27||(LA34_0>=38 && LA34_0<=39)||(LA34_0>=86 && LA34_0<=111)) ) { - alt34=1; + if ( ((LA41_0>=RULE_STRING && LA41_0<=RULE_ID)||LA41_0==27||(LA41_0>=38 && LA41_0<=39)||(LA41_0>=87 && LA41_0<=112)) ) { + alt41=1; } - switch (alt34) { + switch (alt41) { case 1 : - // InternalRos.g:5547:3: rule__MessageDefinition__Group_2__0 + // InternalRos.g:6361:3: rule__MessageDefinition__Group_2__0 { pushFollow(FOLLOW_2); rule__MessageDefinition__Group_2__0(); @@ -17161,14 +19650,14 @@ public final void rule__MessageDefinition__Group__2__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group__3" - // InternalRos.g:5555:1: rule__MessageDefinition__Group__3 : rule__MessageDefinition__Group__3__Impl ; + // InternalRos.g:6369:1: rule__MessageDefinition__Group__3 : rule__MessageDefinition__Group__3__Impl ; public final void rule__MessageDefinition__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5559:1: ( rule__MessageDefinition__Group__3__Impl ) - // InternalRos.g:5560:2: rule__MessageDefinition__Group__3__Impl + // InternalRos.g:6373:1: ( rule__MessageDefinition__Group__3__Impl ) + // InternalRos.g:6374:2: rule__MessageDefinition__Group__3__Impl { pushFollow(FOLLOW_2); rule__MessageDefinition__Group__3__Impl(); @@ -17194,17 +19683,17 @@ public final void rule__MessageDefinition__Group__3() throws RecognitionExceptio // $ANTLR start "rule__MessageDefinition__Group__3__Impl" - // InternalRos.g:5566:1: rule__MessageDefinition__Group__3__Impl : ( '}' ) ; + // InternalRos.g:6380:1: rule__MessageDefinition__Group__3__Impl : ( '}' ) ; public final void rule__MessageDefinition__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5570:1: ( ( '}' ) ) - // InternalRos.g:5571:1: ( '}' ) + // InternalRos.g:6384:1: ( ( '}' ) ) + // InternalRos.g:6385:1: ( '}' ) { - // InternalRos.g:5571:1: ( '}' ) - // InternalRos.g:5572:2: '}' + // InternalRos.g:6385:1: ( '}' ) + // InternalRos.g:6386:2: '}' { before(grammarAccess.getMessageDefinitionAccess().getRightCurlyBracketKeyword_3()); match(input,42,FOLLOW_2); @@ -17231,16 +19720,16 @@ public final void rule__MessageDefinition__Group__3__Impl() throws RecognitionEx // $ANTLR start "rule__MessageDefinition__Group_2__0" - // InternalRos.g:5582:1: rule__MessageDefinition__Group_2__0 : rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ; + // InternalRos.g:6396:1: rule__MessageDefinition__Group_2__0 : rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ; public final void rule__MessageDefinition__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5586:1: ( rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ) - // InternalRos.g:5587:2: rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 + // InternalRos.g:6400:1: ( rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 ) + // InternalRos.g:6401:2: rule__MessageDefinition__Group_2__0__Impl rule__MessageDefinition__Group_2__1 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_27); rule__MessageDefinition__Group_2__0__Impl(); state._fsp--; @@ -17269,21 +19758,21 @@ public final void rule__MessageDefinition__Group_2__0() throws RecognitionExcept // $ANTLR start "rule__MessageDefinition__Group_2__0__Impl" - // InternalRos.g:5594:1: rule__MessageDefinition__Group_2__0__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ; + // InternalRos.g:6408:1: rule__MessageDefinition__Group_2__0__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ; public final void rule__MessageDefinition__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5598:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ) - // InternalRos.g:5599:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) + // InternalRos.g:6412:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) ) + // InternalRos.g:6413:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) { - // InternalRos.g:5599:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) - // InternalRos.g:5600:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) + // InternalRos.g:6413:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_0 ) ) + // InternalRos.g:6414:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) { before(grammarAccess.getMessageDefinitionAccess().getMessagePartAssignment_2_0()); - // InternalRos.g:5601:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) - // InternalRos.g:5601:3: rule__MessageDefinition__MessagePartAssignment_2_0 + // InternalRos.g:6415:2: ( rule__MessageDefinition__MessagePartAssignment_2_0 ) + // InternalRos.g:6415:3: rule__MessageDefinition__MessagePartAssignment_2_0 { pushFollow(FOLLOW_2); rule__MessageDefinition__MessagePartAssignment_2_0(); @@ -17316,14 +19805,14 @@ public final void rule__MessageDefinition__Group_2__0__Impl() throws Recognition // $ANTLR start "rule__MessageDefinition__Group_2__1" - // InternalRos.g:5609:1: rule__MessageDefinition__Group_2__1 : rule__MessageDefinition__Group_2__1__Impl ; + // InternalRos.g:6423:1: rule__MessageDefinition__Group_2__1 : rule__MessageDefinition__Group_2__1__Impl ; public final void rule__MessageDefinition__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5613:1: ( rule__MessageDefinition__Group_2__1__Impl ) - // InternalRos.g:5614:2: rule__MessageDefinition__Group_2__1__Impl + // InternalRos.g:6427:1: ( rule__MessageDefinition__Group_2__1__Impl ) + // InternalRos.g:6428:2: rule__MessageDefinition__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__MessageDefinition__Group_2__1__Impl(); @@ -17349,35 +19838,35 @@ public final void rule__MessageDefinition__Group_2__1() throws RecognitionExcept // $ANTLR start "rule__MessageDefinition__Group_2__1__Impl" - // InternalRos.g:5620:1: rule__MessageDefinition__Group_2__1__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ; + // InternalRos.g:6434:1: rule__MessageDefinition__Group_2__1__Impl : ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ; public final void rule__MessageDefinition__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5624:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ) - // InternalRos.g:5625:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) + // InternalRos.g:6438:1: ( ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) ) + // InternalRos.g:6439:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) { - // InternalRos.g:5625:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) - // InternalRos.g:5626:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* + // InternalRos.g:6439:1: ( ( rule__MessageDefinition__MessagePartAssignment_2_1 )* ) + // InternalRos.g:6440:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* { before(grammarAccess.getMessageDefinitionAccess().getMessagePartAssignment_2_1()); - // InternalRos.g:5627:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* - loop35: + // InternalRos.g:6441:2: ( rule__MessageDefinition__MessagePartAssignment_2_1 )* + loop42: do { - int alt35=2; - int LA35_0 = input.LA(1); + int alt42=2; + int LA42_0 = input.LA(1); - if ( ((LA35_0>=RULE_STRING && LA35_0<=RULE_ID)||LA35_0==27||(LA35_0>=38 && LA35_0<=39)||(LA35_0>=86 && LA35_0<=111)) ) { - alt35=1; + if ( ((LA42_0>=RULE_STRING && LA42_0<=RULE_ID)||LA42_0==27||(LA42_0>=38 && LA42_0<=39)||(LA42_0>=87 && LA42_0<=112)) ) { + alt42=1; } - switch (alt35) { + switch (alt42) { case 1 : - // InternalRos.g:5627:3: rule__MessageDefinition__MessagePartAssignment_2_1 + // InternalRos.g:6441:3: rule__MessageDefinition__MessagePartAssignment_2_1 { - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_28); rule__MessageDefinition__MessagePartAssignment_2_1(); state._fsp--; @@ -17387,7 +19876,7 @@ public final void rule__MessageDefinition__Group_2__1__Impl() throws Recognition break; default : - break loop35; + break loop42; } } while (true); @@ -17414,14 +19903,14 @@ public final void rule__MessageDefinition__Group_2__1__Impl() throws Recognition // $ANTLR start "rule__Node__Group__0" - // InternalRos.g:5636:1: rule__Node__Group__0 : rule__Node__Group__0__Impl rule__Node__Group__1 ; + // InternalRos.g:6450:1: rule__Node__Group__0 : rule__Node__Group__0__Impl rule__Node__Group__1 ; public final void rule__Node__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5640:1: ( rule__Node__Group__0__Impl rule__Node__Group__1 ) - // InternalRos.g:5641:2: rule__Node__Group__0__Impl rule__Node__Group__1 + // InternalRos.g:6454:1: ( rule__Node__Group__0__Impl rule__Node__Group__1 ) + // InternalRos.g:6455:2: rule__Node__Group__0__Impl rule__Node__Group__1 { pushFollow(FOLLOW_4); rule__Node__Group__0__Impl(); @@ -17452,20 +19941,20 @@ public final void rule__Node__Group__0() throws RecognitionException { // $ANTLR start "rule__Node__Group__0__Impl" - // InternalRos.g:5648:1: rule__Node__Group__0__Impl : ( 'Node' ) ; + // InternalRos.g:6462:1: rule__Node__Group__0__Impl : ( 'Node' ) ; public final void rule__Node__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5652:1: ( ( 'Node' ) ) - // InternalRos.g:5653:1: ( 'Node' ) + // InternalRos.g:6466:1: ( ( 'Node' ) ) + // InternalRos.g:6467:1: ( 'Node' ) { - // InternalRos.g:5653:1: ( 'Node' ) - // InternalRos.g:5654:2: 'Node' + // InternalRos.g:6467:1: ( 'Node' ) + // InternalRos.g:6468:2: 'Node' { before(grammarAccess.getNodeAccess().getNodeKeyword_0()); - match(input,55,FOLLOW_2); + match(input,56,FOLLOW_2); after(grammarAccess.getNodeAccess().getNodeKeyword_0()); } @@ -17489,16 +19978,16 @@ public final void rule__Node__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__1" - // InternalRos.g:5663:1: rule__Node__Group__1 : rule__Node__Group__1__Impl rule__Node__Group__2 ; + // InternalRos.g:6477:1: rule__Node__Group__1 : rule__Node__Group__1__Impl rule__Node__Group__2 ; public final void rule__Node__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5667:1: ( rule__Node__Group__1__Impl rule__Node__Group__2 ) - // InternalRos.g:5668:2: rule__Node__Group__1__Impl rule__Node__Group__2 + // InternalRos.g:6481:1: ( rule__Node__Group__1__Impl rule__Node__Group__2 ) + // InternalRos.g:6482:2: rule__Node__Group__1__Impl rule__Node__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__Node__Group__1__Impl(); state._fsp--; @@ -17527,17 +20016,17 @@ public final void rule__Node__Group__1() throws RecognitionException { // $ANTLR start "rule__Node__Group__1__Impl" - // InternalRos.g:5675:1: rule__Node__Group__1__Impl : ( '{' ) ; + // InternalRos.g:6489:1: rule__Node__Group__1__Impl : ( '{' ) ; public final void rule__Node__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5679:1: ( ( '{' ) ) - // InternalRos.g:5680:1: ( '{' ) + // InternalRos.g:6493:1: ( ( '{' ) ) + // InternalRos.g:6494:1: ( '{' ) { - // InternalRos.g:5680:1: ( '{' ) - // InternalRos.g:5681:2: '{' + // InternalRos.g:6494:1: ( '{' ) + // InternalRos.g:6495:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -17564,14 +20053,14 @@ public final void rule__Node__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__2" - // InternalRos.g:5690:1: rule__Node__Group__2 : rule__Node__Group__2__Impl rule__Node__Group__3 ; + // InternalRos.g:6504:1: rule__Node__Group__2 : rule__Node__Group__2__Impl rule__Node__Group__3 ; public final void rule__Node__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5694:1: ( rule__Node__Group__2__Impl rule__Node__Group__3 ) - // InternalRos.g:5695:2: rule__Node__Group__2__Impl rule__Node__Group__3 + // InternalRos.g:6508:1: ( rule__Node__Group__2__Impl rule__Node__Group__3 ) + // InternalRos.g:6509:2: rule__Node__Group__2__Impl rule__Node__Group__3 { pushFollow(FOLLOW_15); rule__Node__Group__2__Impl(); @@ -17602,17 +20091,17 @@ public final void rule__Node__Group__2() throws RecognitionException { // $ANTLR start "rule__Node__Group__2__Impl" - // InternalRos.g:5702:1: rule__Node__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:6516:1: rule__Node__Group__2__Impl : ( 'name' ) ; public final void rule__Node__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5706:1: ( ( 'name' ) ) - // InternalRos.g:5707:1: ( 'name' ) + // InternalRos.g:6520:1: ( ( 'name' ) ) + // InternalRos.g:6521:1: ( 'name' ) { - // InternalRos.g:5707:1: ( 'name' ) - // InternalRos.g:5708:2: 'name' + // InternalRos.g:6521:1: ( 'name' ) + // InternalRos.g:6522:2: 'name' { before(grammarAccess.getNodeAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -17639,16 +20128,16 @@ public final void rule__Node__Group__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__3" - // InternalRos.g:5717:1: rule__Node__Group__3 : rule__Node__Group__3__Impl rule__Node__Group__4 ; + // InternalRos.g:6531:1: rule__Node__Group__3 : rule__Node__Group__3__Impl rule__Node__Group__4 ; public final void rule__Node__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5721:1: ( rule__Node__Group__3__Impl rule__Node__Group__4 ) - // InternalRos.g:5722:2: rule__Node__Group__3__Impl rule__Node__Group__4 + // InternalRos.g:6535:1: ( rule__Node__Group__3__Impl rule__Node__Group__4 ) + // InternalRos.g:6536:2: rule__Node__Group__3__Impl rule__Node__Group__4 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__3__Impl(); state._fsp--; @@ -17677,21 +20166,21 @@ public final void rule__Node__Group__3() throws RecognitionException { // $ANTLR start "rule__Node__Group__3__Impl" - // InternalRos.g:5729:1: rule__Node__Group__3__Impl : ( ( rule__Node__NameAssignment_3 ) ) ; + // InternalRos.g:6543:1: rule__Node__Group__3__Impl : ( ( rule__Node__NameAssignment_3 ) ) ; public final void rule__Node__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5733:1: ( ( ( rule__Node__NameAssignment_3 ) ) ) - // InternalRos.g:5734:1: ( ( rule__Node__NameAssignment_3 ) ) + // InternalRos.g:6547:1: ( ( ( rule__Node__NameAssignment_3 ) ) ) + // InternalRos.g:6548:1: ( ( rule__Node__NameAssignment_3 ) ) { - // InternalRos.g:5734:1: ( ( rule__Node__NameAssignment_3 ) ) - // InternalRos.g:5735:2: ( rule__Node__NameAssignment_3 ) + // InternalRos.g:6548:1: ( ( rule__Node__NameAssignment_3 ) ) + // InternalRos.g:6549:2: ( rule__Node__NameAssignment_3 ) { before(grammarAccess.getNodeAccess().getNameAssignment_3()); - // InternalRos.g:5736:2: ( rule__Node__NameAssignment_3 ) - // InternalRos.g:5736:3: rule__Node__NameAssignment_3 + // InternalRos.g:6550:2: ( rule__Node__NameAssignment_3 ) + // InternalRos.g:6550:3: rule__Node__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Node__NameAssignment_3(); @@ -17724,16 +20213,16 @@ public final void rule__Node__Group__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__4" - // InternalRos.g:5744:1: rule__Node__Group__4 : rule__Node__Group__4__Impl rule__Node__Group__5 ; + // InternalRos.g:6558:1: rule__Node__Group__4 : rule__Node__Group__4__Impl rule__Node__Group__5 ; public final void rule__Node__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5748:1: ( rule__Node__Group__4__Impl rule__Node__Group__5 ) - // InternalRos.g:5749:2: rule__Node__Group__4__Impl rule__Node__Group__5 + // InternalRos.g:6562:1: ( rule__Node__Group__4__Impl rule__Node__Group__5 ) + // InternalRos.g:6563:2: rule__Node__Group__4__Impl rule__Node__Group__5 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__4__Impl(); state._fsp--; @@ -17762,29 +20251,29 @@ public final void rule__Node__Group__4() throws RecognitionException { // $ANTLR start "rule__Node__Group__4__Impl" - // InternalRos.g:5756:1: rule__Node__Group__4__Impl : ( ( rule__Node__Group_4__0 )? ) ; + // InternalRos.g:6570:1: rule__Node__Group__4__Impl : ( ( rule__Node__Group_4__0 )? ) ; public final void rule__Node__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5760:1: ( ( ( rule__Node__Group_4__0 )? ) ) - // InternalRos.g:5761:1: ( ( rule__Node__Group_4__0 )? ) + // InternalRos.g:6574:1: ( ( ( rule__Node__Group_4__0 )? ) ) + // InternalRos.g:6575:1: ( ( rule__Node__Group_4__0 )? ) { - // InternalRos.g:5761:1: ( ( rule__Node__Group_4__0 )? ) - // InternalRos.g:5762:2: ( rule__Node__Group_4__0 )? + // InternalRos.g:6575:1: ( ( rule__Node__Group_4__0 )? ) + // InternalRos.g:6576:2: ( rule__Node__Group_4__0 )? { before(grammarAccess.getNodeAccess().getGroup_4()); - // InternalRos.g:5763:2: ( rule__Node__Group_4__0 )? - int alt36=2; - int LA36_0 = input.LA(1); + // InternalRos.g:6577:2: ( rule__Node__Group_4__0 )? + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA36_0==56) ) { - alt36=1; + if ( (LA43_0==57) ) { + alt43=1; } - switch (alt36) { + switch (alt43) { case 1 : - // InternalRos.g:5763:3: rule__Node__Group_4__0 + // InternalRos.g:6577:3: rule__Node__Group_4__0 { pushFollow(FOLLOW_2); rule__Node__Group_4__0(); @@ -17820,16 +20309,16 @@ public final void rule__Node__Group__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__5" - // InternalRos.g:5771:1: rule__Node__Group__5 : rule__Node__Group__5__Impl rule__Node__Group__6 ; + // InternalRos.g:6585:1: rule__Node__Group__5 : rule__Node__Group__5__Impl rule__Node__Group__6 ; public final void rule__Node__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5775:1: ( rule__Node__Group__5__Impl rule__Node__Group__6 ) - // InternalRos.g:5776:2: rule__Node__Group__5__Impl rule__Node__Group__6 + // InternalRos.g:6589:1: ( rule__Node__Group__5__Impl rule__Node__Group__6 ) + // InternalRos.g:6590:2: rule__Node__Group__5__Impl rule__Node__Group__6 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__5__Impl(); state._fsp--; @@ -17858,29 +20347,29 @@ public final void rule__Node__Group__5() throws RecognitionException { // $ANTLR start "rule__Node__Group__5__Impl" - // InternalRos.g:5783:1: rule__Node__Group__5__Impl : ( ( rule__Node__Group_5__0 )? ) ; + // InternalRos.g:6597:1: rule__Node__Group__5__Impl : ( ( rule__Node__Group_5__0 )? ) ; public final void rule__Node__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5787:1: ( ( ( rule__Node__Group_5__0 )? ) ) - // InternalRos.g:5788:1: ( ( rule__Node__Group_5__0 )? ) + // InternalRos.g:6601:1: ( ( ( rule__Node__Group_5__0 )? ) ) + // InternalRos.g:6602:1: ( ( rule__Node__Group_5__0 )? ) { - // InternalRos.g:5788:1: ( ( rule__Node__Group_5__0 )? ) - // InternalRos.g:5789:2: ( rule__Node__Group_5__0 )? + // InternalRos.g:6602:1: ( ( rule__Node__Group_5__0 )? ) + // InternalRos.g:6603:2: ( rule__Node__Group_5__0 )? { before(grammarAccess.getNodeAccess().getGroup_5()); - // InternalRos.g:5790:2: ( rule__Node__Group_5__0 )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalRos.g:6604:2: ( rule__Node__Group_5__0 )? + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA37_0==57) ) { - alt37=1; + if ( (LA44_0==58) ) { + alt44=1; } - switch (alt37) { + switch (alt44) { case 1 : - // InternalRos.g:5790:3: rule__Node__Group_5__0 + // InternalRos.g:6604:3: rule__Node__Group_5__0 { pushFollow(FOLLOW_2); rule__Node__Group_5__0(); @@ -17916,16 +20405,16 @@ public final void rule__Node__Group__5__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__6" - // InternalRos.g:5798:1: rule__Node__Group__6 : rule__Node__Group__6__Impl rule__Node__Group__7 ; + // InternalRos.g:6612:1: rule__Node__Group__6 : rule__Node__Group__6__Impl rule__Node__Group__7 ; public final void rule__Node__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5802:1: ( rule__Node__Group__6__Impl rule__Node__Group__7 ) - // InternalRos.g:5803:2: rule__Node__Group__6__Impl rule__Node__Group__7 + // InternalRos.g:6616:1: ( rule__Node__Group__6__Impl rule__Node__Group__7 ) + // InternalRos.g:6617:2: rule__Node__Group__6__Impl rule__Node__Group__7 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__6__Impl(); state._fsp--; @@ -17954,29 +20443,29 @@ public final void rule__Node__Group__6() throws RecognitionException { // $ANTLR start "rule__Node__Group__6__Impl" - // InternalRos.g:5810:1: rule__Node__Group__6__Impl : ( ( rule__Node__Group_6__0 )? ) ; + // InternalRos.g:6624:1: rule__Node__Group__6__Impl : ( ( rule__Node__Group_6__0 )? ) ; public final void rule__Node__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5814:1: ( ( ( rule__Node__Group_6__0 )? ) ) - // InternalRos.g:5815:1: ( ( rule__Node__Group_6__0 )? ) + // InternalRos.g:6628:1: ( ( ( rule__Node__Group_6__0 )? ) ) + // InternalRos.g:6629:1: ( ( rule__Node__Group_6__0 )? ) { - // InternalRos.g:5815:1: ( ( rule__Node__Group_6__0 )? ) - // InternalRos.g:5816:2: ( rule__Node__Group_6__0 )? + // InternalRos.g:6629:1: ( ( rule__Node__Group_6__0 )? ) + // InternalRos.g:6630:2: ( rule__Node__Group_6__0 )? { before(grammarAccess.getNodeAccess().getGroup_6()); - // InternalRos.g:5817:2: ( rule__Node__Group_6__0 )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalRos.g:6631:2: ( rule__Node__Group_6__0 )? + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA38_0==58) ) { - alt38=1; + if ( (LA45_0==59) ) { + alt45=1; } - switch (alt38) { + switch (alt45) { case 1 : - // InternalRos.g:5817:3: rule__Node__Group_6__0 + // InternalRos.g:6631:3: rule__Node__Group_6__0 { pushFollow(FOLLOW_2); rule__Node__Group_6__0(); @@ -18012,16 +20501,16 @@ public final void rule__Node__Group__6__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__7" - // InternalRos.g:5825:1: rule__Node__Group__7 : rule__Node__Group__7__Impl rule__Node__Group__8 ; + // InternalRos.g:6639:1: rule__Node__Group__7 : rule__Node__Group__7__Impl rule__Node__Group__8 ; public final void rule__Node__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5829:1: ( rule__Node__Group__7__Impl rule__Node__Group__8 ) - // InternalRos.g:5830:2: rule__Node__Group__7__Impl rule__Node__Group__8 + // InternalRos.g:6643:1: ( rule__Node__Group__7__Impl rule__Node__Group__8 ) + // InternalRos.g:6644:2: rule__Node__Group__7__Impl rule__Node__Group__8 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__7__Impl(); state._fsp--; @@ -18050,29 +20539,29 @@ public final void rule__Node__Group__7() throws RecognitionException { // $ANTLR start "rule__Node__Group__7__Impl" - // InternalRos.g:5837:1: rule__Node__Group__7__Impl : ( ( rule__Node__Group_7__0 )? ) ; + // InternalRos.g:6651:1: rule__Node__Group__7__Impl : ( ( rule__Node__Group_7__0 )? ) ; public final void rule__Node__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5841:1: ( ( ( rule__Node__Group_7__0 )? ) ) - // InternalRos.g:5842:1: ( ( rule__Node__Group_7__0 )? ) + // InternalRos.g:6655:1: ( ( ( rule__Node__Group_7__0 )? ) ) + // InternalRos.g:6656:1: ( ( rule__Node__Group_7__0 )? ) { - // InternalRos.g:5842:1: ( ( rule__Node__Group_7__0 )? ) - // InternalRos.g:5843:2: ( rule__Node__Group_7__0 )? + // InternalRos.g:6656:1: ( ( rule__Node__Group_7__0 )? ) + // InternalRos.g:6657:2: ( rule__Node__Group_7__0 )? { before(grammarAccess.getNodeAccess().getGroup_7()); - // InternalRos.g:5844:2: ( rule__Node__Group_7__0 )? - int alt39=2; - int LA39_0 = input.LA(1); + // InternalRos.g:6658:2: ( rule__Node__Group_7__0 )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA39_0==59) ) { - alt39=1; + if ( (LA46_0==60) ) { + alt46=1; } - switch (alt39) { + switch (alt46) { case 1 : - // InternalRos.g:5844:3: rule__Node__Group_7__0 + // InternalRos.g:6658:3: rule__Node__Group_7__0 { pushFollow(FOLLOW_2); rule__Node__Group_7__0(); @@ -18108,16 +20597,16 @@ public final void rule__Node__Group__7__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__8" - // InternalRos.g:5852:1: rule__Node__Group__8 : rule__Node__Group__8__Impl rule__Node__Group__9 ; + // InternalRos.g:6666:1: rule__Node__Group__8 : rule__Node__Group__8__Impl rule__Node__Group__9 ; public final void rule__Node__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5856:1: ( rule__Node__Group__8__Impl rule__Node__Group__9 ) - // InternalRos.g:5857:2: rule__Node__Group__8__Impl rule__Node__Group__9 + // InternalRos.g:6670:1: ( rule__Node__Group__8__Impl rule__Node__Group__9 ) + // InternalRos.g:6671:2: rule__Node__Group__8__Impl rule__Node__Group__9 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__8__Impl(); state._fsp--; @@ -18146,29 +20635,29 @@ public final void rule__Node__Group__8() throws RecognitionException { // $ANTLR start "rule__Node__Group__8__Impl" - // InternalRos.g:5864:1: rule__Node__Group__8__Impl : ( ( rule__Node__Group_8__0 )? ) ; + // InternalRos.g:6678:1: rule__Node__Group__8__Impl : ( ( rule__Node__Group_8__0 )? ) ; public final void rule__Node__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5868:1: ( ( ( rule__Node__Group_8__0 )? ) ) - // InternalRos.g:5869:1: ( ( rule__Node__Group_8__0 )? ) + // InternalRos.g:6682:1: ( ( ( rule__Node__Group_8__0 )? ) ) + // InternalRos.g:6683:1: ( ( rule__Node__Group_8__0 )? ) { - // InternalRos.g:5869:1: ( ( rule__Node__Group_8__0 )? ) - // InternalRos.g:5870:2: ( rule__Node__Group_8__0 )? + // InternalRos.g:6683:1: ( ( rule__Node__Group_8__0 )? ) + // InternalRos.g:6684:2: ( rule__Node__Group_8__0 )? { before(grammarAccess.getNodeAccess().getGroup_8()); - // InternalRos.g:5871:2: ( rule__Node__Group_8__0 )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalRos.g:6685:2: ( rule__Node__Group_8__0 )? + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA40_0==60) ) { - alt40=1; + if ( (LA47_0==61) ) { + alt47=1; } - switch (alt40) { + switch (alt47) { case 1 : - // InternalRos.g:5871:3: rule__Node__Group_8__0 + // InternalRos.g:6685:3: rule__Node__Group_8__0 { pushFollow(FOLLOW_2); rule__Node__Group_8__0(); @@ -18204,16 +20693,16 @@ public final void rule__Node__Group__8__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__9" - // InternalRos.g:5879:1: rule__Node__Group__9 : rule__Node__Group__9__Impl rule__Node__Group__10 ; + // InternalRos.g:6693:1: rule__Node__Group__9 : rule__Node__Group__9__Impl rule__Node__Group__10 ; public final void rule__Node__Group__9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5883:1: ( rule__Node__Group__9__Impl rule__Node__Group__10 ) - // InternalRos.g:5884:2: rule__Node__Group__9__Impl rule__Node__Group__10 + // InternalRos.g:6697:1: ( rule__Node__Group__9__Impl rule__Node__Group__10 ) + // InternalRos.g:6698:2: rule__Node__Group__9__Impl rule__Node__Group__10 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__9__Impl(); state._fsp--; @@ -18242,29 +20731,29 @@ public final void rule__Node__Group__9() throws RecognitionException { // $ANTLR start "rule__Node__Group__9__Impl" - // InternalRos.g:5891:1: rule__Node__Group__9__Impl : ( ( rule__Node__Group_9__0 )? ) ; + // InternalRos.g:6705:1: rule__Node__Group__9__Impl : ( ( rule__Node__Group_9__0 )? ) ; public final void rule__Node__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5895:1: ( ( ( rule__Node__Group_9__0 )? ) ) - // InternalRos.g:5896:1: ( ( rule__Node__Group_9__0 )? ) + // InternalRos.g:6709:1: ( ( ( rule__Node__Group_9__0 )? ) ) + // InternalRos.g:6710:1: ( ( rule__Node__Group_9__0 )? ) { - // InternalRos.g:5896:1: ( ( rule__Node__Group_9__0 )? ) - // InternalRos.g:5897:2: ( rule__Node__Group_9__0 )? + // InternalRos.g:6710:1: ( ( rule__Node__Group_9__0 )? ) + // InternalRos.g:6711:2: ( rule__Node__Group_9__0 )? { before(grammarAccess.getNodeAccess().getGroup_9()); - // InternalRos.g:5898:2: ( rule__Node__Group_9__0 )? - int alt41=2; - int LA41_0 = input.LA(1); + // InternalRos.g:6712:2: ( rule__Node__Group_9__0 )? + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA41_0==61) ) { - alt41=1; + if ( (LA48_0==62) ) { + alt48=1; } - switch (alt41) { + switch (alt48) { case 1 : - // InternalRos.g:5898:3: rule__Node__Group_9__0 + // InternalRos.g:6712:3: rule__Node__Group_9__0 { pushFollow(FOLLOW_2); rule__Node__Group_9__0(); @@ -18300,16 +20789,16 @@ public final void rule__Node__Group__9__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__10" - // InternalRos.g:5906:1: rule__Node__Group__10 : rule__Node__Group__10__Impl rule__Node__Group__11 ; + // InternalRos.g:6720:1: rule__Node__Group__10 : rule__Node__Group__10__Impl rule__Node__Group__11 ; public final void rule__Node__Group__10() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5910:1: ( rule__Node__Group__10__Impl rule__Node__Group__11 ) - // InternalRos.g:5911:2: rule__Node__Group__10__Impl rule__Node__Group__11 + // InternalRos.g:6724:1: ( rule__Node__Group__10__Impl rule__Node__Group__11 ) + // InternalRos.g:6725:2: rule__Node__Group__10__Impl rule__Node__Group__11 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_30); rule__Node__Group__10__Impl(); state._fsp--; @@ -18338,29 +20827,29 @@ public final void rule__Node__Group__10() throws RecognitionException { // $ANTLR start "rule__Node__Group__10__Impl" - // InternalRos.g:5918:1: rule__Node__Group__10__Impl : ( ( rule__Node__Group_10__0 )? ) ; + // InternalRos.g:6732:1: rule__Node__Group__10__Impl : ( ( rule__Node__Group_10__0 )? ) ; public final void rule__Node__Group__10__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5922:1: ( ( ( rule__Node__Group_10__0 )? ) ) - // InternalRos.g:5923:1: ( ( rule__Node__Group_10__0 )? ) + // InternalRos.g:6736:1: ( ( ( rule__Node__Group_10__0 )? ) ) + // InternalRos.g:6737:1: ( ( rule__Node__Group_10__0 )? ) { - // InternalRos.g:5923:1: ( ( rule__Node__Group_10__0 )? ) - // InternalRos.g:5924:2: ( rule__Node__Group_10__0 )? + // InternalRos.g:6737:1: ( ( rule__Node__Group_10__0 )? ) + // InternalRos.g:6738:2: ( rule__Node__Group_10__0 )? { before(grammarAccess.getNodeAccess().getGroup_10()); - // InternalRos.g:5925:2: ( rule__Node__Group_10__0 )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalRos.g:6739:2: ( rule__Node__Group_10__0 )? + int alt49=2; + int LA49_0 = input.LA(1); - if ( (LA42_0==62) ) { - alt42=1; + if ( (LA49_0==63) ) { + alt49=1; } - switch (alt42) { + switch (alt49) { case 1 : - // InternalRos.g:5925:3: rule__Node__Group_10__0 + // InternalRos.g:6739:3: rule__Node__Group_10__0 { pushFollow(FOLLOW_2); rule__Node__Group_10__0(); @@ -18396,14 +20885,14 @@ public final void rule__Node__Group__10__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group__11" - // InternalRos.g:5933:1: rule__Node__Group__11 : rule__Node__Group__11__Impl ; + // InternalRos.g:6747:1: rule__Node__Group__11 : rule__Node__Group__11__Impl ; public final void rule__Node__Group__11() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5937:1: ( rule__Node__Group__11__Impl ) - // InternalRos.g:5938:2: rule__Node__Group__11__Impl + // InternalRos.g:6751:1: ( rule__Node__Group__11__Impl ) + // InternalRos.g:6752:2: rule__Node__Group__11__Impl { pushFollow(FOLLOW_2); rule__Node__Group__11__Impl(); @@ -18429,17 +20918,17 @@ public final void rule__Node__Group__11() throws RecognitionException { // $ANTLR start "rule__Node__Group__11__Impl" - // InternalRos.g:5944:1: rule__Node__Group__11__Impl : ( '}' ) ; + // InternalRos.g:6758:1: rule__Node__Group__11__Impl : ( '}' ) ; public final void rule__Node__Group__11__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5948:1: ( ( '}' ) ) - // InternalRos.g:5949:1: ( '}' ) + // InternalRos.g:6762:1: ( ( '}' ) ) + // InternalRos.g:6763:1: ( '}' ) { - // InternalRos.g:5949:1: ( '}' ) - // InternalRos.g:5950:2: '}' + // InternalRos.g:6763:1: ( '}' ) + // InternalRos.g:6764:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_11()); match(input,42,FOLLOW_2); @@ -18466,14 +20955,14 @@ public final void rule__Node__Group__11__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__0" - // InternalRos.g:5960:1: rule__Node__Group_4__0 : rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ; + // InternalRos.g:6774:1: rule__Node__Group_4__0 : rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ; public final void rule__Node__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5964:1: ( rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ) - // InternalRos.g:5965:2: rule__Node__Group_4__0__Impl rule__Node__Group_4__1 + // InternalRos.g:6778:1: ( rule__Node__Group_4__0__Impl rule__Node__Group_4__1 ) + // InternalRos.g:6779:2: rule__Node__Group_4__0__Impl rule__Node__Group_4__1 { pushFollow(FOLLOW_4); rule__Node__Group_4__0__Impl(); @@ -18504,20 +20993,20 @@ public final void rule__Node__Group_4__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__0__Impl" - // InternalRos.g:5972:1: rule__Node__Group_4__0__Impl : ( 'ServiceServers' ) ; + // InternalRos.g:6786:1: rule__Node__Group_4__0__Impl : ( 'ServiceServers' ) ; public final void rule__Node__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5976:1: ( ( 'ServiceServers' ) ) - // InternalRos.g:5977:1: ( 'ServiceServers' ) + // InternalRos.g:6790:1: ( ( 'ServiceServers' ) ) + // InternalRos.g:6791:1: ( 'ServiceServers' ) { - // InternalRos.g:5977:1: ( 'ServiceServers' ) - // InternalRos.g:5978:2: 'ServiceServers' + // InternalRos.g:6791:1: ( 'ServiceServers' ) + // InternalRos.g:6792:2: 'ServiceServers' { before(grammarAccess.getNodeAccess().getServiceServersKeyword_4_0()); - match(input,56,FOLLOW_2); + match(input,57,FOLLOW_2); after(grammarAccess.getNodeAccess().getServiceServersKeyword_4_0()); } @@ -18541,16 +21030,16 @@ public final void rule__Node__Group_4__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__1" - // InternalRos.g:5987:1: rule__Node__Group_4__1 : rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ; + // InternalRos.g:6801:1: rule__Node__Group_4__1 : rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ; public final void rule__Node__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:5991:1: ( rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ) - // InternalRos.g:5992:2: rule__Node__Group_4__1__Impl rule__Node__Group_4__2 + // InternalRos.g:6805:1: ( rule__Node__Group_4__1__Impl rule__Node__Group_4__2 ) + // InternalRos.g:6806:2: rule__Node__Group_4__1__Impl rule__Node__Group_4__2 { - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_31); rule__Node__Group_4__1__Impl(); state._fsp--; @@ -18579,17 +21068,17 @@ public final void rule__Node__Group_4__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__1__Impl" - // InternalRos.g:5999:1: rule__Node__Group_4__1__Impl : ( '{' ) ; + // InternalRos.g:6813:1: rule__Node__Group_4__1__Impl : ( '{' ) ; public final void rule__Node__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6003:1: ( ( '{' ) ) - // InternalRos.g:6004:1: ( '{' ) + // InternalRos.g:6817:1: ( ( '{' ) ) + // InternalRos.g:6818:1: ( '{' ) { - // InternalRos.g:6004:1: ( '{' ) - // InternalRos.g:6005:2: '{' + // InternalRos.g:6818:1: ( '{' ) + // InternalRos.g:6819:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_4_1()); match(input,41,FOLLOW_2); @@ -18616,14 +21105,14 @@ public final void rule__Node__Group_4__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__2" - // InternalRos.g:6014:1: rule__Node__Group_4__2 : rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ; + // InternalRos.g:6828:1: rule__Node__Group_4__2 : rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ; public final void rule__Node__Group_4__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6018:1: ( rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ) - // InternalRos.g:6019:2: rule__Node__Group_4__2__Impl rule__Node__Group_4__3 + // InternalRos.g:6832:1: ( rule__Node__Group_4__2__Impl rule__Node__Group_4__3 ) + // InternalRos.g:6833:2: rule__Node__Group_4__2__Impl rule__Node__Group_4__3 { pushFollow(FOLLOW_13); rule__Node__Group_4__2__Impl(); @@ -18654,21 +21143,21 @@ public final void rule__Node__Group_4__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__2__Impl" - // InternalRos.g:6026:1: rule__Node__Group_4__2__Impl : ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ; + // InternalRos.g:6840:1: rule__Node__Group_4__2__Impl : ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ; public final void rule__Node__Group_4__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6030:1: ( ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ) - // InternalRos.g:6031:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) + // InternalRos.g:6844:1: ( ( ( rule__Node__ServiceserverAssignment_4_2 ) ) ) + // InternalRos.g:6845:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) { - // InternalRos.g:6031:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) - // InternalRos.g:6032:2: ( rule__Node__ServiceserverAssignment_4_2 ) + // InternalRos.g:6845:1: ( ( rule__Node__ServiceserverAssignment_4_2 ) ) + // InternalRos.g:6846:2: ( rule__Node__ServiceserverAssignment_4_2 ) { before(grammarAccess.getNodeAccess().getServiceserverAssignment_4_2()); - // InternalRos.g:6033:2: ( rule__Node__ServiceserverAssignment_4_2 ) - // InternalRos.g:6033:3: rule__Node__ServiceserverAssignment_4_2 + // InternalRos.g:6847:2: ( rule__Node__ServiceserverAssignment_4_2 ) + // InternalRos.g:6847:3: rule__Node__ServiceserverAssignment_4_2 { pushFollow(FOLLOW_2); rule__Node__ServiceserverAssignment_4_2(); @@ -18701,14 +21190,14 @@ public final void rule__Node__Group_4__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__3" - // InternalRos.g:6041:1: rule__Node__Group_4__3 : rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ; + // InternalRos.g:6855:1: rule__Node__Group_4__3 : rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ; public final void rule__Node__Group_4__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6045:1: ( rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ) - // InternalRos.g:6046:2: rule__Node__Group_4__3__Impl rule__Node__Group_4__4 + // InternalRos.g:6859:1: ( rule__Node__Group_4__3__Impl rule__Node__Group_4__4 ) + // InternalRos.g:6860:2: rule__Node__Group_4__3__Impl rule__Node__Group_4__4 { pushFollow(FOLLOW_13); rule__Node__Group_4__3__Impl(); @@ -18739,33 +21228,33 @@ public final void rule__Node__Group_4__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__3__Impl" - // InternalRos.g:6053:1: rule__Node__Group_4__3__Impl : ( ( rule__Node__Group_4_3__0 )* ) ; + // InternalRos.g:6867:1: rule__Node__Group_4__3__Impl : ( ( rule__Node__Group_4_3__0 )* ) ; public final void rule__Node__Group_4__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6057:1: ( ( ( rule__Node__Group_4_3__0 )* ) ) - // InternalRos.g:6058:1: ( ( rule__Node__Group_4_3__0 )* ) + // InternalRos.g:6871:1: ( ( ( rule__Node__Group_4_3__0 )* ) ) + // InternalRos.g:6872:1: ( ( rule__Node__Group_4_3__0 )* ) { - // InternalRos.g:6058:1: ( ( rule__Node__Group_4_3__0 )* ) - // InternalRos.g:6059:2: ( rule__Node__Group_4_3__0 )* + // InternalRos.g:6872:1: ( ( rule__Node__Group_4_3__0 )* ) + // InternalRos.g:6873:2: ( rule__Node__Group_4_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_4_3()); - // InternalRos.g:6060:2: ( rule__Node__Group_4_3__0 )* - loop43: + // InternalRos.g:6874:2: ( rule__Node__Group_4_3__0 )* + loop50: do { - int alt43=2; - int LA43_0 = input.LA(1); + int alt50=2; + int LA50_0 = input.LA(1); - if ( (LA43_0==43) ) { - alt43=1; + if ( (LA50_0==43) ) { + alt50=1; } - switch (alt43) { + switch (alt50) { case 1 : - // InternalRos.g:6060:3: rule__Node__Group_4_3__0 + // InternalRos.g:6874:3: rule__Node__Group_4_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_4_3__0(); @@ -18777,7 +21266,7 @@ public final void rule__Node__Group_4__3__Impl() throws RecognitionException { break; default : - break loop43; + break loop50; } } while (true); @@ -18804,14 +21293,14 @@ public final void rule__Node__Group_4__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__4" - // InternalRos.g:6068:1: rule__Node__Group_4__4 : rule__Node__Group_4__4__Impl ; + // InternalRos.g:6882:1: rule__Node__Group_4__4 : rule__Node__Group_4__4__Impl ; public final void rule__Node__Group_4__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6072:1: ( rule__Node__Group_4__4__Impl ) - // InternalRos.g:6073:2: rule__Node__Group_4__4__Impl + // InternalRos.g:6886:1: ( rule__Node__Group_4__4__Impl ) + // InternalRos.g:6887:2: rule__Node__Group_4__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_4__4__Impl(); @@ -18837,17 +21326,17 @@ public final void rule__Node__Group_4__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_4__4__Impl" - // InternalRos.g:6079:1: rule__Node__Group_4__4__Impl : ( '}' ) ; + // InternalRos.g:6893:1: rule__Node__Group_4__4__Impl : ( '}' ) ; public final void rule__Node__Group_4__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6083:1: ( ( '}' ) ) - // InternalRos.g:6084:1: ( '}' ) + // InternalRos.g:6897:1: ( ( '}' ) ) + // InternalRos.g:6898:1: ( '}' ) { - // InternalRos.g:6084:1: ( '}' ) - // InternalRos.g:6085:2: '}' + // InternalRos.g:6898:1: ( '}' ) + // InternalRos.g:6899:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_4_4()); match(input,42,FOLLOW_2); @@ -18874,16 +21363,16 @@ public final void rule__Node__Group_4__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__0" - // InternalRos.g:6095:1: rule__Node__Group_4_3__0 : rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ; + // InternalRos.g:6909:1: rule__Node__Group_4_3__0 : rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ; public final void rule__Node__Group_4_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6099:1: ( rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ) - // InternalRos.g:6100:2: rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 + // InternalRos.g:6913:1: ( rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 ) + // InternalRos.g:6914:2: rule__Node__Group_4_3__0__Impl rule__Node__Group_4_3__1 { - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_31); rule__Node__Group_4_3__0__Impl(); state._fsp--; @@ -18912,17 +21401,17 @@ public final void rule__Node__Group_4_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__0__Impl" - // InternalRos.g:6107:1: rule__Node__Group_4_3__0__Impl : ( ',' ) ; + // InternalRos.g:6921:1: rule__Node__Group_4_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_4_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6111:1: ( ( ',' ) ) - // InternalRos.g:6112:1: ( ',' ) + // InternalRos.g:6925:1: ( ( ',' ) ) + // InternalRos.g:6926:1: ( ',' ) { - // InternalRos.g:6112:1: ( ',' ) - // InternalRos.g:6113:2: ',' + // InternalRos.g:6926:1: ( ',' ) + // InternalRos.g:6927:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_4_3_0()); match(input,43,FOLLOW_2); @@ -18949,14 +21438,14 @@ public final void rule__Node__Group_4_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__1" - // InternalRos.g:6122:1: rule__Node__Group_4_3__1 : rule__Node__Group_4_3__1__Impl ; + // InternalRos.g:6936:1: rule__Node__Group_4_3__1 : rule__Node__Group_4_3__1__Impl ; public final void rule__Node__Group_4_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6126:1: ( rule__Node__Group_4_3__1__Impl ) - // InternalRos.g:6127:2: rule__Node__Group_4_3__1__Impl + // InternalRos.g:6940:1: ( rule__Node__Group_4_3__1__Impl ) + // InternalRos.g:6941:2: rule__Node__Group_4_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_4_3__1__Impl(); @@ -18982,21 +21471,21 @@ public final void rule__Node__Group_4_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_4_3__1__Impl" - // InternalRos.g:6133:1: rule__Node__Group_4_3__1__Impl : ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ; + // InternalRos.g:6947:1: rule__Node__Group_4_3__1__Impl : ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ; public final void rule__Node__Group_4_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6137:1: ( ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ) - // InternalRos.g:6138:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) + // InternalRos.g:6951:1: ( ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) ) + // InternalRos.g:6952:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) { - // InternalRos.g:6138:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) - // InternalRos.g:6139:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) + // InternalRos.g:6952:1: ( ( rule__Node__ServiceserverAssignment_4_3_1 ) ) + // InternalRos.g:6953:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) { before(grammarAccess.getNodeAccess().getServiceserverAssignment_4_3_1()); - // InternalRos.g:6140:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) - // InternalRos.g:6140:3: rule__Node__ServiceserverAssignment_4_3_1 + // InternalRos.g:6954:2: ( rule__Node__ServiceserverAssignment_4_3_1 ) + // InternalRos.g:6954:3: rule__Node__ServiceserverAssignment_4_3_1 { pushFollow(FOLLOW_2); rule__Node__ServiceserverAssignment_4_3_1(); @@ -19029,14 +21518,14 @@ public final void rule__Node__Group_4_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__0" - // InternalRos.g:6149:1: rule__Node__Group_5__0 : rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ; + // InternalRos.g:6963:1: rule__Node__Group_5__0 : rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ; public final void rule__Node__Group_5__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6153:1: ( rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ) - // InternalRos.g:6154:2: rule__Node__Group_5__0__Impl rule__Node__Group_5__1 + // InternalRos.g:6967:1: ( rule__Node__Group_5__0__Impl rule__Node__Group_5__1 ) + // InternalRos.g:6968:2: rule__Node__Group_5__0__Impl rule__Node__Group_5__1 { pushFollow(FOLLOW_4); rule__Node__Group_5__0__Impl(); @@ -19067,20 +21556,20 @@ public final void rule__Node__Group_5__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__0__Impl" - // InternalRos.g:6161:1: rule__Node__Group_5__0__Impl : ( 'Publishers' ) ; + // InternalRos.g:6975:1: rule__Node__Group_5__0__Impl : ( 'Publishers' ) ; public final void rule__Node__Group_5__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6165:1: ( ( 'Publishers' ) ) - // InternalRos.g:6166:1: ( 'Publishers' ) + // InternalRos.g:6979:1: ( ( 'Publishers' ) ) + // InternalRos.g:6980:1: ( 'Publishers' ) { - // InternalRos.g:6166:1: ( 'Publishers' ) - // InternalRos.g:6167:2: 'Publishers' + // InternalRos.g:6980:1: ( 'Publishers' ) + // InternalRos.g:6981:2: 'Publishers' { before(grammarAccess.getNodeAccess().getPublishersKeyword_5_0()); - match(input,57,FOLLOW_2); + match(input,58,FOLLOW_2); after(grammarAccess.getNodeAccess().getPublishersKeyword_5_0()); } @@ -19104,16 +21593,16 @@ public final void rule__Node__Group_5__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__1" - // InternalRos.g:6176:1: rule__Node__Group_5__1 : rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ; + // InternalRos.g:6990:1: rule__Node__Group_5__1 : rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ; public final void rule__Node__Group_5__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6180:1: ( rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ) - // InternalRos.g:6181:2: rule__Node__Group_5__1__Impl rule__Node__Group_5__2 + // InternalRos.g:6994:1: ( rule__Node__Group_5__1__Impl rule__Node__Group_5__2 ) + // InternalRos.g:6995:2: rule__Node__Group_5__1__Impl rule__Node__Group_5__2 { - pushFollow(FOLLOW_31); + pushFollow(FOLLOW_32); rule__Node__Group_5__1__Impl(); state._fsp--; @@ -19142,17 +21631,17 @@ public final void rule__Node__Group_5__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__1__Impl" - // InternalRos.g:6188:1: rule__Node__Group_5__1__Impl : ( '{' ) ; + // InternalRos.g:7002:1: rule__Node__Group_5__1__Impl : ( '{' ) ; public final void rule__Node__Group_5__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6192:1: ( ( '{' ) ) - // InternalRos.g:6193:1: ( '{' ) + // InternalRos.g:7006:1: ( ( '{' ) ) + // InternalRos.g:7007:1: ( '{' ) { - // InternalRos.g:6193:1: ( '{' ) - // InternalRos.g:6194:2: '{' + // InternalRos.g:7007:1: ( '{' ) + // InternalRos.g:7008:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_5_1()); match(input,41,FOLLOW_2); @@ -19179,14 +21668,14 @@ public final void rule__Node__Group_5__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__2" - // InternalRos.g:6203:1: rule__Node__Group_5__2 : rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ; + // InternalRos.g:7017:1: rule__Node__Group_5__2 : rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ; public final void rule__Node__Group_5__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6207:1: ( rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ) - // InternalRos.g:6208:2: rule__Node__Group_5__2__Impl rule__Node__Group_5__3 + // InternalRos.g:7021:1: ( rule__Node__Group_5__2__Impl rule__Node__Group_5__3 ) + // InternalRos.g:7022:2: rule__Node__Group_5__2__Impl rule__Node__Group_5__3 { pushFollow(FOLLOW_13); rule__Node__Group_5__2__Impl(); @@ -19217,21 +21706,21 @@ public final void rule__Node__Group_5__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__2__Impl" - // InternalRos.g:6215:1: rule__Node__Group_5__2__Impl : ( ( rule__Node__PublisherAssignment_5_2 ) ) ; + // InternalRos.g:7029:1: rule__Node__Group_5__2__Impl : ( ( rule__Node__PublisherAssignment_5_2 ) ) ; public final void rule__Node__Group_5__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6219:1: ( ( ( rule__Node__PublisherAssignment_5_2 ) ) ) - // InternalRos.g:6220:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) + // InternalRos.g:7033:1: ( ( ( rule__Node__PublisherAssignment_5_2 ) ) ) + // InternalRos.g:7034:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) { - // InternalRos.g:6220:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) - // InternalRos.g:6221:2: ( rule__Node__PublisherAssignment_5_2 ) + // InternalRos.g:7034:1: ( ( rule__Node__PublisherAssignment_5_2 ) ) + // InternalRos.g:7035:2: ( rule__Node__PublisherAssignment_5_2 ) { before(grammarAccess.getNodeAccess().getPublisherAssignment_5_2()); - // InternalRos.g:6222:2: ( rule__Node__PublisherAssignment_5_2 ) - // InternalRos.g:6222:3: rule__Node__PublisherAssignment_5_2 + // InternalRos.g:7036:2: ( rule__Node__PublisherAssignment_5_2 ) + // InternalRos.g:7036:3: rule__Node__PublisherAssignment_5_2 { pushFollow(FOLLOW_2); rule__Node__PublisherAssignment_5_2(); @@ -19264,14 +21753,14 @@ public final void rule__Node__Group_5__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__3" - // InternalRos.g:6230:1: rule__Node__Group_5__3 : rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ; + // InternalRos.g:7044:1: rule__Node__Group_5__3 : rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ; public final void rule__Node__Group_5__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6234:1: ( rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ) - // InternalRos.g:6235:2: rule__Node__Group_5__3__Impl rule__Node__Group_5__4 + // InternalRos.g:7048:1: ( rule__Node__Group_5__3__Impl rule__Node__Group_5__4 ) + // InternalRos.g:7049:2: rule__Node__Group_5__3__Impl rule__Node__Group_5__4 { pushFollow(FOLLOW_13); rule__Node__Group_5__3__Impl(); @@ -19302,33 +21791,33 @@ public final void rule__Node__Group_5__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__3__Impl" - // InternalRos.g:6242:1: rule__Node__Group_5__3__Impl : ( ( rule__Node__Group_5_3__0 )* ) ; + // InternalRos.g:7056:1: rule__Node__Group_5__3__Impl : ( ( rule__Node__Group_5_3__0 )* ) ; public final void rule__Node__Group_5__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6246:1: ( ( ( rule__Node__Group_5_3__0 )* ) ) - // InternalRos.g:6247:1: ( ( rule__Node__Group_5_3__0 )* ) + // InternalRos.g:7060:1: ( ( ( rule__Node__Group_5_3__0 )* ) ) + // InternalRos.g:7061:1: ( ( rule__Node__Group_5_3__0 )* ) { - // InternalRos.g:6247:1: ( ( rule__Node__Group_5_3__0 )* ) - // InternalRos.g:6248:2: ( rule__Node__Group_5_3__0 )* + // InternalRos.g:7061:1: ( ( rule__Node__Group_5_3__0 )* ) + // InternalRos.g:7062:2: ( rule__Node__Group_5_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_5_3()); - // InternalRos.g:6249:2: ( rule__Node__Group_5_3__0 )* - loop44: + // InternalRos.g:7063:2: ( rule__Node__Group_5_3__0 )* + loop51: do { - int alt44=2; - int LA44_0 = input.LA(1); + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA44_0==43) ) { - alt44=1; + if ( (LA51_0==43) ) { + alt51=1; } - switch (alt44) { + switch (alt51) { case 1 : - // InternalRos.g:6249:3: rule__Node__Group_5_3__0 + // InternalRos.g:7063:3: rule__Node__Group_5_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_5_3__0(); @@ -19340,7 +21829,7 @@ public final void rule__Node__Group_5__3__Impl() throws RecognitionException { break; default : - break loop44; + break loop51; } } while (true); @@ -19367,14 +21856,14 @@ public final void rule__Node__Group_5__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__4" - // InternalRos.g:6257:1: rule__Node__Group_5__4 : rule__Node__Group_5__4__Impl ; + // InternalRos.g:7071:1: rule__Node__Group_5__4 : rule__Node__Group_5__4__Impl ; public final void rule__Node__Group_5__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6261:1: ( rule__Node__Group_5__4__Impl ) - // InternalRos.g:6262:2: rule__Node__Group_5__4__Impl + // InternalRos.g:7075:1: ( rule__Node__Group_5__4__Impl ) + // InternalRos.g:7076:2: rule__Node__Group_5__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_5__4__Impl(); @@ -19400,17 +21889,17 @@ public final void rule__Node__Group_5__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_5__4__Impl" - // InternalRos.g:6268:1: rule__Node__Group_5__4__Impl : ( '}' ) ; + // InternalRos.g:7082:1: rule__Node__Group_5__4__Impl : ( '}' ) ; public final void rule__Node__Group_5__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6272:1: ( ( '}' ) ) - // InternalRos.g:6273:1: ( '}' ) + // InternalRos.g:7086:1: ( ( '}' ) ) + // InternalRos.g:7087:1: ( '}' ) { - // InternalRos.g:6273:1: ( '}' ) - // InternalRos.g:6274:2: '}' + // InternalRos.g:7087:1: ( '}' ) + // InternalRos.g:7088:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_5_4()); match(input,42,FOLLOW_2); @@ -19437,16 +21926,16 @@ public final void rule__Node__Group_5__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__0" - // InternalRos.g:6284:1: rule__Node__Group_5_3__0 : rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ; + // InternalRos.g:7098:1: rule__Node__Group_5_3__0 : rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ; public final void rule__Node__Group_5_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6288:1: ( rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ) - // InternalRos.g:6289:2: rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 + // InternalRos.g:7102:1: ( rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 ) + // InternalRos.g:7103:2: rule__Node__Group_5_3__0__Impl rule__Node__Group_5_3__1 { - pushFollow(FOLLOW_31); + pushFollow(FOLLOW_32); rule__Node__Group_5_3__0__Impl(); state._fsp--; @@ -19475,17 +21964,17 @@ public final void rule__Node__Group_5_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__0__Impl" - // InternalRos.g:6296:1: rule__Node__Group_5_3__0__Impl : ( ',' ) ; + // InternalRos.g:7110:1: rule__Node__Group_5_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_5_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6300:1: ( ( ',' ) ) - // InternalRos.g:6301:1: ( ',' ) + // InternalRos.g:7114:1: ( ( ',' ) ) + // InternalRos.g:7115:1: ( ',' ) { - // InternalRos.g:6301:1: ( ',' ) - // InternalRos.g:6302:2: ',' + // InternalRos.g:7115:1: ( ',' ) + // InternalRos.g:7116:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_5_3_0()); match(input,43,FOLLOW_2); @@ -19512,14 +22001,14 @@ public final void rule__Node__Group_5_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__1" - // InternalRos.g:6311:1: rule__Node__Group_5_3__1 : rule__Node__Group_5_3__1__Impl ; + // InternalRos.g:7125:1: rule__Node__Group_5_3__1 : rule__Node__Group_5_3__1__Impl ; public final void rule__Node__Group_5_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6315:1: ( rule__Node__Group_5_3__1__Impl ) - // InternalRos.g:6316:2: rule__Node__Group_5_3__1__Impl + // InternalRos.g:7129:1: ( rule__Node__Group_5_3__1__Impl ) + // InternalRos.g:7130:2: rule__Node__Group_5_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_5_3__1__Impl(); @@ -19545,21 +22034,21 @@ public final void rule__Node__Group_5_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_5_3__1__Impl" - // InternalRos.g:6322:1: rule__Node__Group_5_3__1__Impl : ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ; + // InternalRos.g:7136:1: rule__Node__Group_5_3__1__Impl : ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ; public final void rule__Node__Group_5_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6326:1: ( ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ) - // InternalRos.g:6327:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) + // InternalRos.g:7140:1: ( ( ( rule__Node__PublisherAssignment_5_3_1 ) ) ) + // InternalRos.g:7141:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) { - // InternalRos.g:6327:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) - // InternalRos.g:6328:2: ( rule__Node__PublisherAssignment_5_3_1 ) + // InternalRos.g:7141:1: ( ( rule__Node__PublisherAssignment_5_3_1 ) ) + // InternalRos.g:7142:2: ( rule__Node__PublisherAssignment_5_3_1 ) { before(grammarAccess.getNodeAccess().getPublisherAssignment_5_3_1()); - // InternalRos.g:6329:2: ( rule__Node__PublisherAssignment_5_3_1 ) - // InternalRos.g:6329:3: rule__Node__PublisherAssignment_5_3_1 + // InternalRos.g:7143:2: ( rule__Node__PublisherAssignment_5_3_1 ) + // InternalRos.g:7143:3: rule__Node__PublisherAssignment_5_3_1 { pushFollow(FOLLOW_2); rule__Node__PublisherAssignment_5_3_1(); @@ -19592,14 +22081,14 @@ public final void rule__Node__Group_5_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__0" - // InternalRos.g:6338:1: rule__Node__Group_6__0 : rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ; + // InternalRos.g:7152:1: rule__Node__Group_6__0 : rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ; public final void rule__Node__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6342:1: ( rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ) - // InternalRos.g:6343:2: rule__Node__Group_6__0__Impl rule__Node__Group_6__1 + // InternalRos.g:7156:1: ( rule__Node__Group_6__0__Impl rule__Node__Group_6__1 ) + // InternalRos.g:7157:2: rule__Node__Group_6__0__Impl rule__Node__Group_6__1 { pushFollow(FOLLOW_4); rule__Node__Group_6__0__Impl(); @@ -19630,20 +22119,20 @@ public final void rule__Node__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__0__Impl" - // InternalRos.g:6350:1: rule__Node__Group_6__0__Impl : ( 'Subscribers' ) ; + // InternalRos.g:7164:1: rule__Node__Group_6__0__Impl : ( 'Subscribers' ) ; public final void rule__Node__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6354:1: ( ( 'Subscribers' ) ) - // InternalRos.g:6355:1: ( 'Subscribers' ) + // InternalRos.g:7168:1: ( ( 'Subscribers' ) ) + // InternalRos.g:7169:1: ( 'Subscribers' ) { - // InternalRos.g:6355:1: ( 'Subscribers' ) - // InternalRos.g:6356:2: 'Subscribers' + // InternalRos.g:7169:1: ( 'Subscribers' ) + // InternalRos.g:7170:2: 'Subscribers' { before(grammarAccess.getNodeAccess().getSubscribersKeyword_6_0()); - match(input,58,FOLLOW_2); + match(input,59,FOLLOW_2); after(grammarAccess.getNodeAccess().getSubscribersKeyword_6_0()); } @@ -19667,16 +22156,16 @@ public final void rule__Node__Group_6__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__1" - // InternalRos.g:6365:1: rule__Node__Group_6__1 : rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ; + // InternalRos.g:7179:1: rule__Node__Group_6__1 : rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ; public final void rule__Node__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6369:1: ( rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ) - // InternalRos.g:6370:2: rule__Node__Group_6__1__Impl rule__Node__Group_6__2 + // InternalRos.g:7183:1: ( rule__Node__Group_6__1__Impl rule__Node__Group_6__2 ) + // InternalRos.g:7184:2: rule__Node__Group_6__1__Impl rule__Node__Group_6__2 { - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_33); rule__Node__Group_6__1__Impl(); state._fsp--; @@ -19705,17 +22194,17 @@ public final void rule__Node__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__1__Impl" - // InternalRos.g:6377:1: rule__Node__Group_6__1__Impl : ( '{' ) ; + // InternalRos.g:7191:1: rule__Node__Group_6__1__Impl : ( '{' ) ; public final void rule__Node__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6381:1: ( ( '{' ) ) - // InternalRos.g:6382:1: ( '{' ) + // InternalRos.g:7195:1: ( ( '{' ) ) + // InternalRos.g:7196:1: ( '{' ) { - // InternalRos.g:6382:1: ( '{' ) - // InternalRos.g:6383:2: '{' + // InternalRos.g:7196:1: ( '{' ) + // InternalRos.g:7197:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_6_1()); match(input,41,FOLLOW_2); @@ -19742,14 +22231,14 @@ public final void rule__Node__Group_6__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__2" - // InternalRos.g:6392:1: rule__Node__Group_6__2 : rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ; + // InternalRos.g:7206:1: rule__Node__Group_6__2 : rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ; public final void rule__Node__Group_6__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6396:1: ( rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ) - // InternalRos.g:6397:2: rule__Node__Group_6__2__Impl rule__Node__Group_6__3 + // InternalRos.g:7210:1: ( rule__Node__Group_6__2__Impl rule__Node__Group_6__3 ) + // InternalRos.g:7211:2: rule__Node__Group_6__2__Impl rule__Node__Group_6__3 { pushFollow(FOLLOW_13); rule__Node__Group_6__2__Impl(); @@ -19780,21 +22269,21 @@ public final void rule__Node__Group_6__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__2__Impl" - // InternalRos.g:6404:1: rule__Node__Group_6__2__Impl : ( ( rule__Node__SubscriberAssignment_6_2 ) ) ; + // InternalRos.g:7218:1: rule__Node__Group_6__2__Impl : ( ( rule__Node__SubscriberAssignment_6_2 ) ) ; public final void rule__Node__Group_6__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6408:1: ( ( ( rule__Node__SubscriberAssignment_6_2 ) ) ) - // InternalRos.g:6409:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) + // InternalRos.g:7222:1: ( ( ( rule__Node__SubscriberAssignment_6_2 ) ) ) + // InternalRos.g:7223:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) { - // InternalRos.g:6409:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) - // InternalRos.g:6410:2: ( rule__Node__SubscriberAssignment_6_2 ) + // InternalRos.g:7223:1: ( ( rule__Node__SubscriberAssignment_6_2 ) ) + // InternalRos.g:7224:2: ( rule__Node__SubscriberAssignment_6_2 ) { before(grammarAccess.getNodeAccess().getSubscriberAssignment_6_2()); - // InternalRos.g:6411:2: ( rule__Node__SubscriberAssignment_6_2 ) - // InternalRos.g:6411:3: rule__Node__SubscriberAssignment_6_2 + // InternalRos.g:7225:2: ( rule__Node__SubscriberAssignment_6_2 ) + // InternalRos.g:7225:3: rule__Node__SubscriberAssignment_6_2 { pushFollow(FOLLOW_2); rule__Node__SubscriberAssignment_6_2(); @@ -19827,14 +22316,14 @@ public final void rule__Node__Group_6__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__3" - // InternalRos.g:6419:1: rule__Node__Group_6__3 : rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ; + // InternalRos.g:7233:1: rule__Node__Group_6__3 : rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ; public final void rule__Node__Group_6__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6423:1: ( rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ) - // InternalRos.g:6424:2: rule__Node__Group_6__3__Impl rule__Node__Group_6__4 + // InternalRos.g:7237:1: ( rule__Node__Group_6__3__Impl rule__Node__Group_6__4 ) + // InternalRos.g:7238:2: rule__Node__Group_6__3__Impl rule__Node__Group_6__4 { pushFollow(FOLLOW_13); rule__Node__Group_6__3__Impl(); @@ -19865,33 +22354,33 @@ public final void rule__Node__Group_6__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__3__Impl" - // InternalRos.g:6431:1: rule__Node__Group_6__3__Impl : ( ( rule__Node__Group_6_3__0 )* ) ; + // InternalRos.g:7245:1: rule__Node__Group_6__3__Impl : ( ( rule__Node__Group_6_3__0 )* ) ; public final void rule__Node__Group_6__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6435:1: ( ( ( rule__Node__Group_6_3__0 )* ) ) - // InternalRos.g:6436:1: ( ( rule__Node__Group_6_3__0 )* ) + // InternalRos.g:7249:1: ( ( ( rule__Node__Group_6_3__0 )* ) ) + // InternalRos.g:7250:1: ( ( rule__Node__Group_6_3__0 )* ) { - // InternalRos.g:6436:1: ( ( rule__Node__Group_6_3__0 )* ) - // InternalRos.g:6437:2: ( rule__Node__Group_6_3__0 )* + // InternalRos.g:7250:1: ( ( rule__Node__Group_6_3__0 )* ) + // InternalRos.g:7251:2: ( rule__Node__Group_6_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_6_3()); - // InternalRos.g:6438:2: ( rule__Node__Group_6_3__0 )* - loop45: + // InternalRos.g:7252:2: ( rule__Node__Group_6_3__0 )* + loop52: do { - int alt45=2; - int LA45_0 = input.LA(1); + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA45_0==43) ) { - alt45=1; + if ( (LA52_0==43) ) { + alt52=1; } - switch (alt45) { + switch (alt52) { case 1 : - // InternalRos.g:6438:3: rule__Node__Group_6_3__0 + // InternalRos.g:7252:3: rule__Node__Group_6_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_6_3__0(); @@ -19903,7 +22392,7 @@ public final void rule__Node__Group_6__3__Impl() throws RecognitionException { break; default : - break loop45; + break loop52; } } while (true); @@ -19930,14 +22419,14 @@ public final void rule__Node__Group_6__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__4" - // InternalRos.g:6446:1: rule__Node__Group_6__4 : rule__Node__Group_6__4__Impl ; + // InternalRos.g:7260:1: rule__Node__Group_6__4 : rule__Node__Group_6__4__Impl ; public final void rule__Node__Group_6__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6450:1: ( rule__Node__Group_6__4__Impl ) - // InternalRos.g:6451:2: rule__Node__Group_6__4__Impl + // InternalRos.g:7264:1: ( rule__Node__Group_6__4__Impl ) + // InternalRos.g:7265:2: rule__Node__Group_6__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_6__4__Impl(); @@ -19963,17 +22452,17 @@ public final void rule__Node__Group_6__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_6__4__Impl" - // InternalRos.g:6457:1: rule__Node__Group_6__4__Impl : ( '}' ) ; + // InternalRos.g:7271:1: rule__Node__Group_6__4__Impl : ( '}' ) ; public final void rule__Node__Group_6__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6461:1: ( ( '}' ) ) - // InternalRos.g:6462:1: ( '}' ) + // InternalRos.g:7275:1: ( ( '}' ) ) + // InternalRos.g:7276:1: ( '}' ) { - // InternalRos.g:6462:1: ( '}' ) - // InternalRos.g:6463:2: '}' + // InternalRos.g:7276:1: ( '}' ) + // InternalRos.g:7277:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_6_4()); match(input,42,FOLLOW_2); @@ -20000,16 +22489,16 @@ public final void rule__Node__Group_6__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__0" - // InternalRos.g:6473:1: rule__Node__Group_6_3__0 : rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ; + // InternalRos.g:7287:1: rule__Node__Group_6_3__0 : rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ; public final void rule__Node__Group_6_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6477:1: ( rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ) - // InternalRos.g:6478:2: rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 + // InternalRos.g:7291:1: ( rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 ) + // InternalRos.g:7292:2: rule__Node__Group_6_3__0__Impl rule__Node__Group_6_3__1 { - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_33); rule__Node__Group_6_3__0__Impl(); state._fsp--; @@ -20038,17 +22527,17 @@ public final void rule__Node__Group_6_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__0__Impl" - // InternalRos.g:6485:1: rule__Node__Group_6_3__0__Impl : ( ',' ) ; + // InternalRos.g:7299:1: rule__Node__Group_6_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_6_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6489:1: ( ( ',' ) ) - // InternalRos.g:6490:1: ( ',' ) + // InternalRos.g:7303:1: ( ( ',' ) ) + // InternalRos.g:7304:1: ( ',' ) { - // InternalRos.g:6490:1: ( ',' ) - // InternalRos.g:6491:2: ',' + // InternalRos.g:7304:1: ( ',' ) + // InternalRos.g:7305:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_6_3_0()); match(input,43,FOLLOW_2); @@ -20075,14 +22564,14 @@ public final void rule__Node__Group_6_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__1" - // InternalRos.g:6500:1: rule__Node__Group_6_3__1 : rule__Node__Group_6_3__1__Impl ; + // InternalRos.g:7314:1: rule__Node__Group_6_3__1 : rule__Node__Group_6_3__1__Impl ; public final void rule__Node__Group_6_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6504:1: ( rule__Node__Group_6_3__1__Impl ) - // InternalRos.g:6505:2: rule__Node__Group_6_3__1__Impl + // InternalRos.g:7318:1: ( rule__Node__Group_6_3__1__Impl ) + // InternalRos.g:7319:2: rule__Node__Group_6_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_6_3__1__Impl(); @@ -20108,21 +22597,21 @@ public final void rule__Node__Group_6_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_6_3__1__Impl" - // InternalRos.g:6511:1: rule__Node__Group_6_3__1__Impl : ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ; + // InternalRos.g:7325:1: rule__Node__Group_6_3__1__Impl : ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ; public final void rule__Node__Group_6_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6515:1: ( ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ) - // InternalRos.g:6516:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) + // InternalRos.g:7329:1: ( ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) ) + // InternalRos.g:7330:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) { - // InternalRos.g:6516:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) - // InternalRos.g:6517:2: ( rule__Node__SubscriberAssignment_6_3_1 ) + // InternalRos.g:7330:1: ( ( rule__Node__SubscriberAssignment_6_3_1 ) ) + // InternalRos.g:7331:2: ( rule__Node__SubscriberAssignment_6_3_1 ) { before(grammarAccess.getNodeAccess().getSubscriberAssignment_6_3_1()); - // InternalRos.g:6518:2: ( rule__Node__SubscriberAssignment_6_3_1 ) - // InternalRos.g:6518:3: rule__Node__SubscriberAssignment_6_3_1 + // InternalRos.g:7332:2: ( rule__Node__SubscriberAssignment_6_3_1 ) + // InternalRos.g:7332:3: rule__Node__SubscriberAssignment_6_3_1 { pushFollow(FOLLOW_2); rule__Node__SubscriberAssignment_6_3_1(); @@ -20155,14 +22644,14 @@ public final void rule__Node__Group_6_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__0" - // InternalRos.g:6527:1: rule__Node__Group_7__0 : rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ; + // InternalRos.g:7341:1: rule__Node__Group_7__0 : rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ; public final void rule__Node__Group_7__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6531:1: ( rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ) - // InternalRos.g:6532:2: rule__Node__Group_7__0__Impl rule__Node__Group_7__1 + // InternalRos.g:7345:1: ( rule__Node__Group_7__0__Impl rule__Node__Group_7__1 ) + // InternalRos.g:7346:2: rule__Node__Group_7__0__Impl rule__Node__Group_7__1 { pushFollow(FOLLOW_4); rule__Node__Group_7__0__Impl(); @@ -20193,20 +22682,20 @@ public final void rule__Node__Group_7__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__0__Impl" - // InternalRos.g:6539:1: rule__Node__Group_7__0__Impl : ( 'ServiceClients' ) ; + // InternalRos.g:7353:1: rule__Node__Group_7__0__Impl : ( 'ServiceClients' ) ; public final void rule__Node__Group_7__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6543:1: ( ( 'ServiceClients' ) ) - // InternalRos.g:6544:1: ( 'ServiceClients' ) + // InternalRos.g:7357:1: ( ( 'ServiceClients' ) ) + // InternalRos.g:7358:1: ( 'ServiceClients' ) { - // InternalRos.g:6544:1: ( 'ServiceClients' ) - // InternalRos.g:6545:2: 'ServiceClients' + // InternalRos.g:7358:1: ( 'ServiceClients' ) + // InternalRos.g:7359:2: 'ServiceClients' { before(grammarAccess.getNodeAccess().getServiceClientsKeyword_7_0()); - match(input,59,FOLLOW_2); + match(input,60,FOLLOW_2); after(grammarAccess.getNodeAccess().getServiceClientsKeyword_7_0()); } @@ -20230,16 +22719,16 @@ public final void rule__Node__Group_7__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__1" - // InternalRos.g:6554:1: rule__Node__Group_7__1 : rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ; + // InternalRos.g:7368:1: rule__Node__Group_7__1 : rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ; public final void rule__Node__Group_7__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6558:1: ( rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ) - // InternalRos.g:6559:2: rule__Node__Group_7__1__Impl rule__Node__Group_7__2 + // InternalRos.g:7372:1: ( rule__Node__Group_7__1__Impl rule__Node__Group_7__2 ) + // InternalRos.g:7373:2: rule__Node__Group_7__1__Impl rule__Node__Group_7__2 { - pushFollow(FOLLOW_33); + pushFollow(FOLLOW_34); rule__Node__Group_7__1__Impl(); state._fsp--; @@ -20268,17 +22757,17 @@ public final void rule__Node__Group_7__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__1__Impl" - // InternalRos.g:6566:1: rule__Node__Group_7__1__Impl : ( '{' ) ; + // InternalRos.g:7380:1: rule__Node__Group_7__1__Impl : ( '{' ) ; public final void rule__Node__Group_7__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6570:1: ( ( '{' ) ) - // InternalRos.g:6571:1: ( '{' ) + // InternalRos.g:7384:1: ( ( '{' ) ) + // InternalRos.g:7385:1: ( '{' ) { - // InternalRos.g:6571:1: ( '{' ) - // InternalRos.g:6572:2: '{' + // InternalRos.g:7385:1: ( '{' ) + // InternalRos.g:7386:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_7_1()); match(input,41,FOLLOW_2); @@ -20305,14 +22794,14 @@ public final void rule__Node__Group_7__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__2" - // InternalRos.g:6581:1: rule__Node__Group_7__2 : rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ; + // InternalRos.g:7395:1: rule__Node__Group_7__2 : rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ; public final void rule__Node__Group_7__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6585:1: ( rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ) - // InternalRos.g:6586:2: rule__Node__Group_7__2__Impl rule__Node__Group_7__3 + // InternalRos.g:7399:1: ( rule__Node__Group_7__2__Impl rule__Node__Group_7__3 ) + // InternalRos.g:7400:2: rule__Node__Group_7__2__Impl rule__Node__Group_7__3 { pushFollow(FOLLOW_13); rule__Node__Group_7__2__Impl(); @@ -20343,21 +22832,21 @@ public final void rule__Node__Group_7__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__2__Impl" - // InternalRos.g:6593:1: rule__Node__Group_7__2__Impl : ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ; + // InternalRos.g:7407:1: rule__Node__Group_7__2__Impl : ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ; public final void rule__Node__Group_7__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6597:1: ( ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ) - // InternalRos.g:6598:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) + // InternalRos.g:7411:1: ( ( ( rule__Node__ServiceclientAssignment_7_2 ) ) ) + // InternalRos.g:7412:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) { - // InternalRos.g:6598:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) - // InternalRos.g:6599:2: ( rule__Node__ServiceclientAssignment_7_2 ) + // InternalRos.g:7412:1: ( ( rule__Node__ServiceclientAssignment_7_2 ) ) + // InternalRos.g:7413:2: ( rule__Node__ServiceclientAssignment_7_2 ) { before(grammarAccess.getNodeAccess().getServiceclientAssignment_7_2()); - // InternalRos.g:6600:2: ( rule__Node__ServiceclientAssignment_7_2 ) - // InternalRos.g:6600:3: rule__Node__ServiceclientAssignment_7_2 + // InternalRos.g:7414:2: ( rule__Node__ServiceclientAssignment_7_2 ) + // InternalRos.g:7414:3: rule__Node__ServiceclientAssignment_7_2 { pushFollow(FOLLOW_2); rule__Node__ServiceclientAssignment_7_2(); @@ -20390,14 +22879,14 @@ public final void rule__Node__Group_7__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__3" - // InternalRos.g:6608:1: rule__Node__Group_7__3 : rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ; + // InternalRos.g:7422:1: rule__Node__Group_7__3 : rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ; public final void rule__Node__Group_7__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6612:1: ( rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ) - // InternalRos.g:6613:2: rule__Node__Group_7__3__Impl rule__Node__Group_7__4 + // InternalRos.g:7426:1: ( rule__Node__Group_7__3__Impl rule__Node__Group_7__4 ) + // InternalRos.g:7427:2: rule__Node__Group_7__3__Impl rule__Node__Group_7__4 { pushFollow(FOLLOW_13); rule__Node__Group_7__3__Impl(); @@ -20428,33 +22917,33 @@ public final void rule__Node__Group_7__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__3__Impl" - // InternalRos.g:6620:1: rule__Node__Group_7__3__Impl : ( ( rule__Node__Group_7_3__0 )* ) ; + // InternalRos.g:7434:1: rule__Node__Group_7__3__Impl : ( ( rule__Node__Group_7_3__0 )* ) ; public final void rule__Node__Group_7__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6624:1: ( ( ( rule__Node__Group_7_3__0 )* ) ) - // InternalRos.g:6625:1: ( ( rule__Node__Group_7_3__0 )* ) + // InternalRos.g:7438:1: ( ( ( rule__Node__Group_7_3__0 )* ) ) + // InternalRos.g:7439:1: ( ( rule__Node__Group_7_3__0 )* ) { - // InternalRos.g:6625:1: ( ( rule__Node__Group_7_3__0 )* ) - // InternalRos.g:6626:2: ( rule__Node__Group_7_3__0 )* + // InternalRos.g:7439:1: ( ( rule__Node__Group_7_3__0 )* ) + // InternalRos.g:7440:2: ( rule__Node__Group_7_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_7_3()); - // InternalRos.g:6627:2: ( rule__Node__Group_7_3__0 )* - loop46: + // InternalRos.g:7441:2: ( rule__Node__Group_7_3__0 )* + loop53: do { - int alt46=2; - int LA46_0 = input.LA(1); + int alt53=2; + int LA53_0 = input.LA(1); - if ( (LA46_0==43) ) { - alt46=1; + if ( (LA53_0==43) ) { + alt53=1; } - switch (alt46) { + switch (alt53) { case 1 : - // InternalRos.g:6627:3: rule__Node__Group_7_3__0 + // InternalRos.g:7441:3: rule__Node__Group_7_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_7_3__0(); @@ -20466,7 +22955,7 @@ public final void rule__Node__Group_7__3__Impl() throws RecognitionException { break; default : - break loop46; + break loop53; } } while (true); @@ -20493,14 +22982,14 @@ public final void rule__Node__Group_7__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__4" - // InternalRos.g:6635:1: rule__Node__Group_7__4 : rule__Node__Group_7__4__Impl ; + // InternalRos.g:7449:1: rule__Node__Group_7__4 : rule__Node__Group_7__4__Impl ; public final void rule__Node__Group_7__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6639:1: ( rule__Node__Group_7__4__Impl ) - // InternalRos.g:6640:2: rule__Node__Group_7__4__Impl + // InternalRos.g:7453:1: ( rule__Node__Group_7__4__Impl ) + // InternalRos.g:7454:2: rule__Node__Group_7__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_7__4__Impl(); @@ -20526,17 +23015,17 @@ public final void rule__Node__Group_7__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_7__4__Impl" - // InternalRos.g:6646:1: rule__Node__Group_7__4__Impl : ( '}' ) ; + // InternalRos.g:7460:1: rule__Node__Group_7__4__Impl : ( '}' ) ; public final void rule__Node__Group_7__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6650:1: ( ( '}' ) ) - // InternalRos.g:6651:1: ( '}' ) + // InternalRos.g:7464:1: ( ( '}' ) ) + // InternalRos.g:7465:1: ( '}' ) { - // InternalRos.g:6651:1: ( '}' ) - // InternalRos.g:6652:2: '}' + // InternalRos.g:7465:1: ( '}' ) + // InternalRos.g:7466:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_7_4()); match(input,42,FOLLOW_2); @@ -20563,16 +23052,16 @@ public final void rule__Node__Group_7__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__0" - // InternalRos.g:6662:1: rule__Node__Group_7_3__0 : rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ; + // InternalRos.g:7476:1: rule__Node__Group_7_3__0 : rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ; public final void rule__Node__Group_7_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6666:1: ( rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ) - // InternalRos.g:6667:2: rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 + // InternalRos.g:7480:1: ( rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 ) + // InternalRos.g:7481:2: rule__Node__Group_7_3__0__Impl rule__Node__Group_7_3__1 { - pushFollow(FOLLOW_33); + pushFollow(FOLLOW_34); rule__Node__Group_7_3__0__Impl(); state._fsp--; @@ -20601,17 +23090,17 @@ public final void rule__Node__Group_7_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__0__Impl" - // InternalRos.g:6674:1: rule__Node__Group_7_3__0__Impl : ( ',' ) ; + // InternalRos.g:7488:1: rule__Node__Group_7_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_7_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6678:1: ( ( ',' ) ) - // InternalRos.g:6679:1: ( ',' ) + // InternalRos.g:7492:1: ( ( ',' ) ) + // InternalRos.g:7493:1: ( ',' ) { - // InternalRos.g:6679:1: ( ',' ) - // InternalRos.g:6680:2: ',' + // InternalRos.g:7493:1: ( ',' ) + // InternalRos.g:7494:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_7_3_0()); match(input,43,FOLLOW_2); @@ -20638,14 +23127,14 @@ public final void rule__Node__Group_7_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__1" - // InternalRos.g:6689:1: rule__Node__Group_7_3__1 : rule__Node__Group_7_3__1__Impl ; + // InternalRos.g:7503:1: rule__Node__Group_7_3__1 : rule__Node__Group_7_3__1__Impl ; public final void rule__Node__Group_7_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6693:1: ( rule__Node__Group_7_3__1__Impl ) - // InternalRos.g:6694:2: rule__Node__Group_7_3__1__Impl + // InternalRos.g:7507:1: ( rule__Node__Group_7_3__1__Impl ) + // InternalRos.g:7508:2: rule__Node__Group_7_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_7_3__1__Impl(); @@ -20671,21 +23160,21 @@ public final void rule__Node__Group_7_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_7_3__1__Impl" - // InternalRos.g:6700:1: rule__Node__Group_7_3__1__Impl : ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ; + // InternalRos.g:7514:1: rule__Node__Group_7_3__1__Impl : ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ; public final void rule__Node__Group_7_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6704:1: ( ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ) - // InternalRos.g:6705:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) + // InternalRos.g:7518:1: ( ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) ) + // InternalRos.g:7519:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) { - // InternalRos.g:6705:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) - // InternalRos.g:6706:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) + // InternalRos.g:7519:1: ( ( rule__Node__ServiceclientAssignment_7_3_1 ) ) + // InternalRos.g:7520:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) { before(grammarAccess.getNodeAccess().getServiceclientAssignment_7_3_1()); - // InternalRos.g:6707:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) - // InternalRos.g:6707:3: rule__Node__ServiceclientAssignment_7_3_1 + // InternalRos.g:7521:2: ( rule__Node__ServiceclientAssignment_7_3_1 ) + // InternalRos.g:7521:3: rule__Node__ServiceclientAssignment_7_3_1 { pushFollow(FOLLOW_2); rule__Node__ServiceclientAssignment_7_3_1(); @@ -20718,14 +23207,14 @@ public final void rule__Node__Group_7_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__0" - // InternalRos.g:6716:1: rule__Node__Group_8__0 : rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ; + // InternalRos.g:7530:1: rule__Node__Group_8__0 : rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ; public final void rule__Node__Group_8__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6720:1: ( rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ) - // InternalRos.g:6721:2: rule__Node__Group_8__0__Impl rule__Node__Group_8__1 + // InternalRos.g:7534:1: ( rule__Node__Group_8__0__Impl rule__Node__Group_8__1 ) + // InternalRos.g:7535:2: rule__Node__Group_8__0__Impl rule__Node__Group_8__1 { pushFollow(FOLLOW_4); rule__Node__Group_8__0__Impl(); @@ -20756,20 +23245,20 @@ public final void rule__Node__Group_8__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__0__Impl" - // InternalRos.g:6728:1: rule__Node__Group_8__0__Impl : ( 'ActionServers' ) ; + // InternalRos.g:7542:1: rule__Node__Group_8__0__Impl : ( 'ActionServers' ) ; public final void rule__Node__Group_8__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6732:1: ( ( 'ActionServers' ) ) - // InternalRos.g:6733:1: ( 'ActionServers' ) + // InternalRos.g:7546:1: ( ( 'ActionServers' ) ) + // InternalRos.g:7547:1: ( 'ActionServers' ) { - // InternalRos.g:6733:1: ( 'ActionServers' ) - // InternalRos.g:6734:2: 'ActionServers' + // InternalRos.g:7547:1: ( 'ActionServers' ) + // InternalRos.g:7548:2: 'ActionServers' { before(grammarAccess.getNodeAccess().getActionServersKeyword_8_0()); - match(input,60,FOLLOW_2); + match(input,61,FOLLOW_2); after(grammarAccess.getNodeAccess().getActionServersKeyword_8_0()); } @@ -20793,16 +23282,16 @@ public final void rule__Node__Group_8__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__1" - // InternalRos.g:6743:1: rule__Node__Group_8__1 : rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ; + // InternalRos.g:7557:1: rule__Node__Group_8__1 : rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ; public final void rule__Node__Group_8__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6747:1: ( rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ) - // InternalRos.g:6748:2: rule__Node__Group_8__1__Impl rule__Node__Group_8__2 + // InternalRos.g:7561:1: ( rule__Node__Group_8__1__Impl rule__Node__Group_8__2 ) + // InternalRos.g:7562:2: rule__Node__Group_8__1__Impl rule__Node__Group_8__2 { - pushFollow(FOLLOW_34); + pushFollow(FOLLOW_35); rule__Node__Group_8__1__Impl(); state._fsp--; @@ -20831,17 +23320,17 @@ public final void rule__Node__Group_8__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__1__Impl" - // InternalRos.g:6755:1: rule__Node__Group_8__1__Impl : ( '{' ) ; + // InternalRos.g:7569:1: rule__Node__Group_8__1__Impl : ( '{' ) ; public final void rule__Node__Group_8__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6759:1: ( ( '{' ) ) - // InternalRos.g:6760:1: ( '{' ) + // InternalRos.g:7573:1: ( ( '{' ) ) + // InternalRos.g:7574:1: ( '{' ) { - // InternalRos.g:6760:1: ( '{' ) - // InternalRos.g:6761:2: '{' + // InternalRos.g:7574:1: ( '{' ) + // InternalRos.g:7575:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_8_1()); match(input,41,FOLLOW_2); @@ -20868,14 +23357,14 @@ public final void rule__Node__Group_8__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__2" - // InternalRos.g:6770:1: rule__Node__Group_8__2 : rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ; + // InternalRos.g:7584:1: rule__Node__Group_8__2 : rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ; public final void rule__Node__Group_8__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6774:1: ( rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ) - // InternalRos.g:6775:2: rule__Node__Group_8__2__Impl rule__Node__Group_8__3 + // InternalRos.g:7588:1: ( rule__Node__Group_8__2__Impl rule__Node__Group_8__3 ) + // InternalRos.g:7589:2: rule__Node__Group_8__2__Impl rule__Node__Group_8__3 { pushFollow(FOLLOW_13); rule__Node__Group_8__2__Impl(); @@ -20906,21 +23395,21 @@ public final void rule__Node__Group_8__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__2__Impl" - // InternalRos.g:6782:1: rule__Node__Group_8__2__Impl : ( ( rule__Node__ActionserverAssignment_8_2 ) ) ; + // InternalRos.g:7596:1: rule__Node__Group_8__2__Impl : ( ( rule__Node__ActionserverAssignment_8_2 ) ) ; public final void rule__Node__Group_8__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6786:1: ( ( ( rule__Node__ActionserverAssignment_8_2 ) ) ) - // InternalRos.g:6787:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) + // InternalRos.g:7600:1: ( ( ( rule__Node__ActionserverAssignment_8_2 ) ) ) + // InternalRos.g:7601:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) { - // InternalRos.g:6787:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) - // InternalRos.g:6788:2: ( rule__Node__ActionserverAssignment_8_2 ) + // InternalRos.g:7601:1: ( ( rule__Node__ActionserverAssignment_8_2 ) ) + // InternalRos.g:7602:2: ( rule__Node__ActionserverAssignment_8_2 ) { before(grammarAccess.getNodeAccess().getActionserverAssignment_8_2()); - // InternalRos.g:6789:2: ( rule__Node__ActionserverAssignment_8_2 ) - // InternalRos.g:6789:3: rule__Node__ActionserverAssignment_8_2 + // InternalRos.g:7603:2: ( rule__Node__ActionserverAssignment_8_2 ) + // InternalRos.g:7603:3: rule__Node__ActionserverAssignment_8_2 { pushFollow(FOLLOW_2); rule__Node__ActionserverAssignment_8_2(); @@ -20953,14 +23442,14 @@ public final void rule__Node__Group_8__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__3" - // InternalRos.g:6797:1: rule__Node__Group_8__3 : rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ; + // InternalRos.g:7611:1: rule__Node__Group_8__3 : rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ; public final void rule__Node__Group_8__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6801:1: ( rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ) - // InternalRos.g:6802:2: rule__Node__Group_8__3__Impl rule__Node__Group_8__4 + // InternalRos.g:7615:1: ( rule__Node__Group_8__3__Impl rule__Node__Group_8__4 ) + // InternalRos.g:7616:2: rule__Node__Group_8__3__Impl rule__Node__Group_8__4 { pushFollow(FOLLOW_13); rule__Node__Group_8__3__Impl(); @@ -20991,33 +23480,33 @@ public final void rule__Node__Group_8__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__3__Impl" - // InternalRos.g:6809:1: rule__Node__Group_8__3__Impl : ( ( rule__Node__Group_8_3__0 )* ) ; + // InternalRos.g:7623:1: rule__Node__Group_8__3__Impl : ( ( rule__Node__Group_8_3__0 )* ) ; public final void rule__Node__Group_8__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6813:1: ( ( ( rule__Node__Group_8_3__0 )* ) ) - // InternalRos.g:6814:1: ( ( rule__Node__Group_8_3__0 )* ) + // InternalRos.g:7627:1: ( ( ( rule__Node__Group_8_3__0 )* ) ) + // InternalRos.g:7628:1: ( ( rule__Node__Group_8_3__0 )* ) { - // InternalRos.g:6814:1: ( ( rule__Node__Group_8_3__0 )* ) - // InternalRos.g:6815:2: ( rule__Node__Group_8_3__0 )* + // InternalRos.g:7628:1: ( ( rule__Node__Group_8_3__0 )* ) + // InternalRos.g:7629:2: ( rule__Node__Group_8_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_8_3()); - // InternalRos.g:6816:2: ( rule__Node__Group_8_3__0 )* - loop47: + // InternalRos.g:7630:2: ( rule__Node__Group_8_3__0 )* + loop54: do { - int alt47=2; - int LA47_0 = input.LA(1); + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA47_0==43) ) { - alt47=1; + if ( (LA54_0==43) ) { + alt54=1; } - switch (alt47) { + switch (alt54) { case 1 : - // InternalRos.g:6816:3: rule__Node__Group_8_3__0 + // InternalRos.g:7630:3: rule__Node__Group_8_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_8_3__0(); @@ -21029,7 +23518,7 @@ public final void rule__Node__Group_8__3__Impl() throws RecognitionException { break; default : - break loop47; + break loop54; } } while (true); @@ -21056,14 +23545,14 @@ public final void rule__Node__Group_8__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__4" - // InternalRos.g:6824:1: rule__Node__Group_8__4 : rule__Node__Group_8__4__Impl ; + // InternalRos.g:7638:1: rule__Node__Group_8__4 : rule__Node__Group_8__4__Impl ; public final void rule__Node__Group_8__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6828:1: ( rule__Node__Group_8__4__Impl ) - // InternalRos.g:6829:2: rule__Node__Group_8__4__Impl + // InternalRos.g:7642:1: ( rule__Node__Group_8__4__Impl ) + // InternalRos.g:7643:2: rule__Node__Group_8__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_8__4__Impl(); @@ -21089,17 +23578,17 @@ public final void rule__Node__Group_8__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_8__4__Impl" - // InternalRos.g:6835:1: rule__Node__Group_8__4__Impl : ( '}' ) ; + // InternalRos.g:7649:1: rule__Node__Group_8__4__Impl : ( '}' ) ; public final void rule__Node__Group_8__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6839:1: ( ( '}' ) ) - // InternalRos.g:6840:1: ( '}' ) + // InternalRos.g:7653:1: ( ( '}' ) ) + // InternalRos.g:7654:1: ( '}' ) { - // InternalRos.g:6840:1: ( '}' ) - // InternalRos.g:6841:2: '}' + // InternalRos.g:7654:1: ( '}' ) + // InternalRos.g:7655:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_8_4()); match(input,42,FOLLOW_2); @@ -21126,16 +23615,16 @@ public final void rule__Node__Group_8__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__0" - // InternalRos.g:6851:1: rule__Node__Group_8_3__0 : rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ; + // InternalRos.g:7665:1: rule__Node__Group_8_3__0 : rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ; public final void rule__Node__Group_8_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6855:1: ( rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ) - // InternalRos.g:6856:2: rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 + // InternalRos.g:7669:1: ( rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 ) + // InternalRos.g:7670:2: rule__Node__Group_8_3__0__Impl rule__Node__Group_8_3__1 { - pushFollow(FOLLOW_34); + pushFollow(FOLLOW_35); rule__Node__Group_8_3__0__Impl(); state._fsp--; @@ -21164,17 +23653,17 @@ public final void rule__Node__Group_8_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__0__Impl" - // InternalRos.g:6863:1: rule__Node__Group_8_3__0__Impl : ( ',' ) ; + // InternalRos.g:7677:1: rule__Node__Group_8_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_8_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6867:1: ( ( ',' ) ) - // InternalRos.g:6868:1: ( ',' ) + // InternalRos.g:7681:1: ( ( ',' ) ) + // InternalRos.g:7682:1: ( ',' ) { - // InternalRos.g:6868:1: ( ',' ) - // InternalRos.g:6869:2: ',' + // InternalRos.g:7682:1: ( ',' ) + // InternalRos.g:7683:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_8_3_0()); match(input,43,FOLLOW_2); @@ -21201,14 +23690,14 @@ public final void rule__Node__Group_8_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__1" - // InternalRos.g:6878:1: rule__Node__Group_8_3__1 : rule__Node__Group_8_3__1__Impl ; + // InternalRos.g:7692:1: rule__Node__Group_8_3__1 : rule__Node__Group_8_3__1__Impl ; public final void rule__Node__Group_8_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6882:1: ( rule__Node__Group_8_3__1__Impl ) - // InternalRos.g:6883:2: rule__Node__Group_8_3__1__Impl + // InternalRos.g:7696:1: ( rule__Node__Group_8_3__1__Impl ) + // InternalRos.g:7697:2: rule__Node__Group_8_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_8_3__1__Impl(); @@ -21234,21 +23723,21 @@ public final void rule__Node__Group_8_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_8_3__1__Impl" - // InternalRos.g:6889:1: rule__Node__Group_8_3__1__Impl : ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ; + // InternalRos.g:7703:1: rule__Node__Group_8_3__1__Impl : ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ; public final void rule__Node__Group_8_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6893:1: ( ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ) - // InternalRos.g:6894:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) + // InternalRos.g:7707:1: ( ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) ) + // InternalRos.g:7708:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) { - // InternalRos.g:6894:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) - // InternalRos.g:6895:2: ( rule__Node__ActionserverAssignment_8_3_1 ) + // InternalRos.g:7708:1: ( ( rule__Node__ActionserverAssignment_8_3_1 ) ) + // InternalRos.g:7709:2: ( rule__Node__ActionserverAssignment_8_3_1 ) { before(grammarAccess.getNodeAccess().getActionserverAssignment_8_3_1()); - // InternalRos.g:6896:2: ( rule__Node__ActionserverAssignment_8_3_1 ) - // InternalRos.g:6896:3: rule__Node__ActionserverAssignment_8_3_1 + // InternalRos.g:7710:2: ( rule__Node__ActionserverAssignment_8_3_1 ) + // InternalRos.g:7710:3: rule__Node__ActionserverAssignment_8_3_1 { pushFollow(FOLLOW_2); rule__Node__ActionserverAssignment_8_3_1(); @@ -21281,14 +23770,14 @@ public final void rule__Node__Group_8_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__0" - // InternalRos.g:6905:1: rule__Node__Group_9__0 : rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ; + // InternalRos.g:7719:1: rule__Node__Group_9__0 : rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ; public final void rule__Node__Group_9__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6909:1: ( rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ) - // InternalRos.g:6910:2: rule__Node__Group_9__0__Impl rule__Node__Group_9__1 + // InternalRos.g:7723:1: ( rule__Node__Group_9__0__Impl rule__Node__Group_9__1 ) + // InternalRos.g:7724:2: rule__Node__Group_9__0__Impl rule__Node__Group_9__1 { pushFollow(FOLLOW_4); rule__Node__Group_9__0__Impl(); @@ -21319,20 +23808,20 @@ public final void rule__Node__Group_9__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__0__Impl" - // InternalRos.g:6917:1: rule__Node__Group_9__0__Impl : ( 'ActionClients' ) ; + // InternalRos.g:7731:1: rule__Node__Group_9__0__Impl : ( 'ActionClients' ) ; public final void rule__Node__Group_9__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6921:1: ( ( 'ActionClients' ) ) - // InternalRos.g:6922:1: ( 'ActionClients' ) + // InternalRos.g:7735:1: ( ( 'ActionClients' ) ) + // InternalRos.g:7736:1: ( 'ActionClients' ) { - // InternalRos.g:6922:1: ( 'ActionClients' ) - // InternalRos.g:6923:2: 'ActionClients' + // InternalRos.g:7736:1: ( 'ActionClients' ) + // InternalRos.g:7737:2: 'ActionClients' { before(grammarAccess.getNodeAccess().getActionClientsKeyword_9_0()); - match(input,61,FOLLOW_2); + match(input,62,FOLLOW_2); after(grammarAccess.getNodeAccess().getActionClientsKeyword_9_0()); } @@ -21356,16 +23845,16 @@ public final void rule__Node__Group_9__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__1" - // InternalRos.g:6932:1: rule__Node__Group_9__1 : rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ; + // InternalRos.g:7746:1: rule__Node__Group_9__1 : rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ; public final void rule__Node__Group_9__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6936:1: ( rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ) - // InternalRos.g:6937:2: rule__Node__Group_9__1__Impl rule__Node__Group_9__2 + // InternalRos.g:7750:1: ( rule__Node__Group_9__1__Impl rule__Node__Group_9__2 ) + // InternalRos.g:7751:2: rule__Node__Group_9__1__Impl rule__Node__Group_9__2 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_36); rule__Node__Group_9__1__Impl(); state._fsp--; @@ -21394,17 +23883,17 @@ public final void rule__Node__Group_9__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__1__Impl" - // InternalRos.g:6944:1: rule__Node__Group_9__1__Impl : ( '{' ) ; + // InternalRos.g:7758:1: rule__Node__Group_9__1__Impl : ( '{' ) ; public final void rule__Node__Group_9__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6948:1: ( ( '{' ) ) - // InternalRos.g:6949:1: ( '{' ) + // InternalRos.g:7762:1: ( ( '{' ) ) + // InternalRos.g:7763:1: ( '{' ) { - // InternalRos.g:6949:1: ( '{' ) - // InternalRos.g:6950:2: '{' + // InternalRos.g:7763:1: ( '{' ) + // InternalRos.g:7764:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_9_1()); match(input,41,FOLLOW_2); @@ -21431,14 +23920,14 @@ public final void rule__Node__Group_9__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__2" - // InternalRos.g:6959:1: rule__Node__Group_9__2 : rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ; + // InternalRos.g:7773:1: rule__Node__Group_9__2 : rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ; public final void rule__Node__Group_9__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6963:1: ( rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ) - // InternalRos.g:6964:2: rule__Node__Group_9__2__Impl rule__Node__Group_9__3 + // InternalRos.g:7777:1: ( rule__Node__Group_9__2__Impl rule__Node__Group_9__3 ) + // InternalRos.g:7778:2: rule__Node__Group_9__2__Impl rule__Node__Group_9__3 { pushFollow(FOLLOW_13); rule__Node__Group_9__2__Impl(); @@ -21469,21 +23958,21 @@ public final void rule__Node__Group_9__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__2__Impl" - // InternalRos.g:6971:1: rule__Node__Group_9__2__Impl : ( ( rule__Node__ActionclientAssignment_9_2 ) ) ; + // InternalRos.g:7785:1: rule__Node__Group_9__2__Impl : ( ( rule__Node__ActionclientAssignment_9_2 ) ) ; public final void rule__Node__Group_9__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6975:1: ( ( ( rule__Node__ActionclientAssignment_9_2 ) ) ) - // InternalRos.g:6976:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) + // InternalRos.g:7789:1: ( ( ( rule__Node__ActionclientAssignment_9_2 ) ) ) + // InternalRos.g:7790:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) { - // InternalRos.g:6976:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) - // InternalRos.g:6977:2: ( rule__Node__ActionclientAssignment_9_2 ) + // InternalRos.g:7790:1: ( ( rule__Node__ActionclientAssignment_9_2 ) ) + // InternalRos.g:7791:2: ( rule__Node__ActionclientAssignment_9_2 ) { before(grammarAccess.getNodeAccess().getActionclientAssignment_9_2()); - // InternalRos.g:6978:2: ( rule__Node__ActionclientAssignment_9_2 ) - // InternalRos.g:6978:3: rule__Node__ActionclientAssignment_9_2 + // InternalRos.g:7792:2: ( rule__Node__ActionclientAssignment_9_2 ) + // InternalRos.g:7792:3: rule__Node__ActionclientAssignment_9_2 { pushFollow(FOLLOW_2); rule__Node__ActionclientAssignment_9_2(); @@ -21516,14 +24005,14 @@ public final void rule__Node__Group_9__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__3" - // InternalRos.g:6986:1: rule__Node__Group_9__3 : rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ; + // InternalRos.g:7800:1: rule__Node__Group_9__3 : rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ; public final void rule__Node__Group_9__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:6990:1: ( rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ) - // InternalRos.g:6991:2: rule__Node__Group_9__3__Impl rule__Node__Group_9__4 + // InternalRos.g:7804:1: ( rule__Node__Group_9__3__Impl rule__Node__Group_9__4 ) + // InternalRos.g:7805:2: rule__Node__Group_9__3__Impl rule__Node__Group_9__4 { pushFollow(FOLLOW_13); rule__Node__Group_9__3__Impl(); @@ -21554,33 +24043,33 @@ public final void rule__Node__Group_9__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__3__Impl" - // InternalRos.g:6998:1: rule__Node__Group_9__3__Impl : ( ( rule__Node__Group_9_3__0 )* ) ; + // InternalRos.g:7812:1: rule__Node__Group_9__3__Impl : ( ( rule__Node__Group_9_3__0 )* ) ; public final void rule__Node__Group_9__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7002:1: ( ( ( rule__Node__Group_9_3__0 )* ) ) - // InternalRos.g:7003:1: ( ( rule__Node__Group_9_3__0 )* ) + // InternalRos.g:7816:1: ( ( ( rule__Node__Group_9_3__0 )* ) ) + // InternalRos.g:7817:1: ( ( rule__Node__Group_9_3__0 )* ) { - // InternalRos.g:7003:1: ( ( rule__Node__Group_9_3__0 )* ) - // InternalRos.g:7004:2: ( rule__Node__Group_9_3__0 )* + // InternalRos.g:7817:1: ( ( rule__Node__Group_9_3__0 )* ) + // InternalRos.g:7818:2: ( rule__Node__Group_9_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_9_3()); - // InternalRos.g:7005:2: ( rule__Node__Group_9_3__0 )* - loop48: + // InternalRos.g:7819:2: ( rule__Node__Group_9_3__0 )* + loop55: do { - int alt48=2; - int LA48_0 = input.LA(1); + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA48_0==43) ) { - alt48=1; + if ( (LA55_0==43) ) { + alt55=1; } - switch (alt48) { + switch (alt55) { case 1 : - // InternalRos.g:7005:3: rule__Node__Group_9_3__0 + // InternalRos.g:7819:3: rule__Node__Group_9_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_9_3__0(); @@ -21592,7 +24081,7 @@ public final void rule__Node__Group_9__3__Impl() throws RecognitionException { break; default : - break loop48; + break loop55; } } while (true); @@ -21619,14 +24108,14 @@ public final void rule__Node__Group_9__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__4" - // InternalRos.g:7013:1: rule__Node__Group_9__4 : rule__Node__Group_9__4__Impl ; + // InternalRos.g:7827:1: rule__Node__Group_9__4 : rule__Node__Group_9__4__Impl ; public final void rule__Node__Group_9__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7017:1: ( rule__Node__Group_9__4__Impl ) - // InternalRos.g:7018:2: rule__Node__Group_9__4__Impl + // InternalRos.g:7831:1: ( rule__Node__Group_9__4__Impl ) + // InternalRos.g:7832:2: rule__Node__Group_9__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_9__4__Impl(); @@ -21652,17 +24141,17 @@ public final void rule__Node__Group_9__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_9__4__Impl" - // InternalRos.g:7024:1: rule__Node__Group_9__4__Impl : ( '}' ) ; + // InternalRos.g:7838:1: rule__Node__Group_9__4__Impl : ( '}' ) ; public final void rule__Node__Group_9__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7028:1: ( ( '}' ) ) - // InternalRos.g:7029:1: ( '}' ) + // InternalRos.g:7842:1: ( ( '}' ) ) + // InternalRos.g:7843:1: ( '}' ) { - // InternalRos.g:7029:1: ( '}' ) - // InternalRos.g:7030:2: '}' + // InternalRos.g:7843:1: ( '}' ) + // InternalRos.g:7844:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_9_4()); match(input,42,FOLLOW_2); @@ -21689,16 +24178,16 @@ public final void rule__Node__Group_9__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__0" - // InternalRos.g:7040:1: rule__Node__Group_9_3__0 : rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ; + // InternalRos.g:7854:1: rule__Node__Group_9_3__0 : rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ; public final void rule__Node__Group_9_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7044:1: ( rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ) - // InternalRos.g:7045:2: rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 + // InternalRos.g:7858:1: ( rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 ) + // InternalRos.g:7859:2: rule__Node__Group_9_3__0__Impl rule__Node__Group_9_3__1 { - pushFollow(FOLLOW_35); + pushFollow(FOLLOW_36); rule__Node__Group_9_3__0__Impl(); state._fsp--; @@ -21727,17 +24216,17 @@ public final void rule__Node__Group_9_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__0__Impl" - // InternalRos.g:7052:1: rule__Node__Group_9_3__0__Impl : ( ',' ) ; + // InternalRos.g:7866:1: rule__Node__Group_9_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_9_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7056:1: ( ( ',' ) ) - // InternalRos.g:7057:1: ( ',' ) + // InternalRos.g:7870:1: ( ( ',' ) ) + // InternalRos.g:7871:1: ( ',' ) { - // InternalRos.g:7057:1: ( ',' ) - // InternalRos.g:7058:2: ',' + // InternalRos.g:7871:1: ( ',' ) + // InternalRos.g:7872:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_9_3_0()); match(input,43,FOLLOW_2); @@ -21764,14 +24253,14 @@ public final void rule__Node__Group_9_3__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__1" - // InternalRos.g:7067:1: rule__Node__Group_9_3__1 : rule__Node__Group_9_3__1__Impl ; + // InternalRos.g:7881:1: rule__Node__Group_9_3__1 : rule__Node__Group_9_3__1__Impl ; public final void rule__Node__Group_9_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7071:1: ( rule__Node__Group_9_3__1__Impl ) - // InternalRos.g:7072:2: rule__Node__Group_9_3__1__Impl + // InternalRos.g:7885:1: ( rule__Node__Group_9_3__1__Impl ) + // InternalRos.g:7886:2: rule__Node__Group_9_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_9_3__1__Impl(); @@ -21797,21 +24286,21 @@ public final void rule__Node__Group_9_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_9_3__1__Impl" - // InternalRos.g:7078:1: rule__Node__Group_9_3__1__Impl : ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ; + // InternalRos.g:7892:1: rule__Node__Group_9_3__1__Impl : ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ; public final void rule__Node__Group_9_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7082:1: ( ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ) - // InternalRos.g:7083:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) + // InternalRos.g:7896:1: ( ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) ) + // InternalRos.g:7897:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) { - // InternalRos.g:7083:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) - // InternalRos.g:7084:2: ( rule__Node__ActionclientAssignment_9_3_1 ) + // InternalRos.g:7897:1: ( ( rule__Node__ActionclientAssignment_9_3_1 ) ) + // InternalRos.g:7898:2: ( rule__Node__ActionclientAssignment_9_3_1 ) { before(grammarAccess.getNodeAccess().getActionclientAssignment_9_3_1()); - // InternalRos.g:7085:2: ( rule__Node__ActionclientAssignment_9_3_1 ) - // InternalRos.g:7085:3: rule__Node__ActionclientAssignment_9_3_1 + // InternalRos.g:7899:2: ( rule__Node__ActionclientAssignment_9_3_1 ) + // InternalRos.g:7899:3: rule__Node__ActionclientAssignment_9_3_1 { pushFollow(FOLLOW_2); rule__Node__ActionclientAssignment_9_3_1(); @@ -21844,14 +24333,14 @@ public final void rule__Node__Group_9_3__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__0" - // InternalRos.g:7094:1: rule__Node__Group_10__0 : rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ; + // InternalRos.g:7908:1: rule__Node__Group_10__0 : rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ; public final void rule__Node__Group_10__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7098:1: ( rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ) - // InternalRos.g:7099:2: rule__Node__Group_10__0__Impl rule__Node__Group_10__1 + // InternalRos.g:7912:1: ( rule__Node__Group_10__0__Impl rule__Node__Group_10__1 ) + // InternalRos.g:7913:2: rule__Node__Group_10__0__Impl rule__Node__Group_10__1 { pushFollow(FOLLOW_4); rule__Node__Group_10__0__Impl(); @@ -21882,20 +24371,20 @@ public final void rule__Node__Group_10__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__0__Impl" - // InternalRos.g:7106:1: rule__Node__Group_10__0__Impl : ( 'Parameters' ) ; + // InternalRos.g:7920:1: rule__Node__Group_10__0__Impl : ( 'Parameters' ) ; public final void rule__Node__Group_10__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7110:1: ( ( 'Parameters' ) ) - // InternalRos.g:7111:1: ( 'Parameters' ) + // InternalRos.g:7924:1: ( ( 'Parameters' ) ) + // InternalRos.g:7925:1: ( 'Parameters' ) { - // InternalRos.g:7111:1: ( 'Parameters' ) - // InternalRos.g:7112:2: 'Parameters' + // InternalRos.g:7925:1: ( 'Parameters' ) + // InternalRos.g:7926:2: 'Parameters' { before(grammarAccess.getNodeAccess().getParametersKeyword_10_0()); - match(input,62,FOLLOW_2); + match(input,63,FOLLOW_2); after(grammarAccess.getNodeAccess().getParametersKeyword_10_0()); } @@ -21919,16 +24408,16 @@ public final void rule__Node__Group_10__0__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__1" - // InternalRos.g:7121:1: rule__Node__Group_10__1 : rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ; + // InternalRos.g:7935:1: rule__Node__Group_10__1 : rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ; public final void rule__Node__Group_10__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7125:1: ( rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ) - // InternalRos.g:7126:2: rule__Node__Group_10__1__Impl rule__Node__Group_10__2 + // InternalRos.g:7939:1: ( rule__Node__Group_10__1__Impl rule__Node__Group_10__2 ) + // InternalRos.g:7940:2: rule__Node__Group_10__1__Impl rule__Node__Group_10__2 { - pushFollow(FOLLOW_36); + pushFollow(FOLLOW_37); rule__Node__Group_10__1__Impl(); state._fsp--; @@ -21957,17 +24446,17 @@ public final void rule__Node__Group_10__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__1__Impl" - // InternalRos.g:7133:1: rule__Node__Group_10__1__Impl : ( '{' ) ; + // InternalRos.g:7947:1: rule__Node__Group_10__1__Impl : ( '{' ) ; public final void rule__Node__Group_10__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7137:1: ( ( '{' ) ) - // InternalRos.g:7138:1: ( '{' ) + // InternalRos.g:7951:1: ( ( '{' ) ) + // InternalRos.g:7952:1: ( '{' ) { - // InternalRos.g:7138:1: ( '{' ) - // InternalRos.g:7139:2: '{' + // InternalRos.g:7952:1: ( '{' ) + // InternalRos.g:7953:2: '{' { before(grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_10_1()); match(input,41,FOLLOW_2); @@ -21994,14 +24483,14 @@ public final void rule__Node__Group_10__1__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__2" - // InternalRos.g:7148:1: rule__Node__Group_10__2 : rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ; + // InternalRos.g:7962:1: rule__Node__Group_10__2 : rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ; public final void rule__Node__Group_10__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7152:1: ( rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ) - // InternalRos.g:7153:2: rule__Node__Group_10__2__Impl rule__Node__Group_10__3 + // InternalRos.g:7966:1: ( rule__Node__Group_10__2__Impl rule__Node__Group_10__3 ) + // InternalRos.g:7967:2: rule__Node__Group_10__2__Impl rule__Node__Group_10__3 { pushFollow(FOLLOW_13); rule__Node__Group_10__2__Impl(); @@ -22032,21 +24521,21 @@ public final void rule__Node__Group_10__2() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__2__Impl" - // InternalRos.g:7160:1: rule__Node__Group_10__2__Impl : ( ( rule__Node__ParameterAssignment_10_2 ) ) ; + // InternalRos.g:7974:1: rule__Node__Group_10__2__Impl : ( ( rule__Node__ParameterAssignment_10_2 ) ) ; public final void rule__Node__Group_10__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7164:1: ( ( ( rule__Node__ParameterAssignment_10_2 ) ) ) - // InternalRos.g:7165:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) + // InternalRos.g:7978:1: ( ( ( rule__Node__ParameterAssignment_10_2 ) ) ) + // InternalRos.g:7979:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) { - // InternalRos.g:7165:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) - // InternalRos.g:7166:2: ( rule__Node__ParameterAssignment_10_2 ) + // InternalRos.g:7979:1: ( ( rule__Node__ParameterAssignment_10_2 ) ) + // InternalRos.g:7980:2: ( rule__Node__ParameterAssignment_10_2 ) { before(grammarAccess.getNodeAccess().getParameterAssignment_10_2()); - // InternalRos.g:7167:2: ( rule__Node__ParameterAssignment_10_2 ) - // InternalRos.g:7167:3: rule__Node__ParameterAssignment_10_2 + // InternalRos.g:7981:2: ( rule__Node__ParameterAssignment_10_2 ) + // InternalRos.g:7981:3: rule__Node__ParameterAssignment_10_2 { pushFollow(FOLLOW_2); rule__Node__ParameterAssignment_10_2(); @@ -22079,14 +24568,14 @@ public final void rule__Node__Group_10__2__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__3" - // InternalRos.g:7175:1: rule__Node__Group_10__3 : rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ; + // InternalRos.g:7989:1: rule__Node__Group_10__3 : rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ; public final void rule__Node__Group_10__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7179:1: ( rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ) - // InternalRos.g:7180:2: rule__Node__Group_10__3__Impl rule__Node__Group_10__4 + // InternalRos.g:7993:1: ( rule__Node__Group_10__3__Impl rule__Node__Group_10__4 ) + // InternalRos.g:7994:2: rule__Node__Group_10__3__Impl rule__Node__Group_10__4 { pushFollow(FOLLOW_13); rule__Node__Group_10__3__Impl(); @@ -22117,33 +24606,33 @@ public final void rule__Node__Group_10__3() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__3__Impl" - // InternalRos.g:7187:1: rule__Node__Group_10__3__Impl : ( ( rule__Node__Group_10_3__0 )* ) ; + // InternalRos.g:8001:1: rule__Node__Group_10__3__Impl : ( ( rule__Node__Group_10_3__0 )* ) ; public final void rule__Node__Group_10__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7191:1: ( ( ( rule__Node__Group_10_3__0 )* ) ) - // InternalRos.g:7192:1: ( ( rule__Node__Group_10_3__0 )* ) + // InternalRos.g:8005:1: ( ( ( rule__Node__Group_10_3__0 )* ) ) + // InternalRos.g:8006:1: ( ( rule__Node__Group_10_3__0 )* ) { - // InternalRos.g:7192:1: ( ( rule__Node__Group_10_3__0 )* ) - // InternalRos.g:7193:2: ( rule__Node__Group_10_3__0 )* + // InternalRos.g:8006:1: ( ( rule__Node__Group_10_3__0 )* ) + // InternalRos.g:8007:2: ( rule__Node__Group_10_3__0 )* { before(grammarAccess.getNodeAccess().getGroup_10_3()); - // InternalRos.g:7194:2: ( rule__Node__Group_10_3__0 )* - loop49: + // InternalRos.g:8008:2: ( rule__Node__Group_10_3__0 )* + loop56: do { - int alt49=2; - int LA49_0 = input.LA(1); + int alt56=2; + int LA56_0 = input.LA(1); - if ( (LA49_0==43) ) { - alt49=1; + if ( (LA56_0==43) ) { + alt56=1; } - switch (alt49) { + switch (alt56) { case 1 : - // InternalRos.g:7194:3: rule__Node__Group_10_3__0 + // InternalRos.g:8008:3: rule__Node__Group_10_3__0 { pushFollow(FOLLOW_7); rule__Node__Group_10_3__0(); @@ -22155,7 +24644,7 @@ public final void rule__Node__Group_10__3__Impl() throws RecognitionException { break; default : - break loop49; + break loop56; } } while (true); @@ -22182,14 +24671,14 @@ public final void rule__Node__Group_10__3__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__4" - // InternalRos.g:7202:1: rule__Node__Group_10__4 : rule__Node__Group_10__4__Impl ; + // InternalRos.g:8016:1: rule__Node__Group_10__4 : rule__Node__Group_10__4__Impl ; public final void rule__Node__Group_10__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7206:1: ( rule__Node__Group_10__4__Impl ) - // InternalRos.g:7207:2: rule__Node__Group_10__4__Impl + // InternalRos.g:8020:1: ( rule__Node__Group_10__4__Impl ) + // InternalRos.g:8021:2: rule__Node__Group_10__4__Impl { pushFollow(FOLLOW_2); rule__Node__Group_10__4__Impl(); @@ -22215,17 +24704,17 @@ public final void rule__Node__Group_10__4() throws RecognitionException { // $ANTLR start "rule__Node__Group_10__4__Impl" - // InternalRos.g:7213:1: rule__Node__Group_10__4__Impl : ( '}' ) ; + // InternalRos.g:8027:1: rule__Node__Group_10__4__Impl : ( '}' ) ; public final void rule__Node__Group_10__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7217:1: ( ( '}' ) ) - // InternalRos.g:7218:1: ( '}' ) + // InternalRos.g:8031:1: ( ( '}' ) ) + // InternalRos.g:8032:1: ( '}' ) { - // InternalRos.g:7218:1: ( '}' ) - // InternalRos.g:7219:2: '}' + // InternalRos.g:8032:1: ( '}' ) + // InternalRos.g:8033:2: '}' { before(grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_10_4()); match(input,42,FOLLOW_2); @@ -22252,16 +24741,16 @@ public final void rule__Node__Group_10__4__Impl() throws RecognitionException { // $ANTLR start "rule__Node__Group_10_3__0" - // InternalRos.g:7229:1: rule__Node__Group_10_3__0 : rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ; + // InternalRos.g:8043:1: rule__Node__Group_10_3__0 : rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ; public final void rule__Node__Group_10_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7233:1: ( rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ) - // InternalRos.g:7234:2: rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 + // InternalRos.g:8047:1: ( rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 ) + // InternalRos.g:8048:2: rule__Node__Group_10_3__0__Impl rule__Node__Group_10_3__1 { - pushFollow(FOLLOW_36); + pushFollow(FOLLOW_37); rule__Node__Group_10_3__0__Impl(); state._fsp--; @@ -22290,17 +24779,17 @@ public final void rule__Node__Group_10_3__0() throws RecognitionException { // $ANTLR start "rule__Node__Group_10_3__0__Impl" - // InternalRos.g:7241:1: rule__Node__Group_10_3__0__Impl : ( ',' ) ; + // InternalRos.g:8055:1: rule__Node__Group_10_3__0__Impl : ( ',' ) ; public final void rule__Node__Group_10_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7245:1: ( ( ',' ) ) - // InternalRos.g:7246:1: ( ',' ) + // InternalRos.g:8059:1: ( ( ',' ) ) + // InternalRos.g:8060:1: ( ',' ) { - // InternalRos.g:7246:1: ( ',' ) - // InternalRos.g:7247:2: ',' + // InternalRos.g:8060:1: ( ',' ) + // InternalRos.g:8061:2: ',' { before(grammarAccess.getNodeAccess().getCommaKeyword_10_3_0()); match(input,43,FOLLOW_2); @@ -22327,14 +24816,14 @@ public final void rule__Node__Group_10_3__0__Impl() throws RecognitionException // $ANTLR start "rule__Node__Group_10_3__1" - // InternalRos.g:7256:1: rule__Node__Group_10_3__1 : rule__Node__Group_10_3__1__Impl ; + // InternalRos.g:8070:1: rule__Node__Group_10_3__1 : rule__Node__Group_10_3__1__Impl ; public final void rule__Node__Group_10_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7260:1: ( rule__Node__Group_10_3__1__Impl ) - // InternalRos.g:7261:2: rule__Node__Group_10_3__1__Impl + // InternalRos.g:8074:1: ( rule__Node__Group_10_3__1__Impl ) + // InternalRos.g:8075:2: rule__Node__Group_10_3__1__Impl { pushFollow(FOLLOW_2); rule__Node__Group_10_3__1__Impl(); @@ -22360,21 +24849,21 @@ public final void rule__Node__Group_10_3__1() throws RecognitionException { // $ANTLR start "rule__Node__Group_10_3__1__Impl" - // InternalRos.g:7267:1: rule__Node__Group_10_3__1__Impl : ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ; + // InternalRos.g:8081:1: rule__Node__Group_10_3__1__Impl : ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ; public final void rule__Node__Group_10_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7271:1: ( ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ) - // InternalRos.g:7272:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) + // InternalRos.g:8085:1: ( ( ( rule__Node__ParameterAssignment_10_3_1 ) ) ) + // InternalRos.g:8086:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) { - // InternalRos.g:7272:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) - // InternalRos.g:7273:2: ( rule__Node__ParameterAssignment_10_3_1 ) + // InternalRos.g:8086:1: ( ( rule__Node__ParameterAssignment_10_3_1 ) ) + // InternalRos.g:8087:2: ( rule__Node__ParameterAssignment_10_3_1 ) { before(grammarAccess.getNodeAccess().getParameterAssignment_10_3_1()); - // InternalRos.g:7274:2: ( rule__Node__ParameterAssignment_10_3_1 ) - // InternalRos.g:7274:3: rule__Node__ParameterAssignment_10_3_1 + // InternalRos.g:8088:2: ( rule__Node__ParameterAssignment_10_3_1 ) + // InternalRos.g:8088:3: rule__Node__ParameterAssignment_10_3_1 { pushFollow(FOLLOW_2); rule__Node__ParameterAssignment_10_3_1(); @@ -22407,14 +24896,14 @@ public final void rule__Node__Group_10_3__1__Impl() throws RecognitionException // $ANTLR start "rule__ServiceServer__Group__0" - // InternalRos.g:7283:1: rule__ServiceServer__Group__0 : rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ; + // InternalRos.g:8097:1: rule__ServiceServer__Group__0 : rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ; public final void rule__ServiceServer__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7287:1: ( rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ) - // InternalRos.g:7288:2: rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 + // InternalRos.g:8101:1: ( rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 ) + // InternalRos.g:8102:2: rule__ServiceServer__Group__0__Impl rule__ServiceServer__Group__1 { pushFollow(FOLLOW_4); rule__ServiceServer__Group__0__Impl(); @@ -22445,20 +24934,20 @@ public final void rule__ServiceServer__Group__0() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__0__Impl" - // InternalRos.g:7295:1: rule__ServiceServer__Group__0__Impl : ( 'ServiceServer' ) ; + // InternalRos.g:8109:1: rule__ServiceServer__Group__0__Impl : ( 'ServiceServer' ) ; public final void rule__ServiceServer__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7299:1: ( ( 'ServiceServer' ) ) - // InternalRos.g:7300:1: ( 'ServiceServer' ) + // InternalRos.g:8113:1: ( ( 'ServiceServer' ) ) + // InternalRos.g:8114:1: ( 'ServiceServer' ) { - // InternalRos.g:7300:1: ( 'ServiceServer' ) - // InternalRos.g:7301:2: 'ServiceServer' + // InternalRos.g:8114:1: ( 'ServiceServer' ) + // InternalRos.g:8115:2: 'ServiceServer' { before(grammarAccess.getServiceServerAccess().getServiceServerKeyword_0()); - match(input,63,FOLLOW_2); + match(input,64,FOLLOW_2); after(grammarAccess.getServiceServerAccess().getServiceServerKeyword_0()); } @@ -22482,16 +24971,16 @@ public final void rule__ServiceServer__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__1" - // InternalRos.g:7310:1: rule__ServiceServer__Group__1 : rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ; + // InternalRos.g:8124:1: rule__ServiceServer__Group__1 : rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ; public final void rule__ServiceServer__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7314:1: ( rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ) - // InternalRos.g:7315:2: rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 + // InternalRos.g:8128:1: ( rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 ) + // InternalRos.g:8129:2: rule__ServiceServer__Group__1__Impl rule__ServiceServer__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__ServiceServer__Group__1__Impl(); state._fsp--; @@ -22520,17 +25009,17 @@ public final void rule__ServiceServer__Group__1() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__1__Impl" - // InternalRos.g:7322:1: rule__ServiceServer__Group__1__Impl : ( '{' ) ; + // InternalRos.g:8136:1: rule__ServiceServer__Group__1__Impl : ( '{' ) ; public final void rule__ServiceServer__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7326:1: ( ( '{' ) ) - // InternalRos.g:7327:1: ( '{' ) + // InternalRos.g:8140:1: ( ( '{' ) ) + // InternalRos.g:8141:1: ( '{' ) { - // InternalRos.g:7327:1: ( '{' ) - // InternalRos.g:7328:2: '{' + // InternalRos.g:8141:1: ( '{' ) + // InternalRos.g:8142:2: '{' { before(grammarAccess.getServiceServerAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -22557,14 +25046,14 @@ public final void rule__ServiceServer__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__2" - // InternalRos.g:7337:1: rule__ServiceServer__Group__2 : rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ; + // InternalRos.g:8151:1: rule__ServiceServer__Group__2 : rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ; public final void rule__ServiceServer__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7341:1: ( rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ) - // InternalRos.g:7342:2: rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 + // InternalRos.g:8155:1: ( rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 ) + // InternalRos.g:8156:2: rule__ServiceServer__Group__2__Impl rule__ServiceServer__Group__3 { pushFollow(FOLLOW_10); rule__ServiceServer__Group__2__Impl(); @@ -22595,17 +25084,17 @@ public final void rule__ServiceServer__Group__2() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__2__Impl" - // InternalRos.g:7349:1: rule__ServiceServer__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:8163:1: rule__ServiceServer__Group__2__Impl : ( 'name' ) ; public final void rule__ServiceServer__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7353:1: ( ( 'name' ) ) - // InternalRos.g:7354:1: ( 'name' ) + // InternalRos.g:8167:1: ( ( 'name' ) ) + // InternalRos.g:8168:1: ( 'name' ) { - // InternalRos.g:7354:1: ( 'name' ) - // InternalRos.g:7355:2: 'name' + // InternalRos.g:8168:1: ( 'name' ) + // InternalRos.g:8169:2: 'name' { before(grammarAccess.getServiceServerAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -22632,16 +25121,16 @@ public final void rule__ServiceServer__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__3" - // InternalRos.g:7364:1: rule__ServiceServer__Group__3 : rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ; + // InternalRos.g:8178:1: rule__ServiceServer__Group__3 : rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ; public final void rule__ServiceServer__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7368:1: ( rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ) - // InternalRos.g:7369:2: rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 + // InternalRos.g:8182:1: ( rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 ) + // InternalRos.g:8183:2: rule__ServiceServer__Group__3__Impl rule__ServiceServer__Group__4 { - pushFollow(FOLLOW_37); + pushFollow(FOLLOW_38); rule__ServiceServer__Group__3__Impl(); state._fsp--; @@ -22670,21 +25159,21 @@ public final void rule__ServiceServer__Group__3() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__3__Impl" - // InternalRos.g:7376:1: rule__ServiceServer__Group__3__Impl : ( ( rule__ServiceServer__NameAssignment_3 ) ) ; + // InternalRos.g:8190:1: rule__ServiceServer__Group__3__Impl : ( ( rule__ServiceServer__NameAssignment_3 ) ) ; public final void rule__ServiceServer__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7380:1: ( ( ( rule__ServiceServer__NameAssignment_3 ) ) ) - // InternalRos.g:7381:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) + // InternalRos.g:8194:1: ( ( ( rule__ServiceServer__NameAssignment_3 ) ) ) + // InternalRos.g:8195:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) { - // InternalRos.g:7381:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) - // InternalRos.g:7382:2: ( rule__ServiceServer__NameAssignment_3 ) + // InternalRos.g:8195:1: ( ( rule__ServiceServer__NameAssignment_3 ) ) + // InternalRos.g:8196:2: ( rule__ServiceServer__NameAssignment_3 ) { before(grammarAccess.getServiceServerAccess().getNameAssignment_3()); - // InternalRos.g:7383:2: ( rule__ServiceServer__NameAssignment_3 ) - // InternalRos.g:7383:3: rule__ServiceServer__NameAssignment_3 + // InternalRos.g:8197:2: ( rule__ServiceServer__NameAssignment_3 ) + // InternalRos.g:8197:3: rule__ServiceServer__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ServiceServer__NameAssignment_3(); @@ -22717,14 +25206,14 @@ public final void rule__ServiceServer__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__4" - // InternalRos.g:7391:1: rule__ServiceServer__Group__4 : rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ; + // InternalRos.g:8205:1: rule__ServiceServer__Group__4 : rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ; public final void rule__ServiceServer__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7395:1: ( rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ) - // InternalRos.g:7396:2: rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 + // InternalRos.g:8209:1: ( rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 ) + // InternalRos.g:8210:2: rule__ServiceServer__Group__4__Impl rule__ServiceServer__Group__5 { pushFollow(FOLLOW_10); rule__ServiceServer__Group__4__Impl(); @@ -22755,17 +25244,17 @@ public final void rule__ServiceServer__Group__4() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__4__Impl" - // InternalRos.g:7403:1: rule__ServiceServer__Group__4__Impl : ( 'service' ) ; + // InternalRos.g:8217:1: rule__ServiceServer__Group__4__Impl : ( 'service' ) ; public final void rule__ServiceServer__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7407:1: ( ( 'service' ) ) - // InternalRos.g:7408:1: ( 'service' ) + // InternalRos.g:8221:1: ( ( 'service' ) ) + // InternalRos.g:8222:1: ( 'service' ) { - // InternalRos.g:7408:1: ( 'service' ) - // InternalRos.g:7409:2: 'service' + // InternalRos.g:8222:1: ( 'service' ) + // InternalRos.g:8223:2: 'service' { before(grammarAccess.getServiceServerAccess().getServiceKeyword_4()); match(input,35,FOLLOW_2); @@ -22792,16 +25281,16 @@ public final void rule__ServiceServer__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__5" - // InternalRos.g:7418:1: rule__ServiceServer__Group__5 : rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ; + // InternalRos.g:8232:1: rule__ServiceServer__Group__5 : rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ; public final void rule__ServiceServer__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7422:1: ( rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ) - // InternalRos.g:7423:2: rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 + // InternalRos.g:8236:1: ( rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 ) + // InternalRos.g:8237:2: rule__ServiceServer__Group__5__Impl rule__ServiceServer__Group__6 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ServiceServer__Group__5__Impl(); state._fsp--; @@ -22830,21 +25319,21 @@ public final void rule__ServiceServer__Group__5() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__5__Impl" - // InternalRos.g:7430:1: rule__ServiceServer__Group__5__Impl : ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ; + // InternalRos.g:8244:1: rule__ServiceServer__Group__5__Impl : ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ; public final void rule__ServiceServer__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7434:1: ( ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ) - // InternalRos.g:7435:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) + // InternalRos.g:8248:1: ( ( ( rule__ServiceServer__ServiceAssignment_5 ) ) ) + // InternalRos.g:8249:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) { - // InternalRos.g:7435:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) - // InternalRos.g:7436:2: ( rule__ServiceServer__ServiceAssignment_5 ) + // InternalRos.g:8249:1: ( ( rule__ServiceServer__ServiceAssignment_5 ) ) + // InternalRos.g:8250:2: ( rule__ServiceServer__ServiceAssignment_5 ) { before(grammarAccess.getServiceServerAccess().getServiceAssignment_5()); - // InternalRos.g:7437:2: ( rule__ServiceServer__ServiceAssignment_5 ) - // InternalRos.g:7437:3: rule__ServiceServer__ServiceAssignment_5 + // InternalRos.g:8251:2: ( rule__ServiceServer__ServiceAssignment_5 ) + // InternalRos.g:8251:3: rule__ServiceServer__ServiceAssignment_5 { pushFollow(FOLLOW_2); rule__ServiceServer__ServiceAssignment_5(); @@ -22877,16 +25366,16 @@ public final void rule__ServiceServer__Group__5__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__6" - // InternalRos.g:7445:1: rule__ServiceServer__Group__6 : rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ; + // InternalRos.g:8259:1: rule__ServiceServer__Group__6 : rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ; public final void rule__ServiceServer__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7449:1: ( rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ) - // InternalRos.g:7450:2: rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 + // InternalRos.g:8263:1: ( rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 ) + // InternalRos.g:8264:2: rule__ServiceServer__Group__6__Impl rule__ServiceServer__Group__7 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ServiceServer__Group__6__Impl(); state._fsp--; @@ -22915,29 +25404,29 @@ public final void rule__ServiceServer__Group__6() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__6__Impl" - // InternalRos.g:7457:1: rule__ServiceServer__Group__6__Impl : ( ( rule__ServiceServer__Group_6__0 )? ) ; + // InternalRos.g:8271:1: rule__ServiceServer__Group__6__Impl : ( ( rule__ServiceServer__Group_6__0 )? ) ; public final void rule__ServiceServer__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7461:1: ( ( ( rule__ServiceServer__Group_6__0 )? ) ) - // InternalRos.g:7462:1: ( ( rule__ServiceServer__Group_6__0 )? ) + // InternalRos.g:8275:1: ( ( ( rule__ServiceServer__Group_6__0 )? ) ) + // InternalRos.g:8276:1: ( ( rule__ServiceServer__Group_6__0 )? ) { - // InternalRos.g:7462:1: ( ( rule__ServiceServer__Group_6__0 )? ) - // InternalRos.g:7463:2: ( rule__ServiceServer__Group_6__0 )? + // InternalRos.g:8276:1: ( ( rule__ServiceServer__Group_6__0 )? ) + // InternalRos.g:8277:2: ( rule__ServiceServer__Group_6__0 )? { before(grammarAccess.getServiceServerAccess().getGroup_6()); - // InternalRos.g:7464:2: ( rule__ServiceServer__Group_6__0 )? - int alt50=2; - int LA50_0 = input.LA(1); + // InternalRos.g:8278:2: ( rule__ServiceServer__Group_6__0 )? + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA50_0==64) ) { - alt50=1; + if ( (LA57_0==65) ) { + alt57=1; } - switch (alt50) { + switch (alt57) { case 1 : - // InternalRos.g:7464:3: rule__ServiceServer__Group_6__0 + // InternalRos.g:8278:3: rule__ServiceServer__Group_6__0 { pushFollow(FOLLOW_2); rule__ServiceServer__Group_6__0(); @@ -22973,14 +25462,14 @@ public final void rule__ServiceServer__Group__6__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group__7" - // InternalRos.g:7472:1: rule__ServiceServer__Group__7 : rule__ServiceServer__Group__7__Impl ; + // InternalRos.g:8286:1: rule__ServiceServer__Group__7 : rule__ServiceServer__Group__7__Impl ; public final void rule__ServiceServer__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7476:1: ( rule__ServiceServer__Group__7__Impl ) - // InternalRos.g:7477:2: rule__ServiceServer__Group__7__Impl + // InternalRos.g:8290:1: ( rule__ServiceServer__Group__7__Impl ) + // InternalRos.g:8291:2: rule__ServiceServer__Group__7__Impl { pushFollow(FOLLOW_2); rule__ServiceServer__Group__7__Impl(); @@ -23006,17 +25495,17 @@ public final void rule__ServiceServer__Group__7() throws RecognitionException { // $ANTLR start "rule__ServiceServer__Group__7__Impl" - // InternalRos.g:7483:1: rule__ServiceServer__Group__7__Impl : ( '}' ) ; + // InternalRos.g:8297:1: rule__ServiceServer__Group__7__Impl : ( '}' ) ; public final void rule__ServiceServer__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7487:1: ( ( '}' ) ) - // InternalRos.g:7488:1: ( '}' ) + // InternalRos.g:8301:1: ( ( '}' ) ) + // InternalRos.g:8302:1: ( '}' ) { - // InternalRos.g:7488:1: ( '}' ) - // InternalRos.g:7489:2: '}' + // InternalRos.g:8302:1: ( '}' ) + // InternalRos.g:8303:2: '}' { before(grammarAccess.getServiceServerAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -23043,16 +25532,16 @@ public final void rule__ServiceServer__Group__7__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceServer__Group_6__0" - // InternalRos.g:7499:1: rule__ServiceServer__Group_6__0 : rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ; + // InternalRos.g:8313:1: rule__ServiceServer__Group_6__0 : rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ; public final void rule__ServiceServer__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7503:1: ( rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ) - // InternalRos.g:7504:2: rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 + // InternalRos.g:8317:1: ( rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 ) + // InternalRos.g:8318:2: rule__ServiceServer__Group_6__0__Impl rule__ServiceServer__Group_6__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__ServiceServer__Group_6__0__Impl(); state._fsp--; @@ -23081,20 +25570,20 @@ public final void rule__ServiceServer__Group_6__0() throws RecognitionException // $ANTLR start "rule__ServiceServer__Group_6__0__Impl" - // InternalRos.g:7511:1: rule__ServiceServer__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:8325:1: rule__ServiceServer__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ServiceServer__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7515:1: ( ( 'namespace' ) ) - // InternalRos.g:7516:1: ( 'namespace' ) + // InternalRos.g:8329:1: ( ( 'namespace' ) ) + // InternalRos.g:8330:1: ( 'namespace' ) { - // InternalRos.g:7516:1: ( 'namespace' ) - // InternalRos.g:7517:2: 'namespace' + // InternalRos.g:8330:1: ( 'namespace' ) + // InternalRos.g:8331:2: 'namespace' { before(grammarAccess.getServiceServerAccess().getNamespaceKeyword_6_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getServiceServerAccess().getNamespaceKeyword_6_0()); } @@ -23118,14 +25607,14 @@ public final void rule__ServiceServer__Group_6__0__Impl() throws RecognitionExce // $ANTLR start "rule__ServiceServer__Group_6__1" - // InternalRos.g:7526:1: rule__ServiceServer__Group_6__1 : rule__ServiceServer__Group_6__1__Impl ; + // InternalRos.g:8340:1: rule__ServiceServer__Group_6__1 : rule__ServiceServer__Group_6__1__Impl ; public final void rule__ServiceServer__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7530:1: ( rule__ServiceServer__Group_6__1__Impl ) - // InternalRos.g:7531:2: rule__ServiceServer__Group_6__1__Impl + // InternalRos.g:8344:1: ( rule__ServiceServer__Group_6__1__Impl ) + // InternalRos.g:8345:2: rule__ServiceServer__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ServiceServer__Group_6__1__Impl(); @@ -23151,21 +25640,21 @@ public final void rule__ServiceServer__Group_6__1() throws RecognitionException // $ANTLR start "rule__ServiceServer__Group_6__1__Impl" - // InternalRos.g:7537:1: rule__ServiceServer__Group_6__1__Impl : ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:8351:1: rule__ServiceServer__Group_6__1__Impl : ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ; public final void rule__ServiceServer__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7541:1: ( ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:7542:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8355:1: ( ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:8356:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:7542:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) - // InternalRos.g:7543:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) + // InternalRos.g:8356:1: ( ( rule__ServiceServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8357:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) { before(grammarAccess.getServiceServerAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:7544:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) - // InternalRos.g:7544:3: rule__ServiceServer__NamespaceAssignment_6_1 + // InternalRos.g:8358:2: ( rule__ServiceServer__NamespaceAssignment_6_1 ) + // InternalRos.g:8358:3: rule__ServiceServer__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ServiceServer__NamespaceAssignment_6_1(); @@ -23198,14 +25687,14 @@ public final void rule__ServiceServer__Group_6__1__Impl() throws RecognitionExce // $ANTLR start "rule__Publisher__Group__0" - // InternalRos.g:7553:1: rule__Publisher__Group__0 : rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ; + // InternalRos.g:8367:1: rule__Publisher__Group__0 : rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ; public final void rule__Publisher__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7557:1: ( rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ) - // InternalRos.g:7558:2: rule__Publisher__Group__0__Impl rule__Publisher__Group__1 + // InternalRos.g:8371:1: ( rule__Publisher__Group__0__Impl rule__Publisher__Group__1 ) + // InternalRos.g:8372:2: rule__Publisher__Group__0__Impl rule__Publisher__Group__1 { pushFollow(FOLLOW_4); rule__Publisher__Group__0__Impl(); @@ -23236,20 +25725,20 @@ public final void rule__Publisher__Group__0() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__0__Impl" - // InternalRos.g:7565:1: rule__Publisher__Group__0__Impl : ( 'Publisher' ) ; + // InternalRos.g:8379:1: rule__Publisher__Group__0__Impl : ( 'Publisher' ) ; public final void rule__Publisher__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7569:1: ( ( 'Publisher' ) ) - // InternalRos.g:7570:1: ( 'Publisher' ) + // InternalRos.g:8383:1: ( ( 'Publisher' ) ) + // InternalRos.g:8384:1: ( 'Publisher' ) { - // InternalRos.g:7570:1: ( 'Publisher' ) - // InternalRos.g:7571:2: 'Publisher' + // InternalRos.g:8384:1: ( 'Publisher' ) + // InternalRos.g:8385:2: 'Publisher' { before(grammarAccess.getPublisherAccess().getPublisherKeyword_0()); - match(input,65,FOLLOW_2); + match(input,66,FOLLOW_2); after(grammarAccess.getPublisherAccess().getPublisherKeyword_0()); } @@ -23273,16 +25762,16 @@ public final void rule__Publisher__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__1" - // InternalRos.g:7580:1: rule__Publisher__Group__1 : rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ; + // InternalRos.g:8394:1: rule__Publisher__Group__1 : rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ; public final void rule__Publisher__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7584:1: ( rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ) - // InternalRos.g:7585:2: rule__Publisher__Group__1__Impl rule__Publisher__Group__2 + // InternalRos.g:8398:1: ( rule__Publisher__Group__1__Impl rule__Publisher__Group__2 ) + // InternalRos.g:8399:2: rule__Publisher__Group__1__Impl rule__Publisher__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__Publisher__Group__1__Impl(); state._fsp--; @@ -23311,17 +25800,17 @@ public final void rule__Publisher__Group__1() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__1__Impl" - // InternalRos.g:7592:1: rule__Publisher__Group__1__Impl : ( '{' ) ; + // InternalRos.g:8406:1: rule__Publisher__Group__1__Impl : ( '{' ) ; public final void rule__Publisher__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7596:1: ( ( '{' ) ) - // InternalRos.g:7597:1: ( '{' ) + // InternalRos.g:8410:1: ( ( '{' ) ) + // InternalRos.g:8411:1: ( '{' ) { - // InternalRos.g:7597:1: ( '{' ) - // InternalRos.g:7598:2: '{' + // InternalRos.g:8411:1: ( '{' ) + // InternalRos.g:8412:2: '{' { before(grammarAccess.getPublisherAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -23348,14 +25837,14 @@ public final void rule__Publisher__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__2" - // InternalRos.g:7607:1: rule__Publisher__Group__2 : rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ; + // InternalRos.g:8421:1: rule__Publisher__Group__2 : rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ; public final void rule__Publisher__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7611:1: ( rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ) - // InternalRos.g:7612:2: rule__Publisher__Group__2__Impl rule__Publisher__Group__3 + // InternalRos.g:8425:1: ( rule__Publisher__Group__2__Impl rule__Publisher__Group__3 ) + // InternalRos.g:8426:2: rule__Publisher__Group__2__Impl rule__Publisher__Group__3 { pushFollow(FOLLOW_10); rule__Publisher__Group__2__Impl(); @@ -23386,17 +25875,17 @@ public final void rule__Publisher__Group__2() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__2__Impl" - // InternalRos.g:7619:1: rule__Publisher__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:8433:1: rule__Publisher__Group__2__Impl : ( 'name' ) ; public final void rule__Publisher__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7623:1: ( ( 'name' ) ) - // InternalRos.g:7624:1: ( 'name' ) + // InternalRos.g:8437:1: ( ( 'name' ) ) + // InternalRos.g:8438:1: ( 'name' ) { - // InternalRos.g:7624:1: ( 'name' ) - // InternalRos.g:7625:2: 'name' + // InternalRos.g:8438:1: ( 'name' ) + // InternalRos.g:8439:2: 'name' { before(grammarAccess.getPublisherAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -23423,16 +25912,16 @@ public final void rule__Publisher__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__3" - // InternalRos.g:7634:1: rule__Publisher__Group__3 : rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ; + // InternalRos.g:8448:1: rule__Publisher__Group__3 : rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ; public final void rule__Publisher__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7638:1: ( rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ) - // InternalRos.g:7639:2: rule__Publisher__Group__3__Impl rule__Publisher__Group__4 + // InternalRos.g:8452:1: ( rule__Publisher__Group__3__Impl rule__Publisher__Group__4 ) + // InternalRos.g:8453:2: rule__Publisher__Group__3__Impl rule__Publisher__Group__4 { - pushFollow(FOLLOW_40); + pushFollow(FOLLOW_41); rule__Publisher__Group__3__Impl(); state._fsp--; @@ -23461,21 +25950,21 @@ public final void rule__Publisher__Group__3() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__3__Impl" - // InternalRos.g:7646:1: rule__Publisher__Group__3__Impl : ( ( rule__Publisher__NameAssignment_3 ) ) ; + // InternalRos.g:8460:1: rule__Publisher__Group__3__Impl : ( ( rule__Publisher__NameAssignment_3 ) ) ; public final void rule__Publisher__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7650:1: ( ( ( rule__Publisher__NameAssignment_3 ) ) ) - // InternalRos.g:7651:1: ( ( rule__Publisher__NameAssignment_3 ) ) + // InternalRos.g:8464:1: ( ( ( rule__Publisher__NameAssignment_3 ) ) ) + // InternalRos.g:8465:1: ( ( rule__Publisher__NameAssignment_3 ) ) { - // InternalRos.g:7651:1: ( ( rule__Publisher__NameAssignment_3 ) ) - // InternalRos.g:7652:2: ( rule__Publisher__NameAssignment_3 ) + // InternalRos.g:8465:1: ( ( rule__Publisher__NameAssignment_3 ) ) + // InternalRos.g:8466:2: ( rule__Publisher__NameAssignment_3 ) { before(grammarAccess.getPublisherAccess().getNameAssignment_3()); - // InternalRos.g:7653:2: ( rule__Publisher__NameAssignment_3 ) - // InternalRos.g:7653:3: rule__Publisher__NameAssignment_3 + // InternalRos.g:8467:2: ( rule__Publisher__NameAssignment_3 ) + // InternalRos.g:8467:3: rule__Publisher__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Publisher__NameAssignment_3(); @@ -23508,14 +25997,14 @@ public final void rule__Publisher__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__4" - // InternalRos.g:7661:1: rule__Publisher__Group__4 : rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ; + // InternalRos.g:8475:1: rule__Publisher__Group__4 : rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ; public final void rule__Publisher__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7665:1: ( rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ) - // InternalRos.g:7666:2: rule__Publisher__Group__4__Impl rule__Publisher__Group__5 + // InternalRos.g:8479:1: ( rule__Publisher__Group__4__Impl rule__Publisher__Group__5 ) + // InternalRos.g:8480:2: rule__Publisher__Group__4__Impl rule__Publisher__Group__5 { pushFollow(FOLLOW_10); rule__Publisher__Group__4__Impl(); @@ -23546,17 +26035,17 @@ public final void rule__Publisher__Group__4() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__4__Impl" - // InternalRos.g:7673:1: rule__Publisher__Group__4__Impl : ( 'message' ) ; + // InternalRos.g:8487:1: rule__Publisher__Group__4__Impl : ( 'message' ) ; public final void rule__Publisher__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7677:1: ( ( 'message' ) ) - // InternalRos.g:7678:1: ( 'message' ) + // InternalRos.g:8491:1: ( ( 'message' ) ) + // InternalRos.g:8492:1: ( 'message' ) { - // InternalRos.g:7678:1: ( 'message' ) - // InternalRos.g:7679:2: 'message' + // InternalRos.g:8492:1: ( 'message' ) + // InternalRos.g:8493:2: 'message' { before(grammarAccess.getPublisherAccess().getMessageKeyword_4()); match(input,30,FOLLOW_2); @@ -23583,16 +26072,16 @@ public final void rule__Publisher__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__5" - // InternalRos.g:7688:1: rule__Publisher__Group__5 : rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ; + // InternalRos.g:8502:1: rule__Publisher__Group__5 : rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ; public final void rule__Publisher__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7692:1: ( rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ) - // InternalRos.g:7693:2: rule__Publisher__Group__5__Impl rule__Publisher__Group__6 + // InternalRos.g:8506:1: ( rule__Publisher__Group__5__Impl rule__Publisher__Group__6 ) + // InternalRos.g:8507:2: rule__Publisher__Group__5__Impl rule__Publisher__Group__6 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__Publisher__Group__5__Impl(); state._fsp--; @@ -23621,21 +26110,21 @@ public final void rule__Publisher__Group__5() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__5__Impl" - // InternalRos.g:7700:1: rule__Publisher__Group__5__Impl : ( ( rule__Publisher__MessageAssignment_5 ) ) ; + // InternalRos.g:8514:1: rule__Publisher__Group__5__Impl : ( ( rule__Publisher__MessageAssignment_5 ) ) ; public final void rule__Publisher__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7704:1: ( ( ( rule__Publisher__MessageAssignment_5 ) ) ) - // InternalRos.g:7705:1: ( ( rule__Publisher__MessageAssignment_5 ) ) + // InternalRos.g:8518:1: ( ( ( rule__Publisher__MessageAssignment_5 ) ) ) + // InternalRos.g:8519:1: ( ( rule__Publisher__MessageAssignment_5 ) ) { - // InternalRos.g:7705:1: ( ( rule__Publisher__MessageAssignment_5 ) ) - // InternalRos.g:7706:2: ( rule__Publisher__MessageAssignment_5 ) + // InternalRos.g:8519:1: ( ( rule__Publisher__MessageAssignment_5 ) ) + // InternalRos.g:8520:2: ( rule__Publisher__MessageAssignment_5 ) { before(grammarAccess.getPublisherAccess().getMessageAssignment_5()); - // InternalRos.g:7707:2: ( rule__Publisher__MessageAssignment_5 ) - // InternalRos.g:7707:3: rule__Publisher__MessageAssignment_5 + // InternalRos.g:8521:2: ( rule__Publisher__MessageAssignment_5 ) + // InternalRos.g:8521:3: rule__Publisher__MessageAssignment_5 { pushFollow(FOLLOW_2); rule__Publisher__MessageAssignment_5(); @@ -23668,16 +26157,16 @@ public final void rule__Publisher__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__6" - // InternalRos.g:7715:1: rule__Publisher__Group__6 : rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ; + // InternalRos.g:8529:1: rule__Publisher__Group__6 : rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ; public final void rule__Publisher__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7719:1: ( rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ) - // InternalRos.g:7720:2: rule__Publisher__Group__6__Impl rule__Publisher__Group__7 + // InternalRos.g:8533:1: ( rule__Publisher__Group__6__Impl rule__Publisher__Group__7 ) + // InternalRos.g:8534:2: rule__Publisher__Group__6__Impl rule__Publisher__Group__7 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__Publisher__Group__6__Impl(); state._fsp--; @@ -23706,29 +26195,29 @@ public final void rule__Publisher__Group__6() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__6__Impl" - // InternalRos.g:7727:1: rule__Publisher__Group__6__Impl : ( ( rule__Publisher__Group_6__0 )? ) ; + // InternalRos.g:8541:1: rule__Publisher__Group__6__Impl : ( ( rule__Publisher__Group_6__0 )? ) ; public final void rule__Publisher__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7731:1: ( ( ( rule__Publisher__Group_6__0 )? ) ) - // InternalRos.g:7732:1: ( ( rule__Publisher__Group_6__0 )? ) + // InternalRos.g:8545:1: ( ( ( rule__Publisher__Group_6__0 )? ) ) + // InternalRos.g:8546:1: ( ( rule__Publisher__Group_6__0 )? ) { - // InternalRos.g:7732:1: ( ( rule__Publisher__Group_6__0 )? ) - // InternalRos.g:7733:2: ( rule__Publisher__Group_6__0 )? + // InternalRos.g:8546:1: ( ( rule__Publisher__Group_6__0 )? ) + // InternalRos.g:8547:2: ( rule__Publisher__Group_6__0 )? { before(grammarAccess.getPublisherAccess().getGroup_6()); - // InternalRos.g:7734:2: ( rule__Publisher__Group_6__0 )? - int alt51=2; - int LA51_0 = input.LA(1); + // InternalRos.g:8548:2: ( rule__Publisher__Group_6__0 )? + int alt58=2; + int LA58_0 = input.LA(1); - if ( (LA51_0==64) ) { - alt51=1; + if ( (LA58_0==65) ) { + alt58=1; } - switch (alt51) { + switch (alt58) { case 1 : - // InternalRos.g:7734:3: rule__Publisher__Group_6__0 + // InternalRos.g:8548:3: rule__Publisher__Group_6__0 { pushFollow(FOLLOW_2); rule__Publisher__Group_6__0(); @@ -23764,14 +26253,14 @@ public final void rule__Publisher__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group__7" - // InternalRos.g:7742:1: rule__Publisher__Group__7 : rule__Publisher__Group__7__Impl ; + // InternalRos.g:8556:1: rule__Publisher__Group__7 : rule__Publisher__Group__7__Impl ; public final void rule__Publisher__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7746:1: ( rule__Publisher__Group__7__Impl ) - // InternalRos.g:7747:2: rule__Publisher__Group__7__Impl + // InternalRos.g:8560:1: ( rule__Publisher__Group__7__Impl ) + // InternalRos.g:8561:2: rule__Publisher__Group__7__Impl { pushFollow(FOLLOW_2); rule__Publisher__Group__7__Impl(); @@ -23797,17 +26286,17 @@ public final void rule__Publisher__Group__7() throws RecognitionException { // $ANTLR start "rule__Publisher__Group__7__Impl" - // InternalRos.g:7753:1: rule__Publisher__Group__7__Impl : ( '}' ) ; + // InternalRos.g:8567:1: rule__Publisher__Group__7__Impl : ( '}' ) ; public final void rule__Publisher__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7757:1: ( ( '}' ) ) - // InternalRos.g:7758:1: ( '}' ) + // InternalRos.g:8571:1: ( ( '}' ) ) + // InternalRos.g:8572:1: ( '}' ) { - // InternalRos.g:7758:1: ( '}' ) - // InternalRos.g:7759:2: '}' + // InternalRos.g:8572:1: ( '}' ) + // InternalRos.g:8573:2: '}' { before(grammarAccess.getPublisherAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -23834,16 +26323,16 @@ public final void rule__Publisher__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__Publisher__Group_6__0" - // InternalRos.g:7769:1: rule__Publisher__Group_6__0 : rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ; + // InternalRos.g:8583:1: rule__Publisher__Group_6__0 : rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ; public final void rule__Publisher__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7773:1: ( rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ) - // InternalRos.g:7774:2: rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 + // InternalRos.g:8587:1: ( rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 ) + // InternalRos.g:8588:2: rule__Publisher__Group_6__0__Impl rule__Publisher__Group_6__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__Publisher__Group_6__0__Impl(); state._fsp--; @@ -23872,20 +26361,20 @@ public final void rule__Publisher__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Publisher__Group_6__0__Impl" - // InternalRos.g:7781:1: rule__Publisher__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:8595:1: rule__Publisher__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__Publisher__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7785:1: ( ( 'namespace' ) ) - // InternalRos.g:7786:1: ( 'namespace' ) + // InternalRos.g:8599:1: ( ( 'namespace' ) ) + // InternalRos.g:8600:1: ( 'namespace' ) { - // InternalRos.g:7786:1: ( 'namespace' ) - // InternalRos.g:7787:2: 'namespace' + // InternalRos.g:8600:1: ( 'namespace' ) + // InternalRos.g:8601:2: 'namespace' { before(grammarAccess.getPublisherAccess().getNamespaceKeyword_6_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getPublisherAccess().getNamespaceKeyword_6_0()); } @@ -23909,14 +26398,14 @@ public final void rule__Publisher__Group_6__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Publisher__Group_6__1" - // InternalRos.g:7796:1: rule__Publisher__Group_6__1 : rule__Publisher__Group_6__1__Impl ; + // InternalRos.g:8610:1: rule__Publisher__Group_6__1 : rule__Publisher__Group_6__1__Impl ; public final void rule__Publisher__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7800:1: ( rule__Publisher__Group_6__1__Impl ) - // InternalRos.g:7801:2: rule__Publisher__Group_6__1__Impl + // InternalRos.g:8614:1: ( rule__Publisher__Group_6__1__Impl ) + // InternalRos.g:8615:2: rule__Publisher__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__Publisher__Group_6__1__Impl(); @@ -23942,21 +26431,21 @@ public final void rule__Publisher__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Publisher__Group_6__1__Impl" - // InternalRos.g:7807:1: rule__Publisher__Group_6__1__Impl : ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:8621:1: rule__Publisher__Group_6__1__Impl : ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ; public final void rule__Publisher__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7811:1: ( ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:7812:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8625:1: ( ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:8626:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:7812:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) - // InternalRos.g:7813:2: ( rule__Publisher__NamespaceAssignment_6_1 ) + // InternalRos.g:8626:1: ( ( rule__Publisher__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8627:2: ( rule__Publisher__NamespaceAssignment_6_1 ) { before(grammarAccess.getPublisherAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:7814:2: ( rule__Publisher__NamespaceAssignment_6_1 ) - // InternalRos.g:7814:3: rule__Publisher__NamespaceAssignment_6_1 + // InternalRos.g:8628:2: ( rule__Publisher__NamespaceAssignment_6_1 ) + // InternalRos.g:8628:3: rule__Publisher__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__Publisher__NamespaceAssignment_6_1(); @@ -23989,14 +26478,14 @@ public final void rule__Publisher__Group_6__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Subscriber__Group__0" - // InternalRos.g:7823:1: rule__Subscriber__Group__0 : rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ; + // InternalRos.g:8637:1: rule__Subscriber__Group__0 : rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ; public final void rule__Subscriber__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7827:1: ( rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ) - // InternalRos.g:7828:2: rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 + // InternalRos.g:8641:1: ( rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 ) + // InternalRos.g:8642:2: rule__Subscriber__Group__0__Impl rule__Subscriber__Group__1 { pushFollow(FOLLOW_4); rule__Subscriber__Group__0__Impl(); @@ -24027,20 +26516,20 @@ public final void rule__Subscriber__Group__0() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__0__Impl" - // InternalRos.g:7835:1: rule__Subscriber__Group__0__Impl : ( 'Subscriber' ) ; + // InternalRos.g:8649:1: rule__Subscriber__Group__0__Impl : ( 'Subscriber' ) ; public final void rule__Subscriber__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7839:1: ( ( 'Subscriber' ) ) - // InternalRos.g:7840:1: ( 'Subscriber' ) + // InternalRos.g:8653:1: ( ( 'Subscriber' ) ) + // InternalRos.g:8654:1: ( 'Subscriber' ) { - // InternalRos.g:7840:1: ( 'Subscriber' ) - // InternalRos.g:7841:2: 'Subscriber' + // InternalRos.g:8654:1: ( 'Subscriber' ) + // InternalRos.g:8655:2: 'Subscriber' { before(grammarAccess.getSubscriberAccess().getSubscriberKeyword_0()); - match(input,66,FOLLOW_2); + match(input,67,FOLLOW_2); after(grammarAccess.getSubscriberAccess().getSubscriberKeyword_0()); } @@ -24064,16 +26553,16 @@ public final void rule__Subscriber__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__1" - // InternalRos.g:7850:1: rule__Subscriber__Group__1 : rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ; + // InternalRos.g:8664:1: rule__Subscriber__Group__1 : rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ; public final void rule__Subscriber__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7854:1: ( rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ) - // InternalRos.g:7855:2: rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 + // InternalRos.g:8668:1: ( rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 ) + // InternalRos.g:8669:2: rule__Subscriber__Group__1__Impl rule__Subscriber__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__Subscriber__Group__1__Impl(); state._fsp--; @@ -24102,17 +26591,17 @@ public final void rule__Subscriber__Group__1() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__1__Impl" - // InternalRos.g:7862:1: rule__Subscriber__Group__1__Impl : ( '{' ) ; + // InternalRos.g:8676:1: rule__Subscriber__Group__1__Impl : ( '{' ) ; public final void rule__Subscriber__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7866:1: ( ( '{' ) ) - // InternalRos.g:7867:1: ( '{' ) + // InternalRos.g:8680:1: ( ( '{' ) ) + // InternalRos.g:8681:1: ( '{' ) { - // InternalRos.g:7867:1: ( '{' ) - // InternalRos.g:7868:2: '{' + // InternalRos.g:8681:1: ( '{' ) + // InternalRos.g:8682:2: '{' { before(grammarAccess.getSubscriberAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -24139,14 +26628,14 @@ public final void rule__Subscriber__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__2" - // InternalRos.g:7877:1: rule__Subscriber__Group__2 : rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ; + // InternalRos.g:8691:1: rule__Subscriber__Group__2 : rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ; public final void rule__Subscriber__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7881:1: ( rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ) - // InternalRos.g:7882:2: rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 + // InternalRos.g:8695:1: ( rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 ) + // InternalRos.g:8696:2: rule__Subscriber__Group__2__Impl rule__Subscriber__Group__3 { pushFollow(FOLLOW_10); rule__Subscriber__Group__2__Impl(); @@ -24177,17 +26666,17 @@ public final void rule__Subscriber__Group__2() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__2__Impl" - // InternalRos.g:7889:1: rule__Subscriber__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:8703:1: rule__Subscriber__Group__2__Impl : ( 'name' ) ; public final void rule__Subscriber__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7893:1: ( ( 'name' ) ) - // InternalRos.g:7894:1: ( 'name' ) + // InternalRos.g:8707:1: ( ( 'name' ) ) + // InternalRos.g:8708:1: ( 'name' ) { - // InternalRos.g:7894:1: ( 'name' ) - // InternalRos.g:7895:2: 'name' + // InternalRos.g:8708:1: ( 'name' ) + // InternalRos.g:8709:2: 'name' { before(grammarAccess.getSubscriberAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -24214,16 +26703,16 @@ public final void rule__Subscriber__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__3" - // InternalRos.g:7904:1: rule__Subscriber__Group__3 : rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ; + // InternalRos.g:8718:1: rule__Subscriber__Group__3 : rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ; public final void rule__Subscriber__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7908:1: ( rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ) - // InternalRos.g:7909:2: rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 + // InternalRos.g:8722:1: ( rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 ) + // InternalRos.g:8723:2: rule__Subscriber__Group__3__Impl rule__Subscriber__Group__4 { - pushFollow(FOLLOW_40); + pushFollow(FOLLOW_41); rule__Subscriber__Group__3__Impl(); state._fsp--; @@ -24252,21 +26741,21 @@ public final void rule__Subscriber__Group__3() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__3__Impl" - // InternalRos.g:7916:1: rule__Subscriber__Group__3__Impl : ( ( rule__Subscriber__NameAssignment_3 ) ) ; + // InternalRos.g:8730:1: rule__Subscriber__Group__3__Impl : ( ( rule__Subscriber__NameAssignment_3 ) ) ; public final void rule__Subscriber__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7920:1: ( ( ( rule__Subscriber__NameAssignment_3 ) ) ) - // InternalRos.g:7921:1: ( ( rule__Subscriber__NameAssignment_3 ) ) + // InternalRos.g:8734:1: ( ( ( rule__Subscriber__NameAssignment_3 ) ) ) + // InternalRos.g:8735:1: ( ( rule__Subscriber__NameAssignment_3 ) ) { - // InternalRos.g:7921:1: ( ( rule__Subscriber__NameAssignment_3 ) ) - // InternalRos.g:7922:2: ( rule__Subscriber__NameAssignment_3 ) + // InternalRos.g:8735:1: ( ( rule__Subscriber__NameAssignment_3 ) ) + // InternalRos.g:8736:2: ( rule__Subscriber__NameAssignment_3 ) { before(grammarAccess.getSubscriberAccess().getNameAssignment_3()); - // InternalRos.g:7923:2: ( rule__Subscriber__NameAssignment_3 ) - // InternalRos.g:7923:3: rule__Subscriber__NameAssignment_3 + // InternalRos.g:8737:2: ( rule__Subscriber__NameAssignment_3 ) + // InternalRos.g:8737:3: rule__Subscriber__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Subscriber__NameAssignment_3(); @@ -24299,14 +26788,14 @@ public final void rule__Subscriber__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__4" - // InternalRos.g:7931:1: rule__Subscriber__Group__4 : rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ; + // InternalRos.g:8745:1: rule__Subscriber__Group__4 : rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ; public final void rule__Subscriber__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7935:1: ( rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ) - // InternalRos.g:7936:2: rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 + // InternalRos.g:8749:1: ( rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 ) + // InternalRos.g:8750:2: rule__Subscriber__Group__4__Impl rule__Subscriber__Group__5 { pushFollow(FOLLOW_10); rule__Subscriber__Group__4__Impl(); @@ -24337,17 +26826,17 @@ public final void rule__Subscriber__Group__4() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__4__Impl" - // InternalRos.g:7943:1: rule__Subscriber__Group__4__Impl : ( 'message' ) ; + // InternalRos.g:8757:1: rule__Subscriber__Group__4__Impl : ( 'message' ) ; public final void rule__Subscriber__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7947:1: ( ( 'message' ) ) - // InternalRos.g:7948:1: ( 'message' ) + // InternalRos.g:8761:1: ( ( 'message' ) ) + // InternalRos.g:8762:1: ( 'message' ) { - // InternalRos.g:7948:1: ( 'message' ) - // InternalRos.g:7949:2: 'message' + // InternalRos.g:8762:1: ( 'message' ) + // InternalRos.g:8763:2: 'message' { before(grammarAccess.getSubscriberAccess().getMessageKeyword_4()); match(input,30,FOLLOW_2); @@ -24374,16 +26863,16 @@ public final void rule__Subscriber__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__5" - // InternalRos.g:7958:1: rule__Subscriber__Group__5 : rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ; + // InternalRos.g:8772:1: rule__Subscriber__Group__5 : rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ; public final void rule__Subscriber__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7962:1: ( rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ) - // InternalRos.g:7963:2: rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 + // InternalRos.g:8776:1: ( rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 ) + // InternalRos.g:8777:2: rule__Subscriber__Group__5__Impl rule__Subscriber__Group__6 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__Subscriber__Group__5__Impl(); state._fsp--; @@ -24412,21 +26901,21 @@ public final void rule__Subscriber__Group__5() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__5__Impl" - // InternalRos.g:7970:1: rule__Subscriber__Group__5__Impl : ( ( rule__Subscriber__MessageAssignment_5 ) ) ; + // InternalRos.g:8784:1: rule__Subscriber__Group__5__Impl : ( ( rule__Subscriber__MessageAssignment_5 ) ) ; public final void rule__Subscriber__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7974:1: ( ( ( rule__Subscriber__MessageAssignment_5 ) ) ) - // InternalRos.g:7975:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) + // InternalRos.g:8788:1: ( ( ( rule__Subscriber__MessageAssignment_5 ) ) ) + // InternalRos.g:8789:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) { - // InternalRos.g:7975:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) - // InternalRos.g:7976:2: ( rule__Subscriber__MessageAssignment_5 ) + // InternalRos.g:8789:1: ( ( rule__Subscriber__MessageAssignment_5 ) ) + // InternalRos.g:8790:2: ( rule__Subscriber__MessageAssignment_5 ) { before(grammarAccess.getSubscriberAccess().getMessageAssignment_5()); - // InternalRos.g:7977:2: ( rule__Subscriber__MessageAssignment_5 ) - // InternalRos.g:7977:3: rule__Subscriber__MessageAssignment_5 + // InternalRos.g:8791:2: ( rule__Subscriber__MessageAssignment_5 ) + // InternalRos.g:8791:3: rule__Subscriber__MessageAssignment_5 { pushFollow(FOLLOW_2); rule__Subscriber__MessageAssignment_5(); @@ -24459,16 +26948,16 @@ public final void rule__Subscriber__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__6" - // InternalRos.g:7985:1: rule__Subscriber__Group__6 : rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ; + // InternalRos.g:8799:1: rule__Subscriber__Group__6 : rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ; public final void rule__Subscriber__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:7989:1: ( rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ) - // InternalRos.g:7990:2: rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 + // InternalRos.g:8803:1: ( rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 ) + // InternalRos.g:8804:2: rule__Subscriber__Group__6__Impl rule__Subscriber__Group__7 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__Subscriber__Group__6__Impl(); state._fsp--; @@ -24497,29 +26986,29 @@ public final void rule__Subscriber__Group__6() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__6__Impl" - // InternalRos.g:7997:1: rule__Subscriber__Group__6__Impl : ( ( rule__Subscriber__Group_6__0 )? ) ; + // InternalRos.g:8811:1: rule__Subscriber__Group__6__Impl : ( ( rule__Subscriber__Group_6__0 )? ) ; public final void rule__Subscriber__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8001:1: ( ( ( rule__Subscriber__Group_6__0 )? ) ) - // InternalRos.g:8002:1: ( ( rule__Subscriber__Group_6__0 )? ) + // InternalRos.g:8815:1: ( ( ( rule__Subscriber__Group_6__0 )? ) ) + // InternalRos.g:8816:1: ( ( rule__Subscriber__Group_6__0 )? ) { - // InternalRos.g:8002:1: ( ( rule__Subscriber__Group_6__0 )? ) - // InternalRos.g:8003:2: ( rule__Subscriber__Group_6__0 )? + // InternalRos.g:8816:1: ( ( rule__Subscriber__Group_6__0 )? ) + // InternalRos.g:8817:2: ( rule__Subscriber__Group_6__0 )? { before(grammarAccess.getSubscriberAccess().getGroup_6()); - // InternalRos.g:8004:2: ( rule__Subscriber__Group_6__0 )? - int alt52=2; - int LA52_0 = input.LA(1); + // InternalRos.g:8818:2: ( rule__Subscriber__Group_6__0 )? + int alt59=2; + int LA59_0 = input.LA(1); - if ( (LA52_0==64) ) { - alt52=1; + if ( (LA59_0==65) ) { + alt59=1; } - switch (alt52) { + switch (alt59) { case 1 : - // InternalRos.g:8004:3: rule__Subscriber__Group_6__0 + // InternalRos.g:8818:3: rule__Subscriber__Group_6__0 { pushFollow(FOLLOW_2); rule__Subscriber__Group_6__0(); @@ -24555,14 +27044,14 @@ public final void rule__Subscriber__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group__7" - // InternalRos.g:8012:1: rule__Subscriber__Group__7 : rule__Subscriber__Group__7__Impl ; + // InternalRos.g:8826:1: rule__Subscriber__Group__7 : rule__Subscriber__Group__7__Impl ; public final void rule__Subscriber__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8016:1: ( rule__Subscriber__Group__7__Impl ) - // InternalRos.g:8017:2: rule__Subscriber__Group__7__Impl + // InternalRos.g:8830:1: ( rule__Subscriber__Group__7__Impl ) + // InternalRos.g:8831:2: rule__Subscriber__Group__7__Impl { pushFollow(FOLLOW_2); rule__Subscriber__Group__7__Impl(); @@ -24588,17 +27077,17 @@ public final void rule__Subscriber__Group__7() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group__7__Impl" - // InternalRos.g:8023:1: rule__Subscriber__Group__7__Impl : ( '}' ) ; + // InternalRos.g:8837:1: rule__Subscriber__Group__7__Impl : ( '}' ) ; public final void rule__Subscriber__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8027:1: ( ( '}' ) ) - // InternalRos.g:8028:1: ( '}' ) + // InternalRos.g:8841:1: ( ( '}' ) ) + // InternalRos.g:8842:1: ( '}' ) { - // InternalRos.g:8028:1: ( '}' ) - // InternalRos.g:8029:2: '}' + // InternalRos.g:8842:1: ( '}' ) + // InternalRos.g:8843:2: '}' { before(grammarAccess.getSubscriberAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -24625,16 +27114,16 @@ public final void rule__Subscriber__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__Subscriber__Group_6__0" - // InternalRos.g:8039:1: rule__Subscriber__Group_6__0 : rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ; + // InternalRos.g:8853:1: rule__Subscriber__Group_6__0 : rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ; public final void rule__Subscriber__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8043:1: ( rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ) - // InternalRos.g:8044:2: rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 + // InternalRos.g:8857:1: ( rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 ) + // InternalRos.g:8858:2: rule__Subscriber__Group_6__0__Impl rule__Subscriber__Group_6__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__Subscriber__Group_6__0__Impl(); state._fsp--; @@ -24663,20 +27152,20 @@ public final void rule__Subscriber__Group_6__0() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group_6__0__Impl" - // InternalRos.g:8051:1: rule__Subscriber__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:8865:1: rule__Subscriber__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__Subscriber__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8055:1: ( ( 'namespace' ) ) - // InternalRos.g:8056:1: ( 'namespace' ) + // InternalRos.g:8869:1: ( ( 'namespace' ) ) + // InternalRos.g:8870:1: ( 'namespace' ) { - // InternalRos.g:8056:1: ( 'namespace' ) - // InternalRos.g:8057:2: 'namespace' + // InternalRos.g:8870:1: ( 'namespace' ) + // InternalRos.g:8871:2: 'namespace' { before(grammarAccess.getSubscriberAccess().getNamespaceKeyword_6_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getSubscriberAccess().getNamespaceKeyword_6_0()); } @@ -24700,14 +27189,14 @@ public final void rule__Subscriber__Group_6__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__Subscriber__Group_6__1" - // InternalRos.g:8066:1: rule__Subscriber__Group_6__1 : rule__Subscriber__Group_6__1__Impl ; + // InternalRos.g:8880:1: rule__Subscriber__Group_6__1 : rule__Subscriber__Group_6__1__Impl ; public final void rule__Subscriber__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8070:1: ( rule__Subscriber__Group_6__1__Impl ) - // InternalRos.g:8071:2: rule__Subscriber__Group_6__1__Impl + // InternalRos.g:8884:1: ( rule__Subscriber__Group_6__1__Impl ) + // InternalRos.g:8885:2: rule__Subscriber__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__Subscriber__Group_6__1__Impl(); @@ -24733,21 +27222,21 @@ public final void rule__Subscriber__Group_6__1() throws RecognitionException { // $ANTLR start "rule__Subscriber__Group_6__1__Impl" - // InternalRos.g:8077:1: rule__Subscriber__Group_6__1__Impl : ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:8891:1: rule__Subscriber__Group_6__1__Impl : ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ; public final void rule__Subscriber__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8081:1: ( ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:8082:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8895:1: ( ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:8896:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:8082:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) - // InternalRos.g:8083:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) + // InternalRos.g:8896:1: ( ( rule__Subscriber__NamespaceAssignment_6_1 ) ) + // InternalRos.g:8897:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) { before(grammarAccess.getSubscriberAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:8084:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) - // InternalRos.g:8084:3: rule__Subscriber__NamespaceAssignment_6_1 + // InternalRos.g:8898:2: ( rule__Subscriber__NamespaceAssignment_6_1 ) + // InternalRos.g:8898:3: rule__Subscriber__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__Subscriber__NamespaceAssignment_6_1(); @@ -24780,14 +27269,14 @@ public final void rule__Subscriber__Group_6__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ServiceClient__Group__0" - // InternalRos.g:8093:1: rule__ServiceClient__Group__0 : rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ; + // InternalRos.g:8907:1: rule__ServiceClient__Group__0 : rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ; public final void rule__ServiceClient__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8097:1: ( rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ) - // InternalRos.g:8098:2: rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 + // InternalRos.g:8911:1: ( rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 ) + // InternalRos.g:8912:2: rule__ServiceClient__Group__0__Impl rule__ServiceClient__Group__1 { pushFollow(FOLLOW_4); rule__ServiceClient__Group__0__Impl(); @@ -24818,20 +27307,20 @@ public final void rule__ServiceClient__Group__0() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__0__Impl" - // InternalRos.g:8105:1: rule__ServiceClient__Group__0__Impl : ( 'ServiceClient' ) ; + // InternalRos.g:8919:1: rule__ServiceClient__Group__0__Impl : ( 'ServiceClient' ) ; public final void rule__ServiceClient__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8109:1: ( ( 'ServiceClient' ) ) - // InternalRos.g:8110:1: ( 'ServiceClient' ) + // InternalRos.g:8923:1: ( ( 'ServiceClient' ) ) + // InternalRos.g:8924:1: ( 'ServiceClient' ) { - // InternalRos.g:8110:1: ( 'ServiceClient' ) - // InternalRos.g:8111:2: 'ServiceClient' + // InternalRos.g:8924:1: ( 'ServiceClient' ) + // InternalRos.g:8925:2: 'ServiceClient' { before(grammarAccess.getServiceClientAccess().getServiceClientKeyword_0()); - match(input,67,FOLLOW_2); + match(input,68,FOLLOW_2); after(grammarAccess.getServiceClientAccess().getServiceClientKeyword_0()); } @@ -24855,16 +27344,16 @@ public final void rule__ServiceClient__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__1" - // InternalRos.g:8120:1: rule__ServiceClient__Group__1 : rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ; + // InternalRos.g:8934:1: rule__ServiceClient__Group__1 : rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ; public final void rule__ServiceClient__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8124:1: ( rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ) - // InternalRos.g:8125:2: rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 + // InternalRos.g:8938:1: ( rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 ) + // InternalRos.g:8939:2: rule__ServiceClient__Group__1__Impl rule__ServiceClient__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__ServiceClient__Group__1__Impl(); state._fsp--; @@ -24893,17 +27382,17 @@ public final void rule__ServiceClient__Group__1() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__1__Impl" - // InternalRos.g:8132:1: rule__ServiceClient__Group__1__Impl : ( '{' ) ; + // InternalRos.g:8946:1: rule__ServiceClient__Group__1__Impl : ( '{' ) ; public final void rule__ServiceClient__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8136:1: ( ( '{' ) ) - // InternalRos.g:8137:1: ( '{' ) + // InternalRos.g:8950:1: ( ( '{' ) ) + // InternalRos.g:8951:1: ( '{' ) { - // InternalRos.g:8137:1: ( '{' ) - // InternalRos.g:8138:2: '{' + // InternalRos.g:8951:1: ( '{' ) + // InternalRos.g:8952:2: '{' { before(grammarAccess.getServiceClientAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -24930,14 +27419,14 @@ public final void rule__ServiceClient__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__2" - // InternalRos.g:8147:1: rule__ServiceClient__Group__2 : rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ; + // InternalRos.g:8961:1: rule__ServiceClient__Group__2 : rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ; public final void rule__ServiceClient__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8151:1: ( rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ) - // InternalRos.g:8152:2: rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 + // InternalRos.g:8965:1: ( rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 ) + // InternalRos.g:8966:2: rule__ServiceClient__Group__2__Impl rule__ServiceClient__Group__3 { pushFollow(FOLLOW_10); rule__ServiceClient__Group__2__Impl(); @@ -24968,17 +27457,17 @@ public final void rule__ServiceClient__Group__2() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__2__Impl" - // InternalRos.g:8159:1: rule__ServiceClient__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:8973:1: rule__ServiceClient__Group__2__Impl : ( 'name' ) ; public final void rule__ServiceClient__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8163:1: ( ( 'name' ) ) - // InternalRos.g:8164:1: ( 'name' ) + // InternalRos.g:8977:1: ( ( 'name' ) ) + // InternalRos.g:8978:1: ( 'name' ) { - // InternalRos.g:8164:1: ( 'name' ) - // InternalRos.g:8165:2: 'name' + // InternalRos.g:8978:1: ( 'name' ) + // InternalRos.g:8979:2: 'name' { before(grammarAccess.getServiceClientAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -25005,16 +27494,16 @@ public final void rule__ServiceClient__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__3" - // InternalRos.g:8174:1: rule__ServiceClient__Group__3 : rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ; + // InternalRos.g:8988:1: rule__ServiceClient__Group__3 : rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ; public final void rule__ServiceClient__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8178:1: ( rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ) - // InternalRos.g:8179:2: rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 + // InternalRos.g:8992:1: ( rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 ) + // InternalRos.g:8993:2: rule__ServiceClient__Group__3__Impl rule__ServiceClient__Group__4 { - pushFollow(FOLLOW_37); + pushFollow(FOLLOW_38); rule__ServiceClient__Group__3__Impl(); state._fsp--; @@ -25043,21 +27532,21 @@ public final void rule__ServiceClient__Group__3() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__3__Impl" - // InternalRos.g:8186:1: rule__ServiceClient__Group__3__Impl : ( ( rule__ServiceClient__NameAssignment_3 ) ) ; + // InternalRos.g:9000:1: rule__ServiceClient__Group__3__Impl : ( ( rule__ServiceClient__NameAssignment_3 ) ) ; public final void rule__ServiceClient__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8190:1: ( ( ( rule__ServiceClient__NameAssignment_3 ) ) ) - // InternalRos.g:8191:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) + // InternalRos.g:9004:1: ( ( ( rule__ServiceClient__NameAssignment_3 ) ) ) + // InternalRos.g:9005:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) { - // InternalRos.g:8191:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) - // InternalRos.g:8192:2: ( rule__ServiceClient__NameAssignment_3 ) + // InternalRos.g:9005:1: ( ( rule__ServiceClient__NameAssignment_3 ) ) + // InternalRos.g:9006:2: ( rule__ServiceClient__NameAssignment_3 ) { before(grammarAccess.getServiceClientAccess().getNameAssignment_3()); - // InternalRos.g:8193:2: ( rule__ServiceClient__NameAssignment_3 ) - // InternalRos.g:8193:3: rule__ServiceClient__NameAssignment_3 + // InternalRos.g:9007:2: ( rule__ServiceClient__NameAssignment_3 ) + // InternalRos.g:9007:3: rule__ServiceClient__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ServiceClient__NameAssignment_3(); @@ -25090,14 +27579,14 @@ public final void rule__ServiceClient__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__4" - // InternalRos.g:8201:1: rule__ServiceClient__Group__4 : rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ; + // InternalRos.g:9015:1: rule__ServiceClient__Group__4 : rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ; public final void rule__ServiceClient__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8205:1: ( rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ) - // InternalRos.g:8206:2: rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 + // InternalRos.g:9019:1: ( rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 ) + // InternalRos.g:9020:2: rule__ServiceClient__Group__4__Impl rule__ServiceClient__Group__5 { pushFollow(FOLLOW_10); rule__ServiceClient__Group__4__Impl(); @@ -25128,17 +27617,17 @@ public final void rule__ServiceClient__Group__4() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__4__Impl" - // InternalRos.g:8213:1: rule__ServiceClient__Group__4__Impl : ( 'service' ) ; + // InternalRos.g:9027:1: rule__ServiceClient__Group__4__Impl : ( 'service' ) ; public final void rule__ServiceClient__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8217:1: ( ( 'service' ) ) - // InternalRos.g:8218:1: ( 'service' ) + // InternalRos.g:9031:1: ( ( 'service' ) ) + // InternalRos.g:9032:1: ( 'service' ) { - // InternalRos.g:8218:1: ( 'service' ) - // InternalRos.g:8219:2: 'service' + // InternalRos.g:9032:1: ( 'service' ) + // InternalRos.g:9033:2: 'service' { before(grammarAccess.getServiceClientAccess().getServiceKeyword_4()); match(input,35,FOLLOW_2); @@ -25165,16 +27654,16 @@ public final void rule__ServiceClient__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__5" - // InternalRos.g:8228:1: rule__ServiceClient__Group__5 : rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ; + // InternalRos.g:9042:1: rule__ServiceClient__Group__5 : rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ; public final void rule__ServiceClient__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8232:1: ( rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ) - // InternalRos.g:8233:2: rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 + // InternalRos.g:9046:1: ( rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 ) + // InternalRos.g:9047:2: rule__ServiceClient__Group__5__Impl rule__ServiceClient__Group__6 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ServiceClient__Group__5__Impl(); state._fsp--; @@ -25203,21 +27692,21 @@ public final void rule__ServiceClient__Group__5() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__5__Impl" - // InternalRos.g:8240:1: rule__ServiceClient__Group__5__Impl : ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ; + // InternalRos.g:9054:1: rule__ServiceClient__Group__5__Impl : ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ; public final void rule__ServiceClient__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8244:1: ( ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ) - // InternalRos.g:8245:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) + // InternalRos.g:9058:1: ( ( ( rule__ServiceClient__ServiceAssignment_5 ) ) ) + // InternalRos.g:9059:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) { - // InternalRos.g:8245:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) - // InternalRos.g:8246:2: ( rule__ServiceClient__ServiceAssignment_5 ) + // InternalRos.g:9059:1: ( ( rule__ServiceClient__ServiceAssignment_5 ) ) + // InternalRos.g:9060:2: ( rule__ServiceClient__ServiceAssignment_5 ) { before(grammarAccess.getServiceClientAccess().getServiceAssignment_5()); - // InternalRos.g:8247:2: ( rule__ServiceClient__ServiceAssignment_5 ) - // InternalRos.g:8247:3: rule__ServiceClient__ServiceAssignment_5 + // InternalRos.g:9061:2: ( rule__ServiceClient__ServiceAssignment_5 ) + // InternalRos.g:9061:3: rule__ServiceClient__ServiceAssignment_5 { pushFollow(FOLLOW_2); rule__ServiceClient__ServiceAssignment_5(); @@ -25250,16 +27739,16 @@ public final void rule__ServiceClient__Group__5__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__6" - // InternalRos.g:8255:1: rule__ServiceClient__Group__6 : rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ; + // InternalRos.g:9069:1: rule__ServiceClient__Group__6 : rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ; public final void rule__ServiceClient__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8259:1: ( rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ) - // InternalRos.g:8260:2: rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 + // InternalRos.g:9073:1: ( rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 ) + // InternalRos.g:9074:2: rule__ServiceClient__Group__6__Impl rule__ServiceClient__Group__7 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ServiceClient__Group__6__Impl(); state._fsp--; @@ -25288,29 +27777,29 @@ public final void rule__ServiceClient__Group__6() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__6__Impl" - // InternalRos.g:8267:1: rule__ServiceClient__Group__6__Impl : ( ( rule__ServiceClient__Group_6__0 )? ) ; + // InternalRos.g:9081:1: rule__ServiceClient__Group__6__Impl : ( ( rule__ServiceClient__Group_6__0 )? ) ; public final void rule__ServiceClient__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8271:1: ( ( ( rule__ServiceClient__Group_6__0 )? ) ) - // InternalRos.g:8272:1: ( ( rule__ServiceClient__Group_6__0 )? ) + // InternalRos.g:9085:1: ( ( ( rule__ServiceClient__Group_6__0 )? ) ) + // InternalRos.g:9086:1: ( ( rule__ServiceClient__Group_6__0 )? ) { - // InternalRos.g:8272:1: ( ( rule__ServiceClient__Group_6__0 )? ) - // InternalRos.g:8273:2: ( rule__ServiceClient__Group_6__0 )? + // InternalRos.g:9086:1: ( ( rule__ServiceClient__Group_6__0 )? ) + // InternalRos.g:9087:2: ( rule__ServiceClient__Group_6__0 )? { before(grammarAccess.getServiceClientAccess().getGroup_6()); - // InternalRos.g:8274:2: ( rule__ServiceClient__Group_6__0 )? - int alt53=2; - int LA53_0 = input.LA(1); + // InternalRos.g:9088:2: ( rule__ServiceClient__Group_6__0 )? + int alt60=2; + int LA60_0 = input.LA(1); - if ( (LA53_0==64) ) { - alt53=1; + if ( (LA60_0==65) ) { + alt60=1; } - switch (alt53) { + switch (alt60) { case 1 : - // InternalRos.g:8274:3: rule__ServiceClient__Group_6__0 + // InternalRos.g:9088:3: rule__ServiceClient__Group_6__0 { pushFollow(FOLLOW_2); rule__ServiceClient__Group_6__0(); @@ -25346,14 +27835,14 @@ public final void rule__ServiceClient__Group__6__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group__7" - // InternalRos.g:8282:1: rule__ServiceClient__Group__7 : rule__ServiceClient__Group__7__Impl ; + // InternalRos.g:9096:1: rule__ServiceClient__Group__7 : rule__ServiceClient__Group__7__Impl ; public final void rule__ServiceClient__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8286:1: ( rule__ServiceClient__Group__7__Impl ) - // InternalRos.g:8287:2: rule__ServiceClient__Group__7__Impl + // InternalRos.g:9100:1: ( rule__ServiceClient__Group__7__Impl ) + // InternalRos.g:9101:2: rule__ServiceClient__Group__7__Impl { pushFollow(FOLLOW_2); rule__ServiceClient__Group__7__Impl(); @@ -25379,17 +27868,17 @@ public final void rule__ServiceClient__Group__7() throws RecognitionException { // $ANTLR start "rule__ServiceClient__Group__7__Impl" - // InternalRos.g:8293:1: rule__ServiceClient__Group__7__Impl : ( '}' ) ; + // InternalRos.g:9107:1: rule__ServiceClient__Group__7__Impl : ( '}' ) ; public final void rule__ServiceClient__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8297:1: ( ( '}' ) ) - // InternalRos.g:8298:1: ( '}' ) + // InternalRos.g:9111:1: ( ( '}' ) ) + // InternalRos.g:9112:1: ( '}' ) { - // InternalRos.g:8298:1: ( '}' ) - // InternalRos.g:8299:2: '}' + // InternalRos.g:9112:1: ( '}' ) + // InternalRos.g:9113:2: '}' { before(grammarAccess.getServiceClientAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -25416,16 +27905,16 @@ public final void rule__ServiceClient__Group__7__Impl() throws RecognitionExcept // $ANTLR start "rule__ServiceClient__Group_6__0" - // InternalRos.g:8309:1: rule__ServiceClient__Group_6__0 : rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ; + // InternalRos.g:9123:1: rule__ServiceClient__Group_6__0 : rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ; public final void rule__ServiceClient__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8313:1: ( rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ) - // InternalRos.g:8314:2: rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 + // InternalRos.g:9127:1: ( rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 ) + // InternalRos.g:9128:2: rule__ServiceClient__Group_6__0__Impl rule__ServiceClient__Group_6__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__ServiceClient__Group_6__0__Impl(); state._fsp--; @@ -25454,20 +27943,20 @@ public final void rule__ServiceClient__Group_6__0() throws RecognitionException // $ANTLR start "rule__ServiceClient__Group_6__0__Impl" - // InternalRos.g:8321:1: rule__ServiceClient__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:9135:1: rule__ServiceClient__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ServiceClient__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8325:1: ( ( 'namespace' ) ) - // InternalRos.g:8326:1: ( 'namespace' ) + // InternalRos.g:9139:1: ( ( 'namespace' ) ) + // InternalRos.g:9140:1: ( 'namespace' ) { - // InternalRos.g:8326:1: ( 'namespace' ) - // InternalRos.g:8327:2: 'namespace' + // InternalRos.g:9140:1: ( 'namespace' ) + // InternalRos.g:9141:2: 'namespace' { before(grammarAccess.getServiceClientAccess().getNamespaceKeyword_6_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getServiceClientAccess().getNamespaceKeyword_6_0()); } @@ -25491,14 +27980,14 @@ public final void rule__ServiceClient__Group_6__0__Impl() throws RecognitionExce // $ANTLR start "rule__ServiceClient__Group_6__1" - // InternalRos.g:8336:1: rule__ServiceClient__Group_6__1 : rule__ServiceClient__Group_6__1__Impl ; + // InternalRos.g:9150:1: rule__ServiceClient__Group_6__1 : rule__ServiceClient__Group_6__1__Impl ; public final void rule__ServiceClient__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8340:1: ( rule__ServiceClient__Group_6__1__Impl ) - // InternalRos.g:8341:2: rule__ServiceClient__Group_6__1__Impl + // InternalRos.g:9154:1: ( rule__ServiceClient__Group_6__1__Impl ) + // InternalRos.g:9155:2: rule__ServiceClient__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ServiceClient__Group_6__1__Impl(); @@ -25524,21 +28013,21 @@ public final void rule__ServiceClient__Group_6__1() throws RecognitionException // $ANTLR start "rule__ServiceClient__Group_6__1__Impl" - // InternalRos.g:8347:1: rule__ServiceClient__Group_6__1__Impl : ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:9161:1: rule__ServiceClient__Group_6__1__Impl : ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ; public final void rule__ServiceClient__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8351:1: ( ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:8352:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:9165:1: ( ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:9166:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:8352:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) - // InternalRos.g:8353:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) + // InternalRos.g:9166:1: ( ( rule__ServiceClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:9167:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) { before(grammarAccess.getServiceClientAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:8354:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) - // InternalRos.g:8354:3: rule__ServiceClient__NamespaceAssignment_6_1 + // InternalRos.g:9168:2: ( rule__ServiceClient__NamespaceAssignment_6_1 ) + // InternalRos.g:9168:3: rule__ServiceClient__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ServiceClient__NamespaceAssignment_6_1(); @@ -25571,14 +28060,14 @@ public final void rule__ServiceClient__Group_6__1__Impl() throws RecognitionExce // $ANTLR start "rule__ActionServer__Group__0" - // InternalRos.g:8363:1: rule__ActionServer__Group__0 : rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ; + // InternalRos.g:9177:1: rule__ActionServer__Group__0 : rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ; public final void rule__ActionServer__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8367:1: ( rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ) - // InternalRos.g:8368:2: rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 + // InternalRos.g:9181:1: ( rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 ) + // InternalRos.g:9182:2: rule__ActionServer__Group__0__Impl rule__ActionServer__Group__1 { pushFollow(FOLLOW_4); rule__ActionServer__Group__0__Impl(); @@ -25609,20 +28098,20 @@ public final void rule__ActionServer__Group__0() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__0__Impl" - // InternalRos.g:8375:1: rule__ActionServer__Group__0__Impl : ( 'ActionServer' ) ; + // InternalRos.g:9189:1: rule__ActionServer__Group__0__Impl : ( 'ActionServer' ) ; public final void rule__ActionServer__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8379:1: ( ( 'ActionServer' ) ) - // InternalRos.g:8380:1: ( 'ActionServer' ) + // InternalRos.g:9193:1: ( ( 'ActionServer' ) ) + // InternalRos.g:9194:1: ( 'ActionServer' ) { - // InternalRos.g:8380:1: ( 'ActionServer' ) - // InternalRos.g:8381:2: 'ActionServer' + // InternalRos.g:9194:1: ( 'ActionServer' ) + // InternalRos.g:9195:2: 'ActionServer' { before(grammarAccess.getActionServerAccess().getActionServerKeyword_0()); - match(input,68,FOLLOW_2); + match(input,69,FOLLOW_2); after(grammarAccess.getActionServerAccess().getActionServerKeyword_0()); } @@ -25646,16 +28135,16 @@ public final void rule__ActionServer__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__1" - // InternalRos.g:8390:1: rule__ActionServer__Group__1 : rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ; + // InternalRos.g:9204:1: rule__ActionServer__Group__1 : rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ; public final void rule__ActionServer__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8394:1: ( rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ) - // InternalRos.g:8395:2: rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 + // InternalRos.g:9208:1: ( rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 ) + // InternalRos.g:9209:2: rule__ActionServer__Group__1__Impl rule__ActionServer__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__ActionServer__Group__1__Impl(); state._fsp--; @@ -25684,17 +28173,17 @@ public final void rule__ActionServer__Group__1() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__1__Impl" - // InternalRos.g:8402:1: rule__ActionServer__Group__1__Impl : ( '{' ) ; + // InternalRos.g:9216:1: rule__ActionServer__Group__1__Impl : ( '{' ) ; public final void rule__ActionServer__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8406:1: ( ( '{' ) ) - // InternalRos.g:8407:1: ( '{' ) + // InternalRos.g:9220:1: ( ( '{' ) ) + // InternalRos.g:9221:1: ( '{' ) { - // InternalRos.g:8407:1: ( '{' ) - // InternalRos.g:8408:2: '{' + // InternalRos.g:9221:1: ( '{' ) + // InternalRos.g:9222:2: '{' { before(grammarAccess.getActionServerAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -25721,14 +28210,14 @@ public final void rule__ActionServer__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__2" - // InternalRos.g:8417:1: rule__ActionServer__Group__2 : rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ; + // InternalRos.g:9231:1: rule__ActionServer__Group__2 : rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ; public final void rule__ActionServer__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8421:1: ( rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ) - // InternalRos.g:8422:2: rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 + // InternalRos.g:9235:1: ( rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 ) + // InternalRos.g:9236:2: rule__ActionServer__Group__2__Impl rule__ActionServer__Group__3 { pushFollow(FOLLOW_10); rule__ActionServer__Group__2__Impl(); @@ -25759,17 +28248,17 @@ public final void rule__ActionServer__Group__2() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__2__Impl" - // InternalRos.g:8429:1: rule__ActionServer__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:9243:1: rule__ActionServer__Group__2__Impl : ( 'name' ) ; public final void rule__ActionServer__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8433:1: ( ( 'name' ) ) - // InternalRos.g:8434:1: ( 'name' ) + // InternalRos.g:9247:1: ( ( 'name' ) ) + // InternalRos.g:9248:1: ( 'name' ) { - // InternalRos.g:8434:1: ( 'name' ) - // InternalRos.g:8435:2: 'name' + // InternalRos.g:9248:1: ( 'name' ) + // InternalRos.g:9249:2: 'name' { before(grammarAccess.getActionServerAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -25796,16 +28285,16 @@ public final void rule__ActionServer__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__3" - // InternalRos.g:8444:1: rule__ActionServer__Group__3 : rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ; + // InternalRos.g:9258:1: rule__ActionServer__Group__3 : rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ; public final void rule__ActionServer__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8448:1: ( rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ) - // InternalRos.g:8449:2: rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 + // InternalRos.g:9262:1: ( rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 ) + // InternalRos.g:9263:2: rule__ActionServer__Group__3__Impl rule__ActionServer__Group__4 { - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_42); rule__ActionServer__Group__3__Impl(); state._fsp--; @@ -25834,21 +28323,21 @@ public final void rule__ActionServer__Group__3() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__3__Impl" - // InternalRos.g:8456:1: rule__ActionServer__Group__3__Impl : ( ( rule__ActionServer__NameAssignment_3 ) ) ; + // InternalRos.g:9270:1: rule__ActionServer__Group__3__Impl : ( ( rule__ActionServer__NameAssignment_3 ) ) ; public final void rule__ActionServer__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8460:1: ( ( ( rule__ActionServer__NameAssignment_3 ) ) ) - // InternalRos.g:8461:1: ( ( rule__ActionServer__NameAssignment_3 ) ) + // InternalRos.g:9274:1: ( ( ( rule__ActionServer__NameAssignment_3 ) ) ) + // InternalRos.g:9275:1: ( ( rule__ActionServer__NameAssignment_3 ) ) { - // InternalRos.g:8461:1: ( ( rule__ActionServer__NameAssignment_3 ) ) - // InternalRos.g:8462:2: ( rule__ActionServer__NameAssignment_3 ) + // InternalRos.g:9275:1: ( ( rule__ActionServer__NameAssignment_3 ) ) + // InternalRos.g:9276:2: ( rule__ActionServer__NameAssignment_3 ) { before(grammarAccess.getActionServerAccess().getNameAssignment_3()); - // InternalRos.g:8463:2: ( rule__ActionServer__NameAssignment_3 ) - // InternalRos.g:8463:3: rule__ActionServer__NameAssignment_3 + // InternalRos.g:9277:2: ( rule__ActionServer__NameAssignment_3 ) + // InternalRos.g:9277:3: rule__ActionServer__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ActionServer__NameAssignment_3(); @@ -25881,14 +28370,14 @@ public final void rule__ActionServer__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__4" - // InternalRos.g:8471:1: rule__ActionServer__Group__4 : rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ; + // InternalRos.g:9285:1: rule__ActionServer__Group__4 : rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ; public final void rule__ActionServer__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8475:1: ( rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ) - // InternalRos.g:8476:2: rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 + // InternalRos.g:9289:1: ( rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 ) + // InternalRos.g:9290:2: rule__ActionServer__Group__4__Impl rule__ActionServer__Group__5 { pushFollow(FOLLOW_10); rule__ActionServer__Group__4__Impl(); @@ -25919,17 +28408,17 @@ public final void rule__ActionServer__Group__4() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__4__Impl" - // InternalRos.g:8483:1: rule__ActionServer__Group__4__Impl : ( 'action' ) ; + // InternalRos.g:9297:1: rule__ActionServer__Group__4__Impl : ( 'action' ) ; public final void rule__ActionServer__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8487:1: ( ( 'action' ) ) - // InternalRos.g:8488:1: ( 'action' ) + // InternalRos.g:9301:1: ( ( 'action' ) ) + // InternalRos.g:9302:1: ( 'action' ) { - // InternalRos.g:8488:1: ( 'action' ) - // InternalRos.g:8489:2: 'action' + // InternalRos.g:9302:1: ( 'action' ) + // InternalRos.g:9303:2: 'action' { before(grammarAccess.getActionServerAccess().getActionKeyword_4()); match(input,37,FOLLOW_2); @@ -25956,16 +28445,16 @@ public final void rule__ActionServer__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__5" - // InternalRos.g:8498:1: rule__ActionServer__Group__5 : rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ; + // InternalRos.g:9312:1: rule__ActionServer__Group__5 : rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ; public final void rule__ActionServer__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8502:1: ( rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ) - // InternalRos.g:8503:2: rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 + // InternalRos.g:9316:1: ( rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 ) + // InternalRos.g:9317:2: rule__ActionServer__Group__5__Impl rule__ActionServer__Group__6 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ActionServer__Group__5__Impl(); state._fsp--; @@ -25994,21 +28483,21 @@ public final void rule__ActionServer__Group__5() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__5__Impl" - // InternalRos.g:8510:1: rule__ActionServer__Group__5__Impl : ( ( rule__ActionServer__ActionAssignment_5 ) ) ; + // InternalRos.g:9324:1: rule__ActionServer__Group__5__Impl : ( ( rule__ActionServer__ActionAssignment_5 ) ) ; public final void rule__ActionServer__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8514:1: ( ( ( rule__ActionServer__ActionAssignment_5 ) ) ) - // InternalRos.g:8515:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) + // InternalRos.g:9328:1: ( ( ( rule__ActionServer__ActionAssignment_5 ) ) ) + // InternalRos.g:9329:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) { - // InternalRos.g:8515:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) - // InternalRos.g:8516:2: ( rule__ActionServer__ActionAssignment_5 ) + // InternalRos.g:9329:1: ( ( rule__ActionServer__ActionAssignment_5 ) ) + // InternalRos.g:9330:2: ( rule__ActionServer__ActionAssignment_5 ) { before(grammarAccess.getActionServerAccess().getActionAssignment_5()); - // InternalRos.g:8517:2: ( rule__ActionServer__ActionAssignment_5 ) - // InternalRos.g:8517:3: rule__ActionServer__ActionAssignment_5 + // InternalRos.g:9331:2: ( rule__ActionServer__ActionAssignment_5 ) + // InternalRos.g:9331:3: rule__ActionServer__ActionAssignment_5 { pushFollow(FOLLOW_2); rule__ActionServer__ActionAssignment_5(); @@ -26041,16 +28530,16 @@ public final void rule__ActionServer__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__6" - // InternalRos.g:8525:1: rule__ActionServer__Group__6 : rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ; + // InternalRos.g:9339:1: rule__ActionServer__Group__6 : rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ; public final void rule__ActionServer__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8529:1: ( rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ) - // InternalRos.g:8530:2: rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 + // InternalRos.g:9343:1: ( rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 ) + // InternalRos.g:9344:2: rule__ActionServer__Group__6__Impl rule__ActionServer__Group__7 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ActionServer__Group__6__Impl(); state._fsp--; @@ -26079,29 +28568,29 @@ public final void rule__ActionServer__Group__6() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__6__Impl" - // InternalRos.g:8537:1: rule__ActionServer__Group__6__Impl : ( ( rule__ActionServer__Group_6__0 )? ) ; + // InternalRos.g:9351:1: rule__ActionServer__Group__6__Impl : ( ( rule__ActionServer__Group_6__0 )? ) ; public final void rule__ActionServer__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8541:1: ( ( ( rule__ActionServer__Group_6__0 )? ) ) - // InternalRos.g:8542:1: ( ( rule__ActionServer__Group_6__0 )? ) + // InternalRos.g:9355:1: ( ( ( rule__ActionServer__Group_6__0 )? ) ) + // InternalRos.g:9356:1: ( ( rule__ActionServer__Group_6__0 )? ) { - // InternalRos.g:8542:1: ( ( rule__ActionServer__Group_6__0 )? ) - // InternalRos.g:8543:2: ( rule__ActionServer__Group_6__0 )? + // InternalRos.g:9356:1: ( ( rule__ActionServer__Group_6__0 )? ) + // InternalRos.g:9357:2: ( rule__ActionServer__Group_6__0 )? { before(grammarAccess.getActionServerAccess().getGroup_6()); - // InternalRos.g:8544:2: ( rule__ActionServer__Group_6__0 )? - int alt54=2; - int LA54_0 = input.LA(1); + // InternalRos.g:9358:2: ( rule__ActionServer__Group_6__0 )? + int alt61=2; + int LA61_0 = input.LA(1); - if ( (LA54_0==64) ) { - alt54=1; + if ( (LA61_0==65) ) { + alt61=1; } - switch (alt54) { + switch (alt61) { case 1 : - // InternalRos.g:8544:3: rule__ActionServer__Group_6__0 + // InternalRos.g:9358:3: rule__ActionServer__Group_6__0 { pushFollow(FOLLOW_2); rule__ActionServer__Group_6__0(); @@ -26137,14 +28626,14 @@ public final void rule__ActionServer__Group__6__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group__7" - // InternalRos.g:8552:1: rule__ActionServer__Group__7 : rule__ActionServer__Group__7__Impl ; + // InternalRos.g:9366:1: rule__ActionServer__Group__7 : rule__ActionServer__Group__7__Impl ; public final void rule__ActionServer__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8556:1: ( rule__ActionServer__Group__7__Impl ) - // InternalRos.g:8557:2: rule__ActionServer__Group__7__Impl + // InternalRos.g:9370:1: ( rule__ActionServer__Group__7__Impl ) + // InternalRos.g:9371:2: rule__ActionServer__Group__7__Impl { pushFollow(FOLLOW_2); rule__ActionServer__Group__7__Impl(); @@ -26170,17 +28659,17 @@ public final void rule__ActionServer__Group__7() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group__7__Impl" - // InternalRos.g:8563:1: rule__ActionServer__Group__7__Impl : ( '}' ) ; + // InternalRos.g:9377:1: rule__ActionServer__Group__7__Impl : ( '}' ) ; public final void rule__ActionServer__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8567:1: ( ( '}' ) ) - // InternalRos.g:8568:1: ( '}' ) + // InternalRos.g:9381:1: ( ( '}' ) ) + // InternalRos.g:9382:1: ( '}' ) { - // InternalRos.g:8568:1: ( '}' ) - // InternalRos.g:8569:2: '}' + // InternalRos.g:9382:1: ( '}' ) + // InternalRos.g:9383:2: '}' { before(grammarAccess.getActionServerAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -26207,16 +28696,16 @@ public final void rule__ActionServer__Group__7__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionServer__Group_6__0" - // InternalRos.g:8579:1: rule__ActionServer__Group_6__0 : rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ; + // InternalRos.g:9393:1: rule__ActionServer__Group_6__0 : rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ; public final void rule__ActionServer__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8583:1: ( rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ) - // InternalRos.g:8584:2: rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 + // InternalRos.g:9397:1: ( rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 ) + // InternalRos.g:9398:2: rule__ActionServer__Group_6__0__Impl rule__ActionServer__Group_6__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__ActionServer__Group_6__0__Impl(); state._fsp--; @@ -26245,20 +28734,20 @@ public final void rule__ActionServer__Group_6__0() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group_6__0__Impl" - // InternalRos.g:8591:1: rule__ActionServer__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:9405:1: rule__ActionServer__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ActionServer__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8595:1: ( ( 'namespace' ) ) - // InternalRos.g:8596:1: ( 'namespace' ) + // InternalRos.g:9409:1: ( ( 'namespace' ) ) + // InternalRos.g:9410:1: ( 'namespace' ) { - // InternalRos.g:8596:1: ( 'namespace' ) - // InternalRos.g:8597:2: 'namespace' + // InternalRos.g:9410:1: ( 'namespace' ) + // InternalRos.g:9411:2: 'namespace' { before(grammarAccess.getActionServerAccess().getNamespaceKeyword_6_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getActionServerAccess().getNamespaceKeyword_6_0()); } @@ -26282,14 +28771,14 @@ public final void rule__ActionServer__Group_6__0__Impl() throws RecognitionExcep // $ANTLR start "rule__ActionServer__Group_6__1" - // InternalRos.g:8606:1: rule__ActionServer__Group_6__1 : rule__ActionServer__Group_6__1__Impl ; + // InternalRos.g:9420:1: rule__ActionServer__Group_6__1 : rule__ActionServer__Group_6__1__Impl ; public final void rule__ActionServer__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8610:1: ( rule__ActionServer__Group_6__1__Impl ) - // InternalRos.g:8611:2: rule__ActionServer__Group_6__1__Impl + // InternalRos.g:9424:1: ( rule__ActionServer__Group_6__1__Impl ) + // InternalRos.g:9425:2: rule__ActionServer__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ActionServer__Group_6__1__Impl(); @@ -26315,21 +28804,21 @@ public final void rule__ActionServer__Group_6__1() throws RecognitionException { // $ANTLR start "rule__ActionServer__Group_6__1__Impl" - // InternalRos.g:8617:1: rule__ActionServer__Group_6__1__Impl : ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:9431:1: rule__ActionServer__Group_6__1__Impl : ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ; public final void rule__ActionServer__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8621:1: ( ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:8622:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:9435:1: ( ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:9436:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:8622:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) - // InternalRos.g:8623:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) + // InternalRos.g:9436:1: ( ( rule__ActionServer__NamespaceAssignment_6_1 ) ) + // InternalRos.g:9437:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) { before(grammarAccess.getActionServerAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:8624:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) - // InternalRos.g:8624:3: rule__ActionServer__NamespaceAssignment_6_1 + // InternalRos.g:9438:2: ( rule__ActionServer__NamespaceAssignment_6_1 ) + // InternalRos.g:9438:3: rule__ActionServer__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ActionServer__NamespaceAssignment_6_1(); @@ -26362,14 +28851,14 @@ public final void rule__ActionServer__Group_6__1__Impl() throws RecognitionExcep // $ANTLR start "rule__ActionClient__Group__0" - // InternalRos.g:8633:1: rule__ActionClient__Group__0 : rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ; + // InternalRos.g:9447:1: rule__ActionClient__Group__0 : rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ; public final void rule__ActionClient__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8637:1: ( rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ) - // InternalRos.g:8638:2: rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 + // InternalRos.g:9451:1: ( rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 ) + // InternalRos.g:9452:2: rule__ActionClient__Group__0__Impl rule__ActionClient__Group__1 { pushFollow(FOLLOW_4); rule__ActionClient__Group__0__Impl(); @@ -26400,20 +28889,20 @@ public final void rule__ActionClient__Group__0() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__0__Impl" - // InternalRos.g:8645:1: rule__ActionClient__Group__0__Impl : ( 'ActionClient' ) ; + // InternalRos.g:9459:1: rule__ActionClient__Group__0__Impl : ( 'ActionClient' ) ; public final void rule__ActionClient__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8649:1: ( ( 'ActionClient' ) ) - // InternalRos.g:8650:1: ( 'ActionClient' ) + // InternalRos.g:9463:1: ( ( 'ActionClient' ) ) + // InternalRos.g:9464:1: ( 'ActionClient' ) { - // InternalRos.g:8650:1: ( 'ActionClient' ) - // InternalRos.g:8651:2: 'ActionClient' + // InternalRos.g:9464:1: ( 'ActionClient' ) + // InternalRos.g:9465:2: 'ActionClient' { before(grammarAccess.getActionClientAccess().getActionClientKeyword_0()); - match(input,69,FOLLOW_2); + match(input,70,FOLLOW_2); after(grammarAccess.getActionClientAccess().getActionClientKeyword_0()); } @@ -26437,16 +28926,16 @@ public final void rule__ActionClient__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__1" - // InternalRos.g:8660:1: rule__ActionClient__Group__1 : rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ; + // InternalRos.g:9474:1: rule__ActionClient__Group__1 : rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ; public final void rule__ActionClient__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8664:1: ( rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ) - // InternalRos.g:8665:2: rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 + // InternalRos.g:9478:1: ( rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 ) + // InternalRos.g:9479:2: rule__ActionClient__Group__1__Impl rule__ActionClient__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__ActionClient__Group__1__Impl(); state._fsp--; @@ -26475,17 +28964,17 @@ public final void rule__ActionClient__Group__1() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__1__Impl" - // InternalRos.g:8672:1: rule__ActionClient__Group__1__Impl : ( '{' ) ; + // InternalRos.g:9486:1: rule__ActionClient__Group__1__Impl : ( '{' ) ; public final void rule__ActionClient__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8676:1: ( ( '{' ) ) - // InternalRos.g:8677:1: ( '{' ) + // InternalRos.g:9490:1: ( ( '{' ) ) + // InternalRos.g:9491:1: ( '{' ) { - // InternalRos.g:8677:1: ( '{' ) - // InternalRos.g:8678:2: '{' + // InternalRos.g:9491:1: ( '{' ) + // InternalRos.g:9492:2: '{' { before(grammarAccess.getActionClientAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -26512,14 +29001,14 @@ public final void rule__ActionClient__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__2" - // InternalRos.g:8687:1: rule__ActionClient__Group__2 : rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ; + // InternalRos.g:9501:1: rule__ActionClient__Group__2 : rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ; public final void rule__ActionClient__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8691:1: ( rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ) - // InternalRos.g:8692:2: rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 + // InternalRos.g:9505:1: ( rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 ) + // InternalRos.g:9506:2: rule__ActionClient__Group__2__Impl rule__ActionClient__Group__3 { pushFollow(FOLLOW_10); rule__ActionClient__Group__2__Impl(); @@ -26550,17 +29039,17 @@ public final void rule__ActionClient__Group__2() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__2__Impl" - // InternalRos.g:8699:1: rule__ActionClient__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:9513:1: rule__ActionClient__Group__2__Impl : ( 'name' ) ; public final void rule__ActionClient__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8703:1: ( ( 'name' ) ) - // InternalRos.g:8704:1: ( 'name' ) + // InternalRos.g:9517:1: ( ( 'name' ) ) + // InternalRos.g:9518:1: ( 'name' ) { - // InternalRos.g:8704:1: ( 'name' ) - // InternalRos.g:8705:2: 'name' + // InternalRos.g:9518:1: ( 'name' ) + // InternalRos.g:9519:2: 'name' { before(grammarAccess.getActionClientAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -26587,16 +29076,16 @@ public final void rule__ActionClient__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__3" - // InternalRos.g:8714:1: rule__ActionClient__Group__3 : rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ; + // InternalRos.g:9528:1: rule__ActionClient__Group__3 : rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ; public final void rule__ActionClient__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8718:1: ( rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ) - // InternalRos.g:8719:2: rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 + // InternalRos.g:9532:1: ( rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 ) + // InternalRos.g:9533:2: rule__ActionClient__Group__3__Impl rule__ActionClient__Group__4 { - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_42); rule__ActionClient__Group__3__Impl(); state._fsp--; @@ -26625,21 +29114,21 @@ public final void rule__ActionClient__Group__3() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__3__Impl" - // InternalRos.g:8726:1: rule__ActionClient__Group__3__Impl : ( ( rule__ActionClient__NameAssignment_3 ) ) ; + // InternalRos.g:9540:1: rule__ActionClient__Group__3__Impl : ( ( rule__ActionClient__NameAssignment_3 ) ) ; public final void rule__ActionClient__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8730:1: ( ( ( rule__ActionClient__NameAssignment_3 ) ) ) - // InternalRos.g:8731:1: ( ( rule__ActionClient__NameAssignment_3 ) ) + // InternalRos.g:9544:1: ( ( ( rule__ActionClient__NameAssignment_3 ) ) ) + // InternalRos.g:9545:1: ( ( rule__ActionClient__NameAssignment_3 ) ) { - // InternalRos.g:8731:1: ( ( rule__ActionClient__NameAssignment_3 ) ) - // InternalRos.g:8732:2: ( rule__ActionClient__NameAssignment_3 ) + // InternalRos.g:9545:1: ( ( rule__ActionClient__NameAssignment_3 ) ) + // InternalRos.g:9546:2: ( rule__ActionClient__NameAssignment_3 ) { before(grammarAccess.getActionClientAccess().getNameAssignment_3()); - // InternalRos.g:8733:2: ( rule__ActionClient__NameAssignment_3 ) - // InternalRos.g:8733:3: rule__ActionClient__NameAssignment_3 + // InternalRos.g:9547:2: ( rule__ActionClient__NameAssignment_3 ) + // InternalRos.g:9547:3: rule__ActionClient__NameAssignment_3 { pushFollow(FOLLOW_2); rule__ActionClient__NameAssignment_3(); @@ -26672,14 +29161,14 @@ public final void rule__ActionClient__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__4" - // InternalRos.g:8741:1: rule__ActionClient__Group__4 : rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ; + // InternalRos.g:9555:1: rule__ActionClient__Group__4 : rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ; public final void rule__ActionClient__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8745:1: ( rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ) - // InternalRos.g:8746:2: rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 + // InternalRos.g:9559:1: ( rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 ) + // InternalRos.g:9560:2: rule__ActionClient__Group__4__Impl rule__ActionClient__Group__5 { pushFollow(FOLLOW_10); rule__ActionClient__Group__4__Impl(); @@ -26710,17 +29199,17 @@ public final void rule__ActionClient__Group__4() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__4__Impl" - // InternalRos.g:8753:1: rule__ActionClient__Group__4__Impl : ( 'action' ) ; + // InternalRos.g:9567:1: rule__ActionClient__Group__4__Impl : ( 'action' ) ; public final void rule__ActionClient__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8757:1: ( ( 'action' ) ) - // InternalRos.g:8758:1: ( 'action' ) + // InternalRos.g:9571:1: ( ( 'action' ) ) + // InternalRos.g:9572:1: ( 'action' ) { - // InternalRos.g:8758:1: ( 'action' ) - // InternalRos.g:8759:2: 'action' + // InternalRos.g:9572:1: ( 'action' ) + // InternalRos.g:9573:2: 'action' { before(grammarAccess.getActionClientAccess().getActionKeyword_4()); match(input,37,FOLLOW_2); @@ -26747,16 +29236,16 @@ public final void rule__ActionClient__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__5" - // InternalRos.g:8768:1: rule__ActionClient__Group__5 : rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ; + // InternalRos.g:9582:1: rule__ActionClient__Group__5 : rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ; public final void rule__ActionClient__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8772:1: ( rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ) - // InternalRos.g:8773:2: rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 + // InternalRos.g:9586:1: ( rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 ) + // InternalRos.g:9587:2: rule__ActionClient__Group__5__Impl rule__ActionClient__Group__6 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ActionClient__Group__5__Impl(); state._fsp--; @@ -26785,21 +29274,21 @@ public final void rule__ActionClient__Group__5() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__5__Impl" - // InternalRos.g:8780:1: rule__ActionClient__Group__5__Impl : ( ( rule__ActionClient__ActionAssignment_5 ) ) ; + // InternalRos.g:9594:1: rule__ActionClient__Group__5__Impl : ( ( rule__ActionClient__ActionAssignment_5 ) ) ; public final void rule__ActionClient__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8784:1: ( ( ( rule__ActionClient__ActionAssignment_5 ) ) ) - // InternalRos.g:8785:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) + // InternalRos.g:9598:1: ( ( ( rule__ActionClient__ActionAssignment_5 ) ) ) + // InternalRos.g:9599:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) { - // InternalRos.g:8785:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) - // InternalRos.g:8786:2: ( rule__ActionClient__ActionAssignment_5 ) + // InternalRos.g:9599:1: ( ( rule__ActionClient__ActionAssignment_5 ) ) + // InternalRos.g:9600:2: ( rule__ActionClient__ActionAssignment_5 ) { before(grammarAccess.getActionClientAccess().getActionAssignment_5()); - // InternalRos.g:8787:2: ( rule__ActionClient__ActionAssignment_5 ) - // InternalRos.g:8787:3: rule__ActionClient__ActionAssignment_5 + // InternalRos.g:9601:2: ( rule__ActionClient__ActionAssignment_5 ) + // InternalRos.g:9601:3: rule__ActionClient__ActionAssignment_5 { pushFollow(FOLLOW_2); rule__ActionClient__ActionAssignment_5(); @@ -26832,16 +29321,16 @@ public final void rule__ActionClient__Group__5__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__6" - // InternalRos.g:8795:1: rule__ActionClient__Group__6 : rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ; + // InternalRos.g:9609:1: rule__ActionClient__Group__6 : rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ; public final void rule__ActionClient__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8799:1: ( rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ) - // InternalRos.g:8800:2: rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 + // InternalRos.g:9613:1: ( rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 ) + // InternalRos.g:9614:2: rule__ActionClient__Group__6__Impl rule__ActionClient__Group__7 { - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_39); rule__ActionClient__Group__6__Impl(); state._fsp--; @@ -26870,29 +29359,29 @@ public final void rule__ActionClient__Group__6() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__6__Impl" - // InternalRos.g:8807:1: rule__ActionClient__Group__6__Impl : ( ( rule__ActionClient__Group_6__0 )? ) ; + // InternalRos.g:9621:1: rule__ActionClient__Group__6__Impl : ( ( rule__ActionClient__Group_6__0 )? ) ; public final void rule__ActionClient__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8811:1: ( ( ( rule__ActionClient__Group_6__0 )? ) ) - // InternalRos.g:8812:1: ( ( rule__ActionClient__Group_6__0 )? ) + // InternalRos.g:9625:1: ( ( ( rule__ActionClient__Group_6__0 )? ) ) + // InternalRos.g:9626:1: ( ( rule__ActionClient__Group_6__0 )? ) { - // InternalRos.g:8812:1: ( ( rule__ActionClient__Group_6__0 )? ) - // InternalRos.g:8813:2: ( rule__ActionClient__Group_6__0 )? + // InternalRos.g:9626:1: ( ( rule__ActionClient__Group_6__0 )? ) + // InternalRos.g:9627:2: ( rule__ActionClient__Group_6__0 )? { before(grammarAccess.getActionClientAccess().getGroup_6()); - // InternalRos.g:8814:2: ( rule__ActionClient__Group_6__0 )? - int alt55=2; - int LA55_0 = input.LA(1); + // InternalRos.g:9628:2: ( rule__ActionClient__Group_6__0 )? + int alt62=2; + int LA62_0 = input.LA(1); - if ( (LA55_0==64) ) { - alt55=1; + if ( (LA62_0==65) ) { + alt62=1; } - switch (alt55) { + switch (alt62) { case 1 : - // InternalRos.g:8814:3: rule__ActionClient__Group_6__0 + // InternalRos.g:9628:3: rule__ActionClient__Group_6__0 { pushFollow(FOLLOW_2); rule__ActionClient__Group_6__0(); @@ -26928,14 +29417,14 @@ public final void rule__ActionClient__Group__6__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group__7" - // InternalRos.g:8822:1: rule__ActionClient__Group__7 : rule__ActionClient__Group__7__Impl ; + // InternalRos.g:9636:1: rule__ActionClient__Group__7 : rule__ActionClient__Group__7__Impl ; public final void rule__ActionClient__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8826:1: ( rule__ActionClient__Group__7__Impl ) - // InternalRos.g:8827:2: rule__ActionClient__Group__7__Impl + // InternalRos.g:9640:1: ( rule__ActionClient__Group__7__Impl ) + // InternalRos.g:9641:2: rule__ActionClient__Group__7__Impl { pushFollow(FOLLOW_2); rule__ActionClient__Group__7__Impl(); @@ -26961,17 +29450,17 @@ public final void rule__ActionClient__Group__7() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group__7__Impl" - // InternalRos.g:8833:1: rule__ActionClient__Group__7__Impl : ( '}' ) ; + // InternalRos.g:9647:1: rule__ActionClient__Group__7__Impl : ( '}' ) ; public final void rule__ActionClient__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8837:1: ( ( '}' ) ) - // InternalRos.g:8838:1: ( '}' ) + // InternalRos.g:9651:1: ( ( '}' ) ) + // InternalRos.g:9652:1: ( '}' ) { - // InternalRos.g:8838:1: ( '}' ) - // InternalRos.g:8839:2: '}' + // InternalRos.g:9652:1: ( '}' ) + // InternalRos.g:9653:2: '}' { before(grammarAccess.getActionClientAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -26998,16 +29487,16 @@ public final void rule__ActionClient__Group__7__Impl() throws RecognitionExcepti // $ANTLR start "rule__ActionClient__Group_6__0" - // InternalRos.g:8849:1: rule__ActionClient__Group_6__0 : rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ; + // InternalRos.g:9663:1: rule__ActionClient__Group_6__0 : rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ; public final void rule__ActionClient__Group_6__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8853:1: ( rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ) - // InternalRos.g:8854:2: rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 + // InternalRos.g:9667:1: ( rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 ) + // InternalRos.g:9668:2: rule__ActionClient__Group_6__0__Impl rule__ActionClient__Group_6__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__ActionClient__Group_6__0__Impl(); state._fsp--; @@ -27036,20 +29525,20 @@ public final void rule__ActionClient__Group_6__0() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group_6__0__Impl" - // InternalRos.g:8861:1: rule__ActionClient__Group_6__0__Impl : ( 'namespace' ) ; + // InternalRos.g:9675:1: rule__ActionClient__Group_6__0__Impl : ( 'namespace' ) ; public final void rule__ActionClient__Group_6__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8865:1: ( ( 'namespace' ) ) - // InternalRos.g:8866:1: ( 'namespace' ) + // InternalRos.g:9679:1: ( ( 'namespace' ) ) + // InternalRos.g:9680:1: ( 'namespace' ) { - // InternalRos.g:8866:1: ( 'namespace' ) - // InternalRos.g:8867:2: 'namespace' + // InternalRos.g:9680:1: ( 'namespace' ) + // InternalRos.g:9681:2: 'namespace' { before(grammarAccess.getActionClientAccess().getNamespaceKeyword_6_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getActionClientAccess().getNamespaceKeyword_6_0()); } @@ -27073,14 +29562,14 @@ public final void rule__ActionClient__Group_6__0__Impl() throws RecognitionExcep // $ANTLR start "rule__ActionClient__Group_6__1" - // InternalRos.g:8876:1: rule__ActionClient__Group_6__1 : rule__ActionClient__Group_6__1__Impl ; + // InternalRos.g:9690:1: rule__ActionClient__Group_6__1 : rule__ActionClient__Group_6__1__Impl ; public final void rule__ActionClient__Group_6__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8880:1: ( rule__ActionClient__Group_6__1__Impl ) - // InternalRos.g:8881:2: rule__ActionClient__Group_6__1__Impl + // InternalRos.g:9694:1: ( rule__ActionClient__Group_6__1__Impl ) + // InternalRos.g:9695:2: rule__ActionClient__Group_6__1__Impl { pushFollow(FOLLOW_2); rule__ActionClient__Group_6__1__Impl(); @@ -27106,21 +29595,21 @@ public final void rule__ActionClient__Group_6__1() throws RecognitionException { // $ANTLR start "rule__ActionClient__Group_6__1__Impl" - // InternalRos.g:8887:1: rule__ActionClient__Group_6__1__Impl : ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ; + // InternalRos.g:9701:1: rule__ActionClient__Group_6__1__Impl : ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ; public final void rule__ActionClient__Group_6__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8891:1: ( ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ) - // InternalRos.g:8892:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:9705:1: ( ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) ) + // InternalRos.g:9706:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) { - // InternalRos.g:8892:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) - // InternalRos.g:8893:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) + // InternalRos.g:9706:1: ( ( rule__ActionClient__NamespaceAssignment_6_1 ) ) + // InternalRos.g:9707:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) { before(grammarAccess.getActionClientAccess().getNamespaceAssignment_6_1()); - // InternalRos.g:8894:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) - // InternalRos.g:8894:3: rule__ActionClient__NamespaceAssignment_6_1 + // InternalRos.g:9708:2: ( rule__ActionClient__NamespaceAssignment_6_1 ) + // InternalRos.g:9708:3: rule__ActionClient__NamespaceAssignment_6_1 { pushFollow(FOLLOW_2); rule__ActionClient__NamespaceAssignment_6_1(); @@ -27153,16 +29642,16 @@ public final void rule__ActionClient__Group_6__1__Impl() throws RecognitionExcep // $ANTLR start "rule__ExternalDependency__Group__0" - // InternalRos.g:8903:1: rule__ExternalDependency__Group__0 : rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ; + // InternalRos.g:9717:1: rule__ExternalDependency__Group__0 : rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ; public final void rule__ExternalDependency__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8907:1: ( rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ) - // InternalRos.g:8908:2: rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 + // InternalRos.g:9721:1: ( rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 ) + // InternalRos.g:9722:2: rule__ExternalDependency__Group__0__Impl rule__ExternalDependency__Group__1 { - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_19); rule__ExternalDependency__Group__0__Impl(); state._fsp--; @@ -27191,21 +29680,21 @@ public final void rule__ExternalDependency__Group__0() throws RecognitionExcepti // $ANTLR start "rule__ExternalDependency__Group__0__Impl" - // InternalRos.g:8915:1: rule__ExternalDependency__Group__0__Impl : ( () ) ; + // InternalRos.g:9729:1: rule__ExternalDependency__Group__0__Impl : ( () ) ; public final void rule__ExternalDependency__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8919:1: ( ( () ) ) - // InternalRos.g:8920:1: ( () ) + // InternalRos.g:9733:1: ( ( () ) ) + // InternalRos.g:9734:1: ( () ) { - // InternalRos.g:8920:1: ( () ) - // InternalRos.g:8921:2: () + // InternalRos.g:9734:1: ( () ) + // InternalRos.g:9735:2: () { before(grammarAccess.getExternalDependencyAccess().getExternalDependencyAction_0()); - // InternalRos.g:8922:2: () - // InternalRos.g:8922:3: + // InternalRos.g:9736:2: () + // InternalRos.g:9736:3: { } @@ -27228,14 +29717,14 @@ public final void rule__ExternalDependency__Group__0__Impl() throws RecognitionE // $ANTLR start "rule__ExternalDependency__Group__1" - // InternalRos.g:8930:1: rule__ExternalDependency__Group__1 : rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ; + // InternalRos.g:9744:1: rule__ExternalDependency__Group__1 : rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ; public final void rule__ExternalDependency__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8934:1: ( rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ) - // InternalRos.g:8935:2: rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 + // InternalRos.g:9748:1: ( rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 ) + // InternalRos.g:9749:2: rule__ExternalDependency__Group__1__Impl rule__ExternalDependency__Group__2 { pushFollow(FOLLOW_10); rule__ExternalDependency__Group__1__Impl(); @@ -27266,20 +29755,20 @@ public final void rule__ExternalDependency__Group__1() throws RecognitionExcepti // $ANTLR start "rule__ExternalDependency__Group__1__Impl" - // InternalRos.g:8942:1: rule__ExternalDependency__Group__1__Impl : ( 'ExternalDependency' ) ; + // InternalRos.g:9756:1: rule__ExternalDependency__Group__1__Impl : ( 'ExternalDependency' ) ; public final void rule__ExternalDependency__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8946:1: ( ( 'ExternalDependency' ) ) - // InternalRos.g:8947:1: ( 'ExternalDependency' ) + // InternalRos.g:9760:1: ( ( 'ExternalDependency' ) ) + // InternalRos.g:9761:1: ( 'ExternalDependency' ) { - // InternalRos.g:8947:1: ( 'ExternalDependency' ) - // InternalRos.g:8948:2: 'ExternalDependency' + // InternalRos.g:9761:1: ( 'ExternalDependency' ) + // InternalRos.g:9762:2: 'ExternalDependency' { before(grammarAccess.getExternalDependencyAccess().getExternalDependencyKeyword_1()); - match(input,70,FOLLOW_2); + match(input,71,FOLLOW_2); after(grammarAccess.getExternalDependencyAccess().getExternalDependencyKeyword_1()); } @@ -27303,14 +29792,14 @@ public final void rule__ExternalDependency__Group__1__Impl() throws RecognitionE // $ANTLR start "rule__ExternalDependency__Group__2" - // InternalRos.g:8957:1: rule__ExternalDependency__Group__2 : rule__ExternalDependency__Group__2__Impl ; + // InternalRos.g:9771:1: rule__ExternalDependency__Group__2 : rule__ExternalDependency__Group__2__Impl ; public final void rule__ExternalDependency__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8961:1: ( rule__ExternalDependency__Group__2__Impl ) - // InternalRos.g:8962:2: rule__ExternalDependency__Group__2__Impl + // InternalRos.g:9775:1: ( rule__ExternalDependency__Group__2__Impl ) + // InternalRos.g:9776:2: rule__ExternalDependency__Group__2__Impl { pushFollow(FOLLOW_2); rule__ExternalDependency__Group__2__Impl(); @@ -27336,21 +29825,21 @@ public final void rule__ExternalDependency__Group__2() throws RecognitionExcepti // $ANTLR start "rule__ExternalDependency__Group__2__Impl" - // InternalRos.g:8968:1: rule__ExternalDependency__Group__2__Impl : ( ( rule__ExternalDependency__NameAssignment_2 ) ) ; + // InternalRos.g:9782:1: rule__ExternalDependency__Group__2__Impl : ( ( rule__ExternalDependency__NameAssignment_2 ) ) ; public final void rule__ExternalDependency__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8972:1: ( ( ( rule__ExternalDependency__NameAssignment_2 ) ) ) - // InternalRos.g:8973:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) + // InternalRos.g:9786:1: ( ( ( rule__ExternalDependency__NameAssignment_2 ) ) ) + // InternalRos.g:9787:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) { - // InternalRos.g:8973:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) - // InternalRos.g:8974:2: ( rule__ExternalDependency__NameAssignment_2 ) + // InternalRos.g:9787:1: ( ( rule__ExternalDependency__NameAssignment_2 ) ) + // InternalRos.g:9788:2: ( rule__ExternalDependency__NameAssignment_2 ) { before(grammarAccess.getExternalDependencyAccess().getNameAssignment_2()); - // InternalRos.g:8975:2: ( rule__ExternalDependency__NameAssignment_2 ) - // InternalRos.g:8975:3: rule__ExternalDependency__NameAssignment_2 + // InternalRos.g:9789:2: ( rule__ExternalDependency__NameAssignment_2 ) + // InternalRos.g:9789:3: rule__ExternalDependency__NameAssignment_2 { pushFollow(FOLLOW_2); rule__ExternalDependency__NameAssignment_2(); @@ -27383,16 +29872,16 @@ public final void rule__ExternalDependency__Group__2__Impl() throws RecognitionE // $ANTLR start "rule__GlobalNamespace__Group__0" - // InternalRos.g:8984:1: rule__GlobalNamespace__Group__0 : rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ; + // InternalRos.g:9798:1: rule__GlobalNamespace__Group__0 : rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ; public final void rule__GlobalNamespace__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:8988:1: ( rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ) - // InternalRos.g:8989:2: rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 + // InternalRos.g:9802:1: ( rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 ) + // InternalRos.g:9803:2: rule__GlobalNamespace__Group__0__Impl rule__GlobalNamespace__Group__1 { - pushFollow(FOLLOW_42); + pushFollow(FOLLOW_43); rule__GlobalNamespace__Group__0__Impl(); state._fsp--; @@ -27421,21 +29910,21 @@ public final void rule__GlobalNamespace__Group__0() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__0__Impl" - // InternalRos.g:8996:1: rule__GlobalNamespace__Group__0__Impl : ( () ) ; + // InternalRos.g:9810:1: rule__GlobalNamespace__Group__0__Impl : ( () ) ; public final void rule__GlobalNamespace__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9000:1: ( ( () ) ) - // InternalRos.g:9001:1: ( () ) + // InternalRos.g:9814:1: ( ( () ) ) + // InternalRos.g:9815:1: ( () ) { - // InternalRos.g:9001:1: ( () ) - // InternalRos.g:9002:2: () + // InternalRos.g:9815:1: ( () ) + // InternalRos.g:9816:2: () { before(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceAction_0()); - // InternalRos.g:9003:2: () - // InternalRos.g:9003:3: + // InternalRos.g:9817:2: () + // InternalRos.g:9817:3: { } @@ -27458,14 +29947,14 @@ public final void rule__GlobalNamespace__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__1" - // InternalRos.g:9011:1: rule__GlobalNamespace__Group__1 : rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ; + // InternalRos.g:9825:1: rule__GlobalNamespace__Group__1 : rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ; public final void rule__GlobalNamespace__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9015:1: ( rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ) - // InternalRos.g:9016:2: rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 + // InternalRos.g:9829:1: ( rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 ) + // InternalRos.g:9830:2: rule__GlobalNamespace__Group__1__Impl rule__GlobalNamespace__Group__2 { pushFollow(FOLLOW_4); rule__GlobalNamespace__Group__1__Impl(); @@ -27496,20 +29985,20 @@ public final void rule__GlobalNamespace__Group__1() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__1__Impl" - // InternalRos.g:9023:1: rule__GlobalNamespace__Group__1__Impl : ( 'GlobalNamespace' ) ; + // InternalRos.g:9837:1: rule__GlobalNamespace__Group__1__Impl : ( 'GlobalNamespace' ) ; public final void rule__GlobalNamespace__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9027:1: ( ( 'GlobalNamespace' ) ) - // InternalRos.g:9028:1: ( 'GlobalNamespace' ) + // InternalRos.g:9841:1: ( ( 'GlobalNamespace' ) ) + // InternalRos.g:9842:1: ( 'GlobalNamespace' ) { - // InternalRos.g:9028:1: ( 'GlobalNamespace' ) - // InternalRos.g:9029:2: 'GlobalNamespace' + // InternalRos.g:9842:1: ( 'GlobalNamespace' ) + // InternalRos.g:9843:2: 'GlobalNamespace' { before(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceKeyword_1()); - match(input,71,FOLLOW_2); + match(input,72,FOLLOW_2); after(grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceKeyword_1()); } @@ -27533,16 +30022,16 @@ public final void rule__GlobalNamespace__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__2" - // InternalRos.g:9038:1: rule__GlobalNamespace__Group__2 : rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ; + // InternalRos.g:9852:1: rule__GlobalNamespace__Group__2 : rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ; public final void rule__GlobalNamespace__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9042:1: ( rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ) - // InternalRos.g:9043:2: rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 + // InternalRos.g:9856:1: ( rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 ) + // InternalRos.g:9857:2: rule__GlobalNamespace__Group__2__Impl rule__GlobalNamespace__Group__3 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_44); rule__GlobalNamespace__Group__2__Impl(); state._fsp--; @@ -27571,17 +30060,17 @@ public final void rule__GlobalNamespace__Group__2() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__2__Impl" - // InternalRos.g:9050:1: rule__GlobalNamespace__Group__2__Impl : ( '{' ) ; + // InternalRos.g:9864:1: rule__GlobalNamespace__Group__2__Impl : ( '{' ) ; public final void rule__GlobalNamespace__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9054:1: ( ( '{' ) ) - // InternalRos.g:9055:1: ( '{' ) + // InternalRos.g:9868:1: ( ( '{' ) ) + // InternalRos.g:9869:1: ( '{' ) { - // InternalRos.g:9055:1: ( '{' ) - // InternalRos.g:9056:2: '{' + // InternalRos.g:9869:1: ( '{' ) + // InternalRos.g:9870:2: '{' { before(grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -27608,16 +30097,16 @@ public final void rule__GlobalNamespace__Group__2__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__3" - // InternalRos.g:9065:1: rule__GlobalNamespace__Group__3 : rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ; + // InternalRos.g:9879:1: rule__GlobalNamespace__Group__3 : rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ; public final void rule__GlobalNamespace__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9069:1: ( rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ) - // InternalRos.g:9070:2: rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 + // InternalRos.g:9883:1: ( rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 ) + // InternalRos.g:9884:2: rule__GlobalNamespace__Group__3__Impl rule__GlobalNamespace__Group__4 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_44); rule__GlobalNamespace__Group__3__Impl(); state._fsp--; @@ -27646,29 +30135,29 @@ public final void rule__GlobalNamespace__Group__3() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__3__Impl" - // InternalRos.g:9077:1: rule__GlobalNamespace__Group__3__Impl : ( ( rule__GlobalNamespace__Group_3__0 )? ) ; + // InternalRos.g:9891:1: rule__GlobalNamespace__Group__3__Impl : ( ( rule__GlobalNamespace__Group_3__0 )? ) ; public final void rule__GlobalNamespace__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9081:1: ( ( ( rule__GlobalNamespace__Group_3__0 )? ) ) - // InternalRos.g:9082:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) + // InternalRos.g:9895:1: ( ( ( rule__GlobalNamespace__Group_3__0 )? ) ) + // InternalRos.g:9896:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) { - // InternalRos.g:9082:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) - // InternalRos.g:9083:2: ( rule__GlobalNamespace__Group_3__0 )? + // InternalRos.g:9896:1: ( ( rule__GlobalNamespace__Group_3__0 )? ) + // InternalRos.g:9897:2: ( rule__GlobalNamespace__Group_3__0 )? { before(grammarAccess.getGlobalNamespaceAccess().getGroup_3()); - // InternalRos.g:9084:2: ( rule__GlobalNamespace__Group_3__0 )? - int alt56=2; - int LA56_0 = input.LA(1); + // InternalRos.g:9898:2: ( rule__GlobalNamespace__Group_3__0 )? + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA56_0==72) ) { - alt56=1; + if ( (LA63_0==73) ) { + alt63=1; } - switch (alt56) { + switch (alt63) { case 1 : - // InternalRos.g:9084:3: rule__GlobalNamespace__Group_3__0 + // InternalRos.g:9898:3: rule__GlobalNamespace__Group_3__0 { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3__0(); @@ -27704,14 +30193,14 @@ public final void rule__GlobalNamespace__Group__3__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group__4" - // InternalRos.g:9092:1: rule__GlobalNamespace__Group__4 : rule__GlobalNamespace__Group__4__Impl ; + // InternalRos.g:9906:1: rule__GlobalNamespace__Group__4 : rule__GlobalNamespace__Group__4__Impl ; public final void rule__GlobalNamespace__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9096:1: ( rule__GlobalNamespace__Group__4__Impl ) - // InternalRos.g:9097:2: rule__GlobalNamespace__Group__4__Impl + // InternalRos.g:9910:1: ( rule__GlobalNamespace__Group__4__Impl ) + // InternalRos.g:9911:2: rule__GlobalNamespace__Group__4__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group__4__Impl(); @@ -27737,17 +30226,17 @@ public final void rule__GlobalNamespace__Group__4() throws RecognitionException // $ANTLR start "rule__GlobalNamespace__Group__4__Impl" - // InternalRos.g:9103:1: rule__GlobalNamespace__Group__4__Impl : ( '}' ) ; + // InternalRos.g:9917:1: rule__GlobalNamespace__Group__4__Impl : ( '}' ) ; public final void rule__GlobalNamespace__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9107:1: ( ( '}' ) ) - // InternalRos.g:9108:1: ( '}' ) + // InternalRos.g:9921:1: ( ( '}' ) ) + // InternalRos.g:9922:1: ( '}' ) { - // InternalRos.g:9108:1: ( '}' ) - // InternalRos.g:9109:2: '}' + // InternalRos.g:9922:1: ( '}' ) + // InternalRos.g:9923:2: '}' { before(grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -27774,14 +30263,14 @@ public final void rule__GlobalNamespace__Group__4__Impl() throws RecognitionExce // $ANTLR start "rule__GlobalNamespace__Group_3__0" - // InternalRos.g:9119:1: rule__GlobalNamespace__Group_3__0 : rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ; + // InternalRos.g:9933:1: rule__GlobalNamespace__Group_3__0 : rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ; public final void rule__GlobalNamespace__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9123:1: ( rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ) - // InternalRos.g:9124:2: rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 + // InternalRos.g:9937:1: ( rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 ) + // InternalRos.g:9938:2: rule__GlobalNamespace__Group_3__0__Impl rule__GlobalNamespace__Group_3__1 { pushFollow(FOLLOW_4); rule__GlobalNamespace__Group_3__0__Impl(); @@ -27812,20 +30301,20 @@ public final void rule__GlobalNamespace__Group_3__0() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__0__Impl" - // InternalRos.g:9131:1: rule__GlobalNamespace__Group_3__0__Impl : ( 'parts' ) ; + // InternalRos.g:9945:1: rule__GlobalNamespace__Group_3__0__Impl : ( 'parts' ) ; public final void rule__GlobalNamespace__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9135:1: ( ( 'parts' ) ) - // InternalRos.g:9136:1: ( 'parts' ) + // InternalRos.g:9949:1: ( ( 'parts' ) ) + // InternalRos.g:9950:1: ( 'parts' ) { - // InternalRos.g:9136:1: ( 'parts' ) - // InternalRos.g:9137:2: 'parts' + // InternalRos.g:9950:1: ( 'parts' ) + // InternalRos.g:9951:2: 'parts' { before(grammarAccess.getGlobalNamespaceAccess().getPartsKeyword_3_0()); - match(input,72,FOLLOW_2); + match(input,73,FOLLOW_2); after(grammarAccess.getGlobalNamespaceAccess().getPartsKeyword_3_0()); } @@ -27849,16 +30338,16 @@ public final void rule__GlobalNamespace__Group_3__0__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__1" - // InternalRos.g:9146:1: rule__GlobalNamespace__Group_3__1 : rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ; + // InternalRos.g:9960:1: rule__GlobalNamespace__Group_3__1 : rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ; public final void rule__GlobalNamespace__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9150:1: ( rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ) - // InternalRos.g:9151:2: rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 + // InternalRos.g:9964:1: ( rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 ) + // InternalRos.g:9965:2: rule__GlobalNamespace__Group_3__1__Impl rule__GlobalNamespace__Group_3__2 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_45); rule__GlobalNamespace__Group_3__1__Impl(); state._fsp--; @@ -27887,17 +30376,17 @@ public final void rule__GlobalNamespace__Group_3__1() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__1__Impl" - // InternalRos.g:9158:1: rule__GlobalNamespace__Group_3__1__Impl : ( '{' ) ; + // InternalRos.g:9972:1: rule__GlobalNamespace__Group_3__1__Impl : ( '{' ) ; public final void rule__GlobalNamespace__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9162:1: ( ( '{' ) ) - // InternalRos.g:9163:1: ( '{' ) + // InternalRos.g:9976:1: ( ( '{' ) ) + // InternalRos.g:9977:1: ( '{' ) { - // InternalRos.g:9163:1: ( '{' ) - // InternalRos.g:9164:2: '{' + // InternalRos.g:9977:1: ( '{' ) + // InternalRos.g:9978:2: '{' { before(grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); match(input,41,FOLLOW_2); @@ -27924,14 +30413,14 @@ public final void rule__GlobalNamespace__Group_3__1__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__2" - // InternalRos.g:9173:1: rule__GlobalNamespace__Group_3__2 : rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ; + // InternalRos.g:9987:1: rule__GlobalNamespace__Group_3__2 : rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ; public final void rule__GlobalNamespace__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9177:1: ( rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ) - // InternalRos.g:9178:2: rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 + // InternalRos.g:9991:1: ( rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 ) + // InternalRos.g:9992:2: rule__GlobalNamespace__Group_3__2__Impl rule__GlobalNamespace__Group_3__3 { pushFollow(FOLLOW_13); rule__GlobalNamespace__Group_3__2__Impl(); @@ -27962,21 +30451,21 @@ public final void rule__GlobalNamespace__Group_3__2() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__2__Impl" - // InternalRos.g:9185:1: rule__GlobalNamespace__Group_3__2__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ; + // InternalRos.g:9999:1: rule__GlobalNamespace__Group_3__2__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ; public final void rule__GlobalNamespace__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9189:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ) - // InternalRos.g:9190:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:10003:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) ) + // InternalRos.g:10004:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) { - // InternalRos.g:9190:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) - // InternalRos.g:9191:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) + // InternalRos.g:10004:1: ( ( rule__GlobalNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:10005:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) { before(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_2()); - // InternalRos.g:9192:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) - // InternalRos.g:9192:3: rule__GlobalNamespace__PartsAssignment_3_2 + // InternalRos.g:10006:2: ( rule__GlobalNamespace__PartsAssignment_3_2 ) + // InternalRos.g:10006:3: rule__GlobalNamespace__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__GlobalNamespace__PartsAssignment_3_2(); @@ -28009,14 +30498,14 @@ public final void rule__GlobalNamespace__Group_3__2__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__3" - // InternalRos.g:9200:1: rule__GlobalNamespace__Group_3__3 : rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ; + // InternalRos.g:10014:1: rule__GlobalNamespace__Group_3__3 : rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ; public final void rule__GlobalNamespace__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9204:1: ( rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ) - // InternalRos.g:9205:2: rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 + // InternalRos.g:10018:1: ( rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 ) + // InternalRos.g:10019:2: rule__GlobalNamespace__Group_3__3__Impl rule__GlobalNamespace__Group_3__4 { pushFollow(FOLLOW_13); rule__GlobalNamespace__Group_3__3__Impl(); @@ -28047,33 +30536,33 @@ public final void rule__GlobalNamespace__Group_3__3() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__3__Impl" - // InternalRos.g:9212:1: rule__GlobalNamespace__Group_3__3__Impl : ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ; + // InternalRos.g:10026:1: rule__GlobalNamespace__Group_3__3__Impl : ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ; public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9216:1: ( ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ) - // InternalRos.g:9217:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) + // InternalRos.g:10030:1: ( ( ( rule__GlobalNamespace__Group_3_3__0 )* ) ) + // InternalRos.g:10031:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) { - // InternalRos.g:9217:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) - // InternalRos.g:9218:2: ( rule__GlobalNamespace__Group_3_3__0 )* + // InternalRos.g:10031:1: ( ( rule__GlobalNamespace__Group_3_3__0 )* ) + // InternalRos.g:10032:2: ( rule__GlobalNamespace__Group_3_3__0 )* { before(grammarAccess.getGlobalNamespaceAccess().getGroup_3_3()); - // InternalRos.g:9219:2: ( rule__GlobalNamespace__Group_3_3__0 )* - loop57: + // InternalRos.g:10033:2: ( rule__GlobalNamespace__Group_3_3__0 )* + loop64: do { - int alt57=2; - int LA57_0 = input.LA(1); + int alt64=2; + int LA64_0 = input.LA(1); - if ( (LA57_0==43) ) { - alt57=1; + if ( (LA64_0==43) ) { + alt64=1; } - switch (alt57) { + switch (alt64) { case 1 : - // InternalRos.g:9219:3: rule__GlobalNamespace__Group_3_3__0 + // InternalRos.g:10033:3: rule__GlobalNamespace__Group_3_3__0 { pushFollow(FOLLOW_7); rule__GlobalNamespace__Group_3_3__0(); @@ -28085,7 +30574,7 @@ public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionEx break; default : - break loop57; + break loop64; } } while (true); @@ -28112,14 +30601,14 @@ public final void rule__GlobalNamespace__Group_3__3__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3__4" - // InternalRos.g:9227:1: rule__GlobalNamespace__Group_3__4 : rule__GlobalNamespace__Group_3__4__Impl ; + // InternalRos.g:10041:1: rule__GlobalNamespace__Group_3__4 : rule__GlobalNamespace__Group_3__4__Impl ; public final void rule__GlobalNamespace__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9231:1: ( rule__GlobalNamespace__Group_3__4__Impl ) - // InternalRos.g:9232:2: rule__GlobalNamespace__Group_3__4__Impl + // InternalRos.g:10045:1: ( rule__GlobalNamespace__Group_3__4__Impl ) + // InternalRos.g:10046:2: rule__GlobalNamespace__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3__4__Impl(); @@ -28145,17 +30634,17 @@ public final void rule__GlobalNamespace__Group_3__4() throws RecognitionExceptio // $ANTLR start "rule__GlobalNamespace__Group_3__4__Impl" - // InternalRos.g:9238:1: rule__GlobalNamespace__Group_3__4__Impl : ( '}' ) ; + // InternalRos.g:10052:1: rule__GlobalNamespace__Group_3__4__Impl : ( '}' ) ; public final void rule__GlobalNamespace__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9242:1: ( ( '}' ) ) - // InternalRos.g:9243:1: ( '}' ) + // InternalRos.g:10056:1: ( ( '}' ) ) + // InternalRos.g:10057:1: ( '}' ) { - // InternalRos.g:9243:1: ( '}' ) - // InternalRos.g:9244:2: '}' + // InternalRos.g:10057:1: ( '}' ) + // InternalRos.g:10058:2: '}' { before(grammarAccess.getGlobalNamespaceAccess().getRightCurlyBracketKeyword_3_4()); match(input,42,FOLLOW_2); @@ -28182,16 +30671,16 @@ public final void rule__GlobalNamespace__Group_3__4__Impl() throws RecognitionEx // $ANTLR start "rule__GlobalNamespace__Group_3_3__0" - // InternalRos.g:9254:1: rule__GlobalNamespace__Group_3_3__0 : rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ; + // InternalRos.g:10068:1: rule__GlobalNamespace__Group_3_3__0 : rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ; public final void rule__GlobalNamespace__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9258:1: ( rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ) - // InternalRos.g:9259:2: rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 + // InternalRos.g:10072:1: ( rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 ) + // InternalRos.g:10073:2: rule__GlobalNamespace__Group_3_3__0__Impl rule__GlobalNamespace__Group_3_3__1 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_45); rule__GlobalNamespace__Group_3_3__0__Impl(); state._fsp--; @@ -28220,17 +30709,17 @@ public final void rule__GlobalNamespace__Group_3_3__0() throws RecognitionExcept // $ANTLR start "rule__GlobalNamespace__Group_3_3__0__Impl" - // InternalRos.g:9266:1: rule__GlobalNamespace__Group_3_3__0__Impl : ( ',' ) ; + // InternalRos.g:10080:1: rule__GlobalNamespace__Group_3_3__0__Impl : ( ',' ) ; public final void rule__GlobalNamespace__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9270:1: ( ( ',' ) ) - // InternalRos.g:9271:1: ( ',' ) + // InternalRos.g:10084:1: ( ( ',' ) ) + // InternalRos.g:10085:1: ( ',' ) { - // InternalRos.g:9271:1: ( ',' ) - // InternalRos.g:9272:2: ',' + // InternalRos.g:10085:1: ( ',' ) + // InternalRos.g:10086:2: ',' { before(grammarAccess.getGlobalNamespaceAccess().getCommaKeyword_3_3_0()); match(input,43,FOLLOW_2); @@ -28257,14 +30746,14 @@ public final void rule__GlobalNamespace__Group_3_3__0__Impl() throws Recognition // $ANTLR start "rule__GlobalNamespace__Group_3_3__1" - // InternalRos.g:9281:1: rule__GlobalNamespace__Group_3_3__1 : rule__GlobalNamespace__Group_3_3__1__Impl ; + // InternalRos.g:10095:1: rule__GlobalNamespace__Group_3_3__1 : rule__GlobalNamespace__Group_3_3__1__Impl ; public final void rule__GlobalNamespace__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9285:1: ( rule__GlobalNamespace__Group_3_3__1__Impl ) - // InternalRos.g:9286:2: rule__GlobalNamespace__Group_3_3__1__Impl + // InternalRos.g:10099:1: ( rule__GlobalNamespace__Group_3_3__1__Impl ) + // InternalRos.g:10100:2: rule__GlobalNamespace__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__GlobalNamespace__Group_3_3__1__Impl(); @@ -28290,21 +30779,21 @@ public final void rule__GlobalNamespace__Group_3_3__1() throws RecognitionExcept // $ANTLR start "rule__GlobalNamespace__Group_3_3__1__Impl" - // InternalRos.g:9292:1: rule__GlobalNamespace__Group_3_3__1__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ; + // InternalRos.g:10106:1: rule__GlobalNamespace__Group_3_3__1__Impl : ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ; public final void rule__GlobalNamespace__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9296:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ) - // InternalRos.g:9297:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:10110:1: ( ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) ) + // InternalRos.g:10111:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) { - // InternalRos.g:9297:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) - // InternalRos.g:9298:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:10111:1: ( ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:10112:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) { before(grammarAccess.getGlobalNamespaceAccess().getPartsAssignment_3_3_1()); - // InternalRos.g:9299:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) - // InternalRos.g:9299:3: rule__GlobalNamespace__PartsAssignment_3_3_1 + // InternalRos.g:10113:2: ( rule__GlobalNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:10113:3: rule__GlobalNamespace__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__GlobalNamespace__PartsAssignment_3_3_1(); @@ -28337,16 +30826,16 @@ public final void rule__GlobalNamespace__Group_3_3__1__Impl() throws Recognition // $ANTLR start "rule__RelativeNamespace_Impl__Group__0" - // InternalRos.g:9308:1: rule__RelativeNamespace_Impl__Group__0 : rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ; + // InternalRos.g:10122:1: rule__RelativeNamespace_Impl__Group__0 : rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ; public final void rule__RelativeNamespace_Impl__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9312:1: ( rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ) - // InternalRos.g:9313:2: rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 + // InternalRos.g:10126:1: ( rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 ) + // InternalRos.g:10127:2: rule__RelativeNamespace_Impl__Group__0__Impl rule__RelativeNamespace_Impl__Group__1 { - pushFollow(FOLLOW_45); + pushFollow(FOLLOW_46); rule__RelativeNamespace_Impl__Group__0__Impl(); state._fsp--; @@ -28375,21 +30864,21 @@ public final void rule__RelativeNamespace_Impl__Group__0() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__0__Impl" - // InternalRos.g:9320:1: rule__RelativeNamespace_Impl__Group__0__Impl : ( () ) ; + // InternalRos.g:10134:1: rule__RelativeNamespace_Impl__Group__0__Impl : ( () ) ; public final void rule__RelativeNamespace_Impl__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9324:1: ( ( () ) ) - // InternalRos.g:9325:1: ( () ) + // InternalRos.g:10138:1: ( ( () ) ) + // InternalRos.g:10139:1: ( () ) { - // InternalRos.g:9325:1: ( () ) - // InternalRos.g:9326:2: () + // InternalRos.g:10139:1: ( () ) + // InternalRos.g:10140:2: () { before(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceAction_0()); - // InternalRos.g:9327:2: () - // InternalRos.g:9327:3: + // InternalRos.g:10141:2: () + // InternalRos.g:10141:3: { } @@ -28412,14 +30901,14 @@ public final void rule__RelativeNamespace_Impl__Group__0__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__1" - // InternalRos.g:9335:1: rule__RelativeNamespace_Impl__Group__1 : rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ; + // InternalRos.g:10149:1: rule__RelativeNamespace_Impl__Group__1 : rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ; public final void rule__RelativeNamespace_Impl__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9339:1: ( rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ) - // InternalRos.g:9340:2: rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 + // InternalRos.g:10153:1: ( rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 ) + // InternalRos.g:10154:2: rule__RelativeNamespace_Impl__Group__1__Impl rule__RelativeNamespace_Impl__Group__2 { pushFollow(FOLLOW_4); rule__RelativeNamespace_Impl__Group__1__Impl(); @@ -28450,20 +30939,20 @@ public final void rule__RelativeNamespace_Impl__Group__1() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__1__Impl" - // InternalRos.g:9347:1: rule__RelativeNamespace_Impl__Group__1__Impl : ( 'RelativeNamespace' ) ; + // InternalRos.g:10161:1: rule__RelativeNamespace_Impl__Group__1__Impl : ( 'RelativeNamespace' ) ; public final void rule__RelativeNamespace_Impl__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9351:1: ( ( 'RelativeNamespace' ) ) - // InternalRos.g:9352:1: ( 'RelativeNamespace' ) + // InternalRos.g:10165:1: ( ( 'RelativeNamespace' ) ) + // InternalRos.g:10166:1: ( 'RelativeNamespace' ) { - // InternalRos.g:9352:1: ( 'RelativeNamespace' ) - // InternalRos.g:9353:2: 'RelativeNamespace' + // InternalRos.g:10166:1: ( 'RelativeNamespace' ) + // InternalRos.g:10167:2: 'RelativeNamespace' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceKeyword_1()); - match(input,73,FOLLOW_2); + match(input,74,FOLLOW_2); after(grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceKeyword_1()); } @@ -28487,16 +30976,16 @@ public final void rule__RelativeNamespace_Impl__Group__1__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__2" - // InternalRos.g:9362:1: rule__RelativeNamespace_Impl__Group__2 : rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ; + // InternalRos.g:10176:1: rule__RelativeNamespace_Impl__Group__2 : rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ; public final void rule__RelativeNamespace_Impl__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9366:1: ( rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ) - // InternalRos.g:9367:2: rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 + // InternalRos.g:10180:1: ( rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 ) + // InternalRos.g:10181:2: rule__RelativeNamespace_Impl__Group__2__Impl rule__RelativeNamespace_Impl__Group__3 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_44); rule__RelativeNamespace_Impl__Group__2__Impl(); state._fsp--; @@ -28525,17 +31014,17 @@ public final void rule__RelativeNamespace_Impl__Group__2() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__2__Impl" - // InternalRos.g:9374:1: rule__RelativeNamespace_Impl__Group__2__Impl : ( '{' ) ; + // InternalRos.g:10188:1: rule__RelativeNamespace_Impl__Group__2__Impl : ( '{' ) ; public final void rule__RelativeNamespace_Impl__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9378:1: ( ( '{' ) ) - // InternalRos.g:9379:1: ( '{' ) + // InternalRos.g:10192:1: ( ( '{' ) ) + // InternalRos.g:10193:1: ( '{' ) { - // InternalRos.g:9379:1: ( '{' ) - // InternalRos.g:9380:2: '{' + // InternalRos.g:10193:1: ( '{' ) + // InternalRos.g:10194:2: '{' { before(grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -28562,16 +31051,16 @@ public final void rule__RelativeNamespace_Impl__Group__2__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__3" - // InternalRos.g:9389:1: rule__RelativeNamespace_Impl__Group__3 : rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ; + // InternalRos.g:10203:1: rule__RelativeNamespace_Impl__Group__3 : rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ; public final void rule__RelativeNamespace_Impl__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9393:1: ( rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ) - // InternalRos.g:9394:2: rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 + // InternalRos.g:10207:1: ( rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 ) + // InternalRos.g:10208:2: rule__RelativeNamespace_Impl__Group__3__Impl rule__RelativeNamespace_Impl__Group__4 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_44); rule__RelativeNamespace_Impl__Group__3__Impl(); state._fsp--; @@ -28600,29 +31089,29 @@ public final void rule__RelativeNamespace_Impl__Group__3() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__3__Impl" - // InternalRos.g:9401:1: rule__RelativeNamespace_Impl__Group__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ; + // InternalRos.g:10215:1: rule__RelativeNamespace_Impl__Group__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ; public final void rule__RelativeNamespace_Impl__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9405:1: ( ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ) - // InternalRos.g:9406:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) + // InternalRos.g:10219:1: ( ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) ) + // InternalRos.g:10220:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) { - // InternalRos.g:9406:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) - // InternalRos.g:9407:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? + // InternalRos.g:10220:1: ( ( rule__RelativeNamespace_Impl__Group_3__0 )? ) + // InternalRos.g:10221:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup_3()); - // InternalRos.g:9408:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? - int alt58=2; - int LA58_0 = input.LA(1); + // InternalRos.g:10222:2: ( rule__RelativeNamespace_Impl__Group_3__0 )? + int alt65=2; + int LA65_0 = input.LA(1); - if ( (LA58_0==72) ) { - alt58=1; + if ( (LA65_0==73) ) { + alt65=1; } - switch (alt58) { + switch (alt65) { case 1 : - // InternalRos.g:9408:3: rule__RelativeNamespace_Impl__Group_3__0 + // InternalRos.g:10222:3: rule__RelativeNamespace_Impl__Group_3__0 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3__0(); @@ -28658,14 +31147,14 @@ public final void rule__RelativeNamespace_Impl__Group__3__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group__4" - // InternalRos.g:9416:1: rule__RelativeNamespace_Impl__Group__4 : rule__RelativeNamespace_Impl__Group__4__Impl ; + // InternalRos.g:10230:1: rule__RelativeNamespace_Impl__Group__4 : rule__RelativeNamespace_Impl__Group__4__Impl ; public final void rule__RelativeNamespace_Impl__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9420:1: ( rule__RelativeNamespace_Impl__Group__4__Impl ) - // InternalRos.g:9421:2: rule__RelativeNamespace_Impl__Group__4__Impl + // InternalRos.g:10234:1: ( rule__RelativeNamespace_Impl__Group__4__Impl ) + // InternalRos.g:10235:2: rule__RelativeNamespace_Impl__Group__4__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group__4__Impl(); @@ -28691,17 +31180,17 @@ public final void rule__RelativeNamespace_Impl__Group__4() throws RecognitionExc // $ANTLR start "rule__RelativeNamespace_Impl__Group__4__Impl" - // InternalRos.g:9427:1: rule__RelativeNamespace_Impl__Group__4__Impl : ( '}' ) ; + // InternalRos.g:10241:1: rule__RelativeNamespace_Impl__Group__4__Impl : ( '}' ) ; public final void rule__RelativeNamespace_Impl__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9431:1: ( ( '}' ) ) - // InternalRos.g:9432:1: ( '}' ) + // InternalRos.g:10245:1: ( ( '}' ) ) + // InternalRos.g:10246:1: ( '}' ) { - // InternalRos.g:9432:1: ( '}' ) - // InternalRos.g:9433:2: '}' + // InternalRos.g:10246:1: ( '}' ) + // InternalRos.g:10247:2: '}' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -28728,14 +31217,14 @@ public final void rule__RelativeNamespace_Impl__Group__4__Impl() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__0" - // InternalRos.g:9443:1: rule__RelativeNamespace_Impl__Group_3__0 : rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ; + // InternalRos.g:10257:1: rule__RelativeNamespace_Impl__Group_3__0 : rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ; public final void rule__RelativeNamespace_Impl__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9447:1: ( rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ) - // InternalRos.g:9448:2: rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 + // InternalRos.g:10261:1: ( rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 ) + // InternalRos.g:10262:2: rule__RelativeNamespace_Impl__Group_3__0__Impl rule__RelativeNamespace_Impl__Group_3__1 { pushFollow(FOLLOW_4); rule__RelativeNamespace_Impl__Group_3__0__Impl(); @@ -28766,20 +31255,20 @@ public final void rule__RelativeNamespace_Impl__Group_3__0() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__0__Impl" - // InternalRos.g:9455:1: rule__RelativeNamespace_Impl__Group_3__0__Impl : ( 'parts' ) ; + // InternalRos.g:10269:1: rule__RelativeNamespace_Impl__Group_3__0__Impl : ( 'parts' ) ; public final void rule__RelativeNamespace_Impl__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9459:1: ( ( 'parts' ) ) - // InternalRos.g:9460:1: ( 'parts' ) + // InternalRos.g:10273:1: ( ( 'parts' ) ) + // InternalRos.g:10274:1: ( 'parts' ) { - // InternalRos.g:9460:1: ( 'parts' ) - // InternalRos.g:9461:2: 'parts' + // InternalRos.g:10274:1: ( 'parts' ) + // InternalRos.g:10275:2: 'parts' { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsKeyword_3_0()); - match(input,72,FOLLOW_2); + match(input,73,FOLLOW_2); after(grammarAccess.getRelativeNamespace_ImplAccess().getPartsKeyword_3_0()); } @@ -28803,16 +31292,16 @@ public final void rule__RelativeNamespace_Impl__Group_3__0__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__1" - // InternalRos.g:9470:1: rule__RelativeNamespace_Impl__Group_3__1 : rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ; + // InternalRos.g:10284:1: rule__RelativeNamespace_Impl__Group_3__1 : rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ; public final void rule__RelativeNamespace_Impl__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9474:1: ( rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ) - // InternalRos.g:9475:2: rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 + // InternalRos.g:10288:1: ( rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 ) + // InternalRos.g:10289:2: rule__RelativeNamespace_Impl__Group_3__1__Impl rule__RelativeNamespace_Impl__Group_3__2 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_45); rule__RelativeNamespace_Impl__Group_3__1__Impl(); state._fsp--; @@ -28841,17 +31330,17 @@ public final void rule__RelativeNamespace_Impl__Group_3__1() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__1__Impl" - // InternalRos.g:9482:1: rule__RelativeNamespace_Impl__Group_3__1__Impl : ( '{' ) ; + // InternalRos.g:10296:1: rule__RelativeNamespace_Impl__Group_3__1__Impl : ( '{' ) ; public final void rule__RelativeNamespace_Impl__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9486:1: ( ( '{' ) ) - // InternalRos.g:9487:1: ( '{' ) + // InternalRos.g:10300:1: ( ( '{' ) ) + // InternalRos.g:10301:1: ( '{' ) { - // InternalRos.g:9487:1: ( '{' ) - // InternalRos.g:9488:2: '{' + // InternalRos.g:10301:1: ( '{' ) + // InternalRos.g:10302:2: '{' { before(grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_3_1()); match(input,41,FOLLOW_2); @@ -28878,14 +31367,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__1__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__2" - // InternalRos.g:9497:1: rule__RelativeNamespace_Impl__Group_3__2 : rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ; + // InternalRos.g:10311:1: rule__RelativeNamespace_Impl__Group_3__2 : rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ; public final void rule__RelativeNamespace_Impl__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9501:1: ( rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ) - // InternalRos.g:9502:2: rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 + // InternalRos.g:10315:1: ( rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 ) + // InternalRos.g:10316:2: rule__RelativeNamespace_Impl__Group_3__2__Impl rule__RelativeNamespace_Impl__Group_3__3 { pushFollow(FOLLOW_13); rule__RelativeNamespace_Impl__Group_3__2__Impl(); @@ -28916,21 +31405,21 @@ public final void rule__RelativeNamespace_Impl__Group_3__2() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__2__Impl" - // InternalRos.g:9509:1: rule__RelativeNamespace_Impl__Group_3__2__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ; + // InternalRos.g:10323:1: rule__RelativeNamespace_Impl__Group_3__2__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ; public final void rule__RelativeNamespace_Impl__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9513:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ) - // InternalRos.g:9514:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) + // InternalRos.g:10327:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) ) + // InternalRos.g:10328:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) { - // InternalRos.g:9514:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) - // InternalRos.g:9515:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) + // InternalRos.g:10328:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) ) + // InternalRos.g:10329:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsAssignment_3_2()); - // InternalRos.g:9516:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) - // InternalRos.g:9516:3: rule__RelativeNamespace_Impl__PartsAssignment_3_2 + // InternalRos.g:10330:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_2 ) + // InternalRos.g:10330:3: rule__RelativeNamespace_Impl__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__PartsAssignment_3_2(); @@ -28963,14 +31452,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__2__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__3" - // InternalRos.g:9524:1: rule__RelativeNamespace_Impl__Group_3__3 : rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ; + // InternalRos.g:10338:1: rule__RelativeNamespace_Impl__Group_3__3 : rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ; public final void rule__RelativeNamespace_Impl__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9528:1: ( rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ) - // InternalRos.g:9529:2: rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 + // InternalRos.g:10342:1: ( rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 ) + // InternalRos.g:10343:2: rule__RelativeNamespace_Impl__Group_3__3__Impl rule__RelativeNamespace_Impl__Group_3__4 { pushFollow(FOLLOW_13); rule__RelativeNamespace_Impl__Group_3__3__Impl(); @@ -29001,33 +31490,33 @@ public final void rule__RelativeNamespace_Impl__Group_3__3() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__3__Impl" - // InternalRos.g:9536:1: rule__RelativeNamespace_Impl__Group_3__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ; + // InternalRos.g:10350:1: rule__RelativeNamespace_Impl__Group_3__3__Impl : ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ; public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9540:1: ( ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ) - // InternalRos.g:9541:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) + // InternalRos.g:10354:1: ( ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) ) + // InternalRos.g:10355:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) { - // InternalRos.g:9541:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) - // InternalRos.g:9542:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* + // InternalRos.g:10355:1: ( ( rule__RelativeNamespace_Impl__Group_3_3__0 )* ) + // InternalRos.g:10356:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* { before(grammarAccess.getRelativeNamespace_ImplAccess().getGroup_3_3()); - // InternalRos.g:9543:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* - loop59: + // InternalRos.g:10357:2: ( rule__RelativeNamespace_Impl__Group_3_3__0 )* + loop66: do { - int alt59=2; - int LA59_0 = input.LA(1); + int alt66=2; + int LA66_0 = input.LA(1); - if ( (LA59_0==43) ) { - alt59=1; + if ( (LA66_0==43) ) { + alt66=1; } - switch (alt59) { + switch (alt66) { case 1 : - // InternalRos.g:9543:3: rule__RelativeNamespace_Impl__Group_3_3__0 + // InternalRos.g:10357:3: rule__RelativeNamespace_Impl__Group_3_3__0 { pushFollow(FOLLOW_7); rule__RelativeNamespace_Impl__Group_3_3__0(); @@ -29039,7 +31528,7 @@ public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws Recogn break; default : - break loop59; + break loop66; } } while (true); @@ -29066,14 +31555,14 @@ public final void rule__RelativeNamespace_Impl__Group_3__3__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__4" - // InternalRos.g:9551:1: rule__RelativeNamespace_Impl__Group_3__4 : rule__RelativeNamespace_Impl__Group_3__4__Impl ; + // InternalRos.g:10365:1: rule__RelativeNamespace_Impl__Group_3__4 : rule__RelativeNamespace_Impl__Group_3__4__Impl ; public final void rule__RelativeNamespace_Impl__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9555:1: ( rule__RelativeNamespace_Impl__Group_3__4__Impl ) - // InternalRos.g:9556:2: rule__RelativeNamespace_Impl__Group_3__4__Impl + // InternalRos.g:10369:1: ( rule__RelativeNamespace_Impl__Group_3__4__Impl ) + // InternalRos.g:10370:2: rule__RelativeNamespace_Impl__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3__4__Impl(); @@ -29099,17 +31588,17 @@ public final void rule__RelativeNamespace_Impl__Group_3__4() throws RecognitionE // $ANTLR start "rule__RelativeNamespace_Impl__Group_3__4__Impl" - // InternalRos.g:9562:1: rule__RelativeNamespace_Impl__Group_3__4__Impl : ( '}' ) ; + // InternalRos.g:10376:1: rule__RelativeNamespace_Impl__Group_3__4__Impl : ( '}' ) ; public final void rule__RelativeNamespace_Impl__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9566:1: ( ( '}' ) ) - // InternalRos.g:9567:1: ( '}' ) + // InternalRos.g:10380:1: ( ( '}' ) ) + // InternalRos.g:10381:1: ( '}' ) { - // InternalRos.g:9567:1: ( '}' ) - // InternalRos.g:9568:2: '}' + // InternalRos.g:10381:1: ( '}' ) + // InternalRos.g:10382:2: '}' { before(grammarAccess.getRelativeNamespace_ImplAccess().getRightCurlyBracketKeyword_3_4()); match(input,42,FOLLOW_2); @@ -29136,16 +31625,16 @@ public final void rule__RelativeNamespace_Impl__Group_3__4__Impl() throws Recogn // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__0" - // InternalRos.g:9578:1: rule__RelativeNamespace_Impl__Group_3_3__0 : rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ; + // InternalRos.g:10392:1: rule__RelativeNamespace_Impl__Group_3_3__0 : rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ; public final void rule__RelativeNamespace_Impl__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9582:1: ( rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ) - // InternalRos.g:9583:2: rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 + // InternalRos.g:10396:1: ( rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 ) + // InternalRos.g:10397:2: rule__RelativeNamespace_Impl__Group_3_3__0__Impl rule__RelativeNamespace_Impl__Group_3_3__1 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_45); rule__RelativeNamespace_Impl__Group_3_3__0__Impl(); state._fsp--; @@ -29174,17 +31663,17 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__0() throws Recognitio // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__0__Impl" - // InternalRos.g:9590:1: rule__RelativeNamespace_Impl__Group_3_3__0__Impl : ( ',' ) ; + // InternalRos.g:10404:1: rule__RelativeNamespace_Impl__Group_3_3__0__Impl : ( ',' ) ; public final void rule__RelativeNamespace_Impl__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9594:1: ( ( ',' ) ) - // InternalRos.g:9595:1: ( ',' ) + // InternalRos.g:10408:1: ( ( ',' ) ) + // InternalRos.g:10409:1: ( ',' ) { - // InternalRos.g:9595:1: ( ',' ) - // InternalRos.g:9596:2: ',' + // InternalRos.g:10409:1: ( ',' ) + // InternalRos.g:10410:2: ',' { before(grammarAccess.getRelativeNamespace_ImplAccess().getCommaKeyword_3_3_0()); match(input,43,FOLLOW_2); @@ -29211,14 +31700,14 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__0__Impl() throws Reco // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__1" - // InternalRos.g:9605:1: rule__RelativeNamespace_Impl__Group_3_3__1 : rule__RelativeNamespace_Impl__Group_3_3__1__Impl ; + // InternalRos.g:10419:1: rule__RelativeNamespace_Impl__Group_3_3__1 : rule__RelativeNamespace_Impl__Group_3_3__1__Impl ; public final void rule__RelativeNamespace_Impl__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9609:1: ( rule__RelativeNamespace_Impl__Group_3_3__1__Impl ) - // InternalRos.g:9610:2: rule__RelativeNamespace_Impl__Group_3_3__1__Impl + // InternalRos.g:10423:1: ( rule__RelativeNamespace_Impl__Group_3_3__1__Impl ) + // InternalRos.g:10424:2: rule__RelativeNamespace_Impl__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__Group_3_3__1__Impl(); @@ -29244,21 +31733,21 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__1() throws Recognitio // $ANTLR start "rule__RelativeNamespace_Impl__Group_3_3__1__Impl" - // InternalRos.g:9616:1: rule__RelativeNamespace_Impl__Group_3_3__1__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ; + // InternalRos.g:10430:1: rule__RelativeNamespace_Impl__Group_3_3__1__Impl : ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ; public final void rule__RelativeNamespace_Impl__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9620:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ) - // InternalRos.g:9621:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) + // InternalRos.g:10434:1: ( ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) ) + // InternalRos.g:10435:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) { - // InternalRos.g:9621:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) - // InternalRos.g:9622:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) + // InternalRos.g:10435:1: ( ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) ) + // InternalRos.g:10436:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsAssignment_3_3_1()); - // InternalRos.g:9623:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) - // InternalRos.g:9623:3: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 + // InternalRos.g:10437:2: ( rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 ) + // InternalRos.g:10437:3: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__RelativeNamespace_Impl__PartsAssignment_3_3_1(); @@ -29291,16 +31780,16 @@ public final void rule__RelativeNamespace_Impl__Group_3_3__1__Impl() throws Reco // $ANTLR start "rule__PrivateNamespace__Group__0" - // InternalRos.g:9632:1: rule__PrivateNamespace__Group__0 : rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ; + // InternalRos.g:10446:1: rule__PrivateNamespace__Group__0 : rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ; public final void rule__PrivateNamespace__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9636:1: ( rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ) - // InternalRos.g:9637:2: rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 + // InternalRos.g:10450:1: ( rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 ) + // InternalRos.g:10451:2: rule__PrivateNamespace__Group__0__Impl rule__PrivateNamespace__Group__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__PrivateNamespace__Group__0__Impl(); state._fsp--; @@ -29329,21 +31818,21 @@ public final void rule__PrivateNamespace__Group__0() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__0__Impl" - // InternalRos.g:9644:1: rule__PrivateNamespace__Group__0__Impl : ( () ) ; + // InternalRos.g:10458:1: rule__PrivateNamespace__Group__0__Impl : ( () ) ; public final void rule__PrivateNamespace__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9648:1: ( ( () ) ) - // InternalRos.g:9649:1: ( () ) + // InternalRos.g:10462:1: ( ( () ) ) + // InternalRos.g:10463:1: ( () ) { - // InternalRos.g:9649:1: ( () ) - // InternalRos.g:9650:2: () + // InternalRos.g:10463:1: ( () ) + // InternalRos.g:10464:2: () { before(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceAction_0()); - // InternalRos.g:9651:2: () - // InternalRos.g:9651:3: + // InternalRos.g:10465:2: () + // InternalRos.g:10465:3: { } @@ -29366,14 +31855,14 @@ public final void rule__PrivateNamespace__Group__0__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__1" - // InternalRos.g:9659:1: rule__PrivateNamespace__Group__1 : rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ; + // InternalRos.g:10473:1: rule__PrivateNamespace__Group__1 : rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ; public final void rule__PrivateNamespace__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9663:1: ( rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ) - // InternalRos.g:9664:2: rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 + // InternalRos.g:10477:1: ( rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 ) + // InternalRos.g:10478:2: rule__PrivateNamespace__Group__1__Impl rule__PrivateNamespace__Group__2 { pushFollow(FOLLOW_4); rule__PrivateNamespace__Group__1__Impl(); @@ -29404,20 +31893,20 @@ public final void rule__PrivateNamespace__Group__1() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__1__Impl" - // InternalRos.g:9671:1: rule__PrivateNamespace__Group__1__Impl : ( 'PrivateNamespace' ) ; + // InternalRos.g:10485:1: rule__PrivateNamespace__Group__1__Impl : ( 'PrivateNamespace' ) ; public final void rule__PrivateNamespace__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9675:1: ( ( 'PrivateNamespace' ) ) - // InternalRos.g:9676:1: ( 'PrivateNamespace' ) + // InternalRos.g:10489:1: ( ( 'PrivateNamespace' ) ) + // InternalRos.g:10490:1: ( 'PrivateNamespace' ) { - // InternalRos.g:9676:1: ( 'PrivateNamespace' ) - // InternalRos.g:9677:2: 'PrivateNamespace' + // InternalRos.g:10490:1: ( 'PrivateNamespace' ) + // InternalRos.g:10491:2: 'PrivateNamespace' { before(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceKeyword_1()); - match(input,74,FOLLOW_2); + match(input,75,FOLLOW_2); after(grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceKeyword_1()); } @@ -29441,16 +31930,16 @@ public final void rule__PrivateNamespace__Group__1__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__2" - // InternalRos.g:9686:1: rule__PrivateNamespace__Group__2 : rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ; + // InternalRos.g:10500:1: rule__PrivateNamespace__Group__2 : rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ; public final void rule__PrivateNamespace__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9690:1: ( rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ) - // InternalRos.g:9691:2: rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 + // InternalRos.g:10504:1: ( rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 ) + // InternalRos.g:10505:2: rule__PrivateNamespace__Group__2__Impl rule__PrivateNamespace__Group__3 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_44); rule__PrivateNamespace__Group__2__Impl(); state._fsp--; @@ -29479,17 +31968,17 @@ public final void rule__PrivateNamespace__Group__2() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__2__Impl" - // InternalRos.g:9698:1: rule__PrivateNamespace__Group__2__Impl : ( '{' ) ; + // InternalRos.g:10512:1: rule__PrivateNamespace__Group__2__Impl : ( '{' ) ; public final void rule__PrivateNamespace__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9702:1: ( ( '{' ) ) - // InternalRos.g:9703:1: ( '{' ) + // InternalRos.g:10516:1: ( ( '{' ) ) + // InternalRos.g:10517:1: ( '{' ) { - // InternalRos.g:9703:1: ( '{' ) - // InternalRos.g:9704:2: '{' + // InternalRos.g:10517:1: ( '{' ) + // InternalRos.g:10518:2: '{' { before(grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -29516,16 +32005,16 @@ public final void rule__PrivateNamespace__Group__2__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__3" - // InternalRos.g:9713:1: rule__PrivateNamespace__Group__3 : rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ; + // InternalRos.g:10527:1: rule__PrivateNamespace__Group__3 : rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ; public final void rule__PrivateNamespace__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9717:1: ( rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ) - // InternalRos.g:9718:2: rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 + // InternalRos.g:10531:1: ( rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 ) + // InternalRos.g:10532:2: rule__PrivateNamespace__Group__3__Impl rule__PrivateNamespace__Group__4 { - pushFollow(FOLLOW_43); + pushFollow(FOLLOW_44); rule__PrivateNamespace__Group__3__Impl(); state._fsp--; @@ -29554,29 +32043,29 @@ public final void rule__PrivateNamespace__Group__3() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__3__Impl" - // InternalRos.g:9725:1: rule__PrivateNamespace__Group__3__Impl : ( ( rule__PrivateNamespace__Group_3__0 )? ) ; + // InternalRos.g:10539:1: rule__PrivateNamespace__Group__3__Impl : ( ( rule__PrivateNamespace__Group_3__0 )? ) ; public final void rule__PrivateNamespace__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9729:1: ( ( ( rule__PrivateNamespace__Group_3__0 )? ) ) - // InternalRos.g:9730:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) + // InternalRos.g:10543:1: ( ( ( rule__PrivateNamespace__Group_3__0 )? ) ) + // InternalRos.g:10544:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) { - // InternalRos.g:9730:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) - // InternalRos.g:9731:2: ( rule__PrivateNamespace__Group_3__0 )? + // InternalRos.g:10544:1: ( ( rule__PrivateNamespace__Group_3__0 )? ) + // InternalRos.g:10545:2: ( rule__PrivateNamespace__Group_3__0 )? { before(grammarAccess.getPrivateNamespaceAccess().getGroup_3()); - // InternalRos.g:9732:2: ( rule__PrivateNamespace__Group_3__0 )? - int alt60=2; - int LA60_0 = input.LA(1); + // InternalRos.g:10546:2: ( rule__PrivateNamespace__Group_3__0 )? + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA60_0==72) ) { - alt60=1; + if ( (LA67_0==73) ) { + alt67=1; } - switch (alt60) { + switch (alt67) { case 1 : - // InternalRos.g:9732:3: rule__PrivateNamespace__Group_3__0 + // InternalRos.g:10546:3: rule__PrivateNamespace__Group_3__0 { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3__0(); @@ -29612,14 +32101,14 @@ public final void rule__PrivateNamespace__Group__3__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group__4" - // InternalRos.g:9740:1: rule__PrivateNamespace__Group__4 : rule__PrivateNamespace__Group__4__Impl ; + // InternalRos.g:10554:1: rule__PrivateNamespace__Group__4 : rule__PrivateNamespace__Group__4__Impl ; public final void rule__PrivateNamespace__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9744:1: ( rule__PrivateNamespace__Group__4__Impl ) - // InternalRos.g:9745:2: rule__PrivateNamespace__Group__4__Impl + // InternalRos.g:10558:1: ( rule__PrivateNamespace__Group__4__Impl ) + // InternalRos.g:10559:2: rule__PrivateNamespace__Group__4__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group__4__Impl(); @@ -29645,17 +32134,17 @@ public final void rule__PrivateNamespace__Group__4() throws RecognitionException // $ANTLR start "rule__PrivateNamespace__Group__4__Impl" - // InternalRos.g:9751:1: rule__PrivateNamespace__Group__4__Impl : ( '}' ) ; + // InternalRos.g:10565:1: rule__PrivateNamespace__Group__4__Impl : ( '}' ) ; public final void rule__PrivateNamespace__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9755:1: ( ( '}' ) ) - // InternalRos.g:9756:1: ( '}' ) + // InternalRos.g:10569:1: ( ( '}' ) ) + // InternalRos.g:10570:1: ( '}' ) { - // InternalRos.g:9756:1: ( '}' ) - // InternalRos.g:9757:2: '}' + // InternalRos.g:10570:1: ( '}' ) + // InternalRos.g:10571:2: '}' { before(grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -29682,14 +32171,14 @@ public final void rule__PrivateNamespace__Group__4__Impl() throws RecognitionExc // $ANTLR start "rule__PrivateNamespace__Group_3__0" - // InternalRos.g:9767:1: rule__PrivateNamespace__Group_3__0 : rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ; + // InternalRos.g:10581:1: rule__PrivateNamespace__Group_3__0 : rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ; public final void rule__PrivateNamespace__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9771:1: ( rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ) - // InternalRos.g:9772:2: rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 + // InternalRos.g:10585:1: ( rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 ) + // InternalRos.g:10586:2: rule__PrivateNamespace__Group_3__0__Impl rule__PrivateNamespace__Group_3__1 { pushFollow(FOLLOW_4); rule__PrivateNamespace__Group_3__0__Impl(); @@ -29720,20 +32209,20 @@ public final void rule__PrivateNamespace__Group_3__0() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__0__Impl" - // InternalRos.g:9779:1: rule__PrivateNamespace__Group_3__0__Impl : ( 'parts' ) ; + // InternalRos.g:10593:1: rule__PrivateNamespace__Group_3__0__Impl : ( 'parts' ) ; public final void rule__PrivateNamespace__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9783:1: ( ( 'parts' ) ) - // InternalRos.g:9784:1: ( 'parts' ) + // InternalRos.g:10597:1: ( ( 'parts' ) ) + // InternalRos.g:10598:1: ( 'parts' ) { - // InternalRos.g:9784:1: ( 'parts' ) - // InternalRos.g:9785:2: 'parts' + // InternalRos.g:10598:1: ( 'parts' ) + // InternalRos.g:10599:2: 'parts' { before(grammarAccess.getPrivateNamespaceAccess().getPartsKeyword_3_0()); - match(input,72,FOLLOW_2); + match(input,73,FOLLOW_2); after(grammarAccess.getPrivateNamespaceAccess().getPartsKeyword_3_0()); } @@ -29757,16 +32246,16 @@ public final void rule__PrivateNamespace__Group_3__0__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__1" - // InternalRos.g:9794:1: rule__PrivateNamespace__Group_3__1 : rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ; + // InternalRos.g:10608:1: rule__PrivateNamespace__Group_3__1 : rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ; public final void rule__PrivateNamespace__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9798:1: ( rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ) - // InternalRos.g:9799:2: rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 + // InternalRos.g:10612:1: ( rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 ) + // InternalRos.g:10613:2: rule__PrivateNamespace__Group_3__1__Impl rule__PrivateNamespace__Group_3__2 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_45); rule__PrivateNamespace__Group_3__1__Impl(); state._fsp--; @@ -29795,17 +32284,17 @@ public final void rule__PrivateNamespace__Group_3__1() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__1__Impl" - // InternalRos.g:9806:1: rule__PrivateNamespace__Group_3__1__Impl : ( '{' ) ; + // InternalRos.g:10620:1: rule__PrivateNamespace__Group_3__1__Impl : ( '{' ) ; public final void rule__PrivateNamespace__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9810:1: ( ( '{' ) ) - // InternalRos.g:9811:1: ( '{' ) + // InternalRos.g:10624:1: ( ( '{' ) ) + // InternalRos.g:10625:1: ( '{' ) { - // InternalRos.g:9811:1: ( '{' ) - // InternalRos.g:9812:2: '{' + // InternalRos.g:10625:1: ( '{' ) + // InternalRos.g:10626:2: '{' { before(grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); match(input,41,FOLLOW_2); @@ -29832,14 +32321,14 @@ public final void rule__PrivateNamespace__Group_3__1__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__2" - // InternalRos.g:9821:1: rule__PrivateNamespace__Group_3__2 : rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ; + // InternalRos.g:10635:1: rule__PrivateNamespace__Group_3__2 : rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ; public final void rule__PrivateNamespace__Group_3__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9825:1: ( rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ) - // InternalRos.g:9826:2: rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 + // InternalRos.g:10639:1: ( rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 ) + // InternalRos.g:10640:2: rule__PrivateNamespace__Group_3__2__Impl rule__PrivateNamespace__Group_3__3 { pushFollow(FOLLOW_13); rule__PrivateNamespace__Group_3__2__Impl(); @@ -29870,21 +32359,21 @@ public final void rule__PrivateNamespace__Group_3__2() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__2__Impl" - // InternalRos.g:9833:1: rule__PrivateNamespace__Group_3__2__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ; + // InternalRos.g:10647:1: rule__PrivateNamespace__Group_3__2__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ; public final void rule__PrivateNamespace__Group_3__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9837:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ) - // InternalRos.g:9838:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:10651:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) ) + // InternalRos.g:10652:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) { - // InternalRos.g:9838:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) - // InternalRos.g:9839:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) + // InternalRos.g:10652:1: ( ( rule__PrivateNamespace__PartsAssignment_3_2 ) ) + // InternalRos.g:10653:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) { before(grammarAccess.getPrivateNamespaceAccess().getPartsAssignment_3_2()); - // InternalRos.g:9840:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) - // InternalRos.g:9840:3: rule__PrivateNamespace__PartsAssignment_3_2 + // InternalRos.g:10654:2: ( rule__PrivateNamespace__PartsAssignment_3_2 ) + // InternalRos.g:10654:3: rule__PrivateNamespace__PartsAssignment_3_2 { pushFollow(FOLLOW_2); rule__PrivateNamespace__PartsAssignment_3_2(); @@ -29917,14 +32406,14 @@ public final void rule__PrivateNamespace__Group_3__2__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__3" - // InternalRos.g:9848:1: rule__PrivateNamespace__Group_3__3 : rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ; + // InternalRos.g:10662:1: rule__PrivateNamespace__Group_3__3 : rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ; public final void rule__PrivateNamespace__Group_3__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9852:1: ( rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ) - // InternalRos.g:9853:2: rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 + // InternalRos.g:10666:1: ( rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 ) + // InternalRos.g:10667:2: rule__PrivateNamespace__Group_3__3__Impl rule__PrivateNamespace__Group_3__4 { pushFollow(FOLLOW_13); rule__PrivateNamespace__Group_3__3__Impl(); @@ -29955,33 +32444,33 @@ public final void rule__PrivateNamespace__Group_3__3() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__3__Impl" - // InternalRos.g:9860:1: rule__PrivateNamespace__Group_3__3__Impl : ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ; + // InternalRos.g:10674:1: rule__PrivateNamespace__Group_3__3__Impl : ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ; public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9864:1: ( ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ) - // InternalRos.g:9865:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) + // InternalRos.g:10678:1: ( ( ( rule__PrivateNamespace__Group_3_3__0 )* ) ) + // InternalRos.g:10679:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) { - // InternalRos.g:9865:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) - // InternalRos.g:9866:2: ( rule__PrivateNamespace__Group_3_3__0 )* + // InternalRos.g:10679:1: ( ( rule__PrivateNamespace__Group_3_3__0 )* ) + // InternalRos.g:10680:2: ( rule__PrivateNamespace__Group_3_3__0 )* { before(grammarAccess.getPrivateNamespaceAccess().getGroup_3_3()); - // InternalRos.g:9867:2: ( rule__PrivateNamespace__Group_3_3__0 )* - loop61: + // InternalRos.g:10681:2: ( rule__PrivateNamespace__Group_3_3__0 )* + loop68: do { - int alt61=2; - int LA61_0 = input.LA(1); + int alt68=2; + int LA68_0 = input.LA(1); - if ( (LA61_0==43) ) { - alt61=1; + if ( (LA68_0==43) ) { + alt68=1; } - switch (alt61) { + switch (alt68) { case 1 : - // InternalRos.g:9867:3: rule__PrivateNamespace__Group_3_3__0 + // InternalRos.g:10681:3: rule__PrivateNamespace__Group_3_3__0 { pushFollow(FOLLOW_7); rule__PrivateNamespace__Group_3_3__0(); @@ -29993,7 +32482,7 @@ public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionE break; default : - break loop61; + break loop68; } } while (true); @@ -30020,14 +32509,14 @@ public final void rule__PrivateNamespace__Group_3__3__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3__4" - // InternalRos.g:9875:1: rule__PrivateNamespace__Group_3__4 : rule__PrivateNamespace__Group_3__4__Impl ; + // InternalRos.g:10689:1: rule__PrivateNamespace__Group_3__4 : rule__PrivateNamespace__Group_3__4__Impl ; public final void rule__PrivateNamespace__Group_3__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9879:1: ( rule__PrivateNamespace__Group_3__4__Impl ) - // InternalRos.g:9880:2: rule__PrivateNamespace__Group_3__4__Impl + // InternalRos.g:10693:1: ( rule__PrivateNamespace__Group_3__4__Impl ) + // InternalRos.g:10694:2: rule__PrivateNamespace__Group_3__4__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3__4__Impl(); @@ -30053,17 +32542,17 @@ public final void rule__PrivateNamespace__Group_3__4() throws RecognitionExcepti // $ANTLR start "rule__PrivateNamespace__Group_3__4__Impl" - // InternalRos.g:9886:1: rule__PrivateNamespace__Group_3__4__Impl : ( '}' ) ; + // InternalRos.g:10700:1: rule__PrivateNamespace__Group_3__4__Impl : ( '}' ) ; public final void rule__PrivateNamespace__Group_3__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9890:1: ( ( '}' ) ) - // InternalRos.g:9891:1: ( '}' ) + // InternalRos.g:10704:1: ( ( '}' ) ) + // InternalRos.g:10705:1: ( '}' ) { - // InternalRos.g:9891:1: ( '}' ) - // InternalRos.g:9892:2: '}' + // InternalRos.g:10705:1: ( '}' ) + // InternalRos.g:10706:2: '}' { before(grammarAccess.getPrivateNamespaceAccess().getRightCurlyBracketKeyword_3_4()); match(input,42,FOLLOW_2); @@ -30090,16 +32579,16 @@ public final void rule__PrivateNamespace__Group_3__4__Impl() throws RecognitionE // $ANTLR start "rule__PrivateNamespace__Group_3_3__0" - // InternalRos.g:9902:1: rule__PrivateNamespace__Group_3_3__0 : rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ; + // InternalRos.g:10716:1: rule__PrivateNamespace__Group_3_3__0 : rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ; public final void rule__PrivateNamespace__Group_3_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9906:1: ( rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ) - // InternalRos.g:9907:2: rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 + // InternalRos.g:10720:1: ( rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 ) + // InternalRos.g:10721:2: rule__PrivateNamespace__Group_3_3__0__Impl rule__PrivateNamespace__Group_3_3__1 { - pushFollow(FOLLOW_44); + pushFollow(FOLLOW_45); rule__PrivateNamespace__Group_3_3__0__Impl(); state._fsp--; @@ -30128,17 +32617,17 @@ public final void rule__PrivateNamespace__Group_3_3__0() throws RecognitionExcep // $ANTLR start "rule__PrivateNamespace__Group_3_3__0__Impl" - // InternalRos.g:9914:1: rule__PrivateNamespace__Group_3_3__0__Impl : ( ',' ) ; + // InternalRos.g:10728:1: rule__PrivateNamespace__Group_3_3__0__Impl : ( ',' ) ; public final void rule__PrivateNamespace__Group_3_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9918:1: ( ( ',' ) ) - // InternalRos.g:9919:1: ( ',' ) + // InternalRos.g:10732:1: ( ( ',' ) ) + // InternalRos.g:10733:1: ( ',' ) { - // InternalRos.g:9919:1: ( ',' ) - // InternalRos.g:9920:2: ',' + // InternalRos.g:10733:1: ( ',' ) + // InternalRos.g:10734:2: ',' { before(grammarAccess.getPrivateNamespaceAccess().getCommaKeyword_3_3_0()); match(input,43,FOLLOW_2); @@ -30165,14 +32654,14 @@ public final void rule__PrivateNamespace__Group_3_3__0__Impl() throws Recognitio // $ANTLR start "rule__PrivateNamespace__Group_3_3__1" - // InternalRos.g:9929:1: rule__PrivateNamespace__Group_3_3__1 : rule__PrivateNamespace__Group_3_3__1__Impl ; + // InternalRos.g:10743:1: rule__PrivateNamespace__Group_3_3__1 : rule__PrivateNamespace__Group_3_3__1__Impl ; public final void rule__PrivateNamespace__Group_3_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9933:1: ( rule__PrivateNamespace__Group_3_3__1__Impl ) - // InternalRos.g:9934:2: rule__PrivateNamespace__Group_3_3__1__Impl + // InternalRos.g:10747:1: ( rule__PrivateNamespace__Group_3_3__1__Impl ) + // InternalRos.g:10748:2: rule__PrivateNamespace__Group_3_3__1__Impl { pushFollow(FOLLOW_2); rule__PrivateNamespace__Group_3_3__1__Impl(); @@ -30198,21 +32687,21 @@ public final void rule__PrivateNamespace__Group_3_3__1() throws RecognitionExcep // $ANTLR start "rule__PrivateNamespace__Group_3_3__1__Impl" - // InternalRos.g:9940:1: rule__PrivateNamespace__Group_3_3__1__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ; + // InternalRos.g:10754:1: rule__PrivateNamespace__Group_3_3__1__Impl : ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ; public final void rule__PrivateNamespace__Group_3_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9944:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ) - // InternalRos.g:9945:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:10758:1: ( ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) ) + // InternalRos.g:10759:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) { - // InternalRos.g:9945:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) - // InternalRos.g:9946:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:10759:1: ( ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) ) + // InternalRos.g:10760:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) { before(grammarAccess.getPrivateNamespaceAccess().getPartsAssignment_3_3_1()); - // InternalRos.g:9947:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) - // InternalRos.g:9947:3: rule__PrivateNamespace__PartsAssignment_3_3_1 + // InternalRos.g:10761:2: ( rule__PrivateNamespace__PartsAssignment_3_3_1 ) + // InternalRos.g:10761:3: rule__PrivateNamespace__PartsAssignment_3_3_1 { pushFollow(FOLLOW_2); rule__PrivateNamespace__PartsAssignment_3_3_1(); @@ -30245,14 +32734,14 @@ public final void rule__PrivateNamespace__Group_3_3__1__Impl() throws Recognitio // $ANTLR start "rule__Parameter__Group__0" - // InternalRos.g:9956:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; + // InternalRos.g:10770:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; public final void rule__Parameter__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9960:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) - // InternalRos.g:9961:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 + // InternalRos.g:10774:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) + // InternalRos.g:10775:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 { pushFollow(FOLLOW_4); rule__Parameter__Group__0__Impl(); @@ -30283,20 +32772,20 @@ public final void rule__Parameter__Group__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__0__Impl" - // InternalRos.g:9968:1: rule__Parameter__Group__0__Impl : ( 'Parameter' ) ; + // InternalRos.g:10782:1: rule__Parameter__Group__0__Impl : ( 'Parameter' ) ; public final void rule__Parameter__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9972:1: ( ( 'Parameter' ) ) - // InternalRos.g:9973:1: ( 'Parameter' ) + // InternalRos.g:10786:1: ( ( 'Parameter' ) ) + // InternalRos.g:10787:1: ( 'Parameter' ) { - // InternalRos.g:9973:1: ( 'Parameter' ) - // InternalRos.g:9974:2: 'Parameter' + // InternalRos.g:10787:1: ( 'Parameter' ) + // InternalRos.g:10788:2: 'Parameter' { before(grammarAccess.getParameterAccess().getParameterKeyword_0()); - match(input,75,FOLLOW_2); + match(input,76,FOLLOW_2); after(grammarAccess.getParameterAccess().getParameterKeyword_0()); } @@ -30320,16 +32809,16 @@ public final void rule__Parameter__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__1" - // InternalRos.g:9983:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ; + // InternalRos.g:10797:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ; public final void rule__Parameter__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9987:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ) - // InternalRos.g:9988:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2 + // InternalRos.g:10801:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 ) + // InternalRos.g:10802:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_29); rule__Parameter__Group__1__Impl(); state._fsp--; @@ -30358,17 +32847,17 @@ public final void rule__Parameter__Group__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__1__Impl" - // InternalRos.g:9995:1: rule__Parameter__Group__1__Impl : ( '{' ) ; + // InternalRos.g:10809:1: rule__Parameter__Group__1__Impl : ( '{' ) ; public final void rule__Parameter__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:9999:1: ( ( '{' ) ) - // InternalRos.g:10000:1: ( '{' ) + // InternalRos.g:10813:1: ( ( '{' ) ) + // InternalRos.g:10814:1: ( '{' ) { - // InternalRos.g:10000:1: ( '{' ) - // InternalRos.g:10001:2: '{' + // InternalRos.g:10814:1: ( '{' ) + // InternalRos.g:10815:2: '{' { before(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -30395,14 +32884,14 @@ public final void rule__Parameter__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__2" - // InternalRos.g:10010:1: rule__Parameter__Group__2 : rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ; + // InternalRos.g:10824:1: rule__Parameter__Group__2 : rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ; public final void rule__Parameter__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10014:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ) - // InternalRos.g:10015:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3 + // InternalRos.g:10828:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 ) + // InternalRos.g:10829:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3 { pushFollow(FOLLOW_10); rule__Parameter__Group__2__Impl(); @@ -30433,17 +32922,17 @@ public final void rule__Parameter__Group__2() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__2__Impl" - // InternalRos.g:10022:1: rule__Parameter__Group__2__Impl : ( 'name' ) ; + // InternalRos.g:10836:1: rule__Parameter__Group__2__Impl : ( 'name' ) ; public final void rule__Parameter__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10026:1: ( ( 'name' ) ) - // InternalRos.g:10027:1: ( 'name' ) + // InternalRos.g:10840:1: ( ( 'name' ) ) + // InternalRos.g:10841:1: ( 'name' ) { - // InternalRos.g:10027:1: ( 'name' ) - // InternalRos.g:10028:2: 'name' + // InternalRos.g:10841:1: ( 'name' ) + // InternalRos.g:10842:2: 'name' { before(grammarAccess.getParameterAccess().getNameKeyword_2()); match(input,33,FOLLOW_2); @@ -30470,16 +32959,16 @@ public final void rule__Parameter__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__3" - // InternalRos.g:10037:1: rule__Parameter__Group__3 : rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ; + // InternalRos.g:10851:1: rule__Parameter__Group__3 : rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ; public final void rule__Parameter__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10041:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ) - // InternalRos.g:10042:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4 + // InternalRos.g:10855:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 ) + // InternalRos.g:10856:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4 { - pushFollow(FOLLOW_46); + pushFollow(FOLLOW_47); rule__Parameter__Group__3__Impl(); state._fsp--; @@ -30508,21 +32997,21 @@ public final void rule__Parameter__Group__3() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__3__Impl" - // InternalRos.g:10049:1: rule__Parameter__Group__3__Impl : ( ( rule__Parameter__NameAssignment_3 ) ) ; + // InternalRos.g:10863:1: rule__Parameter__Group__3__Impl : ( ( rule__Parameter__NameAssignment_3 ) ) ; public final void rule__Parameter__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10053:1: ( ( ( rule__Parameter__NameAssignment_3 ) ) ) - // InternalRos.g:10054:1: ( ( rule__Parameter__NameAssignment_3 ) ) + // InternalRos.g:10867:1: ( ( ( rule__Parameter__NameAssignment_3 ) ) ) + // InternalRos.g:10868:1: ( ( rule__Parameter__NameAssignment_3 ) ) { - // InternalRos.g:10054:1: ( ( rule__Parameter__NameAssignment_3 ) ) - // InternalRos.g:10055:2: ( rule__Parameter__NameAssignment_3 ) + // InternalRos.g:10868:1: ( ( rule__Parameter__NameAssignment_3 ) ) + // InternalRos.g:10869:2: ( rule__Parameter__NameAssignment_3 ) { before(grammarAccess.getParameterAccess().getNameAssignment_3()); - // InternalRos.g:10056:2: ( rule__Parameter__NameAssignment_3 ) - // InternalRos.g:10056:3: rule__Parameter__NameAssignment_3 + // InternalRos.g:10870:2: ( rule__Parameter__NameAssignment_3 ) + // InternalRos.g:10870:3: rule__Parameter__NameAssignment_3 { pushFollow(FOLLOW_2); rule__Parameter__NameAssignment_3(); @@ -30555,16 +33044,16 @@ public final void rule__Parameter__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__4" - // InternalRos.g:10064:1: rule__Parameter__Group__4 : rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ; + // InternalRos.g:10878:1: rule__Parameter__Group__4 : rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ; public final void rule__Parameter__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10068:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ) - // InternalRos.g:10069:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5 + // InternalRos.g:10882:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 ) + // InternalRos.g:10883:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5 { - pushFollow(FOLLOW_46); + pushFollow(FOLLOW_47); rule__Parameter__Group__4__Impl(); state._fsp--; @@ -30593,29 +33082,29 @@ public final void rule__Parameter__Group__4() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__4__Impl" - // InternalRos.g:10076:1: rule__Parameter__Group__4__Impl : ( ( rule__Parameter__Group_4__0 )? ) ; + // InternalRos.g:10890:1: rule__Parameter__Group__4__Impl : ( ( rule__Parameter__Group_4__0 )? ) ; public final void rule__Parameter__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10080:1: ( ( ( rule__Parameter__Group_4__0 )? ) ) - // InternalRos.g:10081:1: ( ( rule__Parameter__Group_4__0 )? ) + // InternalRos.g:10894:1: ( ( ( rule__Parameter__Group_4__0 )? ) ) + // InternalRos.g:10895:1: ( ( rule__Parameter__Group_4__0 )? ) { - // InternalRos.g:10081:1: ( ( rule__Parameter__Group_4__0 )? ) - // InternalRos.g:10082:2: ( rule__Parameter__Group_4__0 )? + // InternalRos.g:10895:1: ( ( rule__Parameter__Group_4__0 )? ) + // InternalRos.g:10896:2: ( rule__Parameter__Group_4__0 )? { before(grammarAccess.getParameterAccess().getGroup_4()); - // InternalRos.g:10083:2: ( rule__Parameter__Group_4__0 )? - int alt62=2; - int LA62_0 = input.LA(1); + // InternalRos.g:10897:2: ( rule__Parameter__Group_4__0 )? + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA62_0==64) ) { - alt62=1; + if ( (LA69_0==65) ) { + alt69=1; } - switch (alt62) { + switch (alt69) { case 1 : - // InternalRos.g:10083:3: rule__Parameter__Group_4__0 + // InternalRos.g:10897:3: rule__Parameter__Group_4__0 { pushFollow(FOLLOW_2); rule__Parameter__Group_4__0(); @@ -30651,16 +33140,16 @@ public final void rule__Parameter__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__5" - // InternalRos.g:10091:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ; + // InternalRos.g:10905:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ; public final void rule__Parameter__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10095:1: ( rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ) - // InternalRos.g:10096:2: rule__Parameter__Group__5__Impl rule__Parameter__Group__6 + // InternalRos.g:10909:1: ( rule__Parameter__Group__5__Impl rule__Parameter__Group__6 ) + // InternalRos.g:10910:2: rule__Parameter__Group__5__Impl rule__Parameter__Group__6 { - pushFollow(FOLLOW_47); + pushFollow(FOLLOW_48); rule__Parameter__Group__5__Impl(); state._fsp--; @@ -30689,17 +33178,17 @@ public final void rule__Parameter__Group__5() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__5__Impl" - // InternalRos.g:10103:1: rule__Parameter__Group__5__Impl : ( 'type' ) ; + // InternalRos.g:10917:1: rule__Parameter__Group__5__Impl : ( 'type' ) ; public final void rule__Parameter__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10107:1: ( ( 'type' ) ) - // InternalRos.g:10108:1: ( 'type' ) + // InternalRos.g:10921:1: ( ( 'type' ) ) + // InternalRos.g:10922:1: ( 'type' ) { - // InternalRos.g:10108:1: ( 'type' ) - // InternalRos.g:10109:2: 'type' + // InternalRos.g:10922:1: ( 'type' ) + // InternalRos.g:10923:2: 'type' { before(grammarAccess.getParameterAccess().getTypeKeyword_5()); match(input,36,FOLLOW_2); @@ -30726,16 +33215,16 @@ public final void rule__Parameter__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__6" - // InternalRos.g:10118:1: rule__Parameter__Group__6 : rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ; + // InternalRos.g:10932:1: rule__Parameter__Group__6 : rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ; public final void rule__Parameter__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10122:1: ( rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ) - // InternalRos.g:10123:2: rule__Parameter__Group__6__Impl rule__Parameter__Group__7 + // InternalRos.g:10936:1: ( rule__Parameter__Group__6__Impl rule__Parameter__Group__7 ) + // InternalRos.g:10937:2: rule__Parameter__Group__6__Impl rule__Parameter__Group__7 { - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_49); rule__Parameter__Group__6__Impl(); state._fsp--; @@ -30764,21 +33253,21 @@ public final void rule__Parameter__Group__6() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__6__Impl" - // InternalRos.g:10130:1: rule__Parameter__Group__6__Impl : ( ( rule__Parameter__TypeAssignment_6 ) ) ; + // InternalRos.g:10944:1: rule__Parameter__Group__6__Impl : ( ( rule__Parameter__TypeAssignment_6 ) ) ; public final void rule__Parameter__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10134:1: ( ( ( rule__Parameter__TypeAssignment_6 ) ) ) - // InternalRos.g:10135:1: ( ( rule__Parameter__TypeAssignment_6 ) ) + // InternalRos.g:10948:1: ( ( ( rule__Parameter__TypeAssignment_6 ) ) ) + // InternalRos.g:10949:1: ( ( rule__Parameter__TypeAssignment_6 ) ) { - // InternalRos.g:10135:1: ( ( rule__Parameter__TypeAssignment_6 ) ) - // InternalRos.g:10136:2: ( rule__Parameter__TypeAssignment_6 ) + // InternalRos.g:10949:1: ( ( rule__Parameter__TypeAssignment_6 ) ) + // InternalRos.g:10950:2: ( rule__Parameter__TypeAssignment_6 ) { before(grammarAccess.getParameterAccess().getTypeAssignment_6()); - // InternalRos.g:10137:2: ( rule__Parameter__TypeAssignment_6 ) - // InternalRos.g:10137:3: rule__Parameter__TypeAssignment_6 + // InternalRos.g:10951:2: ( rule__Parameter__TypeAssignment_6 ) + // InternalRos.g:10951:3: rule__Parameter__TypeAssignment_6 { pushFollow(FOLLOW_2); rule__Parameter__TypeAssignment_6(); @@ -30811,14 +33300,14 @@ public final void rule__Parameter__Group__6__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group__7" - // InternalRos.g:10145:1: rule__Parameter__Group__7 : rule__Parameter__Group__7__Impl ; + // InternalRos.g:10959:1: rule__Parameter__Group__7 : rule__Parameter__Group__7__Impl ; public final void rule__Parameter__Group__7() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10149:1: ( rule__Parameter__Group__7__Impl ) - // InternalRos.g:10150:2: rule__Parameter__Group__7__Impl + // InternalRos.g:10963:1: ( rule__Parameter__Group__7__Impl ) + // InternalRos.g:10964:2: rule__Parameter__Group__7__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group__7__Impl(); @@ -30844,17 +33333,17 @@ public final void rule__Parameter__Group__7() throws RecognitionException { // $ANTLR start "rule__Parameter__Group__7__Impl" - // InternalRos.g:10156:1: rule__Parameter__Group__7__Impl : ( '}' ) ; + // InternalRos.g:10970:1: rule__Parameter__Group__7__Impl : ( '}' ) ; public final void rule__Parameter__Group__7__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10160:1: ( ( '}' ) ) - // InternalRos.g:10161:1: ( '}' ) + // InternalRos.g:10974:1: ( ( '}' ) ) + // InternalRos.g:10975:1: ( '}' ) { - // InternalRos.g:10161:1: ( '}' ) - // InternalRos.g:10162:2: '}' + // InternalRos.g:10975:1: ( '}' ) + // InternalRos.g:10976:2: '}' { before(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); match(input,42,FOLLOW_2); @@ -30881,16 +33370,16 @@ public final void rule__Parameter__Group__7__Impl() throws RecognitionException // $ANTLR start "rule__Parameter__Group_4__0" - // InternalRos.g:10172:1: rule__Parameter__Group_4__0 : rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ; + // InternalRos.g:10986:1: rule__Parameter__Group_4__0 : rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ; public final void rule__Parameter__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10176:1: ( rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ) - // InternalRos.g:10177:2: rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 + // InternalRos.g:10990:1: ( rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 ) + // InternalRos.g:10991:2: rule__Parameter__Group_4__0__Impl rule__Parameter__Group_4__1 { - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_40); rule__Parameter__Group_4__0__Impl(); state._fsp--; @@ -30919,20 +33408,20 @@ public final void rule__Parameter__Group_4__0() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_4__0__Impl" - // InternalRos.g:10184:1: rule__Parameter__Group_4__0__Impl : ( 'namespace' ) ; + // InternalRos.g:10998:1: rule__Parameter__Group_4__0__Impl : ( 'namespace' ) ; public final void rule__Parameter__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10188:1: ( ( 'namespace' ) ) - // InternalRos.g:10189:1: ( 'namespace' ) + // InternalRos.g:11002:1: ( ( 'namespace' ) ) + // InternalRos.g:11003:1: ( 'namespace' ) { - // InternalRos.g:10189:1: ( 'namespace' ) - // InternalRos.g:10190:2: 'namespace' + // InternalRos.g:11003:1: ( 'namespace' ) + // InternalRos.g:11004:2: 'namespace' { before(grammarAccess.getParameterAccess().getNamespaceKeyword_4_0()); - match(input,64,FOLLOW_2); + match(input,65,FOLLOW_2); after(grammarAccess.getParameterAccess().getNamespaceKeyword_4_0()); } @@ -30956,14 +33445,14 @@ public final void rule__Parameter__Group_4__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Parameter__Group_4__1" - // InternalRos.g:10199:1: rule__Parameter__Group_4__1 : rule__Parameter__Group_4__1__Impl ; + // InternalRos.g:11013:1: rule__Parameter__Group_4__1 : rule__Parameter__Group_4__1__Impl ; public final void rule__Parameter__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10203:1: ( rule__Parameter__Group_4__1__Impl ) - // InternalRos.g:10204:2: rule__Parameter__Group_4__1__Impl + // InternalRos.g:11017:1: ( rule__Parameter__Group_4__1__Impl ) + // InternalRos.g:11018:2: rule__Parameter__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__Parameter__Group_4__1__Impl(); @@ -30989,21 +33478,21 @@ public final void rule__Parameter__Group_4__1() throws RecognitionException { // $ANTLR start "rule__Parameter__Group_4__1__Impl" - // InternalRos.g:10210:1: rule__Parameter__Group_4__1__Impl : ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ; + // InternalRos.g:11024:1: rule__Parameter__Group_4__1__Impl : ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ; public final void rule__Parameter__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10214:1: ( ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ) - // InternalRos.g:10215:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) + // InternalRos.g:11028:1: ( ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) ) + // InternalRos.g:11029:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) { - // InternalRos.g:10215:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) - // InternalRos.g:10216:2: ( rule__Parameter__NamespaceAssignment_4_1 ) + // InternalRos.g:11029:1: ( ( rule__Parameter__NamespaceAssignment_4_1 ) ) + // InternalRos.g:11030:2: ( rule__Parameter__NamespaceAssignment_4_1 ) { before(grammarAccess.getParameterAccess().getNamespaceAssignment_4_1()); - // InternalRos.g:10217:2: ( rule__Parameter__NamespaceAssignment_4_1 ) - // InternalRos.g:10217:3: rule__Parameter__NamespaceAssignment_4_1 + // InternalRos.g:11031:2: ( rule__Parameter__NamespaceAssignment_4_1 ) + // InternalRos.g:11031:3: rule__Parameter__NamespaceAssignment_4_1 { pushFollow(FOLLOW_2); rule__Parameter__NamespaceAssignment_4_1(); @@ -31036,16 +33525,16 @@ public final void rule__Parameter__Group_4__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__0" - // InternalRos.g:10226:1: rule__ParameterListType__Group__0 : rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ; + // InternalRos.g:11040:1: rule__ParameterListType__Group__0 : rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ; public final void rule__ParameterListType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10230:1: ( rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ) - // InternalRos.g:10231:2: rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 + // InternalRos.g:11044:1: ( rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 ) + // InternalRos.g:11045:2: rule__ParameterListType__Group__0__Impl rule__ParameterListType__Group__1 { - pushFollow(FOLLOW_49); + pushFollow(FOLLOW_50); rule__ParameterListType__Group__0__Impl(); state._fsp--; @@ -31074,21 +33563,21 @@ public final void rule__ParameterListType__Group__0() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__0__Impl" - // InternalRos.g:10238:1: rule__ParameterListType__Group__0__Impl : ( () ) ; + // InternalRos.g:11052:1: rule__ParameterListType__Group__0__Impl : ( () ) ; public final void rule__ParameterListType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10242:1: ( ( () ) ) - // InternalRos.g:10243:1: ( () ) + // InternalRos.g:11056:1: ( ( () ) ) + // InternalRos.g:11057:1: ( () ) { - // InternalRos.g:10243:1: ( () ) - // InternalRos.g:10244:2: () + // InternalRos.g:11057:1: ( () ) + // InternalRos.g:11058:2: () { before(grammarAccess.getParameterListTypeAccess().getParameterListTypeAction_0()); - // InternalRos.g:10245:2: () - // InternalRos.g:10245:3: + // InternalRos.g:11059:2: () + // InternalRos.g:11059:3: { } @@ -31111,14 +33600,14 @@ public final void rule__ParameterListType__Group__0__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__1" - // InternalRos.g:10253:1: rule__ParameterListType__Group__1 : rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ; + // InternalRos.g:11067:1: rule__ParameterListType__Group__1 : rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ; public final void rule__ParameterListType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10257:1: ( rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ) - // InternalRos.g:10258:2: rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 + // InternalRos.g:11071:1: ( rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 ) + // InternalRos.g:11072:2: rule__ParameterListType__Group__1__Impl rule__ParameterListType__Group__2 { pushFollow(FOLLOW_4); rule__ParameterListType__Group__1__Impl(); @@ -31149,20 +33638,20 @@ public final void rule__ParameterListType__Group__1() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__1__Impl" - // InternalRos.g:10265:1: rule__ParameterListType__Group__1__Impl : ( 'List' ) ; + // InternalRos.g:11079:1: rule__ParameterListType__Group__1__Impl : ( 'List' ) ; public final void rule__ParameterListType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10269:1: ( ( 'List' ) ) - // InternalRos.g:10270:1: ( 'List' ) + // InternalRos.g:11083:1: ( ( 'List' ) ) + // InternalRos.g:11084:1: ( 'List' ) { - // InternalRos.g:10270:1: ( 'List' ) - // InternalRos.g:10271:2: 'List' + // InternalRos.g:11084:1: ( 'List' ) + // InternalRos.g:11085:2: 'List' { before(grammarAccess.getParameterListTypeAccess().getListKeyword_1()); - match(input,76,FOLLOW_2); + match(input,77,FOLLOW_2); after(grammarAccess.getParameterListTypeAccess().getListKeyword_1()); } @@ -31186,16 +33675,16 @@ public final void rule__ParameterListType__Group__1__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__2" - // InternalRos.g:10280:1: rule__ParameterListType__Group__2 : rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ; + // InternalRos.g:11094:1: rule__ParameterListType__Group__2 : rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ; public final void rule__ParameterListType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10284:1: ( rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ) - // InternalRos.g:10285:2: rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 + // InternalRos.g:11098:1: ( rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 ) + // InternalRos.g:11099:2: rule__ParameterListType__Group__2__Impl rule__ParameterListType__Group__3 { - pushFollow(FOLLOW_47); + pushFollow(FOLLOW_48); rule__ParameterListType__Group__2__Impl(); state._fsp--; @@ -31224,17 +33713,17 @@ public final void rule__ParameterListType__Group__2() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__2__Impl" - // InternalRos.g:10292:1: rule__ParameterListType__Group__2__Impl : ( '{' ) ; + // InternalRos.g:11106:1: rule__ParameterListType__Group__2__Impl : ( '{' ) ; public final void rule__ParameterListType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10296:1: ( ( '{' ) ) - // InternalRos.g:10297:1: ( '{' ) + // InternalRos.g:11110:1: ( ( '{' ) ) + // InternalRos.g:11111:1: ( '{' ) { - // InternalRos.g:10297:1: ( '{' ) - // InternalRos.g:10298:2: '{' + // InternalRos.g:11111:1: ( '{' ) + // InternalRos.g:11112:2: '{' { before(grammarAccess.getParameterListTypeAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -31261,14 +33750,14 @@ public final void rule__ParameterListType__Group__2__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__3" - // InternalRos.g:10307:1: rule__ParameterListType__Group__3 : rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ; + // InternalRos.g:11121:1: rule__ParameterListType__Group__3 : rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ; public final void rule__ParameterListType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10311:1: ( rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ) - // InternalRos.g:10312:2: rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 + // InternalRos.g:11125:1: ( rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 ) + // InternalRos.g:11126:2: rule__ParameterListType__Group__3__Impl rule__ParameterListType__Group__4 { pushFollow(FOLLOW_13); rule__ParameterListType__Group__3__Impl(); @@ -31299,21 +33788,21 @@ public final void rule__ParameterListType__Group__3() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__3__Impl" - // InternalRos.g:10319:1: rule__ParameterListType__Group__3__Impl : ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ; + // InternalRos.g:11133:1: rule__ParameterListType__Group__3__Impl : ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ; public final void rule__ParameterListType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10323:1: ( ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ) - // InternalRos.g:10324:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) + // InternalRos.g:11137:1: ( ( ( rule__ParameterListType__SequenceAssignment_3 ) ) ) + // InternalRos.g:11138:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) { - // InternalRos.g:10324:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) - // InternalRos.g:10325:2: ( rule__ParameterListType__SequenceAssignment_3 ) + // InternalRos.g:11138:1: ( ( rule__ParameterListType__SequenceAssignment_3 ) ) + // InternalRos.g:11139:2: ( rule__ParameterListType__SequenceAssignment_3 ) { before(grammarAccess.getParameterListTypeAccess().getSequenceAssignment_3()); - // InternalRos.g:10326:2: ( rule__ParameterListType__SequenceAssignment_3 ) - // InternalRos.g:10326:3: rule__ParameterListType__SequenceAssignment_3 + // InternalRos.g:11140:2: ( rule__ParameterListType__SequenceAssignment_3 ) + // InternalRos.g:11140:3: rule__ParameterListType__SequenceAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterListType__SequenceAssignment_3(); @@ -31346,14 +33835,14 @@ public final void rule__ParameterListType__Group__3__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__4" - // InternalRos.g:10334:1: rule__ParameterListType__Group__4 : rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ; + // InternalRos.g:11148:1: rule__ParameterListType__Group__4 : rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ; public final void rule__ParameterListType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10338:1: ( rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ) - // InternalRos.g:10339:2: rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 + // InternalRos.g:11152:1: ( rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 ) + // InternalRos.g:11153:2: rule__ParameterListType__Group__4__Impl rule__ParameterListType__Group__5 { pushFollow(FOLLOW_13); rule__ParameterListType__Group__4__Impl(); @@ -31384,33 +33873,33 @@ public final void rule__ParameterListType__Group__4() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__4__Impl" - // InternalRos.g:10346:1: rule__ParameterListType__Group__4__Impl : ( ( rule__ParameterListType__Group_4__0 )* ) ; + // InternalRos.g:11160:1: rule__ParameterListType__Group__4__Impl : ( ( rule__ParameterListType__Group_4__0 )* ) ; public final void rule__ParameterListType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10350:1: ( ( ( rule__ParameterListType__Group_4__0 )* ) ) - // InternalRos.g:10351:1: ( ( rule__ParameterListType__Group_4__0 )* ) + // InternalRos.g:11164:1: ( ( ( rule__ParameterListType__Group_4__0 )* ) ) + // InternalRos.g:11165:1: ( ( rule__ParameterListType__Group_4__0 )* ) { - // InternalRos.g:10351:1: ( ( rule__ParameterListType__Group_4__0 )* ) - // InternalRos.g:10352:2: ( rule__ParameterListType__Group_4__0 )* + // InternalRos.g:11165:1: ( ( rule__ParameterListType__Group_4__0 )* ) + // InternalRos.g:11166:2: ( rule__ParameterListType__Group_4__0 )* { before(grammarAccess.getParameterListTypeAccess().getGroup_4()); - // InternalRos.g:10353:2: ( rule__ParameterListType__Group_4__0 )* - loop63: + // InternalRos.g:11167:2: ( rule__ParameterListType__Group_4__0 )* + loop70: do { - int alt63=2; - int LA63_0 = input.LA(1); + int alt70=2; + int LA70_0 = input.LA(1); - if ( (LA63_0==43) ) { - alt63=1; + if ( (LA70_0==43) ) { + alt70=1; } - switch (alt63) { + switch (alt70) { case 1 : - // InternalRos.g:10353:3: rule__ParameterListType__Group_4__0 + // InternalRos.g:11167:3: rule__ParameterListType__Group_4__0 { pushFollow(FOLLOW_7); rule__ParameterListType__Group_4__0(); @@ -31422,7 +33911,7 @@ public final void rule__ParameterListType__Group__4__Impl() throws RecognitionEx break; default : - break loop63; + break loop70; } } while (true); @@ -31449,14 +33938,14 @@ public final void rule__ParameterListType__Group__4__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group__5" - // InternalRos.g:10361:1: rule__ParameterListType__Group__5 : rule__ParameterListType__Group__5__Impl ; + // InternalRos.g:11175:1: rule__ParameterListType__Group__5 : rule__ParameterListType__Group__5__Impl ; public final void rule__ParameterListType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10365:1: ( rule__ParameterListType__Group__5__Impl ) - // InternalRos.g:10366:2: rule__ParameterListType__Group__5__Impl + // InternalRos.g:11179:1: ( rule__ParameterListType__Group__5__Impl ) + // InternalRos.g:11180:2: rule__ParameterListType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterListType__Group__5__Impl(); @@ -31482,17 +33971,17 @@ public final void rule__ParameterListType__Group__5() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__Group__5__Impl" - // InternalRos.g:10372:1: rule__ParameterListType__Group__5__Impl : ( '}' ) ; + // InternalRos.g:11186:1: rule__ParameterListType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterListType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10376:1: ( ( '}' ) ) - // InternalRos.g:10377:1: ( '}' ) + // InternalRos.g:11190:1: ( ( '}' ) ) + // InternalRos.g:11191:1: ( '}' ) { - // InternalRos.g:10377:1: ( '}' ) - // InternalRos.g:10378:2: '}' + // InternalRos.g:11191:1: ( '}' ) + // InternalRos.g:11192:2: '}' { before(grammarAccess.getParameterListTypeAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -31519,16 +34008,16 @@ public final void rule__ParameterListType__Group__5__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterListType__Group_4__0" - // InternalRos.g:10388:1: rule__ParameterListType__Group_4__0 : rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ; + // InternalRos.g:11202:1: rule__ParameterListType__Group_4__0 : rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ; public final void rule__ParameterListType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10392:1: ( rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ) - // InternalRos.g:10393:2: rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 + // InternalRos.g:11206:1: ( rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 ) + // InternalRos.g:11207:2: rule__ParameterListType__Group_4__0__Impl rule__ParameterListType__Group_4__1 { - pushFollow(FOLLOW_47); + pushFollow(FOLLOW_48); rule__ParameterListType__Group_4__0__Impl(); state._fsp--; @@ -31557,17 +34046,17 @@ public final void rule__ParameterListType__Group_4__0() throws RecognitionExcept // $ANTLR start "rule__ParameterListType__Group_4__0__Impl" - // InternalRos.g:10400:1: rule__ParameterListType__Group_4__0__Impl : ( ',' ) ; + // InternalRos.g:11214:1: rule__ParameterListType__Group_4__0__Impl : ( ',' ) ; public final void rule__ParameterListType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10404:1: ( ( ',' ) ) - // InternalRos.g:10405:1: ( ',' ) + // InternalRos.g:11218:1: ( ( ',' ) ) + // InternalRos.g:11219:1: ( ',' ) { - // InternalRos.g:10405:1: ( ',' ) - // InternalRos.g:10406:2: ',' + // InternalRos.g:11219:1: ( ',' ) + // InternalRos.g:11220:2: ',' { before(grammarAccess.getParameterListTypeAccess().getCommaKeyword_4_0()); match(input,43,FOLLOW_2); @@ -31594,14 +34083,14 @@ public final void rule__ParameterListType__Group_4__0__Impl() throws Recognition // $ANTLR start "rule__ParameterListType__Group_4__1" - // InternalRos.g:10415:1: rule__ParameterListType__Group_4__1 : rule__ParameterListType__Group_4__1__Impl ; + // InternalRos.g:11229:1: rule__ParameterListType__Group_4__1 : rule__ParameterListType__Group_4__1__Impl ; public final void rule__ParameterListType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10419:1: ( rule__ParameterListType__Group_4__1__Impl ) - // InternalRos.g:10420:2: rule__ParameterListType__Group_4__1__Impl + // InternalRos.g:11233:1: ( rule__ParameterListType__Group_4__1__Impl ) + // InternalRos.g:11234:2: rule__ParameterListType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterListType__Group_4__1__Impl(); @@ -31627,21 +34116,21 @@ public final void rule__ParameterListType__Group_4__1() throws RecognitionExcept // $ANTLR start "rule__ParameterListType__Group_4__1__Impl" - // InternalRos.g:10426:1: rule__ParameterListType__Group_4__1__Impl : ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ; + // InternalRos.g:11240:1: rule__ParameterListType__Group_4__1__Impl : ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ; public final void rule__ParameterListType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10430:1: ( ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ) - // InternalRos.g:10431:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) + // InternalRos.g:11244:1: ( ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) ) + // InternalRos.g:11245:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) { - // InternalRos.g:10431:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) - // InternalRos.g:10432:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) + // InternalRos.g:11245:1: ( ( rule__ParameterListType__SequenceAssignment_4_1 ) ) + // InternalRos.g:11246:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) { before(grammarAccess.getParameterListTypeAccess().getSequenceAssignment_4_1()); - // InternalRos.g:10433:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) - // InternalRos.g:10433:3: rule__ParameterListType__SequenceAssignment_4_1 + // InternalRos.g:11247:2: ( rule__ParameterListType__SequenceAssignment_4_1 ) + // InternalRos.g:11247:3: rule__ParameterListType__SequenceAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterListType__SequenceAssignment_4_1(); @@ -31674,16 +34163,16 @@ public final void rule__ParameterListType__Group_4__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__0" - // InternalRos.g:10442:1: rule__ParameterStructType__Group__0 : rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ; + // InternalRos.g:11256:1: rule__ParameterStructType__Group__0 : rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ; public final void rule__ParameterStructType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10446:1: ( rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ) - // InternalRos.g:10447:2: rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 + // InternalRos.g:11260:1: ( rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 ) + // InternalRos.g:11261:2: rule__ParameterStructType__Group__0__Impl rule__ParameterStructType__Group__1 { - pushFollow(FOLLOW_50); + pushFollow(FOLLOW_51); rule__ParameterStructType__Group__0__Impl(); state._fsp--; @@ -31712,21 +34201,21 @@ public final void rule__ParameterStructType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__0__Impl" - // InternalRos.g:10454:1: rule__ParameterStructType__Group__0__Impl : ( () ) ; + // InternalRos.g:11268:1: rule__ParameterStructType__Group__0__Impl : ( () ) ; public final void rule__ParameterStructType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10458:1: ( ( () ) ) - // InternalRos.g:10459:1: ( () ) + // InternalRos.g:11272:1: ( ( () ) ) + // InternalRos.g:11273:1: ( () ) { - // InternalRos.g:10459:1: ( () ) - // InternalRos.g:10460:2: () + // InternalRos.g:11273:1: ( () ) + // InternalRos.g:11274:2: () { before(grammarAccess.getParameterStructTypeAccess().getParameterStructTypeAction_0()); - // InternalRos.g:10461:2: () - // InternalRos.g:10461:3: + // InternalRos.g:11275:2: () + // InternalRos.g:11275:3: { } @@ -31749,14 +34238,14 @@ public final void rule__ParameterStructType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__1" - // InternalRos.g:10469:1: rule__ParameterStructType__Group__1 : rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ; + // InternalRos.g:11283:1: rule__ParameterStructType__Group__1 : rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ; public final void rule__ParameterStructType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10473:1: ( rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ) - // InternalRos.g:10474:2: rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 + // InternalRos.g:11287:1: ( rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 ) + // InternalRos.g:11288:2: rule__ParameterStructType__Group__1__Impl rule__ParameterStructType__Group__2 { pushFollow(FOLLOW_4); rule__ParameterStructType__Group__1__Impl(); @@ -31787,20 +34276,20 @@ public final void rule__ParameterStructType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__1__Impl" - // InternalRos.g:10481:1: rule__ParameterStructType__Group__1__Impl : ( 'Struct' ) ; + // InternalRos.g:11295:1: rule__ParameterStructType__Group__1__Impl : ( 'Struct' ) ; public final void rule__ParameterStructType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10485:1: ( ( 'Struct' ) ) - // InternalRos.g:10486:1: ( 'Struct' ) + // InternalRos.g:11299:1: ( ( 'Struct' ) ) + // InternalRos.g:11300:1: ( 'Struct' ) { - // InternalRos.g:10486:1: ( 'Struct' ) - // InternalRos.g:10487:2: 'Struct' + // InternalRos.g:11300:1: ( 'Struct' ) + // InternalRos.g:11301:2: 'Struct' { before(grammarAccess.getParameterStructTypeAccess().getStructKeyword_1()); - match(input,77,FOLLOW_2); + match(input,78,FOLLOW_2); after(grammarAccess.getParameterStructTypeAccess().getStructKeyword_1()); } @@ -31824,14 +34313,14 @@ public final void rule__ParameterStructType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__2" - // InternalRos.g:10496:1: rule__ParameterStructType__Group__2 : rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ; + // InternalRos.g:11310:1: rule__ParameterStructType__Group__2 : rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ; public final void rule__ParameterStructType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10500:1: ( rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ) - // InternalRos.g:10501:2: rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 + // InternalRos.g:11314:1: ( rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 ) + // InternalRos.g:11315:2: rule__ParameterStructType__Group__2__Impl rule__ParameterStructType__Group__3 { pushFollow(FOLLOW_10); rule__ParameterStructType__Group__2__Impl(); @@ -31862,17 +34351,17 @@ public final void rule__ParameterStructType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__2__Impl" - // InternalRos.g:10508:1: rule__ParameterStructType__Group__2__Impl : ( '{' ) ; + // InternalRos.g:11322:1: rule__ParameterStructType__Group__2__Impl : ( '{' ) ; public final void rule__ParameterStructType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10512:1: ( ( '{' ) ) - // InternalRos.g:10513:1: ( '{' ) + // InternalRos.g:11326:1: ( ( '{' ) ) + // InternalRos.g:11327:1: ( '{' ) { - // InternalRos.g:10513:1: ( '{' ) - // InternalRos.g:10514:2: '{' + // InternalRos.g:11327:1: ( '{' ) + // InternalRos.g:11328:2: '{' { before(grammarAccess.getParameterStructTypeAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -31899,14 +34388,14 @@ public final void rule__ParameterStructType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__3" - // InternalRos.g:10523:1: rule__ParameterStructType__Group__3 : rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ; + // InternalRos.g:11337:1: rule__ParameterStructType__Group__3 : rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ; public final void rule__ParameterStructType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10527:1: ( rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ) - // InternalRos.g:10528:2: rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 + // InternalRos.g:11341:1: ( rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 ) + // InternalRos.g:11342:2: rule__ParameterStructType__Group__3__Impl rule__ParameterStructType__Group__4 { pushFollow(FOLLOW_13); rule__ParameterStructType__Group__3__Impl(); @@ -31937,21 +34426,21 @@ public final void rule__ParameterStructType__Group__3() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__3__Impl" - // InternalRos.g:10535:1: rule__ParameterStructType__Group__3__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ; + // InternalRos.g:11349:1: rule__ParameterStructType__Group__3__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ; public final void rule__ParameterStructType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10539:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ) - // InternalRos.g:10540:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) + // InternalRos.g:11353:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) ) + // InternalRos.g:11354:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) { - // InternalRos.g:10540:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) - // InternalRos.g:10541:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) + // InternalRos.g:11354:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) ) + // InternalRos.g:11355:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberAssignment_3()); - // InternalRos.g:10542:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) - // InternalRos.g:10542:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 + // InternalRos.g:11356:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_3 ) + // InternalRos.g:11356:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterStructType__ParameterstructypetmemberAssignment_3(); @@ -31984,14 +34473,14 @@ public final void rule__ParameterStructType__Group__3__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__4" - // InternalRos.g:10550:1: rule__ParameterStructType__Group__4 : rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ; + // InternalRos.g:11364:1: rule__ParameterStructType__Group__4 : rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ; public final void rule__ParameterStructType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10554:1: ( rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ) - // InternalRos.g:10555:2: rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 + // InternalRos.g:11368:1: ( rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 ) + // InternalRos.g:11369:2: rule__ParameterStructType__Group__4__Impl rule__ParameterStructType__Group__5 { pushFollow(FOLLOW_13); rule__ParameterStructType__Group__4__Impl(); @@ -32022,33 +34511,33 @@ public final void rule__ParameterStructType__Group__4() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__4__Impl" - // InternalRos.g:10562:1: rule__ParameterStructType__Group__4__Impl : ( ( rule__ParameterStructType__Group_4__0 )* ) ; + // InternalRos.g:11376:1: rule__ParameterStructType__Group__4__Impl : ( ( rule__ParameterStructType__Group_4__0 )* ) ; public final void rule__ParameterStructType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10566:1: ( ( ( rule__ParameterStructType__Group_4__0 )* ) ) - // InternalRos.g:10567:1: ( ( rule__ParameterStructType__Group_4__0 )* ) + // InternalRos.g:11380:1: ( ( ( rule__ParameterStructType__Group_4__0 )* ) ) + // InternalRos.g:11381:1: ( ( rule__ParameterStructType__Group_4__0 )* ) { - // InternalRos.g:10567:1: ( ( rule__ParameterStructType__Group_4__0 )* ) - // InternalRos.g:10568:2: ( rule__ParameterStructType__Group_4__0 )* + // InternalRos.g:11381:1: ( ( rule__ParameterStructType__Group_4__0 )* ) + // InternalRos.g:11382:2: ( rule__ParameterStructType__Group_4__0 )* { before(grammarAccess.getParameterStructTypeAccess().getGroup_4()); - // InternalRos.g:10569:2: ( rule__ParameterStructType__Group_4__0 )* - loop64: + // InternalRos.g:11383:2: ( rule__ParameterStructType__Group_4__0 )* + loop71: do { - int alt64=2; - int LA64_0 = input.LA(1); + int alt71=2; + int LA71_0 = input.LA(1); - if ( (LA64_0==43) ) { - alt64=1; + if ( (LA71_0==43) ) { + alt71=1; } - switch (alt64) { + switch (alt71) { case 1 : - // InternalRos.g:10569:3: rule__ParameterStructType__Group_4__0 + // InternalRos.g:11383:3: rule__ParameterStructType__Group_4__0 { pushFollow(FOLLOW_7); rule__ParameterStructType__Group_4__0(); @@ -32060,7 +34549,7 @@ public final void rule__ParameterStructType__Group__4__Impl() throws Recognition break; default : - break loop64; + break loop71; } } while (true); @@ -32087,14 +34576,14 @@ public final void rule__ParameterStructType__Group__4__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group__5" - // InternalRos.g:10577:1: rule__ParameterStructType__Group__5 : rule__ParameterStructType__Group__5__Impl ; + // InternalRos.g:11391:1: rule__ParameterStructType__Group__5 : rule__ParameterStructType__Group__5__Impl ; public final void rule__ParameterStructType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10581:1: ( rule__ParameterStructType__Group__5__Impl ) - // InternalRos.g:10582:2: rule__ParameterStructType__Group__5__Impl + // InternalRos.g:11395:1: ( rule__ParameterStructType__Group__5__Impl ) + // InternalRos.g:11396:2: rule__ParameterStructType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterStructType__Group__5__Impl(); @@ -32120,17 +34609,17 @@ public final void rule__ParameterStructType__Group__5() throws RecognitionExcept // $ANTLR start "rule__ParameterStructType__Group__5__Impl" - // InternalRos.g:10588:1: rule__ParameterStructType__Group__5__Impl : ( '}' ) ; + // InternalRos.g:11402:1: rule__ParameterStructType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterStructType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10592:1: ( ( '}' ) ) - // InternalRos.g:10593:1: ( '}' ) + // InternalRos.g:11406:1: ( ( '}' ) ) + // InternalRos.g:11407:1: ( '}' ) { - // InternalRos.g:10593:1: ( '}' ) - // InternalRos.g:10594:2: '}' + // InternalRos.g:11407:1: ( '}' ) + // InternalRos.g:11408:2: '}' { before(grammarAccess.getParameterStructTypeAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -32157,14 +34646,14 @@ public final void rule__ParameterStructType__Group__5__Impl() throws Recognition // $ANTLR start "rule__ParameterStructType__Group_4__0" - // InternalRos.g:10604:1: rule__ParameterStructType__Group_4__0 : rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ; + // InternalRos.g:11418:1: rule__ParameterStructType__Group_4__0 : rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ; public final void rule__ParameterStructType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10608:1: ( rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ) - // InternalRos.g:10609:2: rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 + // InternalRos.g:11422:1: ( rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 ) + // InternalRos.g:11423:2: rule__ParameterStructType__Group_4__0__Impl rule__ParameterStructType__Group_4__1 { pushFollow(FOLLOW_10); rule__ParameterStructType__Group_4__0__Impl(); @@ -32195,17 +34684,17 @@ public final void rule__ParameterStructType__Group_4__0() throws RecognitionExce // $ANTLR start "rule__ParameterStructType__Group_4__0__Impl" - // InternalRos.g:10616:1: rule__ParameterStructType__Group_4__0__Impl : ( ',' ) ; + // InternalRos.g:11430:1: rule__ParameterStructType__Group_4__0__Impl : ( ',' ) ; public final void rule__ParameterStructType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10620:1: ( ( ',' ) ) - // InternalRos.g:10621:1: ( ',' ) + // InternalRos.g:11434:1: ( ( ',' ) ) + // InternalRos.g:11435:1: ( ',' ) { - // InternalRos.g:10621:1: ( ',' ) - // InternalRos.g:10622:2: ',' + // InternalRos.g:11435:1: ( ',' ) + // InternalRos.g:11436:2: ',' { before(grammarAccess.getParameterStructTypeAccess().getCommaKeyword_4_0()); match(input,43,FOLLOW_2); @@ -32232,14 +34721,14 @@ public final void rule__ParameterStructType__Group_4__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructType__Group_4__1" - // InternalRos.g:10631:1: rule__ParameterStructType__Group_4__1 : rule__ParameterStructType__Group_4__1__Impl ; + // InternalRos.g:11445:1: rule__ParameterStructType__Group_4__1 : rule__ParameterStructType__Group_4__1__Impl ; public final void rule__ParameterStructType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10635:1: ( rule__ParameterStructType__Group_4__1__Impl ) - // InternalRos.g:10636:2: rule__ParameterStructType__Group_4__1__Impl + // InternalRos.g:11449:1: ( rule__ParameterStructType__Group_4__1__Impl ) + // InternalRos.g:11450:2: rule__ParameterStructType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStructType__Group_4__1__Impl(); @@ -32265,21 +34754,21 @@ public final void rule__ParameterStructType__Group_4__1() throws RecognitionExce // $ANTLR start "rule__ParameterStructType__Group_4__1__Impl" - // InternalRos.g:10642:1: rule__ParameterStructType__Group_4__1__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ; + // InternalRos.g:11456:1: rule__ParameterStructType__Group_4__1__Impl : ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ; public final void rule__ParameterStructType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10646:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ) - // InternalRos.g:10647:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) + // InternalRos.g:11460:1: ( ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) ) + // InternalRos.g:11461:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) { - // InternalRos.g:10647:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) - // InternalRos.g:10648:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) + // InternalRos.g:11461:1: ( ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) ) + // InternalRos.g:11462:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberAssignment_4_1()); - // InternalRos.g:10649:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) - // InternalRos.g:10649:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 + // InternalRos.g:11463:2: ( rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 ) + // InternalRos.g:11463:3: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1(); @@ -32312,16 +34801,16 @@ public final void rule__ParameterStructType__Group_4__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterIntegerType__Group__0" - // InternalRos.g:10658:1: rule__ParameterIntegerType__Group__0 : rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ; + // InternalRos.g:11472:1: rule__ParameterIntegerType__Group__0 : rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ; public final void rule__ParameterIntegerType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10662:1: ( rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ) - // InternalRos.g:10663:2: rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 + // InternalRos.g:11476:1: ( rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 ) + // InternalRos.g:11477:2: rule__ParameterIntegerType__Group__0__Impl rule__ParameterIntegerType__Group__1 { - pushFollow(FOLLOW_51); + pushFollow(FOLLOW_52); rule__ParameterIntegerType__Group__0__Impl(); state._fsp--; @@ -32350,21 +34839,21 @@ public final void rule__ParameterIntegerType__Group__0() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__0__Impl" - // InternalRos.g:10670:1: rule__ParameterIntegerType__Group__0__Impl : ( () ) ; + // InternalRos.g:11484:1: rule__ParameterIntegerType__Group__0__Impl : ( () ) ; public final void rule__ParameterIntegerType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10674:1: ( ( () ) ) - // InternalRos.g:10675:1: ( () ) + // InternalRos.g:11488:1: ( ( () ) ) + // InternalRos.g:11489:1: ( () ) { - // InternalRos.g:10675:1: ( () ) - // InternalRos.g:10676:2: () + // InternalRos.g:11489:1: ( () ) + // InternalRos.g:11490:2: () { before(grammarAccess.getParameterIntegerTypeAccess().getParameterIntegerTypeAction_0()); - // InternalRos.g:10677:2: () - // InternalRos.g:10677:3: + // InternalRos.g:11491:2: () + // InternalRos.g:11491:3: { } @@ -32387,16 +34876,16 @@ public final void rule__ParameterIntegerType__Group__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group__1" - // InternalRos.g:10685:1: rule__ParameterIntegerType__Group__1 : rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ; + // InternalRos.g:11499:1: rule__ParameterIntegerType__Group__1 : rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ; public final void rule__ParameterIntegerType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10689:1: ( rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ) - // InternalRos.g:10690:2: rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 + // InternalRos.g:11503:1: ( rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 ) + // InternalRos.g:11504:2: rule__ParameterIntegerType__Group__1__Impl rule__ParameterIntegerType__Group__2 { - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_53); rule__ParameterIntegerType__Group__1__Impl(); state._fsp--; @@ -32425,20 +34914,20 @@ public final void rule__ParameterIntegerType__Group__1() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__1__Impl" - // InternalRos.g:10697:1: rule__ParameterIntegerType__Group__1__Impl : ( 'Integer' ) ; + // InternalRos.g:11511:1: rule__ParameterIntegerType__Group__1__Impl : ( 'Integer' ) ; public final void rule__ParameterIntegerType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10701:1: ( ( 'Integer' ) ) - // InternalRos.g:10702:1: ( 'Integer' ) + // InternalRos.g:11515:1: ( ( 'Integer' ) ) + // InternalRos.g:11516:1: ( 'Integer' ) { - // InternalRos.g:10702:1: ( 'Integer' ) - // InternalRos.g:10703:2: 'Integer' + // InternalRos.g:11516:1: ( 'Integer' ) + // InternalRos.g:11517:2: 'Integer' { before(grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); - match(input,78,FOLLOW_2); + match(input,79,FOLLOW_2); after(grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); } @@ -32462,14 +34951,14 @@ public final void rule__ParameterIntegerType__Group__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group__2" - // InternalRos.g:10712:1: rule__ParameterIntegerType__Group__2 : rule__ParameterIntegerType__Group__2__Impl ; + // InternalRos.g:11526:1: rule__ParameterIntegerType__Group__2 : rule__ParameterIntegerType__Group__2__Impl ; public final void rule__ParameterIntegerType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10716:1: ( rule__ParameterIntegerType__Group__2__Impl ) - // InternalRos.g:10717:2: rule__ParameterIntegerType__Group__2__Impl + // InternalRos.g:11530:1: ( rule__ParameterIntegerType__Group__2__Impl ) + // InternalRos.g:11531:2: rule__ParameterIntegerType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group__2__Impl(); @@ -32495,33 +34984,33 @@ public final void rule__ParameterIntegerType__Group__2() throws RecognitionExcep // $ANTLR start "rule__ParameterIntegerType__Group__2__Impl" - // InternalRos.g:10723:1: rule__ParameterIntegerType__Group__2__Impl : ( ( rule__ParameterIntegerType__Group_2__0 )? ) ; + // InternalRos.g:11537:1: rule__ParameterIntegerType__Group__2__Impl : ( ( rule__ParameterIntegerType__Group_2__0 )? ) ; public final void rule__ParameterIntegerType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10727:1: ( ( ( rule__ParameterIntegerType__Group_2__0 )? ) ) - // InternalRos.g:10728:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) + // InternalRos.g:11541:1: ( ( ( rule__ParameterIntegerType__Group_2__0 )? ) ) + // InternalRos.g:11542:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) { - // InternalRos.g:10728:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) - // InternalRos.g:10729:2: ( rule__ParameterIntegerType__Group_2__0 )? + // InternalRos.g:11542:1: ( ( rule__ParameterIntegerType__Group_2__0 )? ) + // InternalRos.g:11543:2: ( rule__ParameterIntegerType__Group_2__0 )? { before(grammarAccess.getParameterIntegerTypeAccess().getGroup_2()); - // InternalRos.g:10730:2: ( rule__ParameterIntegerType__Group_2__0 )? - int alt65=2; - int LA65_0 = input.LA(1); + // InternalRos.g:11544:2: ( rule__ParameterIntegerType__Group_2__0 )? + int alt72=2; + int LA72_0 = input.LA(1); - if ( (LA65_0==79) ) { - int LA65_1 = input.LA(2); + if ( (LA72_0==80) ) { + int LA72_1 = input.LA(2); - if ( (LA65_1==RULE_DECINT) ) { - alt65=1; + if ( (LA72_1==RULE_DECINT) ) { + alt72=1; } } - switch (alt65) { + switch (alt72) { case 1 : - // InternalRos.g:10730:3: rule__ParameterIntegerType__Group_2__0 + // InternalRos.g:11544:3: rule__ParameterIntegerType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group_2__0(); @@ -32557,16 +35046,16 @@ public final void rule__ParameterIntegerType__Group__2__Impl() throws Recognitio // $ANTLR start "rule__ParameterIntegerType__Group_2__0" - // InternalRos.g:10739:1: rule__ParameterIntegerType__Group_2__0 : rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ; + // InternalRos.g:11553:1: rule__ParameterIntegerType__Group_2__0 : rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ; public final void rule__ParameterIntegerType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10743:1: ( rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ) - // InternalRos.g:10744:2: rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 + // InternalRos.g:11557:1: ( rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 ) + // InternalRos.g:11558:2: rule__ParameterIntegerType__Group_2__0__Impl rule__ParameterIntegerType__Group_2__1 { - pushFollow(FOLLOW_53); + pushFollow(FOLLOW_54); rule__ParameterIntegerType__Group_2__0__Impl(); state._fsp--; @@ -32595,20 +35084,20 @@ public final void rule__ParameterIntegerType__Group_2__0() throws RecognitionExc // $ANTLR start "rule__ParameterIntegerType__Group_2__0__Impl" - // InternalRos.g:10751:1: rule__ParameterIntegerType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:11565:1: rule__ParameterIntegerType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterIntegerType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10755:1: ( ( 'default' ) ) - // InternalRos.g:10756:1: ( 'default' ) + // InternalRos.g:11569:1: ( ( 'default' ) ) + // InternalRos.g:11570:1: ( 'default' ) { - // InternalRos.g:10756:1: ( 'default' ) - // InternalRos.g:10757:2: 'default' + // InternalRos.g:11570:1: ( 'default' ) + // InternalRos.g:11571:2: 'default' { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); - match(input,79,FOLLOW_2); + match(input,80,FOLLOW_2); after(grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); } @@ -32632,14 +35121,14 @@ public final void rule__ParameterIntegerType__Group_2__0__Impl() throws Recognit // $ANTLR start "rule__ParameterIntegerType__Group_2__1" - // InternalRos.g:10766:1: rule__ParameterIntegerType__Group_2__1 : rule__ParameterIntegerType__Group_2__1__Impl ; + // InternalRos.g:11580:1: rule__ParameterIntegerType__Group_2__1 : rule__ParameterIntegerType__Group_2__1__Impl ; public final void rule__ParameterIntegerType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10770:1: ( rule__ParameterIntegerType__Group_2__1__Impl ) - // InternalRos.g:10771:2: rule__ParameterIntegerType__Group_2__1__Impl + // InternalRos.g:11584:1: ( rule__ParameterIntegerType__Group_2__1__Impl ) + // InternalRos.g:11585:2: rule__ParameterIntegerType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterIntegerType__Group_2__1__Impl(); @@ -32665,21 +35154,21 @@ public final void rule__ParameterIntegerType__Group_2__1() throws RecognitionExc // $ANTLR start "rule__ParameterIntegerType__Group_2__1__Impl" - // InternalRos.g:10777:1: rule__ParameterIntegerType__Group_2__1__Impl : ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:11591:1: rule__ParameterIntegerType__Group_2__1__Impl : ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterIntegerType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10781:1: ( ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:10782:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11595:1: ( ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:11596:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:10782:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) - // InternalRos.g:10783:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) + // InternalRos.g:11596:1: ( ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11597:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:10784:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) - // InternalRos.g:10784:3: rule__ParameterIntegerType__DefaultAssignment_2_1 + // InternalRos.g:11598:2: ( rule__ParameterIntegerType__DefaultAssignment_2_1 ) + // InternalRos.g:11598:3: rule__ParameterIntegerType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterIntegerType__DefaultAssignment_2_1(); @@ -32712,16 +35201,16 @@ public final void rule__ParameterIntegerType__Group_2__1__Impl() throws Recognit // $ANTLR start "rule__ParameterStringType__Group__0" - // InternalRos.g:10793:1: rule__ParameterStringType__Group__0 : rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ; + // InternalRos.g:11607:1: rule__ParameterStringType__Group__0 : rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ; public final void rule__ParameterStringType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10797:1: ( rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ) - // InternalRos.g:10798:2: rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 + // InternalRos.g:11611:1: ( rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 ) + // InternalRos.g:11612:2: rule__ParameterStringType__Group__0__Impl rule__ParameterStringType__Group__1 { - pushFollow(FOLLOW_54); + pushFollow(FOLLOW_55); rule__ParameterStringType__Group__0__Impl(); state._fsp--; @@ -32750,21 +35239,21 @@ public final void rule__ParameterStringType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__0__Impl" - // InternalRos.g:10805:1: rule__ParameterStringType__Group__0__Impl : ( () ) ; + // InternalRos.g:11619:1: rule__ParameterStringType__Group__0__Impl : ( () ) ; public final void rule__ParameterStringType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10809:1: ( ( () ) ) - // InternalRos.g:10810:1: ( () ) + // InternalRos.g:11623:1: ( ( () ) ) + // InternalRos.g:11624:1: ( () ) { - // InternalRos.g:10810:1: ( () ) - // InternalRos.g:10811:2: () + // InternalRos.g:11624:1: ( () ) + // InternalRos.g:11625:2: () { before(grammarAccess.getParameterStringTypeAccess().getParameterStringTypeAction_0()); - // InternalRos.g:10812:2: () - // InternalRos.g:10812:3: + // InternalRos.g:11626:2: () + // InternalRos.g:11626:3: { } @@ -32787,16 +35276,16 @@ public final void rule__ParameterStringType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group__1" - // InternalRos.g:10820:1: rule__ParameterStringType__Group__1 : rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ; + // InternalRos.g:11634:1: rule__ParameterStringType__Group__1 : rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ; public final void rule__ParameterStringType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10824:1: ( rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ) - // InternalRos.g:10825:2: rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 + // InternalRos.g:11638:1: ( rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 ) + // InternalRos.g:11639:2: rule__ParameterStringType__Group__1__Impl rule__ParameterStringType__Group__2 { - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_53); rule__ParameterStringType__Group__1__Impl(); state._fsp--; @@ -32825,17 +35314,17 @@ public final void rule__ParameterStringType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__1__Impl" - // InternalRos.g:10832:1: rule__ParameterStringType__Group__1__Impl : ( 'String' ) ; + // InternalRos.g:11646:1: rule__ParameterStringType__Group__1__Impl : ( 'String' ) ; public final void rule__ParameterStringType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10836:1: ( ( 'String' ) ) - // InternalRos.g:10837:1: ( 'String' ) + // InternalRos.g:11650:1: ( ( 'String' ) ) + // InternalRos.g:11651:1: ( 'String' ) { - // InternalRos.g:10837:1: ( 'String' ) - // InternalRos.g:10838:2: 'String' + // InternalRos.g:11651:1: ( 'String' ) + // InternalRos.g:11652:2: 'String' { before(grammarAccess.getParameterStringTypeAccess().getStringKeyword_1()); match(input,28,FOLLOW_2); @@ -32862,14 +35351,14 @@ public final void rule__ParameterStringType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group__2" - // InternalRos.g:10847:1: rule__ParameterStringType__Group__2 : rule__ParameterStringType__Group__2__Impl ; + // InternalRos.g:11661:1: rule__ParameterStringType__Group__2 : rule__ParameterStringType__Group__2__Impl ; public final void rule__ParameterStringType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10851:1: ( rule__ParameterStringType__Group__2__Impl ) - // InternalRos.g:10852:2: rule__ParameterStringType__Group__2__Impl + // InternalRos.g:11665:1: ( rule__ParameterStringType__Group__2__Impl ) + // InternalRos.g:11666:2: rule__ParameterStringType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterStringType__Group__2__Impl(); @@ -32895,33 +35384,33 @@ public final void rule__ParameterStringType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStringType__Group__2__Impl" - // InternalRos.g:10858:1: rule__ParameterStringType__Group__2__Impl : ( ( rule__ParameterStringType__Group_2__0 )? ) ; + // InternalRos.g:11672:1: rule__ParameterStringType__Group__2__Impl : ( ( rule__ParameterStringType__Group_2__0 )? ) ; public final void rule__ParameterStringType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10862:1: ( ( ( rule__ParameterStringType__Group_2__0 )? ) ) - // InternalRos.g:10863:1: ( ( rule__ParameterStringType__Group_2__0 )? ) + // InternalRos.g:11676:1: ( ( ( rule__ParameterStringType__Group_2__0 )? ) ) + // InternalRos.g:11677:1: ( ( rule__ParameterStringType__Group_2__0 )? ) { - // InternalRos.g:10863:1: ( ( rule__ParameterStringType__Group_2__0 )? ) - // InternalRos.g:10864:2: ( rule__ParameterStringType__Group_2__0 )? + // InternalRos.g:11677:1: ( ( rule__ParameterStringType__Group_2__0 )? ) + // InternalRos.g:11678:2: ( rule__ParameterStringType__Group_2__0 )? { before(grammarAccess.getParameterStringTypeAccess().getGroup_2()); - // InternalRos.g:10865:2: ( rule__ParameterStringType__Group_2__0 )? - int alt66=2; - int LA66_0 = input.LA(1); + // InternalRos.g:11679:2: ( rule__ParameterStringType__Group_2__0 )? + int alt73=2; + int LA73_0 = input.LA(1); - if ( (LA66_0==79) ) { - int LA66_1 = input.LA(2); + if ( (LA73_0==80) ) { + int LA73_1 = input.LA(2); - if ( ((LA66_1>=RULE_STRING && LA66_1<=RULE_ID)) ) { - alt66=1; + if ( ((LA73_1>=RULE_STRING && LA73_1<=RULE_ID)) ) { + alt73=1; } } - switch (alt66) { + switch (alt73) { case 1 : - // InternalRos.g:10865:3: rule__ParameterStringType__Group_2__0 + // InternalRos.g:11679:3: rule__ParameterStringType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterStringType__Group_2__0(); @@ -32957,14 +35446,14 @@ public final void rule__ParameterStringType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStringType__Group_2__0" - // InternalRos.g:10874:1: rule__ParameterStringType__Group_2__0 : rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ; + // InternalRos.g:11688:1: rule__ParameterStringType__Group_2__0 : rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ; public final void rule__ParameterStringType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10878:1: ( rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ) - // InternalRos.g:10879:2: rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 + // InternalRos.g:11692:1: ( rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 ) + // InternalRos.g:11693:2: rule__ParameterStringType__Group_2__0__Impl rule__ParameterStringType__Group_2__1 { pushFollow(FOLLOW_10); rule__ParameterStringType__Group_2__0__Impl(); @@ -32995,20 +35484,20 @@ public final void rule__ParameterStringType__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterStringType__Group_2__0__Impl" - // InternalRos.g:10886:1: rule__ParameterStringType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:11700:1: rule__ParameterStringType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterStringType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10890:1: ( ( 'default' ) ) - // InternalRos.g:10891:1: ( 'default' ) + // InternalRos.g:11704:1: ( ( 'default' ) ) + // InternalRos.g:11705:1: ( 'default' ) { - // InternalRos.g:10891:1: ( 'default' ) - // InternalRos.g:10892:2: 'default' + // InternalRos.g:11705:1: ( 'default' ) + // InternalRos.g:11706:2: 'default' { before(grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); - match(input,79,FOLLOW_2); + match(input,80,FOLLOW_2); after(grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); } @@ -33032,14 +35521,14 @@ public final void rule__ParameterStringType__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStringType__Group_2__1" - // InternalRos.g:10901:1: rule__ParameterStringType__Group_2__1 : rule__ParameterStringType__Group_2__1__Impl ; + // InternalRos.g:11715:1: rule__ParameterStringType__Group_2__1 : rule__ParameterStringType__Group_2__1__Impl ; public final void rule__ParameterStringType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10905:1: ( rule__ParameterStringType__Group_2__1__Impl ) - // InternalRos.g:10906:2: rule__ParameterStringType__Group_2__1__Impl + // InternalRos.g:11719:1: ( rule__ParameterStringType__Group_2__1__Impl ) + // InternalRos.g:11720:2: rule__ParameterStringType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStringType__Group_2__1__Impl(); @@ -33065,21 +35554,21 @@ public final void rule__ParameterStringType__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterStringType__Group_2__1__Impl" - // InternalRos.g:10912:1: rule__ParameterStringType__Group_2__1__Impl : ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:11726:1: rule__ParameterStringType__Group_2__1__Impl : ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterStringType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10916:1: ( ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:10917:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11730:1: ( ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:11731:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:10917:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) - // InternalRos.g:10918:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) + // InternalRos.g:11731:1: ( ( rule__ParameterStringType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11732:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterStringTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:10919:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) - // InternalRos.g:10919:3: rule__ParameterStringType__DefaultAssignment_2_1 + // InternalRos.g:11733:2: ( rule__ParameterStringType__DefaultAssignment_2_1 ) + // InternalRos.g:11733:3: rule__ParameterStringType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterStringType__DefaultAssignment_2_1(); @@ -33112,16 +35601,16 @@ public final void rule__ParameterStringType__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterDoubleType__Group__0" - // InternalRos.g:10928:1: rule__ParameterDoubleType__Group__0 : rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ; + // InternalRos.g:11742:1: rule__ParameterDoubleType__Group__0 : rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ; public final void rule__ParameterDoubleType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10932:1: ( rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ) - // InternalRos.g:10933:2: rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 + // InternalRos.g:11746:1: ( rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 ) + // InternalRos.g:11747:2: rule__ParameterDoubleType__Group__0__Impl rule__ParameterDoubleType__Group__1 { - pushFollow(FOLLOW_55); + pushFollow(FOLLOW_56); rule__ParameterDoubleType__Group__0__Impl(); state._fsp--; @@ -33150,21 +35639,21 @@ public final void rule__ParameterDoubleType__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__0__Impl" - // InternalRos.g:10940:1: rule__ParameterDoubleType__Group__0__Impl : ( () ) ; + // InternalRos.g:11754:1: rule__ParameterDoubleType__Group__0__Impl : ( () ) ; public final void rule__ParameterDoubleType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10944:1: ( ( () ) ) - // InternalRos.g:10945:1: ( () ) + // InternalRos.g:11758:1: ( ( () ) ) + // InternalRos.g:11759:1: ( () ) { - // InternalRos.g:10945:1: ( () ) - // InternalRos.g:10946:2: () + // InternalRos.g:11759:1: ( () ) + // InternalRos.g:11760:2: () { before(grammarAccess.getParameterDoubleTypeAccess().getParameterDoubleTypeAction_0()); - // InternalRos.g:10947:2: () - // InternalRos.g:10947:3: + // InternalRos.g:11761:2: () + // InternalRos.g:11761:3: { } @@ -33187,16 +35676,16 @@ public final void rule__ParameterDoubleType__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group__1" - // InternalRos.g:10955:1: rule__ParameterDoubleType__Group__1 : rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ; + // InternalRos.g:11769:1: rule__ParameterDoubleType__Group__1 : rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ; public final void rule__ParameterDoubleType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10959:1: ( rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ) - // InternalRos.g:10960:2: rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 + // InternalRos.g:11773:1: ( rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 ) + // InternalRos.g:11774:2: rule__ParameterDoubleType__Group__1__Impl rule__ParameterDoubleType__Group__2 { - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_53); rule__ParameterDoubleType__Group__1__Impl(); state._fsp--; @@ -33225,20 +35714,20 @@ public final void rule__ParameterDoubleType__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__1__Impl" - // InternalRos.g:10967:1: rule__ParameterDoubleType__Group__1__Impl : ( 'Double' ) ; + // InternalRos.g:11781:1: rule__ParameterDoubleType__Group__1__Impl : ( 'Double' ) ; public final void rule__ParameterDoubleType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10971:1: ( ( 'Double' ) ) - // InternalRos.g:10972:1: ( 'Double' ) + // InternalRos.g:11785:1: ( ( 'Double' ) ) + // InternalRos.g:11786:1: ( 'Double' ) { - // InternalRos.g:10972:1: ( 'Double' ) - // InternalRos.g:10973:2: 'Double' + // InternalRos.g:11786:1: ( 'Double' ) + // InternalRos.g:11787:2: 'Double' { before(grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); - match(input,80,FOLLOW_2); + match(input,81,FOLLOW_2); after(grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); } @@ -33262,14 +35751,14 @@ public final void rule__ParameterDoubleType__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group__2" - // InternalRos.g:10982:1: rule__ParameterDoubleType__Group__2 : rule__ParameterDoubleType__Group__2__Impl ; + // InternalRos.g:11796:1: rule__ParameterDoubleType__Group__2 : rule__ParameterDoubleType__Group__2__Impl ; public final void rule__ParameterDoubleType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10986:1: ( rule__ParameterDoubleType__Group__2__Impl ) - // InternalRos.g:10987:2: rule__ParameterDoubleType__Group__2__Impl + // InternalRos.g:11800:1: ( rule__ParameterDoubleType__Group__2__Impl ) + // InternalRos.g:11801:2: rule__ParameterDoubleType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group__2__Impl(); @@ -33295,33 +35784,33 @@ public final void rule__ParameterDoubleType__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterDoubleType__Group__2__Impl" - // InternalRos.g:10993:1: rule__ParameterDoubleType__Group__2__Impl : ( ( rule__ParameterDoubleType__Group_2__0 )? ) ; + // InternalRos.g:11807:1: rule__ParameterDoubleType__Group__2__Impl : ( ( rule__ParameterDoubleType__Group_2__0 )? ) ; public final void rule__ParameterDoubleType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:10997:1: ( ( ( rule__ParameterDoubleType__Group_2__0 )? ) ) - // InternalRos.g:10998:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) + // InternalRos.g:11811:1: ( ( ( rule__ParameterDoubleType__Group_2__0 )? ) ) + // InternalRos.g:11812:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) { - // InternalRos.g:10998:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) - // InternalRos.g:10999:2: ( rule__ParameterDoubleType__Group_2__0 )? + // InternalRos.g:11812:1: ( ( rule__ParameterDoubleType__Group_2__0 )? ) + // InternalRos.g:11813:2: ( rule__ParameterDoubleType__Group_2__0 )? { before(grammarAccess.getParameterDoubleTypeAccess().getGroup_2()); - // InternalRos.g:11000:2: ( rule__ParameterDoubleType__Group_2__0 )? - int alt67=2; - int LA67_0 = input.LA(1); + // InternalRos.g:11814:2: ( rule__ParameterDoubleType__Group_2__0 )? + int alt74=2; + int LA74_0 = input.LA(1); - if ( (LA67_0==79) ) { - int LA67_1 = input.LA(2); + if ( (LA74_0==80) ) { + int LA74_1 = input.LA(2); - if ( (LA67_1==RULE_DOUBLE) ) { - alt67=1; + if ( (LA74_1==RULE_DOUBLE) ) { + alt74=1; } } - switch (alt67) { + switch (alt74) { case 1 : - // InternalRos.g:11000:3: rule__ParameterDoubleType__Group_2__0 + // InternalRos.g:11814:3: rule__ParameterDoubleType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group_2__0(); @@ -33357,16 +35846,16 @@ public final void rule__ParameterDoubleType__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterDoubleType__Group_2__0" - // InternalRos.g:11009:1: rule__ParameterDoubleType__Group_2__0 : rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ; + // InternalRos.g:11823:1: rule__ParameterDoubleType__Group_2__0 : rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ; public final void rule__ParameterDoubleType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11013:1: ( rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ) - // InternalRos.g:11014:2: rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 + // InternalRos.g:11827:1: ( rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 ) + // InternalRos.g:11828:2: rule__ParameterDoubleType__Group_2__0__Impl rule__ParameterDoubleType__Group_2__1 { - pushFollow(FOLLOW_56); + pushFollow(FOLLOW_57); rule__ParameterDoubleType__Group_2__0__Impl(); state._fsp--; @@ -33395,20 +35884,20 @@ public final void rule__ParameterDoubleType__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterDoubleType__Group_2__0__Impl" - // InternalRos.g:11021:1: rule__ParameterDoubleType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:11835:1: rule__ParameterDoubleType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterDoubleType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11025:1: ( ( 'default' ) ) - // InternalRos.g:11026:1: ( 'default' ) + // InternalRos.g:11839:1: ( ( 'default' ) ) + // InternalRos.g:11840:1: ( 'default' ) { - // InternalRos.g:11026:1: ( 'default' ) - // InternalRos.g:11027:2: 'default' + // InternalRos.g:11840:1: ( 'default' ) + // InternalRos.g:11841:2: 'default' { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); - match(input,79,FOLLOW_2); + match(input,80,FOLLOW_2); after(grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); } @@ -33432,14 +35921,14 @@ public final void rule__ParameterDoubleType__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterDoubleType__Group_2__1" - // InternalRos.g:11036:1: rule__ParameterDoubleType__Group_2__1 : rule__ParameterDoubleType__Group_2__1__Impl ; + // InternalRos.g:11850:1: rule__ParameterDoubleType__Group_2__1 : rule__ParameterDoubleType__Group_2__1__Impl ; public final void rule__ParameterDoubleType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11040:1: ( rule__ParameterDoubleType__Group_2__1__Impl ) - // InternalRos.g:11041:2: rule__ParameterDoubleType__Group_2__1__Impl + // InternalRos.g:11854:1: ( rule__ParameterDoubleType__Group_2__1__Impl ) + // InternalRos.g:11855:2: rule__ParameterDoubleType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterDoubleType__Group_2__1__Impl(); @@ -33465,21 +35954,21 @@ public final void rule__ParameterDoubleType__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterDoubleType__Group_2__1__Impl" - // InternalRos.g:11047:1: rule__ParameterDoubleType__Group_2__1__Impl : ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:11861:1: rule__ParameterDoubleType__Group_2__1__Impl : ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterDoubleType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11051:1: ( ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:11052:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11865:1: ( ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:11866:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:11052:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) - // InternalRos.g:11053:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) + // InternalRos.g:11866:1: ( ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) ) + // InternalRos.g:11867:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:11054:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) - // InternalRos.g:11054:3: rule__ParameterDoubleType__DefaultAssignment_2_1 + // InternalRos.g:11868:2: ( rule__ParameterDoubleType__DefaultAssignment_2_1 ) + // InternalRos.g:11868:3: rule__ParameterDoubleType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterDoubleType__DefaultAssignment_2_1(); @@ -33512,16 +36001,16 @@ public final void rule__ParameterDoubleType__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterBooleanType__Group__0" - // InternalRos.g:11063:1: rule__ParameterBooleanType__Group__0 : rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ; + // InternalRos.g:11877:1: rule__ParameterBooleanType__Group__0 : rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ; public final void rule__ParameterBooleanType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11067:1: ( rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ) - // InternalRos.g:11068:2: rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 + // InternalRos.g:11881:1: ( rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 ) + // InternalRos.g:11882:2: rule__ParameterBooleanType__Group__0__Impl rule__ParameterBooleanType__Group__1 { - pushFollow(FOLLOW_57); + pushFollow(FOLLOW_58); rule__ParameterBooleanType__Group__0__Impl(); state._fsp--; @@ -33550,21 +36039,21 @@ public final void rule__ParameterBooleanType__Group__0() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__0__Impl" - // InternalRos.g:11075:1: rule__ParameterBooleanType__Group__0__Impl : ( () ) ; + // InternalRos.g:11889:1: rule__ParameterBooleanType__Group__0__Impl : ( () ) ; public final void rule__ParameterBooleanType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11079:1: ( ( () ) ) - // InternalRos.g:11080:1: ( () ) + // InternalRos.g:11893:1: ( ( () ) ) + // InternalRos.g:11894:1: ( () ) { - // InternalRos.g:11080:1: ( () ) - // InternalRos.g:11081:2: () + // InternalRos.g:11894:1: ( () ) + // InternalRos.g:11895:2: () { before(grammarAccess.getParameterBooleanTypeAccess().getParameterBooleanTypeAction_0()); - // InternalRos.g:11082:2: () - // InternalRos.g:11082:3: + // InternalRos.g:11896:2: () + // InternalRos.g:11896:3: { } @@ -33587,16 +36076,16 @@ public final void rule__ParameterBooleanType__Group__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group__1" - // InternalRos.g:11090:1: rule__ParameterBooleanType__Group__1 : rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ; + // InternalRos.g:11904:1: rule__ParameterBooleanType__Group__1 : rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ; public final void rule__ParameterBooleanType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11094:1: ( rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ) - // InternalRos.g:11095:2: rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 + // InternalRos.g:11908:1: ( rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 ) + // InternalRos.g:11909:2: rule__ParameterBooleanType__Group__1__Impl rule__ParameterBooleanType__Group__2 { - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_53); rule__ParameterBooleanType__Group__1__Impl(); state._fsp--; @@ -33625,20 +36114,20 @@ public final void rule__ParameterBooleanType__Group__1() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__1__Impl" - // InternalRos.g:11102:1: rule__ParameterBooleanType__Group__1__Impl : ( 'Boolean' ) ; + // InternalRos.g:11916:1: rule__ParameterBooleanType__Group__1__Impl : ( 'Boolean' ) ; public final void rule__ParameterBooleanType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11106:1: ( ( 'Boolean' ) ) - // InternalRos.g:11107:1: ( 'Boolean' ) + // InternalRos.g:11920:1: ( ( 'Boolean' ) ) + // InternalRos.g:11921:1: ( 'Boolean' ) { - // InternalRos.g:11107:1: ( 'Boolean' ) - // InternalRos.g:11108:2: 'Boolean' + // InternalRos.g:11921:1: ( 'Boolean' ) + // InternalRos.g:11922:2: 'Boolean' { before(grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); - match(input,81,FOLLOW_2); + match(input,82,FOLLOW_2); after(grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); } @@ -33662,14 +36151,14 @@ public final void rule__ParameterBooleanType__Group__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group__2" - // InternalRos.g:11117:1: rule__ParameterBooleanType__Group__2 : rule__ParameterBooleanType__Group__2__Impl ; + // InternalRos.g:11931:1: rule__ParameterBooleanType__Group__2 : rule__ParameterBooleanType__Group__2__Impl ; public final void rule__ParameterBooleanType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11121:1: ( rule__ParameterBooleanType__Group__2__Impl ) - // InternalRos.g:11122:2: rule__ParameterBooleanType__Group__2__Impl + // InternalRos.g:11935:1: ( rule__ParameterBooleanType__Group__2__Impl ) + // InternalRos.g:11936:2: rule__ParameterBooleanType__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group__2__Impl(); @@ -33695,33 +36184,33 @@ public final void rule__ParameterBooleanType__Group__2() throws RecognitionExcep // $ANTLR start "rule__ParameterBooleanType__Group__2__Impl" - // InternalRos.g:11128:1: rule__ParameterBooleanType__Group__2__Impl : ( ( rule__ParameterBooleanType__Group_2__0 )? ) ; + // InternalRos.g:11942:1: rule__ParameterBooleanType__Group__2__Impl : ( ( rule__ParameterBooleanType__Group_2__0 )? ) ; public final void rule__ParameterBooleanType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11132:1: ( ( ( rule__ParameterBooleanType__Group_2__0 )? ) ) - // InternalRos.g:11133:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) + // InternalRos.g:11946:1: ( ( ( rule__ParameterBooleanType__Group_2__0 )? ) ) + // InternalRos.g:11947:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) { - // InternalRos.g:11133:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) - // InternalRos.g:11134:2: ( rule__ParameterBooleanType__Group_2__0 )? + // InternalRos.g:11947:1: ( ( rule__ParameterBooleanType__Group_2__0 )? ) + // InternalRos.g:11948:2: ( rule__ParameterBooleanType__Group_2__0 )? { before(grammarAccess.getParameterBooleanTypeAccess().getGroup_2()); - // InternalRos.g:11135:2: ( rule__ParameterBooleanType__Group_2__0 )? - int alt68=2; - int LA68_0 = input.LA(1); + // InternalRos.g:11949:2: ( rule__ParameterBooleanType__Group_2__0 )? + int alt75=2; + int LA75_0 = input.LA(1); - if ( (LA68_0==79) ) { - int LA68_1 = input.LA(2); + if ( (LA75_0==80) ) { + int LA75_1 = input.LA(2); - if ( (LA68_1==RULE_BOOLEAN) ) { - alt68=1; + if ( (LA75_1==RULE_BOOLEAN) ) { + alt75=1; } } - switch (alt68) { + switch (alt75) { case 1 : - // InternalRos.g:11135:3: rule__ParameterBooleanType__Group_2__0 + // InternalRos.g:11949:3: rule__ParameterBooleanType__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group_2__0(); @@ -33757,16 +36246,16 @@ public final void rule__ParameterBooleanType__Group__2__Impl() throws Recognitio // $ANTLR start "rule__ParameterBooleanType__Group_2__0" - // InternalRos.g:11144:1: rule__ParameterBooleanType__Group_2__0 : rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ; + // InternalRos.g:11958:1: rule__ParameterBooleanType__Group_2__0 : rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ; public final void rule__ParameterBooleanType__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11148:1: ( rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ) - // InternalRos.g:11149:2: rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 + // InternalRos.g:11962:1: ( rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 ) + // InternalRos.g:11963:2: rule__ParameterBooleanType__Group_2__0__Impl rule__ParameterBooleanType__Group_2__1 { - pushFollow(FOLLOW_58); + pushFollow(FOLLOW_59); rule__ParameterBooleanType__Group_2__0__Impl(); state._fsp--; @@ -33795,20 +36284,20 @@ public final void rule__ParameterBooleanType__Group_2__0() throws RecognitionExc // $ANTLR start "rule__ParameterBooleanType__Group_2__0__Impl" - // InternalRos.g:11156:1: rule__ParameterBooleanType__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:11970:1: rule__ParameterBooleanType__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterBooleanType__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11160:1: ( ( 'default' ) ) - // InternalRos.g:11161:1: ( 'default' ) + // InternalRos.g:11974:1: ( ( 'default' ) ) + // InternalRos.g:11975:1: ( 'default' ) { - // InternalRos.g:11161:1: ( 'default' ) - // InternalRos.g:11162:2: 'default' + // InternalRos.g:11975:1: ( 'default' ) + // InternalRos.g:11976:2: 'default' { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); - match(input,79,FOLLOW_2); + match(input,80,FOLLOW_2); after(grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); } @@ -33832,14 +36321,14 @@ public final void rule__ParameterBooleanType__Group_2__0__Impl() throws Recognit // $ANTLR start "rule__ParameterBooleanType__Group_2__1" - // InternalRos.g:11171:1: rule__ParameterBooleanType__Group_2__1 : rule__ParameterBooleanType__Group_2__1__Impl ; + // InternalRos.g:11985:1: rule__ParameterBooleanType__Group_2__1 : rule__ParameterBooleanType__Group_2__1__Impl ; public final void rule__ParameterBooleanType__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11175:1: ( rule__ParameterBooleanType__Group_2__1__Impl ) - // InternalRos.g:11176:2: rule__ParameterBooleanType__Group_2__1__Impl + // InternalRos.g:11989:1: ( rule__ParameterBooleanType__Group_2__1__Impl ) + // InternalRos.g:11990:2: rule__ParameterBooleanType__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterBooleanType__Group_2__1__Impl(); @@ -33865,21 +36354,21 @@ public final void rule__ParameterBooleanType__Group_2__1() throws RecognitionExc // $ANTLR start "rule__ParameterBooleanType__Group_2__1__Impl" - // InternalRos.g:11182:1: rule__ParameterBooleanType__Group_2__1__Impl : ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:11996:1: rule__ParameterBooleanType__Group_2__1__Impl : ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterBooleanType__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11186:1: ( ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:11187:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) + // InternalRos.g:12000:1: ( ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:12001:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) { - // InternalRos.g:11187:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) - // InternalRos.g:11188:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) + // InternalRos.g:12001:1: ( ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) ) + // InternalRos.g:12002:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:11189:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) - // InternalRos.g:11189:3: rule__ParameterBooleanType__DefaultAssignment_2_1 + // InternalRos.g:12003:2: ( rule__ParameterBooleanType__DefaultAssignment_2_1 ) + // InternalRos.g:12003:3: rule__ParameterBooleanType__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterBooleanType__DefaultAssignment_2_1(); @@ -33912,16 +36401,16 @@ public final void rule__ParameterBooleanType__Group_2__1__Impl() throws Recognit // $ANTLR start "rule__ParameterBase64Type__Group__0" - // InternalRos.g:11198:1: rule__ParameterBase64Type__Group__0 : rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ; + // InternalRos.g:12012:1: rule__ParameterBase64Type__Group__0 : rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ; public final void rule__ParameterBase64Type__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11202:1: ( rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ) - // InternalRos.g:11203:2: rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 + // InternalRos.g:12016:1: ( rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 ) + // InternalRos.g:12017:2: rule__ParameterBase64Type__Group__0__Impl rule__ParameterBase64Type__Group__1 { - pushFollow(FOLLOW_59); + pushFollow(FOLLOW_60); rule__ParameterBase64Type__Group__0__Impl(); state._fsp--; @@ -33950,21 +36439,21 @@ public final void rule__ParameterBase64Type__Group__0() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__0__Impl" - // InternalRos.g:11210:1: rule__ParameterBase64Type__Group__0__Impl : ( () ) ; + // InternalRos.g:12024:1: rule__ParameterBase64Type__Group__0__Impl : ( () ) ; public final void rule__ParameterBase64Type__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11214:1: ( ( () ) ) - // InternalRos.g:11215:1: ( () ) + // InternalRos.g:12028:1: ( ( () ) ) + // InternalRos.g:12029:1: ( () ) { - // InternalRos.g:11215:1: ( () ) - // InternalRos.g:11216:2: () + // InternalRos.g:12029:1: ( () ) + // InternalRos.g:12030:2: () { before(grammarAccess.getParameterBase64TypeAccess().getParameterBase64TypeAction_0()); - // InternalRos.g:11217:2: () - // InternalRos.g:11217:3: + // InternalRos.g:12031:2: () + // InternalRos.g:12031:3: { } @@ -33987,16 +36476,16 @@ public final void rule__ParameterBase64Type__Group__0__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group__1" - // InternalRos.g:11225:1: rule__ParameterBase64Type__Group__1 : rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ; + // InternalRos.g:12039:1: rule__ParameterBase64Type__Group__1 : rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ; public final void rule__ParameterBase64Type__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11229:1: ( rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ) - // InternalRos.g:11230:2: rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 + // InternalRos.g:12043:1: ( rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 ) + // InternalRos.g:12044:2: rule__ParameterBase64Type__Group__1__Impl rule__ParameterBase64Type__Group__2 { - pushFollow(FOLLOW_52); + pushFollow(FOLLOW_53); rule__ParameterBase64Type__Group__1__Impl(); state._fsp--; @@ -34025,20 +36514,20 @@ public final void rule__ParameterBase64Type__Group__1() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__1__Impl" - // InternalRos.g:11237:1: rule__ParameterBase64Type__Group__1__Impl : ( 'Base64' ) ; + // InternalRos.g:12051:1: rule__ParameterBase64Type__Group__1__Impl : ( 'Base64' ) ; public final void rule__ParameterBase64Type__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11241:1: ( ( 'Base64' ) ) - // InternalRos.g:11242:1: ( 'Base64' ) + // InternalRos.g:12055:1: ( ( 'Base64' ) ) + // InternalRos.g:12056:1: ( 'Base64' ) { - // InternalRos.g:11242:1: ( 'Base64' ) - // InternalRos.g:11243:2: 'Base64' + // InternalRos.g:12056:1: ( 'Base64' ) + // InternalRos.g:12057:2: 'Base64' { before(grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); - match(input,82,FOLLOW_2); + match(input,83,FOLLOW_2); after(grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); } @@ -34062,14 +36551,14 @@ public final void rule__ParameterBase64Type__Group__1__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group__2" - // InternalRos.g:11252:1: rule__ParameterBase64Type__Group__2 : rule__ParameterBase64Type__Group__2__Impl ; + // InternalRos.g:12066:1: rule__ParameterBase64Type__Group__2 : rule__ParameterBase64Type__Group__2__Impl ; public final void rule__ParameterBase64Type__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11256:1: ( rule__ParameterBase64Type__Group__2__Impl ) - // InternalRos.g:11257:2: rule__ParameterBase64Type__Group__2__Impl + // InternalRos.g:12070:1: ( rule__ParameterBase64Type__Group__2__Impl ) + // InternalRos.g:12071:2: rule__ParameterBase64Type__Group__2__Impl { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group__2__Impl(); @@ -34095,33 +36584,33 @@ public final void rule__ParameterBase64Type__Group__2() throws RecognitionExcept // $ANTLR start "rule__ParameterBase64Type__Group__2__Impl" - // InternalRos.g:11263:1: rule__ParameterBase64Type__Group__2__Impl : ( ( rule__ParameterBase64Type__Group_2__0 )? ) ; + // InternalRos.g:12077:1: rule__ParameterBase64Type__Group__2__Impl : ( ( rule__ParameterBase64Type__Group_2__0 )? ) ; public final void rule__ParameterBase64Type__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11267:1: ( ( ( rule__ParameterBase64Type__Group_2__0 )? ) ) - // InternalRos.g:11268:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) + // InternalRos.g:12081:1: ( ( ( rule__ParameterBase64Type__Group_2__0 )? ) ) + // InternalRos.g:12082:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) { - // InternalRos.g:11268:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) - // InternalRos.g:11269:2: ( rule__ParameterBase64Type__Group_2__0 )? + // InternalRos.g:12082:1: ( ( rule__ParameterBase64Type__Group_2__0 )? ) + // InternalRos.g:12083:2: ( rule__ParameterBase64Type__Group_2__0 )? { before(grammarAccess.getParameterBase64TypeAccess().getGroup_2()); - // InternalRos.g:11270:2: ( rule__ParameterBase64Type__Group_2__0 )? - int alt69=2; - int LA69_0 = input.LA(1); + // InternalRos.g:12084:2: ( rule__ParameterBase64Type__Group_2__0 )? + int alt76=2; + int LA76_0 = input.LA(1); - if ( (LA69_0==79) ) { - int LA69_1 = input.LA(2); + if ( (LA76_0==80) ) { + int LA76_1 = input.LA(2); - if ( (LA69_1==RULE_BINARY) ) { - alt69=1; + if ( (LA76_1==RULE_BINARY) ) { + alt76=1; } } - switch (alt69) { + switch (alt76) { case 1 : - // InternalRos.g:11270:3: rule__ParameterBase64Type__Group_2__0 + // InternalRos.g:12084:3: rule__ParameterBase64Type__Group_2__0 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group_2__0(); @@ -34157,16 +36646,16 @@ public final void rule__ParameterBase64Type__Group__2__Impl() throws Recognition // $ANTLR start "rule__ParameterBase64Type__Group_2__0" - // InternalRos.g:11279:1: rule__ParameterBase64Type__Group_2__0 : rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ; + // InternalRos.g:12093:1: rule__ParameterBase64Type__Group_2__0 : rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ; public final void rule__ParameterBase64Type__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11283:1: ( rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ) - // InternalRos.g:11284:2: rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 + // InternalRos.g:12097:1: ( rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 ) + // InternalRos.g:12098:2: rule__ParameterBase64Type__Group_2__0__Impl rule__ParameterBase64Type__Group_2__1 { - pushFollow(FOLLOW_60); + pushFollow(FOLLOW_61); rule__ParameterBase64Type__Group_2__0__Impl(); state._fsp--; @@ -34195,20 +36684,20 @@ public final void rule__ParameterBase64Type__Group_2__0() throws RecognitionExce // $ANTLR start "rule__ParameterBase64Type__Group_2__0__Impl" - // InternalRos.g:11291:1: rule__ParameterBase64Type__Group_2__0__Impl : ( 'default' ) ; + // InternalRos.g:12105:1: rule__ParameterBase64Type__Group_2__0__Impl : ( 'default' ) ; public final void rule__ParameterBase64Type__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11295:1: ( ( 'default' ) ) - // InternalRos.g:11296:1: ( 'default' ) + // InternalRos.g:12109:1: ( ( 'default' ) ) + // InternalRos.g:12110:1: ( 'default' ) { - // InternalRos.g:11296:1: ( 'default' ) - // InternalRos.g:11297:2: 'default' + // InternalRos.g:12110:1: ( 'default' ) + // InternalRos.g:12111:2: 'default' { before(grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); - match(input,79,FOLLOW_2); + match(input,80,FOLLOW_2); after(grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); } @@ -34232,14 +36721,14 @@ public final void rule__ParameterBase64Type__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterBase64Type__Group_2__1" - // InternalRos.g:11306:1: rule__ParameterBase64Type__Group_2__1 : rule__ParameterBase64Type__Group_2__1__Impl ; + // InternalRos.g:12120:1: rule__ParameterBase64Type__Group_2__1 : rule__ParameterBase64Type__Group_2__1__Impl ; public final void rule__ParameterBase64Type__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11310:1: ( rule__ParameterBase64Type__Group_2__1__Impl ) - // InternalRos.g:11311:2: rule__ParameterBase64Type__Group_2__1__Impl + // InternalRos.g:12124:1: ( rule__ParameterBase64Type__Group_2__1__Impl ) + // InternalRos.g:12125:2: rule__ParameterBase64Type__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__ParameterBase64Type__Group_2__1__Impl(); @@ -34265,21 +36754,21 @@ public final void rule__ParameterBase64Type__Group_2__1() throws RecognitionExce // $ANTLR start "rule__ParameterBase64Type__Group_2__1__Impl" - // InternalRos.g:11317:1: rule__ParameterBase64Type__Group_2__1__Impl : ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ; + // InternalRos.g:12131:1: rule__ParameterBase64Type__Group_2__1__Impl : ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ; public final void rule__ParameterBase64Type__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11321:1: ( ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ) - // InternalRos.g:11322:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) + // InternalRos.g:12135:1: ( ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) ) + // InternalRos.g:12136:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) { - // InternalRos.g:11322:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) - // InternalRos.g:11323:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) + // InternalRos.g:12136:1: ( ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) ) + // InternalRos.g:12137:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) { before(grammarAccess.getParameterBase64TypeAccess().getDefaultAssignment_2_1()); - // InternalRos.g:11324:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) - // InternalRos.g:11324:3: rule__ParameterBase64Type__DefaultAssignment_2_1 + // InternalRos.g:12138:2: ( rule__ParameterBase64Type__DefaultAssignment_2_1 ) + // InternalRos.g:12138:3: rule__ParameterBase64Type__DefaultAssignment_2_1 { pushFollow(FOLLOW_2); rule__ParameterBase64Type__DefaultAssignment_2_1(); @@ -34312,14 +36801,14 @@ public final void rule__ParameterBase64Type__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterArrayType__Group__0" - // InternalRos.g:11333:1: rule__ParameterArrayType__Group__0 : rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ; + // InternalRos.g:12147:1: rule__ParameterArrayType__Group__0 : rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ; public final void rule__ParameterArrayType__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11337:1: ( rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ) - // InternalRos.g:11338:2: rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 + // InternalRos.g:12151:1: ( rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 ) + // InternalRos.g:12152:2: rule__ParameterArrayType__Group__0__Impl rule__ParameterArrayType__Group__1 { pushFollow(FOLLOW_4); rule__ParameterArrayType__Group__0__Impl(); @@ -34350,20 +36839,20 @@ public final void rule__ParameterArrayType__Group__0() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__0__Impl" - // InternalRos.g:11345:1: rule__ParameterArrayType__Group__0__Impl : ( 'Array' ) ; + // InternalRos.g:12159:1: rule__ParameterArrayType__Group__0__Impl : ( 'Array' ) ; public final void rule__ParameterArrayType__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11349:1: ( ( 'Array' ) ) - // InternalRos.g:11350:1: ( 'Array' ) + // InternalRos.g:12163:1: ( ( 'Array' ) ) + // InternalRos.g:12164:1: ( 'Array' ) { - // InternalRos.g:11350:1: ( 'Array' ) - // InternalRos.g:11351:2: 'Array' + // InternalRos.g:12164:1: ( 'Array' ) + // InternalRos.g:12165:2: 'Array' { before(grammarAccess.getParameterArrayTypeAccess().getArrayKeyword_0()); - match(input,83,FOLLOW_2); + match(input,84,FOLLOW_2); after(grammarAccess.getParameterArrayTypeAccess().getArrayKeyword_0()); } @@ -34387,16 +36876,16 @@ public final void rule__ParameterArrayType__Group__0__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__1" - // InternalRos.g:11360:1: rule__ParameterArrayType__Group__1 : rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ; + // InternalRos.g:12174:1: rule__ParameterArrayType__Group__1 : rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ; public final void rule__ParameterArrayType__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11364:1: ( rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ) - // InternalRos.g:11365:2: rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 + // InternalRos.g:12178:1: ( rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 ) + // InternalRos.g:12179:2: rule__ParameterArrayType__Group__1__Impl rule__ParameterArrayType__Group__2 { - pushFollow(FOLLOW_61); + pushFollow(FOLLOW_62); rule__ParameterArrayType__Group__1__Impl(); state._fsp--; @@ -34425,17 +36914,17 @@ public final void rule__ParameterArrayType__Group__1() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__1__Impl" - // InternalRos.g:11372:1: rule__ParameterArrayType__Group__1__Impl : ( '{' ) ; + // InternalRos.g:12186:1: rule__ParameterArrayType__Group__1__Impl : ( '{' ) ; public final void rule__ParameterArrayType__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11376:1: ( ( '{' ) ) - // InternalRos.g:11377:1: ( '{' ) + // InternalRos.g:12190:1: ( ( '{' ) ) + // InternalRos.g:12191:1: ( '{' ) { - // InternalRos.g:11377:1: ( '{' ) - // InternalRos.g:11378:2: '{' + // InternalRos.g:12191:1: ( '{' ) + // InternalRos.g:12192:2: '{' { before(grammarAccess.getParameterArrayTypeAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -34462,16 +36951,16 @@ public final void rule__ParameterArrayType__Group__1__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__2" - // InternalRos.g:11387:1: rule__ParameterArrayType__Group__2 : rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ; + // InternalRos.g:12201:1: rule__ParameterArrayType__Group__2 : rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ; public final void rule__ParameterArrayType__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11391:1: ( rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ) - // InternalRos.g:11392:2: rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 + // InternalRos.g:12205:1: ( rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 ) + // InternalRos.g:12206:2: rule__ParameterArrayType__Group__2__Impl rule__ParameterArrayType__Group__3 { - pushFollow(FOLLOW_47); + pushFollow(FOLLOW_48); rule__ParameterArrayType__Group__2__Impl(); state._fsp--; @@ -34500,17 +36989,17 @@ public final void rule__ParameterArrayType__Group__2() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__2__Impl" - // InternalRos.g:11399:1: rule__ParameterArrayType__Group__2__Impl : ( 'type' ) ; + // InternalRos.g:12213:1: rule__ParameterArrayType__Group__2__Impl : ( 'type' ) ; public final void rule__ParameterArrayType__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11403:1: ( ( 'type' ) ) - // InternalRos.g:11404:1: ( 'type' ) + // InternalRos.g:12217:1: ( ( 'type' ) ) + // InternalRos.g:12218:1: ( 'type' ) { - // InternalRos.g:11404:1: ( 'type' ) - // InternalRos.g:11405:2: 'type' + // InternalRos.g:12218:1: ( 'type' ) + // InternalRos.g:12219:2: 'type' { before(grammarAccess.getParameterArrayTypeAccess().getTypeKeyword_2()); match(input,36,FOLLOW_2); @@ -34537,16 +37026,16 @@ public final void rule__ParameterArrayType__Group__2__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__3" - // InternalRos.g:11414:1: rule__ParameterArrayType__Group__3 : rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ; + // InternalRos.g:12228:1: rule__ParameterArrayType__Group__3 : rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ; public final void rule__ParameterArrayType__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11418:1: ( rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ) - // InternalRos.g:11419:2: rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 + // InternalRos.g:12232:1: ( rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 ) + // InternalRos.g:12233:2: rule__ParameterArrayType__Group__3__Impl rule__ParameterArrayType__Group__4 { - pushFollow(FOLLOW_62); + pushFollow(FOLLOW_63); rule__ParameterArrayType__Group__3__Impl(); state._fsp--; @@ -34575,21 +37064,21 @@ public final void rule__ParameterArrayType__Group__3() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__3__Impl" - // InternalRos.g:11426:1: rule__ParameterArrayType__Group__3__Impl : ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ; + // InternalRos.g:12240:1: rule__ParameterArrayType__Group__3__Impl : ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ; public final void rule__ParameterArrayType__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11430:1: ( ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ) - // InternalRos.g:11431:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) + // InternalRos.g:12244:1: ( ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) ) + // InternalRos.g:12245:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) { - // InternalRos.g:11431:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) - // InternalRos.g:11432:2: ( rule__ParameterArrayType__TypeAssignment_3 ) + // InternalRos.g:12245:1: ( ( rule__ParameterArrayType__TypeAssignment_3 ) ) + // InternalRos.g:12246:2: ( rule__ParameterArrayType__TypeAssignment_3 ) { before(grammarAccess.getParameterArrayTypeAccess().getTypeAssignment_3()); - // InternalRos.g:11433:2: ( rule__ParameterArrayType__TypeAssignment_3 ) - // InternalRos.g:11433:3: rule__ParameterArrayType__TypeAssignment_3 + // InternalRos.g:12247:2: ( rule__ParameterArrayType__TypeAssignment_3 ) + // InternalRos.g:12247:3: rule__ParameterArrayType__TypeAssignment_3 { pushFollow(FOLLOW_2); rule__ParameterArrayType__TypeAssignment_3(); @@ -34622,16 +37111,16 @@ public final void rule__ParameterArrayType__Group__3__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__4" - // InternalRos.g:11441:1: rule__ParameterArrayType__Group__4 : rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ; + // InternalRos.g:12255:1: rule__ParameterArrayType__Group__4 : rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ; public final void rule__ParameterArrayType__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11445:1: ( rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ) - // InternalRos.g:11446:2: rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 + // InternalRos.g:12259:1: ( rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 ) + // InternalRos.g:12260:2: rule__ParameterArrayType__Group__4__Impl rule__ParameterArrayType__Group__5 { - pushFollow(FOLLOW_62); + pushFollow(FOLLOW_63); rule__ParameterArrayType__Group__4__Impl(); state._fsp--; @@ -34660,29 +37149,29 @@ public final void rule__ParameterArrayType__Group__4() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__4__Impl" - // InternalRos.g:11453:1: rule__ParameterArrayType__Group__4__Impl : ( ( rule__ParameterArrayType__Group_4__0 )? ) ; + // InternalRos.g:12267:1: rule__ParameterArrayType__Group__4__Impl : ( ( rule__ParameterArrayType__Group_4__0 )? ) ; public final void rule__ParameterArrayType__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11457:1: ( ( ( rule__ParameterArrayType__Group_4__0 )? ) ) - // InternalRos.g:11458:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) + // InternalRos.g:12271:1: ( ( ( rule__ParameterArrayType__Group_4__0 )? ) ) + // InternalRos.g:12272:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) { - // InternalRos.g:11458:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) - // InternalRos.g:11459:2: ( rule__ParameterArrayType__Group_4__0 )? + // InternalRos.g:12272:1: ( ( rule__ParameterArrayType__Group_4__0 )? ) + // InternalRos.g:12273:2: ( rule__ParameterArrayType__Group_4__0 )? { before(grammarAccess.getParameterArrayTypeAccess().getGroup_4()); - // InternalRos.g:11460:2: ( rule__ParameterArrayType__Group_4__0 )? - int alt70=2; - int LA70_0 = input.LA(1); + // InternalRos.g:12274:2: ( rule__ParameterArrayType__Group_4__0 )? + int alt77=2; + int LA77_0 = input.LA(1); - if ( (LA70_0==79) ) { - alt70=1; + if ( (LA77_0==80) ) { + alt77=1; } - switch (alt70) { + switch (alt77) { case 1 : - // InternalRos.g:11460:3: rule__ParameterArrayType__Group_4__0 + // InternalRos.g:12274:3: rule__ParameterArrayType__Group_4__0 { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group_4__0(); @@ -34718,14 +37207,14 @@ public final void rule__ParameterArrayType__Group__4__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group__5" - // InternalRos.g:11468:1: rule__ParameterArrayType__Group__5 : rule__ParameterArrayType__Group__5__Impl ; + // InternalRos.g:12282:1: rule__ParameterArrayType__Group__5 : rule__ParameterArrayType__Group__5__Impl ; public final void rule__ParameterArrayType__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11472:1: ( rule__ParameterArrayType__Group__5__Impl ) - // InternalRos.g:11473:2: rule__ParameterArrayType__Group__5__Impl + // InternalRos.g:12286:1: ( rule__ParameterArrayType__Group__5__Impl ) + // InternalRos.g:12287:2: rule__ParameterArrayType__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group__5__Impl(); @@ -34751,17 +37240,17 @@ public final void rule__ParameterArrayType__Group__5() throws RecognitionExcepti // $ANTLR start "rule__ParameterArrayType__Group__5__Impl" - // InternalRos.g:11479:1: rule__ParameterArrayType__Group__5__Impl : ( '}' ) ; + // InternalRos.g:12293:1: rule__ParameterArrayType__Group__5__Impl : ( '}' ) ; public final void rule__ParameterArrayType__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11483:1: ( ( '}' ) ) - // InternalRos.g:11484:1: ( '}' ) + // InternalRos.g:12297:1: ( ( '}' ) ) + // InternalRos.g:12298:1: ( '}' ) { - // InternalRos.g:11484:1: ( '}' ) - // InternalRos.g:11485:2: '}' + // InternalRos.g:12298:1: ( '}' ) + // InternalRos.g:12299:2: '}' { before(grammarAccess.getParameterArrayTypeAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -34788,14 +37277,14 @@ public final void rule__ParameterArrayType__Group__5__Impl() throws RecognitionE // $ANTLR start "rule__ParameterArrayType__Group_4__0" - // InternalRos.g:11495:1: rule__ParameterArrayType__Group_4__0 : rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ; + // InternalRos.g:12309:1: rule__ParameterArrayType__Group_4__0 : rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ; public final void rule__ParameterArrayType__Group_4__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11499:1: ( rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ) - // InternalRos.g:11500:2: rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 + // InternalRos.g:12313:1: ( rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 ) + // InternalRos.g:12314:2: rule__ParameterArrayType__Group_4__0__Impl rule__ParameterArrayType__Group_4__1 { pushFollow(FOLLOW_4); rule__ParameterArrayType__Group_4__0__Impl(); @@ -34826,20 +37315,20 @@ public final void rule__ParameterArrayType__Group_4__0() throws RecognitionExcep // $ANTLR start "rule__ParameterArrayType__Group_4__0__Impl" - // InternalRos.g:11507:1: rule__ParameterArrayType__Group_4__0__Impl : ( 'default' ) ; + // InternalRos.g:12321:1: rule__ParameterArrayType__Group_4__0__Impl : ( 'default' ) ; public final void rule__ParameterArrayType__Group_4__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11511:1: ( ( 'default' ) ) - // InternalRos.g:11512:1: ( 'default' ) + // InternalRos.g:12325:1: ( ( 'default' ) ) + // InternalRos.g:12326:1: ( 'default' ) { - // InternalRos.g:11512:1: ( 'default' ) - // InternalRos.g:11513:2: 'default' + // InternalRos.g:12326:1: ( 'default' ) + // InternalRos.g:12327:2: 'default' { before(grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); - match(input,79,FOLLOW_2); + match(input,80,FOLLOW_2); after(grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); } @@ -34863,14 +37352,14 @@ public final void rule__ParameterArrayType__Group_4__0__Impl() throws Recognitio // $ANTLR start "rule__ParameterArrayType__Group_4__1" - // InternalRos.g:11522:1: rule__ParameterArrayType__Group_4__1 : rule__ParameterArrayType__Group_4__1__Impl ; + // InternalRos.g:12336:1: rule__ParameterArrayType__Group_4__1 : rule__ParameterArrayType__Group_4__1__Impl ; public final void rule__ParameterArrayType__Group_4__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11526:1: ( rule__ParameterArrayType__Group_4__1__Impl ) - // InternalRos.g:11527:2: rule__ParameterArrayType__Group_4__1__Impl + // InternalRos.g:12340:1: ( rule__ParameterArrayType__Group_4__1__Impl ) + // InternalRos.g:12341:2: rule__ParameterArrayType__Group_4__1__Impl { pushFollow(FOLLOW_2); rule__ParameterArrayType__Group_4__1__Impl(); @@ -34896,21 +37385,21 @@ public final void rule__ParameterArrayType__Group_4__1() throws RecognitionExcep // $ANTLR start "rule__ParameterArrayType__Group_4__1__Impl" - // InternalRos.g:11533:1: rule__ParameterArrayType__Group_4__1__Impl : ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ; + // InternalRos.g:12347:1: rule__ParameterArrayType__Group_4__1__Impl : ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ; public final void rule__ParameterArrayType__Group_4__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11537:1: ( ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ) - // InternalRos.g:11538:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) + // InternalRos.g:12351:1: ( ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) ) + // InternalRos.g:12352:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) { - // InternalRos.g:11538:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) - // InternalRos.g:11539:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) + // InternalRos.g:12352:1: ( ( rule__ParameterArrayType__DefaultAssignment_4_1 ) ) + // InternalRos.g:12353:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) { before(grammarAccess.getParameterArrayTypeAccess().getDefaultAssignment_4_1()); - // InternalRos.g:11540:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) - // InternalRos.g:11540:3: rule__ParameterArrayType__DefaultAssignment_4_1 + // InternalRos.g:12354:2: ( rule__ParameterArrayType__DefaultAssignment_4_1 ) + // InternalRos.g:12354:3: rule__ParameterArrayType__DefaultAssignment_4_1 { pushFollow(FOLLOW_2); rule__ParameterArrayType__DefaultAssignment_4_1(); @@ -34943,14 +37432,14 @@ public final void rule__ParameterArrayType__Group_4__1__Impl() throws Recognitio // $ANTLR start "rule__ParameterList__Group__0" - // InternalRos.g:11549:1: rule__ParameterList__Group__0 : rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ; + // InternalRos.g:12363:1: rule__ParameterList__Group__0 : rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ; public final void rule__ParameterList__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11553:1: ( rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ) - // InternalRos.g:11554:2: rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 + // InternalRos.g:12367:1: ( rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 ) + // InternalRos.g:12368:2: rule__ParameterList__Group__0__Impl rule__ParameterList__Group__1 { pushFollow(FOLLOW_4); rule__ParameterList__Group__0__Impl(); @@ -34981,21 +37470,21 @@ public final void rule__ParameterList__Group__0() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__0__Impl" - // InternalRos.g:11561:1: rule__ParameterList__Group__0__Impl : ( () ) ; + // InternalRos.g:12375:1: rule__ParameterList__Group__0__Impl : ( () ) ; public final void rule__ParameterList__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11565:1: ( ( () ) ) - // InternalRos.g:11566:1: ( () ) + // InternalRos.g:12379:1: ( ( () ) ) + // InternalRos.g:12380:1: ( () ) { - // InternalRos.g:11566:1: ( () ) - // InternalRos.g:11567:2: () + // InternalRos.g:12380:1: ( () ) + // InternalRos.g:12381:2: () { before(grammarAccess.getParameterListAccess().getParameterSequenceAction_0()); - // InternalRos.g:11568:2: () - // InternalRos.g:11568:3: + // InternalRos.g:12382:2: () + // InternalRos.g:12382:3: { } @@ -35018,16 +37507,16 @@ public final void rule__ParameterList__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__1" - // InternalRos.g:11576:1: rule__ParameterList__Group__1 : rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ; + // InternalRos.g:12390:1: rule__ParameterList__Group__1 : rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ; public final void rule__ParameterList__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11580:1: ( rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ) - // InternalRos.g:11581:2: rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 + // InternalRos.g:12394:1: ( rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 ) + // InternalRos.g:12395:2: rule__ParameterList__Group__1__Impl rule__ParameterList__Group__2 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_64); rule__ParameterList__Group__1__Impl(); state._fsp--; @@ -35056,17 +37545,17 @@ public final void rule__ParameterList__Group__1() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__1__Impl" - // InternalRos.g:11588:1: rule__ParameterList__Group__1__Impl : ( '{' ) ; + // InternalRos.g:12402:1: rule__ParameterList__Group__1__Impl : ( '{' ) ; public final void rule__ParameterList__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11592:1: ( ( '{' ) ) - // InternalRos.g:11593:1: ( '{' ) + // InternalRos.g:12406:1: ( ( '{' ) ) + // InternalRos.g:12407:1: ( '{' ) { - // InternalRos.g:11593:1: ( '{' ) - // InternalRos.g:11594:2: '{' + // InternalRos.g:12407:1: ( '{' ) + // InternalRos.g:12408:2: '{' { before(grammarAccess.getParameterListAccess().getLeftCurlyBracketKeyword_1()); match(input,41,FOLLOW_2); @@ -35093,14 +37582,14 @@ public final void rule__ParameterList__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__2" - // InternalRos.g:11603:1: rule__ParameterList__Group__2 : rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ; + // InternalRos.g:12417:1: rule__ParameterList__Group__2 : rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ; public final void rule__ParameterList__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11607:1: ( rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ) - // InternalRos.g:11608:2: rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 + // InternalRos.g:12421:1: ( rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 ) + // InternalRos.g:12422:2: rule__ParameterList__Group__2__Impl rule__ParameterList__Group__3 { pushFollow(FOLLOW_13); rule__ParameterList__Group__2__Impl(); @@ -35131,21 +37620,21 @@ public final void rule__ParameterList__Group__2() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__2__Impl" - // InternalRos.g:11615:1: rule__ParameterList__Group__2__Impl : ( ( rule__ParameterList__ValueAssignment_2 ) ) ; + // InternalRos.g:12429:1: rule__ParameterList__Group__2__Impl : ( ( rule__ParameterList__ValueAssignment_2 ) ) ; public final void rule__ParameterList__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11619:1: ( ( ( rule__ParameterList__ValueAssignment_2 ) ) ) - // InternalRos.g:11620:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) + // InternalRos.g:12433:1: ( ( ( rule__ParameterList__ValueAssignment_2 ) ) ) + // InternalRos.g:12434:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) { - // InternalRos.g:11620:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) - // InternalRos.g:11621:2: ( rule__ParameterList__ValueAssignment_2 ) + // InternalRos.g:12434:1: ( ( rule__ParameterList__ValueAssignment_2 ) ) + // InternalRos.g:12435:2: ( rule__ParameterList__ValueAssignment_2 ) { before(grammarAccess.getParameterListAccess().getValueAssignment_2()); - // InternalRos.g:11622:2: ( rule__ParameterList__ValueAssignment_2 ) - // InternalRos.g:11622:3: rule__ParameterList__ValueAssignment_2 + // InternalRos.g:12436:2: ( rule__ParameterList__ValueAssignment_2 ) + // InternalRos.g:12436:3: rule__ParameterList__ValueAssignment_2 { pushFollow(FOLLOW_2); rule__ParameterList__ValueAssignment_2(); @@ -35178,14 +37667,14 @@ public final void rule__ParameterList__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__3" - // InternalRos.g:11630:1: rule__ParameterList__Group__3 : rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ; + // InternalRos.g:12444:1: rule__ParameterList__Group__3 : rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ; public final void rule__ParameterList__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11634:1: ( rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ) - // InternalRos.g:11635:2: rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 + // InternalRos.g:12448:1: ( rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 ) + // InternalRos.g:12449:2: rule__ParameterList__Group__3__Impl rule__ParameterList__Group__4 { pushFollow(FOLLOW_13); rule__ParameterList__Group__3__Impl(); @@ -35216,33 +37705,33 @@ public final void rule__ParameterList__Group__3() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__3__Impl" - // InternalRos.g:11642:1: rule__ParameterList__Group__3__Impl : ( ( rule__ParameterList__Group_3__0 )* ) ; + // InternalRos.g:12456:1: rule__ParameterList__Group__3__Impl : ( ( rule__ParameterList__Group_3__0 )* ) ; public final void rule__ParameterList__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11646:1: ( ( ( rule__ParameterList__Group_3__0 )* ) ) - // InternalRos.g:11647:1: ( ( rule__ParameterList__Group_3__0 )* ) + // InternalRos.g:12460:1: ( ( ( rule__ParameterList__Group_3__0 )* ) ) + // InternalRos.g:12461:1: ( ( rule__ParameterList__Group_3__0 )* ) { - // InternalRos.g:11647:1: ( ( rule__ParameterList__Group_3__0 )* ) - // InternalRos.g:11648:2: ( rule__ParameterList__Group_3__0 )* + // InternalRos.g:12461:1: ( ( rule__ParameterList__Group_3__0 )* ) + // InternalRos.g:12462:2: ( rule__ParameterList__Group_3__0 )* { before(grammarAccess.getParameterListAccess().getGroup_3()); - // InternalRos.g:11649:2: ( rule__ParameterList__Group_3__0 )* - loop71: + // InternalRos.g:12463:2: ( rule__ParameterList__Group_3__0 )* + loop78: do { - int alt71=2; - int LA71_0 = input.LA(1); + int alt78=2; + int LA78_0 = input.LA(1); - if ( (LA71_0==43) ) { - alt71=1; + if ( (LA78_0==43) ) { + alt78=1; } - switch (alt71) { + switch (alt78) { case 1 : - // InternalRos.g:11649:3: rule__ParameterList__Group_3__0 + // InternalRos.g:12463:3: rule__ParameterList__Group_3__0 { pushFollow(FOLLOW_7); rule__ParameterList__Group_3__0(); @@ -35254,7 +37743,7 @@ public final void rule__ParameterList__Group__3__Impl() throws RecognitionExcept break; default : - break loop71; + break loop78; } } while (true); @@ -35281,14 +37770,14 @@ public final void rule__ParameterList__Group__3__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group__4" - // InternalRos.g:11657:1: rule__ParameterList__Group__4 : rule__ParameterList__Group__4__Impl ; + // InternalRos.g:12471:1: rule__ParameterList__Group__4 : rule__ParameterList__Group__4__Impl ; public final void rule__ParameterList__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11661:1: ( rule__ParameterList__Group__4__Impl ) - // InternalRos.g:11662:2: rule__ParameterList__Group__4__Impl + // InternalRos.g:12475:1: ( rule__ParameterList__Group__4__Impl ) + // InternalRos.g:12476:2: rule__ParameterList__Group__4__Impl { pushFollow(FOLLOW_2); rule__ParameterList__Group__4__Impl(); @@ -35314,17 +37803,17 @@ public final void rule__ParameterList__Group__4() throws RecognitionException { // $ANTLR start "rule__ParameterList__Group__4__Impl" - // InternalRos.g:11668:1: rule__ParameterList__Group__4__Impl : ( '}' ) ; + // InternalRos.g:12482:1: rule__ParameterList__Group__4__Impl : ( '}' ) ; public final void rule__ParameterList__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11672:1: ( ( '}' ) ) - // InternalRos.g:11673:1: ( '}' ) + // InternalRos.g:12486:1: ( ( '}' ) ) + // InternalRos.g:12487:1: ( '}' ) { - // InternalRos.g:11673:1: ( '}' ) - // InternalRos.g:11674:2: '}' + // InternalRos.g:12487:1: ( '}' ) + // InternalRos.g:12488:2: '}' { before(grammarAccess.getParameterListAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -35351,16 +37840,16 @@ public final void rule__ParameterList__Group__4__Impl() throws RecognitionExcept // $ANTLR start "rule__ParameterList__Group_3__0" - // InternalRos.g:11684:1: rule__ParameterList__Group_3__0 : rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ; + // InternalRos.g:12498:1: rule__ParameterList__Group_3__0 : rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ; public final void rule__ParameterList__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11688:1: ( rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ) - // InternalRos.g:11689:2: rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 + // InternalRos.g:12502:1: ( rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 ) + // InternalRos.g:12503:2: rule__ParameterList__Group_3__0__Impl rule__ParameterList__Group_3__1 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_64); rule__ParameterList__Group_3__0__Impl(); state._fsp--; @@ -35389,17 +37878,17 @@ public final void rule__ParameterList__Group_3__0() throws RecognitionException // $ANTLR start "rule__ParameterList__Group_3__0__Impl" - // InternalRos.g:11696:1: rule__ParameterList__Group_3__0__Impl : ( ',' ) ; + // InternalRos.g:12510:1: rule__ParameterList__Group_3__0__Impl : ( ',' ) ; public final void rule__ParameterList__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11700:1: ( ( ',' ) ) - // InternalRos.g:11701:1: ( ',' ) + // InternalRos.g:12514:1: ( ( ',' ) ) + // InternalRos.g:12515:1: ( ',' ) { - // InternalRos.g:11701:1: ( ',' ) - // InternalRos.g:11702:2: ',' + // InternalRos.g:12515:1: ( ',' ) + // InternalRos.g:12516:2: ',' { before(grammarAccess.getParameterListAccess().getCommaKeyword_3_0()); match(input,43,FOLLOW_2); @@ -35426,14 +37915,14 @@ public final void rule__ParameterList__Group_3__0__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterList__Group_3__1" - // InternalRos.g:11711:1: rule__ParameterList__Group_3__1 : rule__ParameterList__Group_3__1__Impl ; + // InternalRos.g:12525:1: rule__ParameterList__Group_3__1 : rule__ParameterList__Group_3__1__Impl ; public final void rule__ParameterList__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11715:1: ( rule__ParameterList__Group_3__1__Impl ) - // InternalRos.g:11716:2: rule__ParameterList__Group_3__1__Impl + // InternalRos.g:12529:1: ( rule__ParameterList__Group_3__1__Impl ) + // InternalRos.g:12530:2: rule__ParameterList__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__ParameterList__Group_3__1__Impl(); @@ -35459,21 +37948,21 @@ public final void rule__ParameterList__Group_3__1() throws RecognitionException // $ANTLR start "rule__ParameterList__Group_3__1__Impl" - // InternalRos.g:11722:1: rule__ParameterList__Group_3__1__Impl : ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ; + // InternalRos.g:12536:1: rule__ParameterList__Group_3__1__Impl : ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ; public final void rule__ParameterList__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11726:1: ( ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ) - // InternalRos.g:11727:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) + // InternalRos.g:12540:1: ( ( ( rule__ParameterList__ValueAssignment_3_1 ) ) ) + // InternalRos.g:12541:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) { - // InternalRos.g:11727:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) - // InternalRos.g:11728:2: ( rule__ParameterList__ValueAssignment_3_1 ) + // InternalRos.g:12541:1: ( ( rule__ParameterList__ValueAssignment_3_1 ) ) + // InternalRos.g:12542:2: ( rule__ParameterList__ValueAssignment_3_1 ) { before(grammarAccess.getParameterListAccess().getValueAssignment_3_1()); - // InternalRos.g:11729:2: ( rule__ParameterList__ValueAssignment_3_1 ) - // InternalRos.g:11729:3: rule__ParameterList__ValueAssignment_3_1 + // InternalRos.g:12543:2: ( rule__ParameterList__ValueAssignment_3_1 ) + // InternalRos.g:12543:3: rule__ParameterList__ValueAssignment_3_1 { pushFollow(FOLLOW_2); rule__ParameterList__ValueAssignment_3_1(); @@ -35506,16 +37995,16 @@ public final void rule__ParameterList__Group_3__1__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterAny__Group__0" - // InternalRos.g:11738:1: rule__ParameterAny__Group__0 : rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ; + // InternalRos.g:12552:1: rule__ParameterAny__Group__0 : rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ; public final void rule__ParameterAny__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11742:1: ( rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ) - // InternalRos.g:11743:2: rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 + // InternalRos.g:12556:1: ( rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 ) + // InternalRos.g:12557:2: rule__ParameterAny__Group__0__Impl rule__ParameterAny__Group__1 { - pushFollow(FOLLOW_64); + pushFollow(FOLLOW_65); rule__ParameterAny__Group__0__Impl(); state._fsp--; @@ -35544,21 +38033,21 @@ public final void rule__ParameterAny__Group__0() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__0__Impl" - // InternalRos.g:11750:1: rule__ParameterAny__Group__0__Impl : ( () ) ; + // InternalRos.g:12564:1: rule__ParameterAny__Group__0__Impl : ( () ) ; public final void rule__ParameterAny__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11754:1: ( ( () ) ) - // InternalRos.g:11755:1: ( () ) + // InternalRos.g:12568:1: ( ( () ) ) + // InternalRos.g:12569:1: ( () ) { - // InternalRos.g:11755:1: ( () ) - // InternalRos.g:11756:2: () + // InternalRos.g:12569:1: ( () ) + // InternalRos.g:12570:2: () { before(grammarAccess.getParameterAnyAccess().getParameterAnyAction_0()); - // InternalRos.g:11757:2: () - // InternalRos.g:11757:3: + // InternalRos.g:12571:2: () + // InternalRos.g:12571:3: { } @@ -35581,14 +38070,14 @@ public final void rule__ParameterAny__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__1" - // InternalRos.g:11765:1: rule__ParameterAny__Group__1 : rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ; + // InternalRos.g:12579:1: rule__ParameterAny__Group__1 : rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ; public final void rule__ParameterAny__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11769:1: ( rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ) - // InternalRos.g:11770:2: rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 + // InternalRos.g:12583:1: ( rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 ) + // InternalRos.g:12584:2: rule__ParameterAny__Group__1__Impl rule__ParameterAny__Group__2 { pushFollow(FOLLOW_4); rule__ParameterAny__Group__1__Impl(); @@ -35619,20 +38108,20 @@ public final void rule__ParameterAny__Group__1() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__1__Impl" - // InternalRos.g:11777:1: rule__ParameterAny__Group__1__Impl : ( 'ParameterAny' ) ; + // InternalRos.g:12591:1: rule__ParameterAny__Group__1__Impl : ( 'ParameterAny' ) ; public final void rule__ParameterAny__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11781:1: ( ( 'ParameterAny' ) ) - // InternalRos.g:11782:1: ( 'ParameterAny' ) + // InternalRos.g:12595:1: ( ( 'ParameterAny' ) ) + // InternalRos.g:12596:1: ( 'ParameterAny' ) { - // InternalRos.g:11782:1: ( 'ParameterAny' ) - // InternalRos.g:11783:2: 'ParameterAny' + // InternalRos.g:12596:1: ( 'ParameterAny' ) + // InternalRos.g:12597:2: 'ParameterAny' { before(grammarAccess.getParameterAnyAccess().getParameterAnyKeyword_1()); - match(input,84,FOLLOW_2); + match(input,85,FOLLOW_2); after(grammarAccess.getParameterAnyAccess().getParameterAnyKeyword_1()); } @@ -35656,16 +38145,16 @@ public final void rule__ParameterAny__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__2" - // InternalRos.g:11792:1: rule__ParameterAny__Group__2 : rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ; + // InternalRos.g:12606:1: rule__ParameterAny__Group__2 : rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ; public final void rule__ParameterAny__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11796:1: ( rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ) - // InternalRos.g:11797:2: rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 + // InternalRos.g:12610:1: ( rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 ) + // InternalRos.g:12611:2: rule__ParameterAny__Group__2__Impl rule__ParameterAny__Group__3 { - pushFollow(FOLLOW_65); + pushFollow(FOLLOW_66); rule__ParameterAny__Group__2__Impl(); state._fsp--; @@ -35694,17 +38183,17 @@ public final void rule__ParameterAny__Group__2() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__2__Impl" - // InternalRos.g:11804:1: rule__ParameterAny__Group__2__Impl : ( '{' ) ; + // InternalRos.g:12618:1: rule__ParameterAny__Group__2__Impl : ( '{' ) ; public final void rule__ParameterAny__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11808:1: ( ( '{' ) ) - // InternalRos.g:11809:1: ( '{' ) + // InternalRos.g:12622:1: ( ( '{' ) ) + // InternalRos.g:12623:1: ( '{' ) { - // InternalRos.g:11809:1: ( '{' ) - // InternalRos.g:11810:2: '{' + // InternalRos.g:12623:1: ( '{' ) + // InternalRos.g:12624:2: '{' { before(grammarAccess.getParameterAnyAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -35731,16 +38220,16 @@ public final void rule__ParameterAny__Group__2__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__3" - // InternalRos.g:11819:1: rule__ParameterAny__Group__3 : rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ; + // InternalRos.g:12633:1: rule__ParameterAny__Group__3 : rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ; public final void rule__ParameterAny__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11823:1: ( rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ) - // InternalRos.g:11824:2: rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 + // InternalRos.g:12637:1: ( rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 ) + // InternalRos.g:12638:2: rule__ParameterAny__Group__3__Impl rule__ParameterAny__Group__4 { - pushFollow(FOLLOW_65); + pushFollow(FOLLOW_66); rule__ParameterAny__Group__3__Impl(); state._fsp--; @@ -35769,29 +38258,29 @@ public final void rule__ParameterAny__Group__3() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__3__Impl" - // InternalRos.g:11831:1: rule__ParameterAny__Group__3__Impl : ( ( rule__ParameterAny__Group_3__0 )? ) ; + // InternalRos.g:12645:1: rule__ParameterAny__Group__3__Impl : ( ( rule__ParameterAny__Group_3__0 )? ) ; public final void rule__ParameterAny__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11835:1: ( ( ( rule__ParameterAny__Group_3__0 )? ) ) - // InternalRos.g:11836:1: ( ( rule__ParameterAny__Group_3__0 )? ) + // InternalRos.g:12649:1: ( ( ( rule__ParameterAny__Group_3__0 )? ) ) + // InternalRos.g:12650:1: ( ( rule__ParameterAny__Group_3__0 )? ) { - // InternalRos.g:11836:1: ( ( rule__ParameterAny__Group_3__0 )? ) - // InternalRos.g:11837:2: ( rule__ParameterAny__Group_3__0 )? + // InternalRos.g:12650:1: ( ( rule__ParameterAny__Group_3__0 )? ) + // InternalRos.g:12651:2: ( rule__ParameterAny__Group_3__0 )? { before(grammarAccess.getParameterAnyAccess().getGroup_3()); - // InternalRos.g:11838:2: ( rule__ParameterAny__Group_3__0 )? - int alt72=2; - int LA72_0 = input.LA(1); + // InternalRos.g:12652:2: ( rule__ParameterAny__Group_3__0 )? + int alt79=2; + int LA79_0 = input.LA(1); - if ( (LA72_0==34) ) { - alt72=1; + if ( (LA79_0==34) ) { + alt79=1; } - switch (alt72) { + switch (alt79) { case 1 : - // InternalRos.g:11838:3: rule__ParameterAny__Group_3__0 + // InternalRos.g:12652:3: rule__ParameterAny__Group_3__0 { pushFollow(FOLLOW_2); rule__ParameterAny__Group_3__0(); @@ -35827,14 +38316,14 @@ public final void rule__ParameterAny__Group__3__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group__4" - // InternalRos.g:11846:1: rule__ParameterAny__Group__4 : rule__ParameterAny__Group__4__Impl ; + // InternalRos.g:12660:1: rule__ParameterAny__Group__4 : rule__ParameterAny__Group__4__Impl ; public final void rule__ParameterAny__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11850:1: ( rule__ParameterAny__Group__4__Impl ) - // InternalRos.g:11851:2: rule__ParameterAny__Group__4__Impl + // InternalRos.g:12664:1: ( rule__ParameterAny__Group__4__Impl ) + // InternalRos.g:12665:2: rule__ParameterAny__Group__4__Impl { pushFollow(FOLLOW_2); rule__ParameterAny__Group__4__Impl(); @@ -35860,17 +38349,17 @@ public final void rule__ParameterAny__Group__4() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group__4__Impl" - // InternalRos.g:11857:1: rule__ParameterAny__Group__4__Impl : ( '}' ) ; + // InternalRos.g:12671:1: rule__ParameterAny__Group__4__Impl : ( '}' ) ; public final void rule__ParameterAny__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11861:1: ( ( '}' ) ) - // InternalRos.g:11862:1: ( '}' ) + // InternalRos.g:12675:1: ( ( '}' ) ) + // InternalRos.g:12676:1: ( '}' ) { - // InternalRos.g:11862:1: ( '}' ) - // InternalRos.g:11863:2: '}' + // InternalRos.g:12676:1: ( '}' ) + // InternalRos.g:12677:2: '}' { before(grammarAccess.getParameterAnyAccess().getRightCurlyBracketKeyword_4()); match(input,42,FOLLOW_2); @@ -35897,14 +38386,14 @@ public final void rule__ParameterAny__Group__4__Impl() throws RecognitionExcepti // $ANTLR start "rule__ParameterAny__Group_3__0" - // InternalRos.g:11873:1: rule__ParameterAny__Group_3__0 : rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ; + // InternalRos.g:12687:1: rule__ParameterAny__Group_3__0 : rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ; public final void rule__ParameterAny__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11877:1: ( rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ) - // InternalRos.g:11878:2: rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 + // InternalRos.g:12691:1: ( rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 ) + // InternalRos.g:12692:2: rule__ParameterAny__Group_3__0__Impl rule__ParameterAny__Group_3__1 { pushFollow(FOLLOW_10); rule__ParameterAny__Group_3__0__Impl(); @@ -35935,17 +38424,17 @@ public final void rule__ParameterAny__Group_3__0() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group_3__0__Impl" - // InternalRos.g:11885:1: rule__ParameterAny__Group_3__0__Impl : ( 'value' ) ; + // InternalRos.g:12699:1: rule__ParameterAny__Group_3__0__Impl : ( 'value' ) ; public final void rule__ParameterAny__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11889:1: ( ( 'value' ) ) - // InternalRos.g:11890:1: ( 'value' ) + // InternalRos.g:12703:1: ( ( 'value' ) ) + // InternalRos.g:12704:1: ( 'value' ) { - // InternalRos.g:11890:1: ( 'value' ) - // InternalRos.g:11891:2: 'value' + // InternalRos.g:12704:1: ( 'value' ) + // InternalRos.g:12705:2: 'value' { before(grammarAccess.getParameterAnyAccess().getValueKeyword_3_0()); match(input,34,FOLLOW_2); @@ -35972,14 +38461,14 @@ public final void rule__ParameterAny__Group_3__0__Impl() throws RecognitionExcep // $ANTLR start "rule__ParameterAny__Group_3__1" - // InternalRos.g:11900:1: rule__ParameterAny__Group_3__1 : rule__ParameterAny__Group_3__1__Impl ; + // InternalRos.g:12714:1: rule__ParameterAny__Group_3__1 : rule__ParameterAny__Group_3__1__Impl ; public final void rule__ParameterAny__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11904:1: ( rule__ParameterAny__Group_3__1__Impl ) - // InternalRos.g:11905:2: rule__ParameterAny__Group_3__1__Impl + // InternalRos.g:12718:1: ( rule__ParameterAny__Group_3__1__Impl ) + // InternalRos.g:12719:2: rule__ParameterAny__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__ParameterAny__Group_3__1__Impl(); @@ -36005,21 +38494,21 @@ public final void rule__ParameterAny__Group_3__1() throws RecognitionException { // $ANTLR start "rule__ParameterAny__Group_3__1__Impl" - // InternalRos.g:11911:1: rule__ParameterAny__Group_3__1__Impl : ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ; + // InternalRos.g:12725:1: rule__ParameterAny__Group_3__1__Impl : ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ; public final void rule__ParameterAny__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11915:1: ( ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ) - // InternalRos.g:11916:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) + // InternalRos.g:12729:1: ( ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) ) + // InternalRos.g:12730:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) { - // InternalRos.g:11916:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) - // InternalRos.g:11917:2: ( rule__ParameterAny__ValueAssignment_3_1 ) + // InternalRos.g:12730:1: ( ( rule__ParameterAny__ValueAssignment_3_1 ) ) + // InternalRos.g:12731:2: ( rule__ParameterAny__ValueAssignment_3_1 ) { before(grammarAccess.getParameterAnyAccess().getValueAssignment_3_1()); - // InternalRos.g:11918:2: ( rule__ParameterAny__ValueAssignment_3_1 ) - // InternalRos.g:11918:3: rule__ParameterAny__ValueAssignment_3_1 + // InternalRos.g:12732:2: ( rule__ParameterAny__ValueAssignment_3_1 ) + // InternalRos.g:12732:3: rule__ParameterAny__ValueAssignment_3_1 { pushFollow(FOLLOW_2); rule__ParameterAny__ValueAssignment_3_1(); @@ -36052,16 +38541,16 @@ public final void rule__ParameterAny__Group_3__1__Impl() throws RecognitionExcep // $ANTLR start "rule__ParameterStruct__Group__0" - // InternalRos.g:11927:1: rule__ParameterStruct__Group__0 : rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ; + // InternalRos.g:12741:1: rule__ParameterStruct__Group__0 : rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ; public final void rule__ParameterStruct__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11931:1: ( rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ) - // InternalRos.g:11932:2: rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 + // InternalRos.g:12745:1: ( rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 ) + // InternalRos.g:12746:2: rule__ParameterStruct__Group__0__Impl rule__ParameterStruct__Group__1 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_64); rule__ParameterStruct__Group__0__Impl(); state._fsp--; @@ -36090,21 +38579,21 @@ public final void rule__ParameterStruct__Group__0() throws RecognitionException // $ANTLR start "rule__ParameterStruct__Group__0__Impl" - // InternalRos.g:11939:1: rule__ParameterStruct__Group__0__Impl : ( () ) ; + // InternalRos.g:12753:1: rule__ParameterStruct__Group__0__Impl : ( () ) ; public final void rule__ParameterStruct__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11943:1: ( ( () ) ) - // InternalRos.g:11944:1: ( () ) + // InternalRos.g:12757:1: ( ( () ) ) + // InternalRos.g:12758:1: ( () ) { - // InternalRos.g:11944:1: ( () ) - // InternalRos.g:11945:2: () + // InternalRos.g:12758:1: ( () ) + // InternalRos.g:12759:2: () { before(grammarAccess.getParameterStructAccess().getParameterStructAction_0()); - // InternalRos.g:11946:2: () - // InternalRos.g:11946:3: + // InternalRos.g:12760:2: () + // InternalRos.g:12760:3: { } @@ -36127,14 +38616,14 @@ public final void rule__ParameterStruct__Group__0__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterStruct__Group__1" - // InternalRos.g:11954:1: rule__ParameterStruct__Group__1 : rule__ParameterStruct__Group__1__Impl ; + // InternalRos.g:12768:1: rule__ParameterStruct__Group__1 : rule__ParameterStruct__Group__1__Impl ; public final void rule__ParameterStruct__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11958:1: ( rule__ParameterStruct__Group__1__Impl ) - // InternalRos.g:11959:2: rule__ParameterStruct__Group__1__Impl + // InternalRos.g:12772:1: ( rule__ParameterStruct__Group__1__Impl ) + // InternalRos.g:12773:2: rule__ParameterStruct__Group__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group__1__Impl(); @@ -36160,29 +38649,29 @@ public final void rule__ParameterStruct__Group__1() throws RecognitionException // $ANTLR start "rule__ParameterStruct__Group__1__Impl" - // InternalRos.g:11965:1: rule__ParameterStruct__Group__1__Impl : ( ( rule__ParameterStruct__Group_1__0 )? ) ; + // InternalRos.g:12779:1: rule__ParameterStruct__Group__1__Impl : ( ( rule__ParameterStruct__Group_1__0 )? ) ; public final void rule__ParameterStruct__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11969:1: ( ( ( rule__ParameterStruct__Group_1__0 )? ) ) - // InternalRos.g:11970:1: ( ( rule__ParameterStruct__Group_1__0 )? ) + // InternalRos.g:12783:1: ( ( ( rule__ParameterStruct__Group_1__0 )? ) ) + // InternalRos.g:12784:1: ( ( rule__ParameterStruct__Group_1__0 )? ) { - // InternalRos.g:11970:1: ( ( rule__ParameterStruct__Group_1__0 )? ) - // InternalRos.g:11971:2: ( rule__ParameterStruct__Group_1__0 )? + // InternalRos.g:12784:1: ( ( rule__ParameterStruct__Group_1__0 )? ) + // InternalRos.g:12785:2: ( rule__ParameterStruct__Group_1__0 )? { before(grammarAccess.getParameterStructAccess().getGroup_1()); - // InternalRos.g:11972:2: ( rule__ParameterStruct__Group_1__0 )? - int alt73=2; - int LA73_0 = input.LA(1); + // InternalRos.g:12786:2: ( rule__ParameterStruct__Group_1__0 )? + int alt80=2; + int LA80_0 = input.LA(1); - if ( (LA73_0==41) ) { - alt73=1; + if ( (LA80_0==41) ) { + alt80=1; } - switch (alt73) { + switch (alt80) { case 1 : - // InternalRos.g:11972:3: rule__ParameterStruct__Group_1__0 + // InternalRos.g:12786:3: rule__ParameterStruct__Group_1__0 { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1__0(); @@ -36218,16 +38707,16 @@ public final void rule__ParameterStruct__Group__1__Impl() throws RecognitionExce // $ANTLR start "rule__ParameterStruct__Group_1__0" - // InternalRos.g:11981:1: rule__ParameterStruct__Group_1__0 : rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ; + // InternalRos.g:12795:1: rule__ParameterStruct__Group_1__0 : rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ; public final void rule__ParameterStruct__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11985:1: ( rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ) - // InternalRos.g:11986:2: rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 + // InternalRos.g:12799:1: ( rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 ) + // InternalRos.g:12800:2: rule__ParameterStruct__Group_1__0__Impl rule__ParameterStruct__Group_1__1 { - pushFollow(FOLLOW_66); + pushFollow(FOLLOW_67); rule__ParameterStruct__Group_1__0__Impl(); state._fsp--; @@ -36256,17 +38745,17 @@ public final void rule__ParameterStruct__Group_1__0() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__0__Impl" - // InternalRos.g:11993:1: rule__ParameterStruct__Group_1__0__Impl : ( '{' ) ; + // InternalRos.g:12807:1: rule__ParameterStruct__Group_1__0__Impl : ( '{' ) ; public final void rule__ParameterStruct__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:11997:1: ( ( '{' ) ) - // InternalRos.g:11998:1: ( '{' ) + // InternalRos.g:12811:1: ( ( '{' ) ) + // InternalRos.g:12812:1: ( '{' ) { - // InternalRos.g:11998:1: ( '{' ) - // InternalRos.g:11999:2: '{' + // InternalRos.g:12812:1: ( '{' ) + // InternalRos.g:12813:2: '{' { before(grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_0()); match(input,41,FOLLOW_2); @@ -36293,14 +38782,14 @@ public final void rule__ParameterStruct__Group_1__0__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__1" - // InternalRos.g:12008:1: rule__ParameterStruct__Group_1__1 : rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ; + // InternalRos.g:12822:1: rule__ParameterStruct__Group_1__1 : rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ; public final void rule__ParameterStruct__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12012:1: ( rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ) - // InternalRos.g:12013:2: rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 + // InternalRos.g:12826:1: ( rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 ) + // InternalRos.g:12827:2: rule__ParameterStruct__Group_1__1__Impl rule__ParameterStruct__Group_1__2 { pushFollow(FOLLOW_13); rule__ParameterStruct__Group_1__1__Impl(); @@ -36331,21 +38820,21 @@ public final void rule__ParameterStruct__Group_1__1() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__1__Impl" - // InternalRos.g:12020:1: rule__ParameterStruct__Group_1__1__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ; + // InternalRos.g:12834:1: rule__ParameterStruct__Group_1__1__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ; public final void rule__ParameterStruct__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12024:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ) - // InternalRos.g:12025:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) + // InternalRos.g:12838:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) ) + // InternalRos.g:12839:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) { - // InternalRos.g:12025:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) - // InternalRos.g:12026:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) + // InternalRos.g:12839:1: ( ( rule__ParameterStruct__ValueAssignment_1_1 ) ) + // InternalRos.g:12840:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) { before(grammarAccess.getParameterStructAccess().getValueAssignment_1_1()); - // InternalRos.g:12027:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) - // InternalRos.g:12027:3: rule__ParameterStruct__ValueAssignment_1_1 + // InternalRos.g:12841:2: ( rule__ParameterStruct__ValueAssignment_1_1 ) + // InternalRos.g:12841:3: rule__ParameterStruct__ValueAssignment_1_1 { pushFollow(FOLLOW_2); rule__ParameterStruct__ValueAssignment_1_1(); @@ -36378,14 +38867,14 @@ public final void rule__ParameterStruct__Group_1__1__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__2" - // InternalRos.g:12035:1: rule__ParameterStruct__Group_1__2 : rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ; + // InternalRos.g:12849:1: rule__ParameterStruct__Group_1__2 : rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ; public final void rule__ParameterStruct__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12039:1: ( rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ) - // InternalRos.g:12040:2: rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 + // InternalRos.g:12853:1: ( rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 ) + // InternalRos.g:12854:2: rule__ParameterStruct__Group_1__2__Impl rule__ParameterStruct__Group_1__3 { pushFollow(FOLLOW_13); rule__ParameterStruct__Group_1__2__Impl(); @@ -36416,33 +38905,33 @@ public final void rule__ParameterStruct__Group_1__2() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__2__Impl" - // InternalRos.g:12047:1: rule__ParameterStruct__Group_1__2__Impl : ( ( rule__ParameterStruct__Group_1_2__0 )* ) ; + // InternalRos.g:12861:1: rule__ParameterStruct__Group_1__2__Impl : ( ( rule__ParameterStruct__Group_1_2__0 )* ) ; public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12051:1: ( ( ( rule__ParameterStruct__Group_1_2__0 )* ) ) - // InternalRos.g:12052:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) + // InternalRos.g:12865:1: ( ( ( rule__ParameterStruct__Group_1_2__0 )* ) ) + // InternalRos.g:12866:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) { - // InternalRos.g:12052:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) - // InternalRos.g:12053:2: ( rule__ParameterStruct__Group_1_2__0 )* + // InternalRos.g:12866:1: ( ( rule__ParameterStruct__Group_1_2__0 )* ) + // InternalRos.g:12867:2: ( rule__ParameterStruct__Group_1_2__0 )* { before(grammarAccess.getParameterStructAccess().getGroup_1_2()); - // InternalRos.g:12054:2: ( rule__ParameterStruct__Group_1_2__0 )* - loop74: + // InternalRos.g:12868:2: ( rule__ParameterStruct__Group_1_2__0 )* + loop81: do { - int alt74=2; - int LA74_0 = input.LA(1); + int alt81=2; + int LA81_0 = input.LA(1); - if ( (LA74_0==43) ) { - alt74=1; + if ( (LA81_0==43) ) { + alt81=1; } - switch (alt74) { + switch (alt81) { case 1 : - // InternalRos.g:12054:3: rule__ParameterStruct__Group_1_2__0 + // InternalRos.g:12868:3: rule__ParameterStruct__Group_1_2__0 { pushFollow(FOLLOW_7); rule__ParameterStruct__Group_1_2__0(); @@ -36454,7 +38943,7 @@ public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionEx break; default : - break loop74; + break loop81; } } while (true); @@ -36481,14 +38970,14 @@ public final void rule__ParameterStruct__Group_1__2__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1__3" - // InternalRos.g:12062:1: rule__ParameterStruct__Group_1__3 : rule__ParameterStruct__Group_1__3__Impl ; + // InternalRos.g:12876:1: rule__ParameterStruct__Group_1__3 : rule__ParameterStruct__Group_1__3__Impl ; public final void rule__ParameterStruct__Group_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12066:1: ( rule__ParameterStruct__Group_1__3__Impl ) - // InternalRos.g:12067:2: rule__ParameterStruct__Group_1__3__Impl + // InternalRos.g:12880:1: ( rule__ParameterStruct__Group_1__3__Impl ) + // InternalRos.g:12881:2: rule__ParameterStruct__Group_1__3__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1__3__Impl(); @@ -36514,17 +39003,17 @@ public final void rule__ParameterStruct__Group_1__3() throws RecognitionExceptio // $ANTLR start "rule__ParameterStruct__Group_1__3__Impl" - // InternalRos.g:12073:1: rule__ParameterStruct__Group_1__3__Impl : ( '}' ) ; + // InternalRos.g:12887:1: rule__ParameterStruct__Group_1__3__Impl : ( '}' ) ; public final void rule__ParameterStruct__Group_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12077:1: ( ( '}' ) ) - // InternalRos.g:12078:1: ( '}' ) + // InternalRos.g:12891:1: ( ( '}' ) ) + // InternalRos.g:12892:1: ( '}' ) { - // InternalRos.g:12078:1: ( '}' ) - // InternalRos.g:12079:2: '}' + // InternalRos.g:12892:1: ( '}' ) + // InternalRos.g:12893:2: '}' { before(grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_3()); match(input,42,FOLLOW_2); @@ -36551,14 +39040,14 @@ public final void rule__ParameterStruct__Group_1__3__Impl() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__Group_1_2__0" - // InternalRos.g:12089:1: rule__ParameterStruct__Group_1_2__0 : rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ; + // InternalRos.g:12903:1: rule__ParameterStruct__Group_1_2__0 : rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ; public final void rule__ParameterStruct__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12093:1: ( rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ) - // InternalRos.g:12094:2: rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 + // InternalRos.g:12907:1: ( rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 ) + // InternalRos.g:12908:2: rule__ParameterStruct__Group_1_2__0__Impl rule__ParameterStruct__Group_1_2__1 { pushFollow(FOLLOW_4); rule__ParameterStruct__Group_1_2__0__Impl(); @@ -36589,17 +39078,17 @@ public final void rule__ParameterStruct__Group_1_2__0() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__0__Impl" - // InternalRos.g:12101:1: rule__ParameterStruct__Group_1_2__0__Impl : ( ',' ) ; + // InternalRos.g:12915:1: rule__ParameterStruct__Group_1_2__0__Impl : ( ',' ) ; public final void rule__ParameterStruct__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12105:1: ( ( ',' ) ) - // InternalRos.g:12106:1: ( ',' ) + // InternalRos.g:12919:1: ( ( ',' ) ) + // InternalRos.g:12920:1: ( ',' ) { - // InternalRos.g:12106:1: ( ',' ) - // InternalRos.g:12107:2: ',' + // InternalRos.g:12920:1: ( ',' ) + // InternalRos.g:12921:2: ',' { before(grammarAccess.getParameterStructAccess().getCommaKeyword_1_2_0()); match(input,43,FOLLOW_2); @@ -36626,16 +39115,16 @@ public final void rule__ParameterStruct__Group_1_2__0__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__1" - // InternalRos.g:12116:1: rule__ParameterStruct__Group_1_2__1 : rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ; + // InternalRos.g:12930:1: rule__ParameterStruct__Group_1_2__1 : rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ; public final void rule__ParameterStruct__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12120:1: ( rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ) - // InternalRos.g:12121:2: rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 + // InternalRos.g:12934:1: ( rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 ) + // InternalRos.g:12935:2: rule__ParameterStruct__Group_1_2__1__Impl rule__ParameterStruct__Group_1_2__2 { - pushFollow(FOLLOW_66); + pushFollow(FOLLOW_67); rule__ParameterStruct__Group_1_2__1__Impl(); state._fsp--; @@ -36664,17 +39153,17 @@ public final void rule__ParameterStruct__Group_1_2__1() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__1__Impl" - // InternalRos.g:12128:1: rule__ParameterStruct__Group_1_2__1__Impl : ( '{' ) ; + // InternalRos.g:12942:1: rule__ParameterStruct__Group_1_2__1__Impl : ( '{' ) ; public final void rule__ParameterStruct__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12132:1: ( ( '{' ) ) - // InternalRos.g:12133:1: ( '{' ) + // InternalRos.g:12946:1: ( ( '{' ) ) + // InternalRos.g:12947:1: ( '{' ) { - // InternalRos.g:12133:1: ( '{' ) - // InternalRos.g:12134:2: '{' + // InternalRos.g:12947:1: ( '{' ) + // InternalRos.g:12948:2: '{' { before(grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_2_1()); match(input,41,FOLLOW_2); @@ -36701,16 +39190,16 @@ public final void rule__ParameterStruct__Group_1_2__1__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__2" - // InternalRos.g:12143:1: rule__ParameterStruct__Group_1_2__2 : rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ; + // InternalRos.g:12957:1: rule__ParameterStruct__Group_1_2__2 : rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ; public final void rule__ParameterStruct__Group_1_2__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12147:1: ( rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ) - // InternalRos.g:12148:2: rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 + // InternalRos.g:12961:1: ( rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 ) + // InternalRos.g:12962:2: rule__ParameterStruct__Group_1_2__2__Impl rule__ParameterStruct__Group_1_2__3 { - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_49); rule__ParameterStruct__Group_1_2__2__Impl(); state._fsp--; @@ -36739,21 +39228,21 @@ public final void rule__ParameterStruct__Group_1_2__2() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__2__Impl" - // InternalRos.g:12155:1: rule__ParameterStruct__Group_1_2__2__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ; + // InternalRos.g:12969:1: rule__ParameterStruct__Group_1_2__2__Impl : ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ; public final void rule__ParameterStruct__Group_1_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12159:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ) - // InternalRos.g:12160:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) + // InternalRos.g:12973:1: ( ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) ) + // InternalRos.g:12974:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) { - // InternalRos.g:12160:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) - // InternalRos.g:12161:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) + // InternalRos.g:12974:1: ( ( rule__ParameterStruct__ValueAssignment_1_2_2 ) ) + // InternalRos.g:12975:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) { before(grammarAccess.getParameterStructAccess().getValueAssignment_1_2_2()); - // InternalRos.g:12162:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) - // InternalRos.g:12162:3: rule__ParameterStruct__ValueAssignment_1_2_2 + // InternalRos.g:12976:2: ( rule__ParameterStruct__ValueAssignment_1_2_2 ) + // InternalRos.g:12976:3: rule__ParameterStruct__ValueAssignment_1_2_2 { pushFollow(FOLLOW_2); rule__ParameterStruct__ValueAssignment_1_2_2(); @@ -36786,14 +39275,14 @@ public final void rule__ParameterStruct__Group_1_2__2__Impl() throws Recognition // $ANTLR start "rule__ParameterStruct__Group_1_2__3" - // InternalRos.g:12170:1: rule__ParameterStruct__Group_1_2__3 : rule__ParameterStruct__Group_1_2__3__Impl ; + // InternalRos.g:12984:1: rule__ParameterStruct__Group_1_2__3 : rule__ParameterStruct__Group_1_2__3__Impl ; public final void rule__ParameterStruct__Group_1_2__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12174:1: ( rule__ParameterStruct__Group_1_2__3__Impl ) - // InternalRos.g:12175:2: rule__ParameterStruct__Group_1_2__3__Impl + // InternalRos.g:12988:1: ( rule__ParameterStruct__Group_1_2__3__Impl ) + // InternalRos.g:12989:2: rule__ParameterStruct__Group_1_2__3__Impl { pushFollow(FOLLOW_2); rule__ParameterStruct__Group_1_2__3__Impl(); @@ -36819,17 +39308,17 @@ public final void rule__ParameterStruct__Group_1_2__3() throws RecognitionExcept // $ANTLR start "rule__ParameterStruct__Group_1_2__3__Impl" - // InternalRos.g:12181:1: rule__ParameterStruct__Group_1_2__3__Impl : ( '}' ) ; + // InternalRos.g:12995:1: rule__ParameterStruct__Group_1_2__3__Impl : ( '}' ) ; public final void rule__ParameterStruct__Group_1_2__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12185:1: ( ( '}' ) ) - // InternalRos.g:12186:1: ( '}' ) + // InternalRos.g:12999:1: ( ( '}' ) ) + // InternalRos.g:13000:1: ( '}' ) { - // InternalRos.g:12186:1: ( '}' ) - // InternalRos.g:12187:2: '}' + // InternalRos.g:13000:1: ( '}' ) + // InternalRos.g:13001:2: '}' { before(grammarAccess.getParameterStructAccess().getRightCurlyBracketKeyword_1_2_3()); match(input,42,FOLLOW_2); @@ -36856,14 +39345,14 @@ public final void rule__ParameterStruct__Group_1_2__3__Impl() throws Recognition // $ANTLR start "rule__ParameterStructMember__Group__0" - // InternalRos.g:12197:1: rule__ParameterStructMember__Group__0 : rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ; + // InternalRos.g:13011:1: rule__ParameterStructMember__Group__0 : rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ; public final void rule__ParameterStructMember__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12201:1: ( rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ) - // InternalRos.g:12202:2: rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 + // InternalRos.g:13015:1: ( rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 ) + // InternalRos.g:13016:2: rule__ParameterStructMember__Group__0__Impl rule__ParameterStructMember__Group__1 { pushFollow(FOLLOW_10); rule__ParameterStructMember__Group__0__Impl(); @@ -36894,20 +39383,20 @@ public final void rule__ParameterStructMember__Group__0() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__0__Impl" - // InternalRos.g:12209:1: rule__ParameterStructMember__Group__0__Impl : ( 'ParameterStructMember' ) ; + // InternalRos.g:13023:1: rule__ParameterStructMember__Group__0__Impl : ( 'ParameterStructMember' ) ; public final void rule__ParameterStructMember__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12213:1: ( ( 'ParameterStructMember' ) ) - // InternalRos.g:12214:1: ( 'ParameterStructMember' ) + // InternalRos.g:13027:1: ( ( 'ParameterStructMember' ) ) + // InternalRos.g:13028:1: ( 'ParameterStructMember' ) { - // InternalRos.g:12214:1: ( 'ParameterStructMember' ) - // InternalRos.g:12215:2: 'ParameterStructMember' + // InternalRos.g:13028:1: ( 'ParameterStructMember' ) + // InternalRos.g:13029:2: 'ParameterStructMember' { before(grammarAccess.getParameterStructMemberAccess().getParameterStructMemberKeyword_0()); - match(input,85,FOLLOW_2); + match(input,86,FOLLOW_2); after(grammarAccess.getParameterStructMemberAccess().getParameterStructMemberKeyword_0()); } @@ -36931,14 +39420,14 @@ public final void rule__ParameterStructMember__Group__0__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__1" - // InternalRos.g:12224:1: rule__ParameterStructMember__Group__1 : rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ; + // InternalRos.g:13038:1: rule__ParameterStructMember__Group__1 : rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ; public final void rule__ParameterStructMember__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12228:1: ( rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ) - // InternalRos.g:12229:2: rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 + // InternalRos.g:13042:1: ( rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 ) + // InternalRos.g:13043:2: rule__ParameterStructMember__Group__1__Impl rule__ParameterStructMember__Group__2 { pushFollow(FOLLOW_4); rule__ParameterStructMember__Group__1__Impl(); @@ -36969,21 +39458,21 @@ public final void rule__ParameterStructMember__Group__1() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__1__Impl" - // InternalRos.g:12236:1: rule__ParameterStructMember__Group__1__Impl : ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ; + // InternalRos.g:13050:1: rule__ParameterStructMember__Group__1__Impl : ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ; public final void rule__ParameterStructMember__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12240:1: ( ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ) - // InternalRos.g:12241:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) + // InternalRos.g:13054:1: ( ( ( rule__ParameterStructMember__NameAssignment_1 ) ) ) + // InternalRos.g:13055:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) { - // InternalRos.g:12241:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) - // InternalRos.g:12242:2: ( rule__ParameterStructMember__NameAssignment_1 ) + // InternalRos.g:13055:1: ( ( rule__ParameterStructMember__NameAssignment_1 ) ) + // InternalRos.g:13056:2: ( rule__ParameterStructMember__NameAssignment_1 ) { before(grammarAccess.getParameterStructMemberAccess().getNameAssignment_1()); - // InternalRos.g:12243:2: ( rule__ParameterStructMember__NameAssignment_1 ) - // InternalRos.g:12243:3: rule__ParameterStructMember__NameAssignment_1 + // InternalRos.g:13057:2: ( rule__ParameterStructMember__NameAssignment_1 ) + // InternalRos.g:13057:3: rule__ParameterStructMember__NameAssignment_1 { pushFollow(FOLLOW_2); rule__ParameterStructMember__NameAssignment_1(); @@ -37016,16 +39505,16 @@ public final void rule__ParameterStructMember__Group__1__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__2" - // InternalRos.g:12251:1: rule__ParameterStructMember__Group__2 : rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ; + // InternalRos.g:13065:1: rule__ParameterStructMember__Group__2 : rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ; public final void rule__ParameterStructMember__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12255:1: ( rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ) - // InternalRos.g:12256:2: rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 + // InternalRos.g:13069:1: ( rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 ) + // InternalRos.g:13070:2: rule__ParameterStructMember__Group__2__Impl rule__ParameterStructMember__Group__3 { - pushFollow(FOLLOW_67); + pushFollow(FOLLOW_68); rule__ParameterStructMember__Group__2__Impl(); state._fsp--; @@ -37054,17 +39543,17 @@ public final void rule__ParameterStructMember__Group__2() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__2__Impl" - // InternalRos.g:12263:1: rule__ParameterStructMember__Group__2__Impl : ( '{' ) ; + // InternalRos.g:13077:1: rule__ParameterStructMember__Group__2__Impl : ( '{' ) ; public final void rule__ParameterStructMember__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12267:1: ( ( '{' ) ) - // InternalRos.g:12268:1: ( '{' ) + // InternalRos.g:13081:1: ( ( '{' ) ) + // InternalRos.g:13082:1: ( '{' ) { - // InternalRos.g:12268:1: ( '{' ) - // InternalRos.g:12269:2: '{' + // InternalRos.g:13082:1: ( '{' ) + // InternalRos.g:13083:2: '{' { before(grammarAccess.getParameterStructMemberAccess().getLeftCurlyBracketKeyword_2()); match(input,41,FOLLOW_2); @@ -37091,16 +39580,16 @@ public final void rule__ParameterStructMember__Group__2__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__3" - // InternalRos.g:12278:1: rule__ParameterStructMember__Group__3 : rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ; + // InternalRos.g:13092:1: rule__ParameterStructMember__Group__3 : rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ; public final void rule__ParameterStructMember__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12282:1: ( rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ) - // InternalRos.g:12283:2: rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 + // InternalRos.g:13096:1: ( rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 ) + // InternalRos.g:13097:2: rule__ParameterStructMember__Group__3__Impl rule__ParameterStructMember__Group__4 { - pushFollow(FOLLOW_63); + pushFollow(FOLLOW_64); rule__ParameterStructMember__Group__3__Impl(); state._fsp--; @@ -37129,17 +39618,17 @@ public final void rule__ParameterStructMember__Group__3() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__3__Impl" - // InternalRos.g:12290:1: rule__ParameterStructMember__Group__3__Impl : ( 'value' ) ; + // InternalRos.g:13104:1: rule__ParameterStructMember__Group__3__Impl : ( 'value' ) ; public final void rule__ParameterStructMember__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12294:1: ( ( 'value' ) ) - // InternalRos.g:12295:1: ( 'value' ) + // InternalRos.g:13108:1: ( ( 'value' ) ) + // InternalRos.g:13109:1: ( 'value' ) { - // InternalRos.g:12295:1: ( 'value' ) - // InternalRos.g:12296:2: 'value' + // InternalRos.g:13109:1: ( 'value' ) + // InternalRos.g:13110:2: 'value' { before(grammarAccess.getParameterStructMemberAccess().getValueKeyword_3()); match(input,34,FOLLOW_2); @@ -37166,16 +39655,16 @@ public final void rule__ParameterStructMember__Group__3__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__4" - // InternalRos.g:12305:1: rule__ParameterStructMember__Group__4 : rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ; + // InternalRos.g:13119:1: rule__ParameterStructMember__Group__4 : rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ; public final void rule__ParameterStructMember__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12309:1: ( rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ) - // InternalRos.g:12310:2: rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 + // InternalRos.g:13123:1: ( rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 ) + // InternalRos.g:13124:2: rule__ParameterStructMember__Group__4__Impl rule__ParameterStructMember__Group__5 { - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_49); rule__ParameterStructMember__Group__4__Impl(); state._fsp--; @@ -37204,21 +39693,21 @@ public final void rule__ParameterStructMember__Group__4() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__4__Impl" - // InternalRos.g:12317:1: rule__ParameterStructMember__Group__4__Impl : ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ; + // InternalRos.g:13131:1: rule__ParameterStructMember__Group__4__Impl : ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ; public final void rule__ParameterStructMember__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12321:1: ( ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ) - // InternalRos.g:12322:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) + // InternalRos.g:13135:1: ( ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) ) + // InternalRos.g:13136:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) { - // InternalRos.g:12322:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) - // InternalRos.g:12323:2: ( rule__ParameterStructMember__ValueAssignment_4 ) + // InternalRos.g:13136:1: ( ( rule__ParameterStructMember__ValueAssignment_4 ) ) + // InternalRos.g:13137:2: ( rule__ParameterStructMember__ValueAssignment_4 ) { before(grammarAccess.getParameterStructMemberAccess().getValueAssignment_4()); - // InternalRos.g:12324:2: ( rule__ParameterStructMember__ValueAssignment_4 ) - // InternalRos.g:12324:3: rule__ParameterStructMember__ValueAssignment_4 + // InternalRos.g:13138:2: ( rule__ParameterStructMember__ValueAssignment_4 ) + // InternalRos.g:13138:3: rule__ParameterStructMember__ValueAssignment_4 { pushFollow(FOLLOW_2); rule__ParameterStructMember__ValueAssignment_4(); @@ -37251,14 +39740,14 @@ public final void rule__ParameterStructMember__Group__4__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructMember__Group__5" - // InternalRos.g:12332:1: rule__ParameterStructMember__Group__5 : rule__ParameterStructMember__Group__5__Impl ; + // InternalRos.g:13146:1: rule__ParameterStructMember__Group__5 : rule__ParameterStructMember__Group__5__Impl ; public final void rule__ParameterStructMember__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12336:1: ( rule__ParameterStructMember__Group__5__Impl ) - // InternalRos.g:12337:2: rule__ParameterStructMember__Group__5__Impl + // InternalRos.g:13150:1: ( rule__ParameterStructMember__Group__5__Impl ) + // InternalRos.g:13151:2: rule__ParameterStructMember__Group__5__Impl { pushFollow(FOLLOW_2); rule__ParameterStructMember__Group__5__Impl(); @@ -37284,17 +39773,17 @@ public final void rule__ParameterStructMember__Group__5() throws RecognitionExce // $ANTLR start "rule__ParameterStructMember__Group__5__Impl" - // InternalRos.g:12343:1: rule__ParameterStructMember__Group__5__Impl : ( '}' ) ; + // InternalRos.g:13157:1: rule__ParameterStructMember__Group__5__Impl : ( '}' ) ; public final void rule__ParameterStructMember__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12347:1: ( ( '}' ) ) - // InternalRos.g:12348:1: ( '}' ) + // InternalRos.g:13161:1: ( ( '}' ) ) + // InternalRos.g:13162:1: ( '}' ) { - // InternalRos.g:12348:1: ( '}' ) - // InternalRos.g:12349:2: '}' + // InternalRos.g:13162:1: ( '}' ) + // InternalRos.g:13163:2: '}' { before(grammarAccess.getParameterStructMemberAccess().getRightCurlyBracketKeyword_5()); match(input,42,FOLLOW_2); @@ -37321,16 +39810,16 @@ public final void rule__ParameterStructMember__Group__5__Impl() throws Recogniti // $ANTLR start "rule__ParameterStructTypeMember__Group__0" - // InternalRos.g:12359:1: rule__ParameterStructTypeMember__Group__0 : rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ; + // InternalRos.g:13173:1: rule__ParameterStructTypeMember__Group__0 : rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ; public final void rule__ParameterStructTypeMember__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12363:1: ( rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ) - // InternalRos.g:12364:2: rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 + // InternalRos.g:13177:1: ( rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 ) + // InternalRos.g:13178:2: rule__ParameterStructTypeMember__Group__0__Impl rule__ParameterStructTypeMember__Group__1 { - pushFollow(FOLLOW_47); + pushFollow(FOLLOW_48); rule__ParameterStructTypeMember__Group__0__Impl(); state._fsp--; @@ -37359,21 +39848,21 @@ public final void rule__ParameterStructTypeMember__Group__0() throws Recognition // $ANTLR start "rule__ParameterStructTypeMember__Group__0__Impl" - // InternalRos.g:12371:1: rule__ParameterStructTypeMember__Group__0__Impl : ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ; + // InternalRos.g:13185:1: rule__ParameterStructTypeMember__Group__0__Impl : ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ; public final void rule__ParameterStructTypeMember__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12375:1: ( ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ) - // InternalRos.g:12376:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) + // InternalRos.g:13189:1: ( ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) ) + // InternalRos.g:13190:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) { - // InternalRos.g:12376:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) - // InternalRos.g:12377:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) + // InternalRos.g:13190:1: ( ( rule__ParameterStructTypeMember__NameAssignment_0 ) ) + // InternalRos.g:13191:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getNameAssignment_0()); - // InternalRos.g:12378:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) - // InternalRos.g:12378:3: rule__ParameterStructTypeMember__NameAssignment_0 + // InternalRos.g:13192:2: ( rule__ParameterStructTypeMember__NameAssignment_0 ) + // InternalRos.g:13192:3: rule__ParameterStructTypeMember__NameAssignment_0 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__NameAssignment_0(); @@ -37406,14 +39895,14 @@ public final void rule__ParameterStructTypeMember__Group__0__Impl() throws Recog // $ANTLR start "rule__ParameterStructTypeMember__Group__1" - // InternalRos.g:12386:1: rule__ParameterStructTypeMember__Group__1 : rule__ParameterStructTypeMember__Group__1__Impl ; + // InternalRos.g:13200:1: rule__ParameterStructTypeMember__Group__1 : rule__ParameterStructTypeMember__Group__1__Impl ; public final void rule__ParameterStructTypeMember__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12390:1: ( rule__ParameterStructTypeMember__Group__1__Impl ) - // InternalRos.g:12391:2: rule__ParameterStructTypeMember__Group__1__Impl + // InternalRos.g:13204:1: ( rule__ParameterStructTypeMember__Group__1__Impl ) + // InternalRos.g:13205:2: rule__ParameterStructTypeMember__Group__1__Impl { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__Group__1__Impl(); @@ -37439,21 +39928,21 @@ public final void rule__ParameterStructTypeMember__Group__1() throws Recognition // $ANTLR start "rule__ParameterStructTypeMember__Group__1__Impl" - // InternalRos.g:12397:1: rule__ParameterStructTypeMember__Group__1__Impl : ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ; + // InternalRos.g:13211:1: rule__ParameterStructTypeMember__Group__1__Impl : ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ; public final void rule__ParameterStructTypeMember__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12401:1: ( ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ) - // InternalRos.g:12402:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) + // InternalRos.g:13215:1: ( ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) ) + // InternalRos.g:13216:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) { - // InternalRos.g:12402:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) - // InternalRos.g:12403:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) + // InternalRos.g:13216:1: ( ( rule__ParameterStructTypeMember__TypeAssignment_1 ) ) + // InternalRos.g:13217:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) { before(grammarAccess.getParameterStructTypeMemberAccess().getTypeAssignment_1()); - // InternalRos.g:12404:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) - // InternalRos.g:12404:3: rule__ParameterStructTypeMember__TypeAssignment_1 + // InternalRos.g:13218:2: ( rule__ParameterStructTypeMember__TypeAssignment_1 ) + // InternalRos.g:13218:3: rule__ParameterStructTypeMember__TypeAssignment_1 { pushFollow(FOLLOW_2); rule__ParameterStructTypeMember__TypeAssignment_1(); @@ -37486,16 +39975,16 @@ public final void rule__ParameterStructTypeMember__Group__1__Impl() throws Recog // $ANTLR start "rule__MessagePart__Group__0" - // InternalRos.g:12413:1: rule__MessagePart__Group__0 : rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ; + // InternalRos.g:13227:1: rule__MessagePart__Group__0 : rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ; public final void rule__MessagePart__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12417:1: ( rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ) - // InternalRos.g:12418:2: rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 + // InternalRos.g:13231:1: ( rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 ) + // InternalRos.g:13232:2: rule__MessagePart__Group__0__Impl rule__MessagePart__Group__1 { - pushFollow(FOLLOW_68); + pushFollow(FOLLOW_69); rule__MessagePart__Group__0__Impl(); state._fsp--; @@ -37524,21 +40013,21 @@ public final void rule__MessagePart__Group__0() throws RecognitionException { // $ANTLR start "rule__MessagePart__Group__0__Impl" - // InternalRos.g:12425:1: rule__MessagePart__Group__0__Impl : ( ( rule__MessagePart__TypeAssignment_0 ) ) ; + // InternalRos.g:13239:1: rule__MessagePart__Group__0__Impl : ( ( rule__MessagePart__TypeAssignment_0 ) ) ; public final void rule__MessagePart__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12429:1: ( ( ( rule__MessagePart__TypeAssignment_0 ) ) ) - // InternalRos.g:12430:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) + // InternalRos.g:13243:1: ( ( ( rule__MessagePart__TypeAssignment_0 ) ) ) + // InternalRos.g:13244:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) { - // InternalRos.g:12430:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) - // InternalRos.g:12431:2: ( rule__MessagePart__TypeAssignment_0 ) + // InternalRos.g:13244:1: ( ( rule__MessagePart__TypeAssignment_0 ) ) + // InternalRos.g:13245:2: ( rule__MessagePart__TypeAssignment_0 ) { before(grammarAccess.getMessagePartAccess().getTypeAssignment_0()); - // InternalRos.g:12432:2: ( rule__MessagePart__TypeAssignment_0 ) - // InternalRos.g:12432:3: rule__MessagePart__TypeAssignment_0 + // InternalRos.g:13246:2: ( rule__MessagePart__TypeAssignment_0 ) + // InternalRos.g:13246:3: rule__MessagePart__TypeAssignment_0 { pushFollow(FOLLOW_2); rule__MessagePart__TypeAssignment_0(); @@ -37571,14 +40060,14 @@ public final void rule__MessagePart__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__MessagePart__Group__1" - // InternalRos.g:12440:1: rule__MessagePart__Group__1 : rule__MessagePart__Group__1__Impl ; + // InternalRos.g:13254:1: rule__MessagePart__Group__1 : rule__MessagePart__Group__1__Impl ; public final void rule__MessagePart__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12444:1: ( rule__MessagePart__Group__1__Impl ) - // InternalRos.g:12445:2: rule__MessagePart__Group__1__Impl + // InternalRos.g:13258:1: ( rule__MessagePart__Group__1__Impl ) + // InternalRos.g:13259:2: rule__MessagePart__Group__1__Impl { pushFollow(FOLLOW_2); rule__MessagePart__Group__1__Impl(); @@ -37604,21 +40093,21 @@ public final void rule__MessagePart__Group__1() throws RecognitionException { // $ANTLR start "rule__MessagePart__Group__1__Impl" - // InternalRos.g:12451:1: rule__MessagePart__Group__1__Impl : ( ( rule__MessagePart__DataAssignment_1 ) ) ; + // InternalRos.g:13265:1: rule__MessagePart__Group__1__Impl : ( ( rule__MessagePart__DataAssignment_1 ) ) ; public final void rule__MessagePart__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12455:1: ( ( ( rule__MessagePart__DataAssignment_1 ) ) ) - // InternalRos.g:12456:1: ( ( rule__MessagePart__DataAssignment_1 ) ) + // InternalRos.g:13269:1: ( ( ( rule__MessagePart__DataAssignment_1 ) ) ) + // InternalRos.g:13270:1: ( ( rule__MessagePart__DataAssignment_1 ) ) { - // InternalRos.g:12456:1: ( ( rule__MessagePart__DataAssignment_1 ) ) - // InternalRos.g:12457:2: ( rule__MessagePart__DataAssignment_1 ) + // InternalRos.g:13270:1: ( ( rule__MessagePart__DataAssignment_1 ) ) + // InternalRos.g:13271:2: ( rule__MessagePart__DataAssignment_1 ) { before(grammarAccess.getMessagePartAccess().getDataAssignment_1()); - // InternalRos.g:12458:2: ( rule__MessagePart__DataAssignment_1 ) - // InternalRos.g:12458:3: rule__MessagePart__DataAssignment_1 + // InternalRos.g:13272:2: ( rule__MessagePart__DataAssignment_1 ) + // InternalRos.g:13272:3: rule__MessagePart__DataAssignment_1 { pushFollow(FOLLOW_2); rule__MessagePart__DataAssignment_1(); @@ -37651,16 +40140,16 @@ public final void rule__MessagePart__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Bool__Group__0" - // InternalRos.g:12467:1: rule__Bool__Group__0 : rule__Bool__Group__0__Impl rule__Bool__Group__1 ; + // InternalRos.g:13281:1: rule__Bool__Group__0 : rule__Bool__Group__0__Impl rule__Bool__Group__1 ; public final void rule__Bool__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12471:1: ( rule__Bool__Group__0__Impl rule__Bool__Group__1 ) - // InternalRos.g:12472:2: rule__Bool__Group__0__Impl rule__Bool__Group__1 + // InternalRos.g:13285:1: ( rule__Bool__Group__0__Impl rule__Bool__Group__1 ) + // InternalRos.g:13286:2: rule__Bool__Group__0__Impl rule__Bool__Group__1 { - pushFollow(FOLLOW_69); + pushFollow(FOLLOW_70); rule__Bool__Group__0__Impl(); state._fsp--; @@ -37689,21 +40178,21 @@ public final void rule__Bool__Group__0() throws RecognitionException { // $ANTLR start "rule__Bool__Group__0__Impl" - // InternalRos.g:12479:1: rule__Bool__Group__0__Impl : ( () ) ; + // InternalRos.g:13293:1: rule__Bool__Group__0__Impl : ( () ) ; public final void rule__Bool__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12483:1: ( ( () ) ) - // InternalRos.g:12484:1: ( () ) + // InternalRos.g:13297:1: ( ( () ) ) + // InternalRos.g:13298:1: ( () ) { - // InternalRos.g:12484:1: ( () ) - // InternalRos.g:12485:2: () + // InternalRos.g:13298:1: ( () ) + // InternalRos.g:13299:2: () { before(grammarAccess.getBoolAccess().getBoolAction_0()); - // InternalRos.g:12486:2: () - // InternalRos.g:12486:3: + // InternalRos.g:13300:2: () + // InternalRos.g:13300:3: { } @@ -37726,14 +40215,14 @@ public final void rule__Bool__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Bool__Group__1" - // InternalRos.g:12494:1: rule__Bool__Group__1 : rule__Bool__Group__1__Impl ; + // InternalRos.g:13308:1: rule__Bool__Group__1 : rule__Bool__Group__1__Impl ; public final void rule__Bool__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12498:1: ( rule__Bool__Group__1__Impl ) - // InternalRos.g:12499:2: rule__Bool__Group__1__Impl + // InternalRos.g:13312:1: ( rule__Bool__Group__1__Impl ) + // InternalRos.g:13313:2: rule__Bool__Group__1__Impl { pushFollow(FOLLOW_2); rule__Bool__Group__1__Impl(); @@ -37759,20 +40248,20 @@ public final void rule__Bool__Group__1() throws RecognitionException { // $ANTLR start "rule__Bool__Group__1__Impl" - // InternalRos.g:12505:1: rule__Bool__Group__1__Impl : ( 'bool' ) ; + // InternalRos.g:13319:1: rule__Bool__Group__1__Impl : ( 'bool' ) ; public final void rule__Bool__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12509:1: ( ( 'bool' ) ) - // InternalRos.g:12510:1: ( 'bool' ) + // InternalRos.g:13323:1: ( ( 'bool' ) ) + // InternalRos.g:13324:1: ( 'bool' ) { - // InternalRos.g:12510:1: ( 'bool' ) - // InternalRos.g:12511:2: 'bool' + // InternalRos.g:13324:1: ( 'bool' ) + // InternalRos.g:13325:2: 'bool' { before(grammarAccess.getBoolAccess().getBoolKeyword_1()); - match(input,86,FOLLOW_2); + match(input,87,FOLLOW_2); after(grammarAccess.getBoolAccess().getBoolKeyword_1()); } @@ -37796,16 +40285,16 @@ public final void rule__Bool__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int8__Group__0" - // InternalRos.g:12521:1: rule__Int8__Group__0 : rule__Int8__Group__0__Impl rule__Int8__Group__1 ; + // InternalRos.g:13335:1: rule__Int8__Group__0 : rule__Int8__Group__0__Impl rule__Int8__Group__1 ; public final void rule__Int8__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12525:1: ( rule__Int8__Group__0__Impl rule__Int8__Group__1 ) - // InternalRos.g:12526:2: rule__Int8__Group__0__Impl rule__Int8__Group__1 + // InternalRos.g:13339:1: ( rule__Int8__Group__0__Impl rule__Int8__Group__1 ) + // InternalRos.g:13340:2: rule__Int8__Group__0__Impl rule__Int8__Group__1 { - pushFollow(FOLLOW_70); + pushFollow(FOLLOW_71); rule__Int8__Group__0__Impl(); state._fsp--; @@ -37834,21 +40323,21 @@ public final void rule__Int8__Group__0() throws RecognitionException { // $ANTLR start "rule__Int8__Group__0__Impl" - // InternalRos.g:12533:1: rule__Int8__Group__0__Impl : ( () ) ; + // InternalRos.g:13347:1: rule__Int8__Group__0__Impl : ( () ) ; public final void rule__Int8__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12537:1: ( ( () ) ) - // InternalRos.g:12538:1: ( () ) + // InternalRos.g:13351:1: ( ( () ) ) + // InternalRos.g:13352:1: ( () ) { - // InternalRos.g:12538:1: ( () ) - // InternalRos.g:12539:2: () + // InternalRos.g:13352:1: ( () ) + // InternalRos.g:13353:2: () { before(grammarAccess.getInt8Access().getInt8Action_0()); - // InternalRos.g:12540:2: () - // InternalRos.g:12540:3: + // InternalRos.g:13354:2: () + // InternalRos.g:13354:3: { } @@ -37871,14 +40360,14 @@ public final void rule__Int8__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int8__Group__1" - // InternalRos.g:12548:1: rule__Int8__Group__1 : rule__Int8__Group__1__Impl ; + // InternalRos.g:13362:1: rule__Int8__Group__1 : rule__Int8__Group__1__Impl ; public final void rule__Int8__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12552:1: ( rule__Int8__Group__1__Impl ) - // InternalRos.g:12553:2: rule__Int8__Group__1__Impl + // InternalRos.g:13366:1: ( rule__Int8__Group__1__Impl ) + // InternalRos.g:13367:2: rule__Int8__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int8__Group__1__Impl(); @@ -37904,20 +40393,20 @@ public final void rule__Int8__Group__1() throws RecognitionException { // $ANTLR start "rule__Int8__Group__1__Impl" - // InternalRos.g:12559:1: rule__Int8__Group__1__Impl : ( 'int8' ) ; + // InternalRos.g:13373:1: rule__Int8__Group__1__Impl : ( 'int8' ) ; public final void rule__Int8__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12563:1: ( ( 'int8' ) ) - // InternalRos.g:12564:1: ( 'int8' ) + // InternalRos.g:13377:1: ( ( 'int8' ) ) + // InternalRos.g:13378:1: ( 'int8' ) { - // InternalRos.g:12564:1: ( 'int8' ) - // InternalRos.g:12565:2: 'int8' + // InternalRos.g:13378:1: ( 'int8' ) + // InternalRos.g:13379:2: 'int8' { before(grammarAccess.getInt8Access().getInt8Keyword_1()); - match(input,87,FOLLOW_2); + match(input,88,FOLLOW_2); after(grammarAccess.getInt8Access().getInt8Keyword_1()); } @@ -37941,16 +40430,16 @@ public final void rule__Int8__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__0" - // InternalRos.g:12575:1: rule__Uint8__Group__0 : rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ; + // InternalRos.g:13389:1: rule__Uint8__Group__0 : rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ; public final void rule__Uint8__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12579:1: ( rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ) - // InternalRos.g:12580:2: rule__Uint8__Group__0__Impl rule__Uint8__Group__1 + // InternalRos.g:13393:1: ( rule__Uint8__Group__0__Impl rule__Uint8__Group__1 ) + // InternalRos.g:13394:2: rule__Uint8__Group__0__Impl rule__Uint8__Group__1 { - pushFollow(FOLLOW_71); + pushFollow(FOLLOW_72); rule__Uint8__Group__0__Impl(); state._fsp--; @@ -37979,21 +40468,21 @@ public final void rule__Uint8__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__0__Impl" - // InternalRos.g:12587:1: rule__Uint8__Group__0__Impl : ( () ) ; + // InternalRos.g:13401:1: rule__Uint8__Group__0__Impl : ( () ) ; public final void rule__Uint8__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12591:1: ( ( () ) ) - // InternalRos.g:12592:1: ( () ) + // InternalRos.g:13405:1: ( ( () ) ) + // InternalRos.g:13406:1: ( () ) { - // InternalRos.g:12592:1: ( () ) - // InternalRos.g:12593:2: () + // InternalRos.g:13406:1: ( () ) + // InternalRos.g:13407:2: () { before(grammarAccess.getUint8Access().getUint8Action_0()); - // InternalRos.g:12594:2: () - // InternalRos.g:12594:3: + // InternalRos.g:13408:2: () + // InternalRos.g:13408:3: { } @@ -38016,14 +40505,14 @@ public final void rule__Uint8__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__1" - // InternalRos.g:12602:1: rule__Uint8__Group__1 : rule__Uint8__Group__1__Impl ; + // InternalRos.g:13416:1: rule__Uint8__Group__1 : rule__Uint8__Group__1__Impl ; public final void rule__Uint8__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12606:1: ( rule__Uint8__Group__1__Impl ) - // InternalRos.g:12607:2: rule__Uint8__Group__1__Impl + // InternalRos.g:13420:1: ( rule__Uint8__Group__1__Impl ) + // InternalRos.g:13421:2: rule__Uint8__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint8__Group__1__Impl(); @@ -38049,20 +40538,20 @@ public final void rule__Uint8__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint8__Group__1__Impl" - // InternalRos.g:12613:1: rule__Uint8__Group__1__Impl : ( 'uint8' ) ; + // InternalRos.g:13427:1: rule__Uint8__Group__1__Impl : ( 'uint8' ) ; public final void rule__Uint8__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12617:1: ( ( 'uint8' ) ) - // InternalRos.g:12618:1: ( 'uint8' ) + // InternalRos.g:13431:1: ( ( 'uint8' ) ) + // InternalRos.g:13432:1: ( 'uint8' ) { - // InternalRos.g:12618:1: ( 'uint8' ) - // InternalRos.g:12619:2: 'uint8' + // InternalRos.g:13432:1: ( 'uint8' ) + // InternalRos.g:13433:2: 'uint8' { before(grammarAccess.getUint8Access().getUint8Keyword_1()); - match(input,88,FOLLOW_2); + match(input,89,FOLLOW_2); after(grammarAccess.getUint8Access().getUint8Keyword_1()); } @@ -38086,16 +40575,16 @@ public final void rule__Uint8__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int16__Group__0" - // InternalRos.g:12629:1: rule__Int16__Group__0 : rule__Int16__Group__0__Impl rule__Int16__Group__1 ; + // InternalRos.g:13443:1: rule__Int16__Group__0 : rule__Int16__Group__0__Impl rule__Int16__Group__1 ; public final void rule__Int16__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12633:1: ( rule__Int16__Group__0__Impl rule__Int16__Group__1 ) - // InternalRos.g:12634:2: rule__Int16__Group__0__Impl rule__Int16__Group__1 + // InternalRos.g:13447:1: ( rule__Int16__Group__0__Impl rule__Int16__Group__1 ) + // InternalRos.g:13448:2: rule__Int16__Group__0__Impl rule__Int16__Group__1 { - pushFollow(FOLLOW_72); + pushFollow(FOLLOW_73); rule__Int16__Group__0__Impl(); state._fsp--; @@ -38124,21 +40613,21 @@ public final void rule__Int16__Group__0() throws RecognitionException { // $ANTLR start "rule__Int16__Group__0__Impl" - // InternalRos.g:12641:1: rule__Int16__Group__0__Impl : ( () ) ; + // InternalRos.g:13455:1: rule__Int16__Group__0__Impl : ( () ) ; public final void rule__Int16__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12645:1: ( ( () ) ) - // InternalRos.g:12646:1: ( () ) + // InternalRos.g:13459:1: ( ( () ) ) + // InternalRos.g:13460:1: ( () ) { - // InternalRos.g:12646:1: ( () ) - // InternalRos.g:12647:2: () + // InternalRos.g:13460:1: ( () ) + // InternalRos.g:13461:2: () { before(grammarAccess.getInt16Access().getInt16Action_0()); - // InternalRos.g:12648:2: () - // InternalRos.g:12648:3: + // InternalRos.g:13462:2: () + // InternalRos.g:13462:3: { } @@ -38161,14 +40650,14 @@ public final void rule__Int16__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int16__Group__1" - // InternalRos.g:12656:1: rule__Int16__Group__1 : rule__Int16__Group__1__Impl ; + // InternalRos.g:13470:1: rule__Int16__Group__1 : rule__Int16__Group__1__Impl ; public final void rule__Int16__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12660:1: ( rule__Int16__Group__1__Impl ) - // InternalRos.g:12661:2: rule__Int16__Group__1__Impl + // InternalRos.g:13474:1: ( rule__Int16__Group__1__Impl ) + // InternalRos.g:13475:2: rule__Int16__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int16__Group__1__Impl(); @@ -38194,20 +40683,20 @@ public final void rule__Int16__Group__1() throws RecognitionException { // $ANTLR start "rule__Int16__Group__1__Impl" - // InternalRos.g:12667:1: rule__Int16__Group__1__Impl : ( 'int16' ) ; + // InternalRos.g:13481:1: rule__Int16__Group__1__Impl : ( 'int16' ) ; public final void rule__Int16__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12671:1: ( ( 'int16' ) ) - // InternalRos.g:12672:1: ( 'int16' ) + // InternalRos.g:13485:1: ( ( 'int16' ) ) + // InternalRos.g:13486:1: ( 'int16' ) { - // InternalRos.g:12672:1: ( 'int16' ) - // InternalRos.g:12673:2: 'int16' + // InternalRos.g:13486:1: ( 'int16' ) + // InternalRos.g:13487:2: 'int16' { before(grammarAccess.getInt16Access().getInt16Keyword_1()); - match(input,89,FOLLOW_2); + match(input,90,FOLLOW_2); after(grammarAccess.getInt16Access().getInt16Keyword_1()); } @@ -38231,16 +40720,16 @@ public final void rule__Int16__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__0" - // InternalRos.g:12683:1: rule__Uint16__Group__0 : rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ; + // InternalRos.g:13497:1: rule__Uint16__Group__0 : rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ; public final void rule__Uint16__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12687:1: ( rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ) - // InternalRos.g:12688:2: rule__Uint16__Group__0__Impl rule__Uint16__Group__1 + // InternalRos.g:13501:1: ( rule__Uint16__Group__0__Impl rule__Uint16__Group__1 ) + // InternalRos.g:13502:2: rule__Uint16__Group__0__Impl rule__Uint16__Group__1 { - pushFollow(FOLLOW_73); + pushFollow(FOLLOW_74); rule__Uint16__Group__0__Impl(); state._fsp--; @@ -38269,21 +40758,21 @@ public final void rule__Uint16__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__0__Impl" - // InternalRos.g:12695:1: rule__Uint16__Group__0__Impl : ( () ) ; + // InternalRos.g:13509:1: rule__Uint16__Group__0__Impl : ( () ) ; public final void rule__Uint16__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12699:1: ( ( () ) ) - // InternalRos.g:12700:1: ( () ) + // InternalRos.g:13513:1: ( ( () ) ) + // InternalRos.g:13514:1: ( () ) { - // InternalRos.g:12700:1: ( () ) - // InternalRos.g:12701:2: () + // InternalRos.g:13514:1: ( () ) + // InternalRos.g:13515:2: () { before(grammarAccess.getUint16Access().getUint16Action_0()); - // InternalRos.g:12702:2: () - // InternalRos.g:12702:3: + // InternalRos.g:13516:2: () + // InternalRos.g:13516:3: { } @@ -38306,14 +40795,14 @@ public final void rule__Uint16__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__1" - // InternalRos.g:12710:1: rule__Uint16__Group__1 : rule__Uint16__Group__1__Impl ; + // InternalRos.g:13524:1: rule__Uint16__Group__1 : rule__Uint16__Group__1__Impl ; public final void rule__Uint16__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12714:1: ( rule__Uint16__Group__1__Impl ) - // InternalRos.g:12715:2: rule__Uint16__Group__1__Impl + // InternalRos.g:13528:1: ( rule__Uint16__Group__1__Impl ) + // InternalRos.g:13529:2: rule__Uint16__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint16__Group__1__Impl(); @@ -38339,20 +40828,20 @@ public final void rule__Uint16__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint16__Group__1__Impl" - // InternalRos.g:12721:1: rule__Uint16__Group__1__Impl : ( 'uint16' ) ; + // InternalRos.g:13535:1: rule__Uint16__Group__1__Impl : ( 'uint16' ) ; public final void rule__Uint16__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12725:1: ( ( 'uint16' ) ) - // InternalRos.g:12726:1: ( 'uint16' ) + // InternalRos.g:13539:1: ( ( 'uint16' ) ) + // InternalRos.g:13540:1: ( 'uint16' ) { - // InternalRos.g:12726:1: ( 'uint16' ) - // InternalRos.g:12727:2: 'uint16' + // InternalRos.g:13540:1: ( 'uint16' ) + // InternalRos.g:13541:2: 'uint16' { before(grammarAccess.getUint16Access().getUint16Keyword_1()); - match(input,90,FOLLOW_2); + match(input,91,FOLLOW_2); after(grammarAccess.getUint16Access().getUint16Keyword_1()); } @@ -38376,16 +40865,16 @@ public final void rule__Uint16__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int32__Group__0" - // InternalRos.g:12737:1: rule__Int32__Group__0 : rule__Int32__Group__0__Impl rule__Int32__Group__1 ; + // InternalRos.g:13551:1: rule__Int32__Group__0 : rule__Int32__Group__0__Impl rule__Int32__Group__1 ; public final void rule__Int32__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12741:1: ( rule__Int32__Group__0__Impl rule__Int32__Group__1 ) - // InternalRos.g:12742:2: rule__Int32__Group__0__Impl rule__Int32__Group__1 + // InternalRos.g:13555:1: ( rule__Int32__Group__0__Impl rule__Int32__Group__1 ) + // InternalRos.g:13556:2: rule__Int32__Group__0__Impl rule__Int32__Group__1 { - pushFollow(FOLLOW_74); + pushFollow(FOLLOW_75); rule__Int32__Group__0__Impl(); state._fsp--; @@ -38414,21 +40903,21 @@ public final void rule__Int32__Group__0() throws RecognitionException { // $ANTLR start "rule__Int32__Group__0__Impl" - // InternalRos.g:12749:1: rule__Int32__Group__0__Impl : ( () ) ; + // InternalRos.g:13563:1: rule__Int32__Group__0__Impl : ( () ) ; public final void rule__Int32__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12753:1: ( ( () ) ) - // InternalRos.g:12754:1: ( () ) + // InternalRos.g:13567:1: ( ( () ) ) + // InternalRos.g:13568:1: ( () ) { - // InternalRos.g:12754:1: ( () ) - // InternalRos.g:12755:2: () + // InternalRos.g:13568:1: ( () ) + // InternalRos.g:13569:2: () { before(grammarAccess.getInt32Access().getInt32Action_0()); - // InternalRos.g:12756:2: () - // InternalRos.g:12756:3: + // InternalRos.g:13570:2: () + // InternalRos.g:13570:3: { } @@ -38451,14 +40940,14 @@ public final void rule__Int32__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int32__Group__1" - // InternalRos.g:12764:1: rule__Int32__Group__1 : rule__Int32__Group__1__Impl ; + // InternalRos.g:13578:1: rule__Int32__Group__1 : rule__Int32__Group__1__Impl ; public final void rule__Int32__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12768:1: ( rule__Int32__Group__1__Impl ) - // InternalRos.g:12769:2: rule__Int32__Group__1__Impl + // InternalRos.g:13582:1: ( rule__Int32__Group__1__Impl ) + // InternalRos.g:13583:2: rule__Int32__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int32__Group__1__Impl(); @@ -38484,20 +40973,20 @@ public final void rule__Int32__Group__1() throws RecognitionException { // $ANTLR start "rule__Int32__Group__1__Impl" - // InternalRos.g:12775:1: rule__Int32__Group__1__Impl : ( 'int32' ) ; + // InternalRos.g:13589:1: rule__Int32__Group__1__Impl : ( 'int32' ) ; public final void rule__Int32__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12779:1: ( ( 'int32' ) ) - // InternalRos.g:12780:1: ( 'int32' ) + // InternalRos.g:13593:1: ( ( 'int32' ) ) + // InternalRos.g:13594:1: ( 'int32' ) { - // InternalRos.g:12780:1: ( 'int32' ) - // InternalRos.g:12781:2: 'int32' + // InternalRos.g:13594:1: ( 'int32' ) + // InternalRos.g:13595:2: 'int32' { before(grammarAccess.getInt32Access().getInt32Keyword_1()); - match(input,91,FOLLOW_2); + match(input,92,FOLLOW_2); after(grammarAccess.getInt32Access().getInt32Keyword_1()); } @@ -38521,16 +41010,16 @@ public final void rule__Int32__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__0" - // InternalRos.g:12791:1: rule__Uint32__Group__0 : rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ; + // InternalRos.g:13605:1: rule__Uint32__Group__0 : rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ; public final void rule__Uint32__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12795:1: ( rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ) - // InternalRos.g:12796:2: rule__Uint32__Group__0__Impl rule__Uint32__Group__1 + // InternalRos.g:13609:1: ( rule__Uint32__Group__0__Impl rule__Uint32__Group__1 ) + // InternalRos.g:13610:2: rule__Uint32__Group__0__Impl rule__Uint32__Group__1 { - pushFollow(FOLLOW_75); + pushFollow(FOLLOW_76); rule__Uint32__Group__0__Impl(); state._fsp--; @@ -38559,21 +41048,21 @@ public final void rule__Uint32__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__0__Impl" - // InternalRos.g:12803:1: rule__Uint32__Group__0__Impl : ( () ) ; + // InternalRos.g:13617:1: rule__Uint32__Group__0__Impl : ( () ) ; public final void rule__Uint32__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12807:1: ( ( () ) ) - // InternalRos.g:12808:1: ( () ) + // InternalRos.g:13621:1: ( ( () ) ) + // InternalRos.g:13622:1: ( () ) { - // InternalRos.g:12808:1: ( () ) - // InternalRos.g:12809:2: () + // InternalRos.g:13622:1: ( () ) + // InternalRos.g:13623:2: () { before(grammarAccess.getUint32Access().getUint32Action_0()); - // InternalRos.g:12810:2: () - // InternalRos.g:12810:3: + // InternalRos.g:13624:2: () + // InternalRos.g:13624:3: { } @@ -38596,14 +41085,14 @@ public final void rule__Uint32__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__1" - // InternalRos.g:12818:1: rule__Uint32__Group__1 : rule__Uint32__Group__1__Impl ; + // InternalRos.g:13632:1: rule__Uint32__Group__1 : rule__Uint32__Group__1__Impl ; public final void rule__Uint32__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12822:1: ( rule__Uint32__Group__1__Impl ) - // InternalRos.g:12823:2: rule__Uint32__Group__1__Impl + // InternalRos.g:13636:1: ( rule__Uint32__Group__1__Impl ) + // InternalRos.g:13637:2: rule__Uint32__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint32__Group__1__Impl(); @@ -38629,20 +41118,20 @@ public final void rule__Uint32__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint32__Group__1__Impl" - // InternalRos.g:12829:1: rule__Uint32__Group__1__Impl : ( 'uint32' ) ; + // InternalRos.g:13643:1: rule__Uint32__Group__1__Impl : ( 'uint32' ) ; public final void rule__Uint32__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12833:1: ( ( 'uint32' ) ) - // InternalRos.g:12834:1: ( 'uint32' ) + // InternalRos.g:13647:1: ( ( 'uint32' ) ) + // InternalRos.g:13648:1: ( 'uint32' ) { - // InternalRos.g:12834:1: ( 'uint32' ) - // InternalRos.g:12835:2: 'uint32' + // InternalRos.g:13648:1: ( 'uint32' ) + // InternalRos.g:13649:2: 'uint32' { before(grammarAccess.getUint32Access().getUint32Keyword_1()); - match(input,92,FOLLOW_2); + match(input,93,FOLLOW_2); after(grammarAccess.getUint32Access().getUint32Keyword_1()); } @@ -38666,16 +41155,16 @@ public final void rule__Uint32__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Int64__Group__0" - // InternalRos.g:12845:1: rule__Int64__Group__0 : rule__Int64__Group__0__Impl rule__Int64__Group__1 ; + // InternalRos.g:13659:1: rule__Int64__Group__0 : rule__Int64__Group__0__Impl rule__Int64__Group__1 ; public final void rule__Int64__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12849:1: ( rule__Int64__Group__0__Impl rule__Int64__Group__1 ) - // InternalRos.g:12850:2: rule__Int64__Group__0__Impl rule__Int64__Group__1 + // InternalRos.g:13663:1: ( rule__Int64__Group__0__Impl rule__Int64__Group__1 ) + // InternalRos.g:13664:2: rule__Int64__Group__0__Impl rule__Int64__Group__1 { - pushFollow(FOLLOW_76); + pushFollow(FOLLOW_77); rule__Int64__Group__0__Impl(); state._fsp--; @@ -38704,21 +41193,21 @@ public final void rule__Int64__Group__0() throws RecognitionException { // $ANTLR start "rule__Int64__Group__0__Impl" - // InternalRos.g:12857:1: rule__Int64__Group__0__Impl : ( () ) ; + // InternalRos.g:13671:1: rule__Int64__Group__0__Impl : ( () ) ; public final void rule__Int64__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12861:1: ( ( () ) ) - // InternalRos.g:12862:1: ( () ) + // InternalRos.g:13675:1: ( ( () ) ) + // InternalRos.g:13676:1: ( () ) { - // InternalRos.g:12862:1: ( () ) - // InternalRos.g:12863:2: () + // InternalRos.g:13676:1: ( () ) + // InternalRos.g:13677:2: () { before(grammarAccess.getInt64Access().getInt64Action_0()); - // InternalRos.g:12864:2: () - // InternalRos.g:12864:3: + // InternalRos.g:13678:2: () + // InternalRos.g:13678:3: { } @@ -38741,14 +41230,14 @@ public final void rule__Int64__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Int64__Group__1" - // InternalRos.g:12872:1: rule__Int64__Group__1 : rule__Int64__Group__1__Impl ; + // InternalRos.g:13686:1: rule__Int64__Group__1 : rule__Int64__Group__1__Impl ; public final void rule__Int64__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12876:1: ( rule__Int64__Group__1__Impl ) - // InternalRos.g:12877:2: rule__Int64__Group__1__Impl + // InternalRos.g:13690:1: ( rule__Int64__Group__1__Impl ) + // InternalRos.g:13691:2: rule__Int64__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int64__Group__1__Impl(); @@ -38774,20 +41263,20 @@ public final void rule__Int64__Group__1() throws RecognitionException { // $ANTLR start "rule__Int64__Group__1__Impl" - // InternalRos.g:12883:1: rule__Int64__Group__1__Impl : ( 'int64' ) ; + // InternalRos.g:13697:1: rule__Int64__Group__1__Impl : ( 'int64' ) ; public final void rule__Int64__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12887:1: ( ( 'int64' ) ) - // InternalRos.g:12888:1: ( 'int64' ) + // InternalRos.g:13701:1: ( ( 'int64' ) ) + // InternalRos.g:13702:1: ( 'int64' ) { - // InternalRos.g:12888:1: ( 'int64' ) - // InternalRos.g:12889:2: 'int64' + // InternalRos.g:13702:1: ( 'int64' ) + // InternalRos.g:13703:2: 'int64' { before(grammarAccess.getInt64Access().getInt64Keyword_1()); - match(input,93,FOLLOW_2); + match(input,94,FOLLOW_2); after(grammarAccess.getInt64Access().getInt64Keyword_1()); } @@ -38811,16 +41300,16 @@ public final void rule__Int64__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__0" - // InternalRos.g:12899:1: rule__Uint64__Group__0 : rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ; + // InternalRos.g:13713:1: rule__Uint64__Group__0 : rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ; public final void rule__Uint64__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12903:1: ( rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ) - // InternalRos.g:12904:2: rule__Uint64__Group__0__Impl rule__Uint64__Group__1 + // InternalRos.g:13717:1: ( rule__Uint64__Group__0__Impl rule__Uint64__Group__1 ) + // InternalRos.g:13718:2: rule__Uint64__Group__0__Impl rule__Uint64__Group__1 { - pushFollow(FOLLOW_77); + pushFollow(FOLLOW_78); rule__Uint64__Group__0__Impl(); state._fsp--; @@ -38849,21 +41338,21 @@ public final void rule__Uint64__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__0__Impl" - // InternalRos.g:12911:1: rule__Uint64__Group__0__Impl : ( () ) ; + // InternalRos.g:13725:1: rule__Uint64__Group__0__Impl : ( () ) ; public final void rule__Uint64__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12915:1: ( ( () ) ) - // InternalRos.g:12916:1: ( () ) + // InternalRos.g:13729:1: ( ( () ) ) + // InternalRos.g:13730:1: ( () ) { - // InternalRos.g:12916:1: ( () ) - // InternalRos.g:12917:2: () + // InternalRos.g:13730:1: ( () ) + // InternalRos.g:13731:2: () { before(grammarAccess.getUint64Access().getUint64Action_0()); - // InternalRos.g:12918:2: () - // InternalRos.g:12918:3: + // InternalRos.g:13732:2: () + // InternalRos.g:13732:3: { } @@ -38886,14 +41375,14 @@ public final void rule__Uint64__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__1" - // InternalRos.g:12926:1: rule__Uint64__Group__1 : rule__Uint64__Group__1__Impl ; + // InternalRos.g:13740:1: rule__Uint64__Group__1 : rule__Uint64__Group__1__Impl ; public final void rule__Uint64__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12930:1: ( rule__Uint64__Group__1__Impl ) - // InternalRos.g:12931:2: rule__Uint64__Group__1__Impl + // InternalRos.g:13744:1: ( rule__Uint64__Group__1__Impl ) + // InternalRos.g:13745:2: rule__Uint64__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint64__Group__1__Impl(); @@ -38919,20 +41408,20 @@ public final void rule__Uint64__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint64__Group__1__Impl" - // InternalRos.g:12937:1: rule__Uint64__Group__1__Impl : ( 'uint64' ) ; + // InternalRos.g:13751:1: rule__Uint64__Group__1__Impl : ( 'uint64' ) ; public final void rule__Uint64__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12941:1: ( ( 'uint64' ) ) - // InternalRos.g:12942:1: ( 'uint64' ) + // InternalRos.g:13755:1: ( ( 'uint64' ) ) + // InternalRos.g:13756:1: ( 'uint64' ) { - // InternalRos.g:12942:1: ( 'uint64' ) - // InternalRos.g:12943:2: 'uint64' + // InternalRos.g:13756:1: ( 'uint64' ) + // InternalRos.g:13757:2: 'uint64' { before(grammarAccess.getUint64Access().getUint64Keyword_1()); - match(input,94,FOLLOW_2); + match(input,95,FOLLOW_2); after(grammarAccess.getUint64Access().getUint64Keyword_1()); } @@ -38956,16 +41445,16 @@ public final void rule__Uint64__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Float32__Group__0" - // InternalRos.g:12953:1: rule__Float32__Group__0 : rule__Float32__Group__0__Impl rule__Float32__Group__1 ; + // InternalRos.g:13767:1: rule__Float32__Group__0 : rule__Float32__Group__0__Impl rule__Float32__Group__1 ; public final void rule__Float32__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12957:1: ( rule__Float32__Group__0__Impl rule__Float32__Group__1 ) - // InternalRos.g:12958:2: rule__Float32__Group__0__Impl rule__Float32__Group__1 + // InternalRos.g:13771:1: ( rule__Float32__Group__0__Impl rule__Float32__Group__1 ) + // InternalRos.g:13772:2: rule__Float32__Group__0__Impl rule__Float32__Group__1 { - pushFollow(FOLLOW_78); + pushFollow(FOLLOW_79); rule__Float32__Group__0__Impl(); state._fsp--; @@ -38994,21 +41483,21 @@ public final void rule__Float32__Group__0() throws RecognitionException { // $ANTLR start "rule__Float32__Group__0__Impl" - // InternalRos.g:12965:1: rule__Float32__Group__0__Impl : ( () ) ; + // InternalRos.g:13779:1: rule__Float32__Group__0__Impl : ( () ) ; public final void rule__Float32__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12969:1: ( ( () ) ) - // InternalRos.g:12970:1: ( () ) + // InternalRos.g:13783:1: ( ( () ) ) + // InternalRos.g:13784:1: ( () ) { - // InternalRos.g:12970:1: ( () ) - // InternalRos.g:12971:2: () + // InternalRos.g:13784:1: ( () ) + // InternalRos.g:13785:2: () { before(grammarAccess.getFloat32Access().getFloat32Action_0()); - // InternalRos.g:12972:2: () - // InternalRos.g:12972:3: + // InternalRos.g:13786:2: () + // InternalRos.g:13786:3: { } @@ -39031,14 +41520,14 @@ public final void rule__Float32__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Float32__Group__1" - // InternalRos.g:12980:1: rule__Float32__Group__1 : rule__Float32__Group__1__Impl ; + // InternalRos.g:13794:1: rule__Float32__Group__1 : rule__Float32__Group__1__Impl ; public final void rule__Float32__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12984:1: ( rule__Float32__Group__1__Impl ) - // InternalRos.g:12985:2: rule__Float32__Group__1__Impl + // InternalRos.g:13798:1: ( rule__Float32__Group__1__Impl ) + // InternalRos.g:13799:2: rule__Float32__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float32__Group__1__Impl(); @@ -39064,20 +41553,20 @@ public final void rule__Float32__Group__1() throws RecognitionException { // $ANTLR start "rule__Float32__Group__1__Impl" - // InternalRos.g:12991:1: rule__Float32__Group__1__Impl : ( 'float32' ) ; + // InternalRos.g:13805:1: rule__Float32__Group__1__Impl : ( 'float32' ) ; public final void rule__Float32__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:12995:1: ( ( 'float32' ) ) - // InternalRos.g:12996:1: ( 'float32' ) + // InternalRos.g:13809:1: ( ( 'float32' ) ) + // InternalRos.g:13810:1: ( 'float32' ) { - // InternalRos.g:12996:1: ( 'float32' ) - // InternalRos.g:12997:2: 'float32' + // InternalRos.g:13810:1: ( 'float32' ) + // InternalRos.g:13811:2: 'float32' { before(grammarAccess.getFloat32Access().getFloat32Keyword_1()); - match(input,95,FOLLOW_2); + match(input,96,FOLLOW_2); after(grammarAccess.getFloat32Access().getFloat32Keyword_1()); } @@ -39101,16 +41590,16 @@ public final void rule__Float32__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Float64__Group__0" - // InternalRos.g:13007:1: rule__Float64__Group__0 : rule__Float64__Group__0__Impl rule__Float64__Group__1 ; + // InternalRos.g:13821:1: rule__Float64__Group__0 : rule__Float64__Group__0__Impl rule__Float64__Group__1 ; public final void rule__Float64__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13011:1: ( rule__Float64__Group__0__Impl rule__Float64__Group__1 ) - // InternalRos.g:13012:2: rule__Float64__Group__0__Impl rule__Float64__Group__1 + // InternalRos.g:13825:1: ( rule__Float64__Group__0__Impl rule__Float64__Group__1 ) + // InternalRos.g:13826:2: rule__Float64__Group__0__Impl rule__Float64__Group__1 { - pushFollow(FOLLOW_79); + pushFollow(FOLLOW_80); rule__Float64__Group__0__Impl(); state._fsp--; @@ -39139,21 +41628,21 @@ public final void rule__Float64__Group__0() throws RecognitionException { // $ANTLR start "rule__Float64__Group__0__Impl" - // InternalRos.g:13019:1: rule__Float64__Group__0__Impl : ( () ) ; + // InternalRos.g:13833:1: rule__Float64__Group__0__Impl : ( () ) ; public final void rule__Float64__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13023:1: ( ( () ) ) - // InternalRos.g:13024:1: ( () ) + // InternalRos.g:13837:1: ( ( () ) ) + // InternalRos.g:13838:1: ( () ) { - // InternalRos.g:13024:1: ( () ) - // InternalRos.g:13025:2: () + // InternalRos.g:13838:1: ( () ) + // InternalRos.g:13839:2: () { before(grammarAccess.getFloat64Access().getFloat64Action_0()); - // InternalRos.g:13026:2: () - // InternalRos.g:13026:3: + // InternalRos.g:13840:2: () + // InternalRos.g:13840:3: { } @@ -39176,14 +41665,14 @@ public final void rule__Float64__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Float64__Group__1" - // InternalRos.g:13034:1: rule__Float64__Group__1 : rule__Float64__Group__1__Impl ; + // InternalRos.g:13848:1: rule__Float64__Group__1 : rule__Float64__Group__1__Impl ; public final void rule__Float64__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13038:1: ( rule__Float64__Group__1__Impl ) - // InternalRos.g:13039:2: rule__Float64__Group__1__Impl + // InternalRos.g:13852:1: ( rule__Float64__Group__1__Impl ) + // InternalRos.g:13853:2: rule__Float64__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float64__Group__1__Impl(); @@ -39209,20 +41698,20 @@ public final void rule__Float64__Group__1() throws RecognitionException { // $ANTLR start "rule__Float64__Group__1__Impl" - // InternalRos.g:13045:1: rule__Float64__Group__1__Impl : ( 'float64' ) ; + // InternalRos.g:13859:1: rule__Float64__Group__1__Impl : ( 'float64' ) ; public final void rule__Float64__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13049:1: ( ( 'float64' ) ) - // InternalRos.g:13050:1: ( 'float64' ) + // InternalRos.g:13863:1: ( ( 'float64' ) ) + // InternalRos.g:13864:1: ( 'float64' ) { - // InternalRos.g:13050:1: ( 'float64' ) - // InternalRos.g:13051:2: 'float64' + // InternalRos.g:13864:1: ( 'float64' ) + // InternalRos.g:13865:2: 'float64' { before(grammarAccess.getFloat64Access().getFloat64Keyword_1()); - match(input,96,FOLLOW_2); + match(input,97,FOLLOW_2); after(grammarAccess.getFloat64Access().getFloat64Keyword_1()); } @@ -39246,16 +41735,16 @@ public final void rule__Float64__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__String0__Group__0" - // InternalRos.g:13061:1: rule__String0__Group__0 : rule__String0__Group__0__Impl rule__String0__Group__1 ; + // InternalRos.g:13875:1: rule__String0__Group__0 : rule__String0__Group__0__Impl rule__String0__Group__1 ; public final void rule__String0__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13065:1: ( rule__String0__Group__0__Impl rule__String0__Group__1 ) - // InternalRos.g:13066:2: rule__String0__Group__0__Impl rule__String0__Group__1 + // InternalRos.g:13879:1: ( rule__String0__Group__0__Impl rule__String0__Group__1 ) + // InternalRos.g:13880:2: rule__String0__Group__0__Impl rule__String0__Group__1 { - pushFollow(FOLLOW_80); + pushFollow(FOLLOW_81); rule__String0__Group__0__Impl(); state._fsp--; @@ -39284,21 +41773,21 @@ public final void rule__String0__Group__0() throws RecognitionException { // $ANTLR start "rule__String0__Group__0__Impl" - // InternalRos.g:13073:1: rule__String0__Group__0__Impl : ( () ) ; + // InternalRos.g:13887:1: rule__String0__Group__0__Impl : ( () ) ; public final void rule__String0__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13077:1: ( ( () ) ) - // InternalRos.g:13078:1: ( () ) + // InternalRos.g:13891:1: ( ( () ) ) + // InternalRos.g:13892:1: ( () ) { - // InternalRos.g:13078:1: ( () ) - // InternalRos.g:13079:2: () + // InternalRos.g:13892:1: ( () ) + // InternalRos.g:13893:2: () { before(grammarAccess.getString0Access().getStringAction_0()); - // InternalRos.g:13080:2: () - // InternalRos.g:13080:3: + // InternalRos.g:13894:2: () + // InternalRos.g:13894:3: { } @@ -39321,14 +41810,14 @@ public final void rule__String0__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__String0__Group__1" - // InternalRos.g:13088:1: rule__String0__Group__1 : rule__String0__Group__1__Impl ; + // InternalRos.g:13902:1: rule__String0__Group__1 : rule__String0__Group__1__Impl ; public final void rule__String0__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13092:1: ( rule__String0__Group__1__Impl ) - // InternalRos.g:13093:2: rule__String0__Group__1__Impl + // InternalRos.g:13906:1: ( rule__String0__Group__1__Impl ) + // InternalRos.g:13907:2: rule__String0__Group__1__Impl { pushFollow(FOLLOW_2); rule__String0__Group__1__Impl(); @@ -39354,20 +41843,20 @@ public final void rule__String0__Group__1() throws RecognitionException { // $ANTLR start "rule__String0__Group__1__Impl" - // InternalRos.g:13099:1: rule__String0__Group__1__Impl : ( 'string' ) ; + // InternalRos.g:13913:1: rule__String0__Group__1__Impl : ( 'string' ) ; public final void rule__String0__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13103:1: ( ( 'string' ) ) - // InternalRos.g:13104:1: ( 'string' ) + // InternalRos.g:13917:1: ( ( 'string' ) ) + // InternalRos.g:13918:1: ( 'string' ) { - // InternalRos.g:13104:1: ( 'string' ) - // InternalRos.g:13105:2: 'string' + // InternalRos.g:13918:1: ( 'string' ) + // InternalRos.g:13919:2: 'string' { before(grammarAccess.getString0Access().getStringKeyword_1()); - match(input,97,FOLLOW_2); + match(input,98,FOLLOW_2); after(grammarAccess.getString0Access().getStringKeyword_1()); } @@ -39391,16 +41880,16 @@ public final void rule__String0__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Byte__Group__0" - // InternalRos.g:13115:1: rule__Byte__Group__0 : rule__Byte__Group__0__Impl rule__Byte__Group__1 ; + // InternalRos.g:13929:1: rule__Byte__Group__0 : rule__Byte__Group__0__Impl rule__Byte__Group__1 ; public final void rule__Byte__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13119:1: ( rule__Byte__Group__0__Impl rule__Byte__Group__1 ) - // InternalRos.g:13120:2: rule__Byte__Group__0__Impl rule__Byte__Group__1 + // InternalRos.g:13933:1: ( rule__Byte__Group__0__Impl rule__Byte__Group__1 ) + // InternalRos.g:13934:2: rule__Byte__Group__0__Impl rule__Byte__Group__1 { - pushFollow(FOLLOW_81); + pushFollow(FOLLOW_82); rule__Byte__Group__0__Impl(); state._fsp--; @@ -39429,21 +41918,21 @@ public final void rule__Byte__Group__0() throws RecognitionException { // $ANTLR start "rule__Byte__Group__0__Impl" - // InternalRos.g:13127:1: rule__Byte__Group__0__Impl : ( () ) ; + // InternalRos.g:13941:1: rule__Byte__Group__0__Impl : ( () ) ; public final void rule__Byte__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13131:1: ( ( () ) ) - // InternalRos.g:13132:1: ( () ) + // InternalRos.g:13945:1: ( ( () ) ) + // InternalRos.g:13946:1: ( () ) { - // InternalRos.g:13132:1: ( () ) - // InternalRos.g:13133:2: () + // InternalRos.g:13946:1: ( () ) + // InternalRos.g:13947:2: () { before(grammarAccess.getByteAccess().getByteAction_0()); - // InternalRos.g:13134:2: () - // InternalRos.g:13134:3: + // InternalRos.g:13948:2: () + // InternalRos.g:13948:3: { } @@ -39466,14 +41955,14 @@ public final void rule__Byte__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Byte__Group__1" - // InternalRos.g:13142:1: rule__Byte__Group__1 : rule__Byte__Group__1__Impl ; + // InternalRos.g:13956:1: rule__Byte__Group__1 : rule__Byte__Group__1__Impl ; public final void rule__Byte__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13146:1: ( rule__Byte__Group__1__Impl ) - // InternalRos.g:13147:2: rule__Byte__Group__1__Impl + // InternalRos.g:13960:1: ( rule__Byte__Group__1__Impl ) + // InternalRos.g:13961:2: rule__Byte__Group__1__Impl { pushFollow(FOLLOW_2); rule__Byte__Group__1__Impl(); @@ -39499,20 +41988,20 @@ public final void rule__Byte__Group__1() throws RecognitionException { // $ANTLR start "rule__Byte__Group__1__Impl" - // InternalRos.g:13153:1: rule__Byte__Group__1__Impl : ( 'byte' ) ; + // InternalRos.g:13967:1: rule__Byte__Group__1__Impl : ( 'byte' ) ; public final void rule__Byte__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13157:1: ( ( 'byte' ) ) - // InternalRos.g:13158:1: ( 'byte' ) + // InternalRos.g:13971:1: ( ( 'byte' ) ) + // InternalRos.g:13972:1: ( 'byte' ) { - // InternalRos.g:13158:1: ( 'byte' ) - // InternalRos.g:13159:2: 'byte' + // InternalRos.g:13972:1: ( 'byte' ) + // InternalRos.g:13973:2: 'byte' { before(grammarAccess.getByteAccess().getByteKeyword_1()); - match(input,98,FOLLOW_2); + match(input,99,FOLLOW_2); after(grammarAccess.getByteAccess().getByteKeyword_1()); } @@ -39536,16 +42025,16 @@ public final void rule__Byte__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Time__Group__0" - // InternalRos.g:13169:1: rule__Time__Group__0 : rule__Time__Group__0__Impl rule__Time__Group__1 ; + // InternalRos.g:13983:1: rule__Time__Group__0 : rule__Time__Group__0__Impl rule__Time__Group__1 ; public final void rule__Time__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13173:1: ( rule__Time__Group__0__Impl rule__Time__Group__1 ) - // InternalRos.g:13174:2: rule__Time__Group__0__Impl rule__Time__Group__1 + // InternalRos.g:13987:1: ( rule__Time__Group__0__Impl rule__Time__Group__1 ) + // InternalRos.g:13988:2: rule__Time__Group__0__Impl rule__Time__Group__1 { - pushFollow(FOLLOW_82); + pushFollow(FOLLOW_83); rule__Time__Group__0__Impl(); state._fsp--; @@ -39574,21 +42063,21 @@ public final void rule__Time__Group__0() throws RecognitionException { // $ANTLR start "rule__Time__Group__0__Impl" - // InternalRos.g:13181:1: rule__Time__Group__0__Impl : ( () ) ; + // InternalRos.g:13995:1: rule__Time__Group__0__Impl : ( () ) ; public final void rule__Time__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13185:1: ( ( () ) ) - // InternalRos.g:13186:1: ( () ) + // InternalRos.g:13999:1: ( ( () ) ) + // InternalRos.g:14000:1: ( () ) { - // InternalRos.g:13186:1: ( () ) - // InternalRos.g:13187:2: () + // InternalRos.g:14000:1: ( () ) + // InternalRos.g:14001:2: () { before(grammarAccess.getTimeAccess().getTimeAction_0()); - // InternalRos.g:13188:2: () - // InternalRos.g:13188:3: + // InternalRos.g:14002:2: () + // InternalRos.g:14002:3: { } @@ -39611,14 +42100,14 @@ public final void rule__Time__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Time__Group__1" - // InternalRos.g:13196:1: rule__Time__Group__1 : rule__Time__Group__1__Impl ; + // InternalRos.g:14010:1: rule__Time__Group__1 : rule__Time__Group__1__Impl ; public final void rule__Time__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13200:1: ( rule__Time__Group__1__Impl ) - // InternalRos.g:13201:2: rule__Time__Group__1__Impl + // InternalRos.g:14014:1: ( rule__Time__Group__1__Impl ) + // InternalRos.g:14015:2: rule__Time__Group__1__Impl { pushFollow(FOLLOW_2); rule__Time__Group__1__Impl(); @@ -39644,17 +42133,17 @@ public final void rule__Time__Group__1() throws RecognitionException { // $ANTLR start "rule__Time__Group__1__Impl" - // InternalRos.g:13207:1: rule__Time__Group__1__Impl : ( 'time' ) ; + // InternalRos.g:14021:1: rule__Time__Group__1__Impl : ( 'time' ) ; public final void rule__Time__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13211:1: ( ( 'time' ) ) - // InternalRos.g:13212:1: ( 'time' ) + // InternalRos.g:14025:1: ( ( 'time' ) ) + // InternalRos.g:14026:1: ( 'time' ) { - // InternalRos.g:13212:1: ( 'time' ) - // InternalRos.g:13213:2: 'time' + // InternalRos.g:14026:1: ( 'time' ) + // InternalRos.g:14027:2: 'time' { before(grammarAccess.getTimeAccess().getTimeKeyword_1()); match(input,39,FOLLOW_2); @@ -39681,16 +42170,16 @@ public final void rule__Time__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__Duration__Group__0" - // InternalRos.g:13223:1: rule__Duration__Group__0 : rule__Duration__Group__0__Impl rule__Duration__Group__1 ; + // InternalRos.g:14037:1: rule__Duration__Group__0 : rule__Duration__Group__0__Impl rule__Duration__Group__1 ; public final void rule__Duration__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13227:1: ( rule__Duration__Group__0__Impl rule__Duration__Group__1 ) - // InternalRos.g:13228:2: rule__Duration__Group__0__Impl rule__Duration__Group__1 + // InternalRos.g:14041:1: ( rule__Duration__Group__0__Impl rule__Duration__Group__1 ) + // InternalRos.g:14042:2: rule__Duration__Group__0__Impl rule__Duration__Group__1 { - pushFollow(FOLLOW_83); + pushFollow(FOLLOW_84); rule__Duration__Group__0__Impl(); state._fsp--; @@ -39719,21 +42208,21 @@ public final void rule__Duration__Group__0() throws RecognitionException { // $ANTLR start "rule__Duration__Group__0__Impl" - // InternalRos.g:13235:1: rule__Duration__Group__0__Impl : ( () ) ; + // InternalRos.g:14049:1: rule__Duration__Group__0__Impl : ( () ) ; public final void rule__Duration__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13239:1: ( ( () ) ) - // InternalRos.g:13240:1: ( () ) + // InternalRos.g:14053:1: ( ( () ) ) + // InternalRos.g:14054:1: ( () ) { - // InternalRos.g:13240:1: ( () ) - // InternalRos.g:13241:2: () + // InternalRos.g:14054:1: ( () ) + // InternalRos.g:14055:2: () { before(grammarAccess.getDurationAccess().getDurationAction_0()); - // InternalRos.g:13242:2: () - // InternalRos.g:13242:3: + // InternalRos.g:14056:2: () + // InternalRos.g:14056:3: { } @@ -39756,14 +42245,14 @@ public final void rule__Duration__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Duration__Group__1" - // InternalRos.g:13250:1: rule__Duration__Group__1 : rule__Duration__Group__1__Impl ; + // InternalRos.g:14064:1: rule__Duration__Group__1 : rule__Duration__Group__1__Impl ; public final void rule__Duration__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13254:1: ( rule__Duration__Group__1__Impl ) - // InternalRos.g:13255:2: rule__Duration__Group__1__Impl + // InternalRos.g:14068:1: ( rule__Duration__Group__1__Impl ) + // InternalRos.g:14069:2: rule__Duration__Group__1__Impl { pushFollow(FOLLOW_2); rule__Duration__Group__1__Impl(); @@ -39789,17 +42278,17 @@ public final void rule__Duration__Group__1() throws RecognitionException { // $ANTLR start "rule__Duration__Group__1__Impl" - // InternalRos.g:13261:1: rule__Duration__Group__1__Impl : ( 'duration' ) ; + // InternalRos.g:14075:1: rule__Duration__Group__1__Impl : ( 'duration' ) ; public final void rule__Duration__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13265:1: ( ( 'duration' ) ) - // InternalRos.g:13266:1: ( 'duration' ) + // InternalRos.g:14079:1: ( ( 'duration' ) ) + // InternalRos.g:14080:1: ( 'duration' ) { - // InternalRos.g:13266:1: ( 'duration' ) - // InternalRos.g:13267:2: 'duration' + // InternalRos.g:14080:1: ( 'duration' ) + // InternalRos.g:14081:2: 'duration' { before(grammarAccess.getDurationAccess().getDurationKeyword_1()); match(input,38,FOLLOW_2); @@ -39826,16 +42315,16 @@ public final void rule__Duration__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__BoolArray__Group__0" - // InternalRos.g:13277:1: rule__BoolArray__Group__0 : rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ; + // InternalRos.g:14091:1: rule__BoolArray__Group__0 : rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ; public final void rule__BoolArray__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13281:1: ( rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ) - // InternalRos.g:13282:2: rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 + // InternalRos.g:14095:1: ( rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 ) + // InternalRos.g:14096:2: rule__BoolArray__Group__0__Impl rule__BoolArray__Group__1 { - pushFollow(FOLLOW_84); + pushFollow(FOLLOW_85); rule__BoolArray__Group__0__Impl(); state._fsp--; @@ -39864,21 +42353,21 @@ public final void rule__BoolArray__Group__0() throws RecognitionException { // $ANTLR start "rule__BoolArray__Group__0__Impl" - // InternalRos.g:13289:1: rule__BoolArray__Group__0__Impl : ( () ) ; + // InternalRos.g:14103:1: rule__BoolArray__Group__0__Impl : ( () ) ; public final void rule__BoolArray__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13293:1: ( ( () ) ) - // InternalRos.g:13294:1: ( () ) + // InternalRos.g:14107:1: ( ( () ) ) + // InternalRos.g:14108:1: ( () ) { - // InternalRos.g:13294:1: ( () ) - // InternalRos.g:13295:2: () + // InternalRos.g:14108:1: ( () ) + // InternalRos.g:14109:2: () { before(grammarAccess.getBoolArrayAccess().getBoolArrayAction_0()); - // InternalRos.g:13296:2: () - // InternalRos.g:13296:3: + // InternalRos.g:14110:2: () + // InternalRos.g:14110:3: { } @@ -39901,14 +42390,14 @@ public final void rule__BoolArray__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__BoolArray__Group__1" - // InternalRos.g:13304:1: rule__BoolArray__Group__1 : rule__BoolArray__Group__1__Impl ; + // InternalRos.g:14118:1: rule__BoolArray__Group__1 : rule__BoolArray__Group__1__Impl ; public final void rule__BoolArray__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13308:1: ( rule__BoolArray__Group__1__Impl ) - // InternalRos.g:13309:2: rule__BoolArray__Group__1__Impl + // InternalRos.g:14122:1: ( rule__BoolArray__Group__1__Impl ) + // InternalRos.g:14123:2: rule__BoolArray__Group__1__Impl { pushFollow(FOLLOW_2); rule__BoolArray__Group__1__Impl(); @@ -39934,20 +42423,20 @@ public final void rule__BoolArray__Group__1() throws RecognitionException { // $ANTLR start "rule__BoolArray__Group__1__Impl" - // InternalRos.g:13315:1: rule__BoolArray__Group__1__Impl : ( 'bool[]' ) ; + // InternalRos.g:14129:1: rule__BoolArray__Group__1__Impl : ( 'bool[]' ) ; public final void rule__BoolArray__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13319:1: ( ( 'bool[]' ) ) - // InternalRos.g:13320:1: ( 'bool[]' ) + // InternalRos.g:14133:1: ( ( 'bool[]' ) ) + // InternalRos.g:14134:1: ( 'bool[]' ) { - // InternalRos.g:13320:1: ( 'bool[]' ) - // InternalRos.g:13321:2: 'bool[]' + // InternalRos.g:14134:1: ( 'bool[]' ) + // InternalRos.g:14135:2: 'bool[]' { before(grammarAccess.getBoolArrayAccess().getBoolKeyword_1()); - match(input,99,FOLLOW_2); + match(input,100,FOLLOW_2); after(grammarAccess.getBoolArrayAccess().getBoolKeyword_1()); } @@ -39971,16 +42460,16 @@ public final void rule__BoolArray__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Int8Array__Group__0" - // InternalRos.g:13331:1: rule__Int8Array__Group__0 : rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ; + // InternalRos.g:14145:1: rule__Int8Array__Group__0 : rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ; public final void rule__Int8Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13335:1: ( rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ) - // InternalRos.g:13336:2: rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 + // InternalRos.g:14149:1: ( rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 ) + // InternalRos.g:14150:2: rule__Int8Array__Group__0__Impl rule__Int8Array__Group__1 { - pushFollow(FOLLOW_85); + pushFollow(FOLLOW_86); rule__Int8Array__Group__0__Impl(); state._fsp--; @@ -40009,21 +42498,21 @@ public final void rule__Int8Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int8Array__Group__0__Impl" - // InternalRos.g:13343:1: rule__Int8Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14157:1: rule__Int8Array__Group__0__Impl : ( () ) ; public final void rule__Int8Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13347:1: ( ( () ) ) - // InternalRos.g:13348:1: ( () ) + // InternalRos.g:14161:1: ( ( () ) ) + // InternalRos.g:14162:1: ( () ) { - // InternalRos.g:13348:1: ( () ) - // InternalRos.g:13349:2: () + // InternalRos.g:14162:1: ( () ) + // InternalRos.g:14163:2: () { before(grammarAccess.getInt8ArrayAccess().getInt8ArrayAction_0()); - // InternalRos.g:13350:2: () - // InternalRos.g:13350:3: + // InternalRos.g:14164:2: () + // InternalRos.g:14164:3: { } @@ -40046,14 +42535,14 @@ public final void rule__Int8Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int8Array__Group__1" - // InternalRos.g:13358:1: rule__Int8Array__Group__1 : rule__Int8Array__Group__1__Impl ; + // InternalRos.g:14172:1: rule__Int8Array__Group__1 : rule__Int8Array__Group__1__Impl ; public final void rule__Int8Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13362:1: ( rule__Int8Array__Group__1__Impl ) - // InternalRos.g:13363:2: rule__Int8Array__Group__1__Impl + // InternalRos.g:14176:1: ( rule__Int8Array__Group__1__Impl ) + // InternalRos.g:14177:2: rule__Int8Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int8Array__Group__1__Impl(); @@ -40079,20 +42568,20 @@ public final void rule__Int8Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int8Array__Group__1__Impl" - // InternalRos.g:13369:1: rule__Int8Array__Group__1__Impl : ( 'int8[]' ) ; + // InternalRos.g:14183:1: rule__Int8Array__Group__1__Impl : ( 'int8[]' ) ; public final void rule__Int8Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13373:1: ( ( 'int8[]' ) ) - // InternalRos.g:13374:1: ( 'int8[]' ) + // InternalRos.g:14187:1: ( ( 'int8[]' ) ) + // InternalRos.g:14188:1: ( 'int8[]' ) { - // InternalRos.g:13374:1: ( 'int8[]' ) - // InternalRos.g:13375:2: 'int8[]' + // InternalRos.g:14188:1: ( 'int8[]' ) + // InternalRos.g:14189:2: 'int8[]' { before(grammarAccess.getInt8ArrayAccess().getInt8Keyword_1()); - match(input,100,FOLLOW_2); + match(input,101,FOLLOW_2); after(grammarAccess.getInt8ArrayAccess().getInt8Keyword_1()); } @@ -40116,16 +42605,16 @@ public final void rule__Int8Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint8Array__Group__0" - // InternalRos.g:13385:1: rule__Uint8Array__Group__0 : rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ; + // InternalRos.g:14199:1: rule__Uint8Array__Group__0 : rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ; public final void rule__Uint8Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13389:1: ( rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ) - // InternalRos.g:13390:2: rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 + // InternalRos.g:14203:1: ( rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 ) + // InternalRos.g:14204:2: rule__Uint8Array__Group__0__Impl rule__Uint8Array__Group__1 { - pushFollow(FOLLOW_86); + pushFollow(FOLLOW_87); rule__Uint8Array__Group__0__Impl(); state._fsp--; @@ -40154,21 +42643,21 @@ public final void rule__Uint8Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint8Array__Group__0__Impl" - // InternalRos.g:13397:1: rule__Uint8Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14211:1: rule__Uint8Array__Group__0__Impl : ( () ) ; public final void rule__Uint8Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13401:1: ( ( () ) ) - // InternalRos.g:13402:1: ( () ) + // InternalRos.g:14215:1: ( ( () ) ) + // InternalRos.g:14216:1: ( () ) { - // InternalRos.g:13402:1: ( () ) - // InternalRos.g:13403:2: () + // InternalRos.g:14216:1: ( () ) + // InternalRos.g:14217:2: () { before(grammarAccess.getUint8ArrayAccess().getUint8ArrayAction_0()); - // InternalRos.g:13404:2: () - // InternalRos.g:13404:3: + // InternalRos.g:14218:2: () + // InternalRos.g:14218:3: { } @@ -40191,14 +42680,14 @@ public final void rule__Uint8Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Uint8Array__Group__1" - // InternalRos.g:13412:1: rule__Uint8Array__Group__1 : rule__Uint8Array__Group__1__Impl ; + // InternalRos.g:14226:1: rule__Uint8Array__Group__1 : rule__Uint8Array__Group__1__Impl ; public final void rule__Uint8Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13416:1: ( rule__Uint8Array__Group__1__Impl ) - // InternalRos.g:13417:2: rule__Uint8Array__Group__1__Impl + // InternalRos.g:14230:1: ( rule__Uint8Array__Group__1__Impl ) + // InternalRos.g:14231:2: rule__Uint8Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint8Array__Group__1__Impl(); @@ -40224,20 +42713,20 @@ public final void rule__Uint8Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint8Array__Group__1__Impl" - // InternalRos.g:13423:1: rule__Uint8Array__Group__1__Impl : ( 'uint8[]' ) ; + // InternalRos.g:14237:1: rule__Uint8Array__Group__1__Impl : ( 'uint8[]' ) ; public final void rule__Uint8Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13427:1: ( ( 'uint8[]' ) ) - // InternalRos.g:13428:1: ( 'uint8[]' ) + // InternalRos.g:14241:1: ( ( 'uint8[]' ) ) + // InternalRos.g:14242:1: ( 'uint8[]' ) { - // InternalRos.g:13428:1: ( 'uint8[]' ) - // InternalRos.g:13429:2: 'uint8[]' + // InternalRos.g:14242:1: ( 'uint8[]' ) + // InternalRos.g:14243:2: 'uint8[]' { before(grammarAccess.getUint8ArrayAccess().getUint8Keyword_1()); - match(input,101,FOLLOW_2); + match(input,102,FOLLOW_2); after(grammarAccess.getUint8ArrayAccess().getUint8Keyword_1()); } @@ -40261,16 +42750,16 @@ public final void rule__Uint8Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Int16Array__Group__0" - // InternalRos.g:13439:1: rule__Int16Array__Group__0 : rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ; + // InternalRos.g:14253:1: rule__Int16Array__Group__0 : rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ; public final void rule__Int16Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13443:1: ( rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ) - // InternalRos.g:13444:2: rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 + // InternalRos.g:14257:1: ( rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 ) + // InternalRos.g:14258:2: rule__Int16Array__Group__0__Impl rule__Int16Array__Group__1 { - pushFollow(FOLLOW_87); + pushFollow(FOLLOW_88); rule__Int16Array__Group__0__Impl(); state._fsp--; @@ -40299,21 +42788,21 @@ public final void rule__Int16Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int16Array__Group__0__Impl" - // InternalRos.g:13451:1: rule__Int16Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14265:1: rule__Int16Array__Group__0__Impl : ( () ) ; public final void rule__Int16Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13455:1: ( ( () ) ) - // InternalRos.g:13456:1: ( () ) + // InternalRos.g:14269:1: ( ( () ) ) + // InternalRos.g:14270:1: ( () ) { - // InternalRos.g:13456:1: ( () ) - // InternalRos.g:13457:2: () + // InternalRos.g:14270:1: ( () ) + // InternalRos.g:14271:2: () { before(grammarAccess.getInt16ArrayAccess().getInt16ArrayAction_0()); - // InternalRos.g:13458:2: () - // InternalRos.g:13458:3: + // InternalRos.g:14272:2: () + // InternalRos.g:14272:3: { } @@ -40336,14 +42825,14 @@ public final void rule__Int16Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int16Array__Group__1" - // InternalRos.g:13466:1: rule__Int16Array__Group__1 : rule__Int16Array__Group__1__Impl ; + // InternalRos.g:14280:1: rule__Int16Array__Group__1 : rule__Int16Array__Group__1__Impl ; public final void rule__Int16Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13470:1: ( rule__Int16Array__Group__1__Impl ) - // InternalRos.g:13471:2: rule__Int16Array__Group__1__Impl + // InternalRos.g:14284:1: ( rule__Int16Array__Group__1__Impl ) + // InternalRos.g:14285:2: rule__Int16Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int16Array__Group__1__Impl(); @@ -40369,20 +42858,20 @@ public final void rule__Int16Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int16Array__Group__1__Impl" - // InternalRos.g:13477:1: rule__Int16Array__Group__1__Impl : ( 'int16[]' ) ; + // InternalRos.g:14291:1: rule__Int16Array__Group__1__Impl : ( 'int16[]' ) ; public final void rule__Int16Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13481:1: ( ( 'int16[]' ) ) - // InternalRos.g:13482:1: ( 'int16[]' ) + // InternalRos.g:14295:1: ( ( 'int16[]' ) ) + // InternalRos.g:14296:1: ( 'int16[]' ) { - // InternalRos.g:13482:1: ( 'int16[]' ) - // InternalRos.g:13483:2: 'int16[]' + // InternalRos.g:14296:1: ( 'int16[]' ) + // InternalRos.g:14297:2: 'int16[]' { before(grammarAccess.getInt16ArrayAccess().getInt16Keyword_1()); - match(input,102,FOLLOW_2); + match(input,103,FOLLOW_2); after(grammarAccess.getInt16ArrayAccess().getInt16Keyword_1()); } @@ -40406,16 +42895,16 @@ public final void rule__Int16Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint16Array__Group__0" - // InternalRos.g:13493:1: rule__Uint16Array__Group__0 : rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ; + // InternalRos.g:14307:1: rule__Uint16Array__Group__0 : rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ; public final void rule__Uint16Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13497:1: ( rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ) - // InternalRos.g:13498:2: rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 + // InternalRos.g:14311:1: ( rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 ) + // InternalRos.g:14312:2: rule__Uint16Array__Group__0__Impl rule__Uint16Array__Group__1 { - pushFollow(FOLLOW_88); + pushFollow(FOLLOW_89); rule__Uint16Array__Group__0__Impl(); state._fsp--; @@ -40444,21 +42933,21 @@ public final void rule__Uint16Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint16Array__Group__0__Impl" - // InternalRos.g:13505:1: rule__Uint16Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14319:1: rule__Uint16Array__Group__0__Impl : ( () ) ; public final void rule__Uint16Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13509:1: ( ( () ) ) - // InternalRos.g:13510:1: ( () ) + // InternalRos.g:14323:1: ( ( () ) ) + // InternalRos.g:14324:1: ( () ) { - // InternalRos.g:13510:1: ( () ) - // InternalRos.g:13511:2: () + // InternalRos.g:14324:1: ( () ) + // InternalRos.g:14325:2: () { before(grammarAccess.getUint16ArrayAccess().getUint16ArrayAction_0()); - // InternalRos.g:13512:2: () - // InternalRos.g:13512:3: + // InternalRos.g:14326:2: () + // InternalRos.g:14326:3: { } @@ -40481,14 +42970,14 @@ public final void rule__Uint16Array__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Uint16Array__Group__1" - // InternalRos.g:13520:1: rule__Uint16Array__Group__1 : rule__Uint16Array__Group__1__Impl ; + // InternalRos.g:14334:1: rule__Uint16Array__Group__1 : rule__Uint16Array__Group__1__Impl ; public final void rule__Uint16Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13524:1: ( rule__Uint16Array__Group__1__Impl ) - // InternalRos.g:13525:2: rule__Uint16Array__Group__1__Impl + // InternalRos.g:14338:1: ( rule__Uint16Array__Group__1__Impl ) + // InternalRos.g:14339:2: rule__Uint16Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint16Array__Group__1__Impl(); @@ -40514,20 +43003,20 @@ public final void rule__Uint16Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint16Array__Group__1__Impl" - // InternalRos.g:13531:1: rule__Uint16Array__Group__1__Impl : ( 'uint16[]' ) ; + // InternalRos.g:14345:1: rule__Uint16Array__Group__1__Impl : ( 'uint16[]' ) ; public final void rule__Uint16Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13535:1: ( ( 'uint16[]' ) ) - // InternalRos.g:13536:1: ( 'uint16[]' ) + // InternalRos.g:14349:1: ( ( 'uint16[]' ) ) + // InternalRos.g:14350:1: ( 'uint16[]' ) { - // InternalRos.g:13536:1: ( 'uint16[]' ) - // InternalRos.g:13537:2: 'uint16[]' + // InternalRos.g:14350:1: ( 'uint16[]' ) + // InternalRos.g:14351:2: 'uint16[]' { before(grammarAccess.getUint16ArrayAccess().getUint16Keyword_1()); - match(input,103,FOLLOW_2); + match(input,104,FOLLOW_2); after(grammarAccess.getUint16ArrayAccess().getUint16Keyword_1()); } @@ -40551,16 +43040,16 @@ public final void rule__Uint16Array__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Int32Array__Group__0" - // InternalRos.g:13547:1: rule__Int32Array__Group__0 : rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ; + // InternalRos.g:14361:1: rule__Int32Array__Group__0 : rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ; public final void rule__Int32Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13551:1: ( rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ) - // InternalRos.g:13552:2: rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 + // InternalRos.g:14365:1: ( rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 ) + // InternalRos.g:14366:2: rule__Int32Array__Group__0__Impl rule__Int32Array__Group__1 { - pushFollow(FOLLOW_89); + pushFollow(FOLLOW_90); rule__Int32Array__Group__0__Impl(); state._fsp--; @@ -40589,21 +43078,21 @@ public final void rule__Int32Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int32Array__Group__0__Impl" - // InternalRos.g:13559:1: rule__Int32Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14373:1: rule__Int32Array__Group__0__Impl : ( () ) ; public final void rule__Int32Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13563:1: ( ( () ) ) - // InternalRos.g:13564:1: ( () ) + // InternalRos.g:14377:1: ( ( () ) ) + // InternalRos.g:14378:1: ( () ) { - // InternalRos.g:13564:1: ( () ) - // InternalRos.g:13565:2: () + // InternalRos.g:14378:1: ( () ) + // InternalRos.g:14379:2: () { before(grammarAccess.getInt32ArrayAccess().getInt32ArrayAction_0()); - // InternalRos.g:13566:2: () - // InternalRos.g:13566:3: + // InternalRos.g:14380:2: () + // InternalRos.g:14380:3: { } @@ -40626,14 +43115,14 @@ public final void rule__Int32Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int32Array__Group__1" - // InternalRos.g:13574:1: rule__Int32Array__Group__1 : rule__Int32Array__Group__1__Impl ; + // InternalRos.g:14388:1: rule__Int32Array__Group__1 : rule__Int32Array__Group__1__Impl ; public final void rule__Int32Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13578:1: ( rule__Int32Array__Group__1__Impl ) - // InternalRos.g:13579:2: rule__Int32Array__Group__1__Impl + // InternalRos.g:14392:1: ( rule__Int32Array__Group__1__Impl ) + // InternalRos.g:14393:2: rule__Int32Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int32Array__Group__1__Impl(); @@ -40659,20 +43148,20 @@ public final void rule__Int32Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int32Array__Group__1__Impl" - // InternalRos.g:13585:1: rule__Int32Array__Group__1__Impl : ( 'int32[]' ) ; + // InternalRos.g:14399:1: rule__Int32Array__Group__1__Impl : ( 'int32[]' ) ; public final void rule__Int32Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13589:1: ( ( 'int32[]' ) ) - // InternalRos.g:13590:1: ( 'int32[]' ) + // InternalRos.g:14403:1: ( ( 'int32[]' ) ) + // InternalRos.g:14404:1: ( 'int32[]' ) { - // InternalRos.g:13590:1: ( 'int32[]' ) - // InternalRos.g:13591:2: 'int32[]' + // InternalRos.g:14404:1: ( 'int32[]' ) + // InternalRos.g:14405:2: 'int32[]' { before(grammarAccess.getInt32ArrayAccess().getInt32Keyword_1()); - match(input,104,FOLLOW_2); + match(input,105,FOLLOW_2); after(grammarAccess.getInt32ArrayAccess().getInt32Keyword_1()); } @@ -40696,16 +43185,16 @@ public final void rule__Int32Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint32Array__Group__0" - // InternalRos.g:13601:1: rule__Uint32Array__Group__0 : rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ; + // InternalRos.g:14415:1: rule__Uint32Array__Group__0 : rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ; public final void rule__Uint32Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13605:1: ( rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ) - // InternalRos.g:13606:2: rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 + // InternalRos.g:14419:1: ( rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 ) + // InternalRos.g:14420:2: rule__Uint32Array__Group__0__Impl rule__Uint32Array__Group__1 { - pushFollow(FOLLOW_90); + pushFollow(FOLLOW_91); rule__Uint32Array__Group__0__Impl(); state._fsp--; @@ -40734,21 +43223,21 @@ public final void rule__Uint32Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint32Array__Group__0__Impl" - // InternalRos.g:13613:1: rule__Uint32Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14427:1: rule__Uint32Array__Group__0__Impl : ( () ) ; public final void rule__Uint32Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13617:1: ( ( () ) ) - // InternalRos.g:13618:1: ( () ) + // InternalRos.g:14431:1: ( ( () ) ) + // InternalRos.g:14432:1: ( () ) { - // InternalRos.g:13618:1: ( () ) - // InternalRos.g:13619:2: () + // InternalRos.g:14432:1: ( () ) + // InternalRos.g:14433:2: () { before(grammarAccess.getUint32ArrayAccess().getUint32ArrayAction_0()); - // InternalRos.g:13620:2: () - // InternalRos.g:13620:3: + // InternalRos.g:14434:2: () + // InternalRos.g:14434:3: { } @@ -40771,14 +43260,14 @@ public final void rule__Uint32Array__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Uint32Array__Group__1" - // InternalRos.g:13628:1: rule__Uint32Array__Group__1 : rule__Uint32Array__Group__1__Impl ; + // InternalRos.g:14442:1: rule__Uint32Array__Group__1 : rule__Uint32Array__Group__1__Impl ; public final void rule__Uint32Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13632:1: ( rule__Uint32Array__Group__1__Impl ) - // InternalRos.g:13633:2: rule__Uint32Array__Group__1__Impl + // InternalRos.g:14446:1: ( rule__Uint32Array__Group__1__Impl ) + // InternalRos.g:14447:2: rule__Uint32Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint32Array__Group__1__Impl(); @@ -40804,20 +43293,20 @@ public final void rule__Uint32Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint32Array__Group__1__Impl" - // InternalRos.g:13639:1: rule__Uint32Array__Group__1__Impl : ( 'uint32[]' ) ; + // InternalRos.g:14453:1: rule__Uint32Array__Group__1__Impl : ( 'uint32[]' ) ; public final void rule__Uint32Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13643:1: ( ( 'uint32[]' ) ) - // InternalRos.g:13644:1: ( 'uint32[]' ) + // InternalRos.g:14457:1: ( ( 'uint32[]' ) ) + // InternalRos.g:14458:1: ( 'uint32[]' ) { - // InternalRos.g:13644:1: ( 'uint32[]' ) - // InternalRos.g:13645:2: 'uint32[]' + // InternalRos.g:14458:1: ( 'uint32[]' ) + // InternalRos.g:14459:2: 'uint32[]' { before(grammarAccess.getUint32ArrayAccess().getUint32Keyword_1()); - match(input,105,FOLLOW_2); + match(input,106,FOLLOW_2); after(grammarAccess.getUint32ArrayAccess().getUint32Keyword_1()); } @@ -40841,16 +43330,16 @@ public final void rule__Uint32Array__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Int64Array__Group__0" - // InternalRos.g:13655:1: rule__Int64Array__Group__0 : rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ; + // InternalRos.g:14469:1: rule__Int64Array__Group__0 : rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ; public final void rule__Int64Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13659:1: ( rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ) - // InternalRos.g:13660:2: rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 + // InternalRos.g:14473:1: ( rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 ) + // InternalRos.g:14474:2: rule__Int64Array__Group__0__Impl rule__Int64Array__Group__1 { - pushFollow(FOLLOW_91); + pushFollow(FOLLOW_92); rule__Int64Array__Group__0__Impl(); state._fsp--; @@ -40879,21 +43368,21 @@ public final void rule__Int64Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Int64Array__Group__0__Impl" - // InternalRos.g:13667:1: rule__Int64Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14481:1: rule__Int64Array__Group__0__Impl : ( () ) ; public final void rule__Int64Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13671:1: ( ( () ) ) - // InternalRos.g:13672:1: ( () ) + // InternalRos.g:14485:1: ( ( () ) ) + // InternalRos.g:14486:1: ( () ) { - // InternalRos.g:13672:1: ( () ) - // InternalRos.g:13673:2: () + // InternalRos.g:14486:1: ( () ) + // InternalRos.g:14487:2: () { before(grammarAccess.getInt64ArrayAccess().getInt64ArrayAction_0()); - // InternalRos.g:13674:2: () - // InternalRos.g:13674:3: + // InternalRos.g:14488:2: () + // InternalRos.g:14488:3: { } @@ -40916,14 +43405,14 @@ public final void rule__Int64Array__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__Int64Array__Group__1" - // InternalRos.g:13682:1: rule__Int64Array__Group__1 : rule__Int64Array__Group__1__Impl ; + // InternalRos.g:14496:1: rule__Int64Array__Group__1 : rule__Int64Array__Group__1__Impl ; public final void rule__Int64Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13686:1: ( rule__Int64Array__Group__1__Impl ) - // InternalRos.g:13687:2: rule__Int64Array__Group__1__Impl + // InternalRos.g:14500:1: ( rule__Int64Array__Group__1__Impl ) + // InternalRos.g:14501:2: rule__Int64Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Int64Array__Group__1__Impl(); @@ -40949,20 +43438,20 @@ public final void rule__Int64Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Int64Array__Group__1__Impl" - // InternalRos.g:13693:1: rule__Int64Array__Group__1__Impl : ( 'int64[]' ) ; + // InternalRos.g:14507:1: rule__Int64Array__Group__1__Impl : ( 'int64[]' ) ; public final void rule__Int64Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13697:1: ( ( 'int64[]' ) ) - // InternalRos.g:13698:1: ( 'int64[]' ) + // InternalRos.g:14511:1: ( ( 'int64[]' ) ) + // InternalRos.g:14512:1: ( 'int64[]' ) { - // InternalRos.g:13698:1: ( 'int64[]' ) - // InternalRos.g:13699:2: 'int64[]' + // InternalRos.g:14512:1: ( 'int64[]' ) + // InternalRos.g:14513:2: 'int64[]' { before(grammarAccess.getInt64ArrayAccess().getInt64Keyword_1()); - match(input,106,FOLLOW_2); + match(input,107,FOLLOW_2); after(grammarAccess.getInt64ArrayAccess().getInt64Keyword_1()); } @@ -40986,16 +43475,16 @@ public final void rule__Int64Array__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Uint64Array__Group__0" - // InternalRos.g:13709:1: rule__Uint64Array__Group__0 : rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ; + // InternalRos.g:14523:1: rule__Uint64Array__Group__0 : rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ; public final void rule__Uint64Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13713:1: ( rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ) - // InternalRos.g:13714:2: rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 + // InternalRos.g:14527:1: ( rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 ) + // InternalRos.g:14528:2: rule__Uint64Array__Group__0__Impl rule__Uint64Array__Group__1 { - pushFollow(FOLLOW_92); + pushFollow(FOLLOW_93); rule__Uint64Array__Group__0__Impl(); state._fsp--; @@ -41024,21 +43513,21 @@ public final void rule__Uint64Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Uint64Array__Group__0__Impl" - // InternalRos.g:13721:1: rule__Uint64Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14535:1: rule__Uint64Array__Group__0__Impl : ( () ) ; public final void rule__Uint64Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13725:1: ( ( () ) ) - // InternalRos.g:13726:1: ( () ) + // InternalRos.g:14539:1: ( ( () ) ) + // InternalRos.g:14540:1: ( () ) { - // InternalRos.g:13726:1: ( () ) - // InternalRos.g:13727:2: () + // InternalRos.g:14540:1: ( () ) + // InternalRos.g:14541:2: () { before(grammarAccess.getUint64ArrayAccess().getUint64ArrayAction_0()); - // InternalRos.g:13728:2: () - // InternalRos.g:13728:3: + // InternalRos.g:14542:2: () + // InternalRos.g:14542:3: { } @@ -41061,14 +43550,14 @@ public final void rule__Uint64Array__Group__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Uint64Array__Group__1" - // InternalRos.g:13736:1: rule__Uint64Array__Group__1 : rule__Uint64Array__Group__1__Impl ; + // InternalRos.g:14550:1: rule__Uint64Array__Group__1 : rule__Uint64Array__Group__1__Impl ; public final void rule__Uint64Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13740:1: ( rule__Uint64Array__Group__1__Impl ) - // InternalRos.g:13741:2: rule__Uint64Array__Group__1__Impl + // InternalRos.g:14554:1: ( rule__Uint64Array__Group__1__Impl ) + // InternalRos.g:14555:2: rule__Uint64Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Uint64Array__Group__1__Impl(); @@ -41094,20 +43583,20 @@ public final void rule__Uint64Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Uint64Array__Group__1__Impl" - // InternalRos.g:13747:1: rule__Uint64Array__Group__1__Impl : ( 'uint64[]' ) ; + // InternalRos.g:14561:1: rule__Uint64Array__Group__1__Impl : ( 'uint64[]' ) ; public final void rule__Uint64Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13751:1: ( ( 'uint64[]' ) ) - // InternalRos.g:13752:1: ( 'uint64[]' ) + // InternalRos.g:14565:1: ( ( 'uint64[]' ) ) + // InternalRos.g:14566:1: ( 'uint64[]' ) { - // InternalRos.g:13752:1: ( 'uint64[]' ) - // InternalRos.g:13753:2: 'uint64[]' + // InternalRos.g:14566:1: ( 'uint64[]' ) + // InternalRos.g:14567:2: 'uint64[]' { before(grammarAccess.getUint64ArrayAccess().getUint64Keyword_1()); - match(input,107,FOLLOW_2); + match(input,108,FOLLOW_2); after(grammarAccess.getUint64ArrayAccess().getUint64Keyword_1()); } @@ -41131,16 +43620,16 @@ public final void rule__Uint64Array__Group__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Float32Array__Group__0" - // InternalRos.g:13763:1: rule__Float32Array__Group__0 : rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ; + // InternalRos.g:14577:1: rule__Float32Array__Group__0 : rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ; public final void rule__Float32Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13767:1: ( rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ) - // InternalRos.g:13768:2: rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 + // InternalRos.g:14581:1: ( rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 ) + // InternalRos.g:14582:2: rule__Float32Array__Group__0__Impl rule__Float32Array__Group__1 { - pushFollow(FOLLOW_93); + pushFollow(FOLLOW_94); rule__Float32Array__Group__0__Impl(); state._fsp--; @@ -41169,21 +43658,21 @@ public final void rule__Float32Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Float32Array__Group__0__Impl" - // InternalRos.g:13775:1: rule__Float32Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14589:1: rule__Float32Array__Group__0__Impl : ( () ) ; public final void rule__Float32Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13779:1: ( ( () ) ) - // InternalRos.g:13780:1: ( () ) + // InternalRos.g:14593:1: ( ( () ) ) + // InternalRos.g:14594:1: ( () ) { - // InternalRos.g:13780:1: ( () ) - // InternalRos.g:13781:2: () + // InternalRos.g:14594:1: ( () ) + // InternalRos.g:14595:2: () { before(grammarAccess.getFloat32ArrayAccess().getFloat32ArrayAction_0()); - // InternalRos.g:13782:2: () - // InternalRos.g:13782:3: + // InternalRos.g:14596:2: () + // InternalRos.g:14596:3: { } @@ -41206,14 +43695,14 @@ public final void rule__Float32Array__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__Float32Array__Group__1" - // InternalRos.g:13790:1: rule__Float32Array__Group__1 : rule__Float32Array__Group__1__Impl ; + // InternalRos.g:14604:1: rule__Float32Array__Group__1 : rule__Float32Array__Group__1__Impl ; public final void rule__Float32Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13794:1: ( rule__Float32Array__Group__1__Impl ) - // InternalRos.g:13795:2: rule__Float32Array__Group__1__Impl + // InternalRos.g:14608:1: ( rule__Float32Array__Group__1__Impl ) + // InternalRos.g:14609:2: rule__Float32Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float32Array__Group__1__Impl(); @@ -41239,20 +43728,20 @@ public final void rule__Float32Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Float32Array__Group__1__Impl" - // InternalRos.g:13801:1: rule__Float32Array__Group__1__Impl : ( 'float32[]' ) ; + // InternalRos.g:14615:1: rule__Float32Array__Group__1__Impl : ( 'float32[]' ) ; public final void rule__Float32Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13805:1: ( ( 'float32[]' ) ) - // InternalRos.g:13806:1: ( 'float32[]' ) + // InternalRos.g:14619:1: ( ( 'float32[]' ) ) + // InternalRos.g:14620:1: ( 'float32[]' ) { - // InternalRos.g:13806:1: ( 'float32[]' ) - // InternalRos.g:13807:2: 'float32[]' + // InternalRos.g:14620:1: ( 'float32[]' ) + // InternalRos.g:14621:2: 'float32[]' { before(grammarAccess.getFloat32ArrayAccess().getFloat32Keyword_1()); - match(input,108,FOLLOW_2); + match(input,109,FOLLOW_2); after(grammarAccess.getFloat32ArrayAccess().getFloat32Keyword_1()); } @@ -41276,16 +43765,16 @@ public final void rule__Float32Array__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__Float64Array__Group__0" - // InternalRos.g:13817:1: rule__Float64Array__Group__0 : rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ; + // InternalRos.g:14631:1: rule__Float64Array__Group__0 : rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ; public final void rule__Float64Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13821:1: ( rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ) - // InternalRos.g:13822:2: rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 + // InternalRos.g:14635:1: ( rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 ) + // InternalRos.g:14636:2: rule__Float64Array__Group__0__Impl rule__Float64Array__Group__1 { - pushFollow(FOLLOW_94); + pushFollow(FOLLOW_95); rule__Float64Array__Group__0__Impl(); state._fsp--; @@ -41314,21 +43803,21 @@ public final void rule__Float64Array__Group__0() throws RecognitionException { // $ANTLR start "rule__Float64Array__Group__0__Impl" - // InternalRos.g:13829:1: rule__Float64Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14643:1: rule__Float64Array__Group__0__Impl : ( () ) ; public final void rule__Float64Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13833:1: ( ( () ) ) - // InternalRos.g:13834:1: ( () ) + // InternalRos.g:14647:1: ( ( () ) ) + // InternalRos.g:14648:1: ( () ) { - // InternalRos.g:13834:1: ( () ) - // InternalRos.g:13835:2: () + // InternalRos.g:14648:1: ( () ) + // InternalRos.g:14649:2: () { before(grammarAccess.getFloat64ArrayAccess().getFloat64ArrayAction_0()); - // InternalRos.g:13836:2: () - // InternalRos.g:13836:3: + // InternalRos.g:14650:2: () + // InternalRos.g:14650:3: { } @@ -41351,14 +43840,14 @@ public final void rule__Float64Array__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__Float64Array__Group__1" - // InternalRos.g:13844:1: rule__Float64Array__Group__1 : rule__Float64Array__Group__1__Impl ; + // InternalRos.g:14658:1: rule__Float64Array__Group__1 : rule__Float64Array__Group__1__Impl ; public final void rule__Float64Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13848:1: ( rule__Float64Array__Group__1__Impl ) - // InternalRos.g:13849:2: rule__Float64Array__Group__1__Impl + // InternalRos.g:14662:1: ( rule__Float64Array__Group__1__Impl ) + // InternalRos.g:14663:2: rule__Float64Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__Float64Array__Group__1__Impl(); @@ -41384,20 +43873,20 @@ public final void rule__Float64Array__Group__1() throws RecognitionException { // $ANTLR start "rule__Float64Array__Group__1__Impl" - // InternalRos.g:13855:1: rule__Float64Array__Group__1__Impl : ( 'float64[]' ) ; + // InternalRos.g:14669:1: rule__Float64Array__Group__1__Impl : ( 'float64[]' ) ; public final void rule__Float64Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13859:1: ( ( 'float64[]' ) ) - // InternalRos.g:13860:1: ( 'float64[]' ) + // InternalRos.g:14673:1: ( ( 'float64[]' ) ) + // InternalRos.g:14674:1: ( 'float64[]' ) { - // InternalRos.g:13860:1: ( 'float64[]' ) - // InternalRos.g:13861:2: 'float64[]' + // InternalRos.g:14674:1: ( 'float64[]' ) + // InternalRos.g:14675:2: 'float64[]' { before(grammarAccess.getFloat64ArrayAccess().getFloat64Keyword_1()); - match(input,109,FOLLOW_2); + match(input,110,FOLLOW_2); after(grammarAccess.getFloat64ArrayAccess().getFloat64Keyword_1()); } @@ -41421,16 +43910,16 @@ public final void rule__Float64Array__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__String0Array__Group__0" - // InternalRos.g:13871:1: rule__String0Array__Group__0 : rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ; + // InternalRos.g:14685:1: rule__String0Array__Group__0 : rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ; public final void rule__String0Array__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13875:1: ( rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ) - // InternalRos.g:13876:2: rule__String0Array__Group__0__Impl rule__String0Array__Group__1 + // InternalRos.g:14689:1: ( rule__String0Array__Group__0__Impl rule__String0Array__Group__1 ) + // InternalRos.g:14690:2: rule__String0Array__Group__0__Impl rule__String0Array__Group__1 { - pushFollow(FOLLOW_95); + pushFollow(FOLLOW_96); rule__String0Array__Group__0__Impl(); state._fsp--; @@ -41459,21 +43948,21 @@ public final void rule__String0Array__Group__0() throws RecognitionException { // $ANTLR start "rule__String0Array__Group__0__Impl" - // InternalRos.g:13883:1: rule__String0Array__Group__0__Impl : ( () ) ; + // InternalRos.g:14697:1: rule__String0Array__Group__0__Impl : ( () ) ; public final void rule__String0Array__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13887:1: ( ( () ) ) - // InternalRos.g:13888:1: ( () ) + // InternalRos.g:14701:1: ( ( () ) ) + // InternalRos.g:14702:1: ( () ) { - // InternalRos.g:13888:1: ( () ) - // InternalRos.g:13889:2: () + // InternalRos.g:14702:1: ( () ) + // InternalRos.g:14703:2: () { before(grammarAccess.getString0ArrayAccess().getStringArrayAction_0()); - // InternalRos.g:13890:2: () - // InternalRos.g:13890:3: + // InternalRos.g:14704:2: () + // InternalRos.g:14704:3: { } @@ -41496,14 +43985,14 @@ public final void rule__String0Array__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__String0Array__Group__1" - // InternalRos.g:13898:1: rule__String0Array__Group__1 : rule__String0Array__Group__1__Impl ; + // InternalRos.g:14712:1: rule__String0Array__Group__1 : rule__String0Array__Group__1__Impl ; public final void rule__String0Array__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13902:1: ( rule__String0Array__Group__1__Impl ) - // InternalRos.g:13903:2: rule__String0Array__Group__1__Impl + // InternalRos.g:14716:1: ( rule__String0Array__Group__1__Impl ) + // InternalRos.g:14717:2: rule__String0Array__Group__1__Impl { pushFollow(FOLLOW_2); rule__String0Array__Group__1__Impl(); @@ -41529,20 +44018,20 @@ public final void rule__String0Array__Group__1() throws RecognitionException { // $ANTLR start "rule__String0Array__Group__1__Impl" - // InternalRos.g:13909:1: rule__String0Array__Group__1__Impl : ( 'string[]' ) ; + // InternalRos.g:14723:1: rule__String0Array__Group__1__Impl : ( 'string[]' ) ; public final void rule__String0Array__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13913:1: ( ( 'string[]' ) ) - // InternalRos.g:13914:1: ( 'string[]' ) + // InternalRos.g:14727:1: ( ( 'string[]' ) ) + // InternalRos.g:14728:1: ( 'string[]' ) { - // InternalRos.g:13914:1: ( 'string[]' ) - // InternalRos.g:13915:2: 'string[]' + // InternalRos.g:14728:1: ( 'string[]' ) + // InternalRos.g:14729:2: 'string[]' { before(grammarAccess.getString0ArrayAccess().getStringKeyword_1()); - match(input,110,FOLLOW_2); + match(input,111,FOLLOW_2); after(grammarAccess.getString0ArrayAccess().getStringKeyword_1()); } @@ -41566,16 +44055,16 @@ public final void rule__String0Array__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__ByteArray__Group__0" - // InternalRos.g:13925:1: rule__ByteArray__Group__0 : rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ; + // InternalRos.g:14739:1: rule__ByteArray__Group__0 : rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ; public final void rule__ByteArray__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13929:1: ( rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ) - // InternalRos.g:13930:2: rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 + // InternalRos.g:14743:1: ( rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 ) + // InternalRos.g:14744:2: rule__ByteArray__Group__0__Impl rule__ByteArray__Group__1 { - pushFollow(FOLLOW_96); + pushFollow(FOLLOW_97); rule__ByteArray__Group__0__Impl(); state._fsp--; @@ -41604,21 +44093,21 @@ public final void rule__ByteArray__Group__0() throws RecognitionException { // $ANTLR start "rule__ByteArray__Group__0__Impl" - // InternalRos.g:13937:1: rule__ByteArray__Group__0__Impl : ( () ) ; + // InternalRos.g:14751:1: rule__ByteArray__Group__0__Impl : ( () ) ; public final void rule__ByteArray__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13941:1: ( ( () ) ) - // InternalRos.g:13942:1: ( () ) + // InternalRos.g:14755:1: ( ( () ) ) + // InternalRos.g:14756:1: ( () ) { - // InternalRos.g:13942:1: ( () ) - // InternalRos.g:13943:2: () + // InternalRos.g:14756:1: ( () ) + // InternalRos.g:14757:2: () { before(grammarAccess.getByteArrayAccess().getByteArrayAction_0()); - // InternalRos.g:13944:2: () - // InternalRos.g:13944:3: + // InternalRos.g:14758:2: () + // InternalRos.g:14758:3: { } @@ -41641,14 +44130,14 @@ public final void rule__ByteArray__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__ByteArray__Group__1" - // InternalRos.g:13952:1: rule__ByteArray__Group__1 : rule__ByteArray__Group__1__Impl ; + // InternalRos.g:14766:1: rule__ByteArray__Group__1 : rule__ByteArray__Group__1__Impl ; public final void rule__ByteArray__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13956:1: ( rule__ByteArray__Group__1__Impl ) - // InternalRos.g:13957:2: rule__ByteArray__Group__1__Impl + // InternalRos.g:14770:1: ( rule__ByteArray__Group__1__Impl ) + // InternalRos.g:14771:2: rule__ByteArray__Group__1__Impl { pushFollow(FOLLOW_2); rule__ByteArray__Group__1__Impl(); @@ -41674,20 +44163,20 @@ public final void rule__ByteArray__Group__1() throws RecognitionException { // $ANTLR start "rule__ByteArray__Group__1__Impl" - // InternalRos.g:13963:1: rule__ByteArray__Group__1__Impl : ( 'byte[]' ) ; + // InternalRos.g:14777:1: rule__ByteArray__Group__1__Impl : ( 'byte[]' ) ; public final void rule__ByteArray__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13967:1: ( ( 'byte[]' ) ) - // InternalRos.g:13968:1: ( 'byte[]' ) + // InternalRos.g:14781:1: ( ( 'byte[]' ) ) + // InternalRos.g:14782:1: ( 'byte[]' ) { - // InternalRos.g:13968:1: ( 'byte[]' ) - // InternalRos.g:13969:2: 'byte[]' + // InternalRos.g:14782:1: ( 'byte[]' ) + // InternalRos.g:14783:2: 'byte[]' { before(grammarAccess.getByteArrayAccess().getByteKeyword_1()); - match(input,111,FOLLOW_2); + match(input,112,FOLLOW_2); after(grammarAccess.getByteArrayAccess().getByteKeyword_1()); } @@ -41711,16 +44200,16 @@ public final void rule__ByteArray__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__Header__Group__0" - // InternalRos.g:13979:1: rule__Header__Group__0 : rule__Header__Group__0__Impl rule__Header__Group__1 ; + // InternalRos.g:14793:1: rule__Header__Group__0 : rule__Header__Group__0__Impl rule__Header__Group__1 ; public final void rule__Header__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13983:1: ( rule__Header__Group__0__Impl rule__Header__Group__1 ) - // InternalRos.g:13984:2: rule__Header__Group__0__Impl rule__Header__Group__1 + // InternalRos.g:14797:1: ( rule__Header__Group__0__Impl rule__Header__Group__1 ) + // InternalRos.g:14798:2: rule__Header__Group__0__Impl rule__Header__Group__1 { - pushFollow(FOLLOW_97); + pushFollow(FOLLOW_98); rule__Header__Group__0__Impl(); state._fsp--; @@ -41749,21 +44238,21 @@ public final void rule__Header__Group__0() throws RecognitionException { // $ANTLR start "rule__Header__Group__0__Impl" - // InternalRos.g:13991:1: rule__Header__Group__0__Impl : ( () ) ; + // InternalRos.g:14805:1: rule__Header__Group__0__Impl : ( () ) ; public final void rule__Header__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:13995:1: ( ( () ) ) - // InternalRos.g:13996:1: ( () ) + // InternalRos.g:14809:1: ( ( () ) ) + // InternalRos.g:14810:1: ( () ) { - // InternalRos.g:13996:1: ( () ) - // InternalRos.g:13997:2: () + // InternalRos.g:14810:1: ( () ) + // InternalRos.g:14811:2: () { before(grammarAccess.getHeaderAccess().getHeaderAction_0()); - // InternalRos.g:13998:2: () - // InternalRos.g:13998:3: + // InternalRos.g:14812:2: () + // InternalRos.g:14812:3: { } @@ -41786,14 +44275,14 @@ public final void rule__Header__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__Header__Group__1" - // InternalRos.g:14006:1: rule__Header__Group__1 : rule__Header__Group__1__Impl ; + // InternalRos.g:14820:1: rule__Header__Group__1 : rule__Header__Group__1__Impl ; public final void rule__Header__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14010:1: ( rule__Header__Group__1__Impl ) - // InternalRos.g:14011:2: rule__Header__Group__1__Impl + // InternalRos.g:14824:1: ( rule__Header__Group__1__Impl ) + // InternalRos.g:14825:2: rule__Header__Group__1__Impl { pushFollow(FOLLOW_2); rule__Header__Group__1__Impl(); @@ -41819,17 +44308,17 @@ public final void rule__Header__Group__1() throws RecognitionException { // $ANTLR start "rule__Header__Group__1__Impl" - // InternalRos.g:14017:1: rule__Header__Group__1__Impl : ( 'Header' ) ; + // InternalRos.g:14831:1: rule__Header__Group__1__Impl : ( 'Header' ) ; public final void rule__Header__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14021:1: ( ( 'Header' ) ) - // InternalRos.g:14022:1: ( 'Header' ) + // InternalRos.g:14835:1: ( ( 'Header' ) ) + // InternalRos.g:14836:1: ( 'Header' ) { - // InternalRos.g:14022:1: ( 'Header' ) - // InternalRos.g:14023:2: 'Header' + // InternalRos.g:14836:1: ( 'Header' ) + // InternalRos.g:14837:2: 'Header' { before(grammarAccess.getHeaderAccess().getHeaderKeyword_1()); match(input,27,FOLLOW_2); @@ -41856,16 +44345,16 @@ public final void rule__Header__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__ArrayTopicSpecRef__Group__0" - // InternalRos.g:14033:1: rule__ArrayTopicSpecRef__Group__0 : rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ; + // InternalRos.g:14847:1: rule__ArrayTopicSpecRef__Group__0 : rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ; public final void rule__ArrayTopicSpecRef__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14037:1: ( rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ) - // InternalRos.g:14038:2: rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 + // InternalRos.g:14851:1: ( rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 ) + // InternalRos.g:14852:2: rule__ArrayTopicSpecRef__Group__0__Impl rule__ArrayTopicSpecRef__Group__1 { - pushFollow(FOLLOW_98); + pushFollow(FOLLOW_99); rule__ArrayTopicSpecRef__Group__0__Impl(); state._fsp--; @@ -41894,21 +44383,21 @@ public final void rule__ArrayTopicSpecRef__Group__0() throws RecognitionExceptio // $ANTLR start "rule__ArrayTopicSpecRef__Group__0__Impl" - // InternalRos.g:14045:1: rule__ArrayTopicSpecRef__Group__0__Impl : ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ; + // InternalRos.g:14859:1: rule__ArrayTopicSpecRef__Group__0__Impl : ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ; public final void rule__ArrayTopicSpecRef__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14049:1: ( ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ) - // InternalRos.g:14050:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) + // InternalRos.g:14863:1: ( ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) ) + // InternalRos.g:14864:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) { - // InternalRos.g:14050:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) - // InternalRos.g:14051:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) + // InternalRos.g:14864:1: ( ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) ) + // InternalRos.g:14865:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) { before(grammarAccess.getArrayTopicSpecRefAccess().getTopicSpecAssignment_0()); - // InternalRos.g:14052:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) - // InternalRos.g:14052:3: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 + // InternalRos.g:14866:2: ( rule__ArrayTopicSpecRef__TopicSpecAssignment_0 ) + // InternalRos.g:14866:3: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 { pushFollow(FOLLOW_2); rule__ArrayTopicSpecRef__TopicSpecAssignment_0(); @@ -41941,14 +44430,14 @@ public final void rule__ArrayTopicSpecRef__Group__0__Impl() throws RecognitionEx // $ANTLR start "rule__ArrayTopicSpecRef__Group__1" - // InternalRos.g:14060:1: rule__ArrayTopicSpecRef__Group__1 : rule__ArrayTopicSpecRef__Group__1__Impl ; + // InternalRos.g:14874:1: rule__ArrayTopicSpecRef__Group__1 : rule__ArrayTopicSpecRef__Group__1__Impl ; public final void rule__ArrayTopicSpecRef__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14064:1: ( rule__ArrayTopicSpecRef__Group__1__Impl ) - // InternalRos.g:14065:2: rule__ArrayTopicSpecRef__Group__1__Impl + // InternalRos.g:14878:1: ( rule__ArrayTopicSpecRef__Group__1__Impl ) + // InternalRos.g:14879:2: rule__ArrayTopicSpecRef__Group__1__Impl { pushFollow(FOLLOW_2); rule__ArrayTopicSpecRef__Group__1__Impl(); @@ -41974,20 +44463,20 @@ public final void rule__ArrayTopicSpecRef__Group__1() throws RecognitionExceptio // $ANTLR start "rule__ArrayTopicSpecRef__Group__1__Impl" - // InternalRos.g:14071:1: rule__ArrayTopicSpecRef__Group__1__Impl : ( '[]' ) ; + // InternalRos.g:14885:1: rule__ArrayTopicSpecRef__Group__1__Impl : ( '[]' ) ; public final void rule__ArrayTopicSpecRef__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14075:1: ( ( '[]' ) ) - // InternalRos.g:14076:1: ( '[]' ) + // InternalRos.g:14889:1: ( ( '[]' ) ) + // InternalRos.g:14890:1: ( '[]' ) { - // InternalRos.g:14076:1: ( '[]' ) - // InternalRos.g:14077:2: '[]' + // InternalRos.g:14890:1: ( '[]' ) + // InternalRos.g:14891:2: '[]' { before(grammarAccess.getArrayTopicSpecRefAccess().getLeftSquareBracketRightSquareBracketKeyword_1()); - match(input,112,FOLLOW_2); + match(input,113,FOLLOW_2); after(grammarAccess.getArrayTopicSpecRefAccess().getLeftSquareBracketRightSquareBracketKeyword_1()); } @@ -42011,17 +44500,17 @@ public final void rule__ArrayTopicSpecRef__Group__1__Impl() throws RecognitionEx // $ANTLR start "rule__PackageSet__PackageAssignment_3_0" - // InternalRos.g:14087:1: rule__PackageSet__PackageAssignment_3_0 : ( rulePackage ) ; + // InternalRos.g:14901:1: rule__PackageSet__PackageAssignment_3_0 : ( rulePackage ) ; public final void rule__PackageSet__PackageAssignment_3_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14091:1: ( ( rulePackage ) ) - // InternalRos.g:14092:2: ( rulePackage ) + // InternalRos.g:14905:1: ( ( rulePackage ) ) + // InternalRos.g:14906:2: ( rulePackage ) { - // InternalRos.g:14092:2: ( rulePackage ) - // InternalRos.g:14093:3: rulePackage + // InternalRos.g:14906:2: ( rulePackage ) + // InternalRos.g:14907:3: rulePackage { before(grammarAccess.getPackageSetAccess().getPackagePackageParserRuleCall_3_0_0()); pushFollow(FOLLOW_2); @@ -42052,17 +44541,17 @@ public final void rule__PackageSet__PackageAssignment_3_0() throws RecognitionEx // $ANTLR start "rule__PackageSet__PackageAssignment_3_1_1" - // InternalRos.g:14102:1: rule__PackageSet__PackageAssignment_3_1_1 : ( rulePackage ) ; + // InternalRos.g:14916:1: rule__PackageSet__PackageAssignment_3_1_1 : ( rulePackage ) ; public final void rule__PackageSet__PackageAssignment_3_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14106:1: ( ( rulePackage ) ) - // InternalRos.g:14107:2: ( rulePackage ) + // InternalRos.g:14920:1: ( ( rulePackage ) ) + // InternalRos.g:14921:2: ( rulePackage ) { - // InternalRos.g:14107:2: ( rulePackage ) - // InternalRos.g:14108:3: rulePackage + // InternalRos.g:14921:2: ( rulePackage ) + // InternalRos.g:14922:3: rulePackage { before(grammarAccess.getPackageSetAccess().getPackagePackageParserRuleCall_3_1_1_0()); pushFollow(FOLLOW_2); @@ -42093,17 +44582,17 @@ public final void rule__PackageSet__PackageAssignment_3_1_1() throws Recognition // $ANTLR start "rule__Package_Impl__NameAssignment_2" - // InternalRos.g:14117:1: rule__Package_Impl__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:14931:1: rule__Package_Impl__NameAssignment_2 : ( ruleEString ) ; public final void rule__Package_Impl__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14121:1: ( ( ruleEString ) ) - // InternalRos.g:14122:2: ( ruleEString ) + // InternalRos.g:14935:1: ( ( ruleEString ) ) + // InternalRos.g:14936:2: ( ruleEString ) { - // InternalRos.g:14122:2: ( ruleEString ) - // InternalRos.g:14123:3: ruleEString + // InternalRos.g:14936:2: ( ruleEString ) + // InternalRos.g:14937:3: ruleEString { before(grammarAccess.getPackage_ImplAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -42134,17 +44623,17 @@ public final void rule__Package_Impl__NameAssignment_2() throws RecognitionExcep // $ANTLR start "rule__Package_Impl__FromGitRepoAssignment_4_1" - // InternalRos.g:14132:1: rule__Package_Impl__FromGitRepoAssignment_4_1 : ( ruleEString ) ; + // InternalRos.g:14946:1: rule__Package_Impl__FromGitRepoAssignment_4_1 : ( ruleEString ) ; public final void rule__Package_Impl__FromGitRepoAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14136:1: ( ( ruleEString ) ) - // InternalRos.g:14137:2: ( ruleEString ) + // InternalRos.g:14950:1: ( ( ruleEString ) ) + // InternalRos.g:14951:2: ( ruleEString ) { - // InternalRos.g:14137:2: ( ruleEString ) - // InternalRos.g:14138:3: ruleEString + // InternalRos.g:14951:2: ( ruleEString ) + // InternalRos.g:14952:3: ruleEString { before(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -42175,17 +44664,17 @@ public final void rule__Package_Impl__FromGitRepoAssignment_4_1() throws Recogni // $ANTLR start "rule__Package_Impl__SpecAssignment_5_2" - // InternalRos.g:14147:1: rule__Package_Impl__SpecAssignment_5_2 : ( ruleSpecBase ) ; + // InternalRos.g:14961:1: rule__Package_Impl__SpecAssignment_5_2 : ( ruleSpecBase ) ; public final void rule__Package_Impl__SpecAssignment_5_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14151:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14152:2: ( ruleSpecBase ) + // InternalRos.g:14965:1: ( ( ruleSpecBase ) ) + // InternalRos.g:14966:2: ( ruleSpecBase ) { - // InternalRos.g:14152:2: ( ruleSpecBase ) - // InternalRos.g:14153:3: ruleSpecBase + // InternalRos.g:14966:2: ( ruleSpecBase ) + // InternalRos.g:14967:3: ruleSpecBase { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); pushFollow(FOLLOW_2); @@ -42216,17 +44705,17 @@ public final void rule__Package_Impl__SpecAssignment_5_2() throws RecognitionExc // $ANTLR start "rule__Package_Impl__SpecAssignment_5_3_1" - // InternalRos.g:14162:1: rule__Package_Impl__SpecAssignment_5_3_1 : ( ruleSpecBase ) ; + // InternalRos.g:14976:1: rule__Package_Impl__SpecAssignment_5_3_1 : ( ruleSpecBase ) ; public final void rule__Package_Impl__SpecAssignment_5_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14166:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14167:2: ( ruleSpecBase ) + // InternalRos.g:14980:1: ( ( ruleSpecBase ) ) + // InternalRos.g:14981:2: ( ruleSpecBase ) { - // InternalRos.g:14167:2: ( ruleSpecBase ) - // InternalRos.g:14168:3: ruleSpecBase + // InternalRos.g:14981:2: ( ruleSpecBase ) + // InternalRos.g:14982:3: ruleSpecBase { before(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_2); @@ -42257,17 +44746,17 @@ public final void rule__Package_Impl__SpecAssignment_5_3_1() throws RecognitionE // $ANTLR start "rule__Package_Impl__ArtifactAssignment_6_0" - // InternalRos.g:14177:1: rule__Package_Impl__ArtifactAssignment_6_0 : ( ruleArtifact ) ; + // InternalRos.g:14991:1: rule__Package_Impl__ArtifactAssignment_6_0 : ( ruleArtifact ) ; public final void rule__Package_Impl__ArtifactAssignment_6_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14181:1: ( ( ruleArtifact ) ) - // InternalRos.g:14182:2: ( ruleArtifact ) + // InternalRos.g:14995:1: ( ( ruleArtifact ) ) + // InternalRos.g:14996:2: ( ruleArtifact ) { - // InternalRos.g:14182:2: ( ruleArtifact ) - // InternalRos.g:14183:3: ruleArtifact + // InternalRos.g:14996:2: ( ruleArtifact ) + // InternalRos.g:14997:3: ruleArtifact { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); pushFollow(FOLLOW_2); @@ -42298,17 +44787,17 @@ public final void rule__Package_Impl__ArtifactAssignment_6_0() throws Recognitio // $ANTLR start "rule__Package_Impl__ArtifactAssignment_6_1_1" - // InternalRos.g:14192:1: rule__Package_Impl__ArtifactAssignment_6_1_1 : ( ruleArtifact ) ; + // InternalRos.g:15006:1: rule__Package_Impl__ArtifactAssignment_6_1_1 : ( ruleArtifact ) ; public final void rule__Package_Impl__ArtifactAssignment_6_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14196:1: ( ( ruleArtifact ) ) - // InternalRos.g:14197:2: ( ruleArtifact ) + // InternalRos.g:15010:1: ( ( ruleArtifact ) ) + // InternalRos.g:15011:2: ( ruleArtifact ) { - // InternalRos.g:14197:2: ( ruleArtifact ) - // InternalRos.g:14198:3: ruleArtifact + // InternalRos.g:15011:2: ( ruleArtifact ) + // InternalRos.g:15012:3: ruleArtifact { before(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); pushFollow(FOLLOW_2); @@ -42339,17 +44828,17 @@ public final void rule__Package_Impl__ArtifactAssignment_6_1_1() throws Recognit // $ANTLR start "rule__Artifact__NameAssignment_2" - // InternalRos.g:14207:1: rule__Artifact__NameAssignment_2 : ( ruleRosNames ) ; + // InternalRos.g:15021:1: rule__Artifact__NameAssignment_2 : ( ruleRosNames ) ; public final void rule__Artifact__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14211:1: ( ( ruleRosNames ) ) - // InternalRos.g:14212:2: ( ruleRosNames ) + // InternalRos.g:15025:1: ( ( ruleRosNames ) ) + // InternalRos.g:15026:2: ( ruleRosNames ) { - // InternalRos.g:14212:2: ( ruleRosNames ) - // InternalRos.g:14213:3: ruleRosNames + // InternalRos.g:15026:2: ( ruleRosNames ) + // InternalRos.g:15027:3: ruleRosNames { before(grammarAccess.getArtifactAccess().getNameRosNamesParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -42380,17 +44869,17 @@ public final void rule__Artifact__NameAssignment_2() throws RecognitionException // $ANTLR start "rule__Artifact__NodeAssignment_4" - // InternalRos.g:14222:1: rule__Artifact__NodeAssignment_4 : ( ruleNode ) ; + // InternalRos.g:15036:1: rule__Artifact__NodeAssignment_4 : ( ruleNode ) ; public final void rule__Artifact__NodeAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14226:1: ( ( ruleNode ) ) - // InternalRos.g:14227:2: ( ruleNode ) + // InternalRos.g:15040:1: ( ( ruleNode ) ) + // InternalRos.g:15041:2: ( ruleNode ) { - // InternalRos.g:14227:2: ( ruleNode ) - // InternalRos.g:14228:3: ruleNode + // InternalRos.g:15041:2: ( ruleNode ) + // InternalRos.g:15042:3: ruleNode { before(grammarAccess.getArtifactAccess().getNodeNodeParserRuleCall_4_0()); pushFollow(FOLLOW_2); @@ -42421,17 +44910,17 @@ public final void rule__Artifact__NodeAssignment_4() throws RecognitionException // $ANTLR start "rule__CatkinPackage__NameAssignment_2" - // InternalRos.g:14237:1: rule__CatkinPackage__NameAssignment_2 : ( ruleRosNames ) ; + // InternalRos.g:15051:1: rule__CatkinPackage__NameAssignment_2 : ( ruleRosNames ) ; public final void rule__CatkinPackage__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14241:1: ( ( ruleRosNames ) ) - // InternalRos.g:14242:2: ( ruleRosNames ) + // InternalRos.g:15055:1: ( ( ruleRosNames ) ) + // InternalRos.g:15056:2: ( ruleRosNames ) { - // InternalRos.g:14242:2: ( ruleRosNames ) - // InternalRos.g:14243:3: ruleRosNames + // InternalRos.g:15056:2: ( ruleRosNames ) + // InternalRos.g:15057:3: ruleRosNames { before(grammarAccess.getCatkinPackageAccess().getNameRosNamesParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -42462,17 +44951,17 @@ public final void rule__CatkinPackage__NameAssignment_2() throws RecognitionExce // $ANTLR start "rule__CatkinPackage__FromGitRepoAssignment_4_1" - // InternalRos.g:14252:1: rule__CatkinPackage__FromGitRepoAssignment_4_1 : ( ruleEString ) ; + // InternalRos.g:15066:1: rule__CatkinPackage__FromGitRepoAssignment_4_1 : ( ruleEString ) ; public final void rule__CatkinPackage__FromGitRepoAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14256:1: ( ( ruleEString ) ) - // InternalRos.g:14257:2: ( ruleEString ) + // InternalRos.g:15070:1: ( ( ruleEString ) ) + // InternalRos.g:15071:2: ( ruleEString ) { - // InternalRos.g:14257:2: ( ruleEString ) - // InternalRos.g:14258:3: ruleEString + // InternalRos.g:15071:2: ( ruleEString ) + // InternalRos.g:15072:3: ruleEString { before(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -42503,17 +44992,17 @@ public final void rule__CatkinPackage__FromGitRepoAssignment_4_1() throws Recogn // $ANTLR start "rule__CatkinPackage__DependencyAssignment_5_2" - // InternalRos.g:14267:1: rule__CatkinPackage__DependencyAssignment_5_2 : ( ruleDependency ) ; + // InternalRos.g:15081:1: rule__CatkinPackage__DependencyAssignment_5_2 : ( ruleDependency ) ; public final void rule__CatkinPackage__DependencyAssignment_5_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14271:1: ( ( ruleDependency ) ) - // InternalRos.g:14272:2: ( ruleDependency ) + // InternalRos.g:15085:1: ( ( ruleDependency ) ) + // InternalRos.g:15086:2: ( ruleDependency ) { - // InternalRos.g:14272:2: ( ruleDependency ) - // InternalRos.g:14273:3: ruleDependency + // InternalRos.g:15086:2: ( ruleDependency ) + // InternalRos.g:15087:3: ruleDependency { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); pushFollow(FOLLOW_2); @@ -42544,17 +45033,17 @@ public final void rule__CatkinPackage__DependencyAssignment_5_2() throws Recogni // $ANTLR start "rule__CatkinPackage__DependencyAssignment_5_3_1" - // InternalRos.g:14282:1: rule__CatkinPackage__DependencyAssignment_5_3_1 : ( ruleDependency ) ; + // InternalRos.g:15096:1: rule__CatkinPackage__DependencyAssignment_5_3_1 : ( ruleDependency ) ; public final void rule__CatkinPackage__DependencyAssignment_5_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14286:1: ( ( ruleDependency ) ) - // InternalRos.g:14287:2: ( ruleDependency ) + // InternalRos.g:15100:1: ( ( ruleDependency ) ) + // InternalRos.g:15101:2: ( ruleDependency ) { - // InternalRos.g:14287:2: ( ruleDependency ) - // InternalRos.g:14288:3: ruleDependency + // InternalRos.g:15101:2: ( ruleDependency ) + // InternalRos.g:15102:3: ruleDependency { before(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_2); @@ -42585,17 +45074,17 @@ public final void rule__CatkinPackage__DependencyAssignment_5_3_1() throws Recog // $ANTLR start "rule__CatkinPackage__SpecAssignment_6_2" - // InternalRos.g:14297:1: rule__CatkinPackage__SpecAssignment_6_2 : ( ruleSpecBase ) ; + // InternalRos.g:15111:1: rule__CatkinPackage__SpecAssignment_6_2 : ( ruleSpecBase ) ; public final void rule__CatkinPackage__SpecAssignment_6_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14301:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14302:2: ( ruleSpecBase ) + // InternalRos.g:15115:1: ( ( ruleSpecBase ) ) + // InternalRos.g:15116:2: ( ruleSpecBase ) { - // InternalRos.g:14302:2: ( ruleSpecBase ) - // InternalRos.g:14303:3: ruleSpecBase + // InternalRos.g:15116:2: ( ruleSpecBase ) + // InternalRos.g:15117:3: ruleSpecBase { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); pushFollow(FOLLOW_2); @@ -42626,17 +45115,17 @@ public final void rule__CatkinPackage__SpecAssignment_6_2() throws RecognitionEx // $ANTLR start "rule__CatkinPackage__SpecAssignment_6_3_1" - // InternalRos.g:14312:1: rule__CatkinPackage__SpecAssignment_6_3_1 : ( ruleSpecBase ) ; + // InternalRos.g:15126:1: rule__CatkinPackage__SpecAssignment_6_3_1 : ( ruleSpecBase ) ; public final void rule__CatkinPackage__SpecAssignment_6_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14316:1: ( ( ruleSpecBase ) ) - // InternalRos.g:14317:2: ( ruleSpecBase ) + // InternalRos.g:15130:1: ( ( ruleSpecBase ) ) + // InternalRos.g:15131:2: ( ruleSpecBase ) { - // InternalRos.g:14317:2: ( ruleSpecBase ) - // InternalRos.g:14318:3: ruleSpecBase + // InternalRos.g:15131:2: ( ruleSpecBase ) + // InternalRos.g:15132:3: ruleSpecBase { before(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); pushFollow(FOLLOW_2); @@ -42667,17 +45156,17 @@ public final void rule__CatkinPackage__SpecAssignment_6_3_1() throws Recognition // $ANTLR start "rule__CatkinPackage__ArtifactAssignment_7_0" - // InternalRos.g:14327:1: rule__CatkinPackage__ArtifactAssignment_7_0 : ( ruleArtifact ) ; + // InternalRos.g:15141:1: rule__CatkinPackage__ArtifactAssignment_7_0 : ( ruleArtifact ) ; public final void rule__CatkinPackage__ArtifactAssignment_7_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14331:1: ( ( ruleArtifact ) ) - // InternalRos.g:14332:2: ( ruleArtifact ) + // InternalRos.g:15145:1: ( ( ruleArtifact ) ) + // InternalRos.g:15146:2: ( ruleArtifact ) { - // InternalRos.g:14332:2: ( ruleArtifact ) - // InternalRos.g:14333:3: ruleArtifact + // InternalRos.g:15146:2: ( ruleArtifact ) + // InternalRos.g:15147:3: ruleArtifact { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); pushFollow(FOLLOW_2); @@ -42708,17 +45197,17 @@ public final void rule__CatkinPackage__ArtifactAssignment_7_0() throws Recogniti // $ANTLR start "rule__CatkinPackage__ArtifactAssignment_7_1_1" - // InternalRos.g:14342:1: rule__CatkinPackage__ArtifactAssignment_7_1_1 : ( ruleArtifact ) ; + // InternalRos.g:15156:1: rule__CatkinPackage__ArtifactAssignment_7_1_1 : ( ruleArtifact ) ; public final void rule__CatkinPackage__ArtifactAssignment_7_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14346:1: ( ( ruleArtifact ) ) - // InternalRos.g:14347:2: ( ruleArtifact ) + // InternalRos.g:15160:1: ( ( ruleArtifact ) ) + // InternalRos.g:15161:2: ( ruleArtifact ) { - // InternalRos.g:14347:2: ( ruleArtifact ) - // InternalRos.g:14348:3: ruleArtifact + // InternalRos.g:15161:2: ( ruleArtifact ) + // InternalRos.g:15162:3: ruleArtifact { before(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); pushFollow(FOLLOW_2); @@ -42748,18 +45237,346 @@ public final void rule__CatkinPackage__ArtifactAssignment_7_1_1() throws Recogni // $ANTLR end "rule__CatkinPackage__ArtifactAssignment_7_1_1" + // $ANTLR start "rule__AmentPackage__NameAssignment_2" + // InternalRos.g:15171:1: rule__AmentPackage__NameAssignment_2 : ( ruleRosNames ) ; + public final void rule__AmentPackage__NameAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15175:1: ( ( ruleRosNames ) ) + // InternalRos.g:15176:2: ( ruleRosNames ) + { + // InternalRos.g:15176:2: ( ruleRosNames ) + // InternalRos.g:15177:3: ruleRosNames + { + before(grammarAccess.getAmentPackageAccess().getNameRosNamesParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleRosNames(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getNameRosNamesParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__NameAssignment_2" + + + // $ANTLR start "rule__AmentPackage__FromGitRepoAssignment_4_1" + // InternalRos.g:15186:1: rule__AmentPackage__FromGitRepoAssignment_4_1 : ( ruleEString ) ; + public final void rule__AmentPackage__FromGitRepoAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15190:1: ( ( ruleEString ) ) + // InternalRos.g:15191:2: ( ruleEString ) + { + // InternalRos.g:15191:2: ( ruleEString ) + // InternalRos.g:15192:3: ruleEString + { + before(grammarAccess.getAmentPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); + pushFollow(FOLLOW_2); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__FromGitRepoAssignment_4_1" + + + // $ANTLR start "rule__AmentPackage__DependencyAssignment_5_2" + // InternalRos.g:15201:1: rule__AmentPackage__DependencyAssignment_5_2 : ( ruleDependency ) ; + public final void rule__AmentPackage__DependencyAssignment_5_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15205:1: ( ( ruleDependency ) ) + // InternalRos.g:15206:2: ( ruleDependency ) + { + // InternalRos.g:15206:2: ( ruleDependency ) + // InternalRos.g:15207:3: ruleDependency + { + before(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); + pushFollow(FOLLOW_2); + ruleDependency(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__DependencyAssignment_5_2" + + + // $ANTLR start "rule__AmentPackage__DependencyAssignment_5_3_1" + // InternalRos.g:15216:1: rule__AmentPackage__DependencyAssignment_5_3_1 : ( ruleDependency ) ; + public final void rule__AmentPackage__DependencyAssignment_5_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15220:1: ( ( ruleDependency ) ) + // InternalRos.g:15221:2: ( ruleDependency ) + { + // InternalRos.g:15221:2: ( ruleDependency ) + // InternalRos.g:15222:3: ruleDependency + { + before(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); + pushFollow(FOLLOW_2); + ruleDependency(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__DependencyAssignment_5_3_1" + + + // $ANTLR start "rule__AmentPackage__SpecAssignment_6_2" + // InternalRos.g:15231:1: rule__AmentPackage__SpecAssignment_6_2 : ( ruleSpecBase ) ; + public final void rule__AmentPackage__SpecAssignment_6_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15235:1: ( ( ruleSpecBase ) ) + // InternalRos.g:15236:2: ( ruleSpecBase ) + { + // InternalRos.g:15236:2: ( ruleSpecBase ) + // InternalRos.g:15237:3: ruleSpecBase + { + before(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); + pushFollow(FOLLOW_2); + ruleSpecBase(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__SpecAssignment_6_2" + + + // $ANTLR start "rule__AmentPackage__SpecAssignment_6_3_1" + // InternalRos.g:15246:1: rule__AmentPackage__SpecAssignment_6_3_1 : ( ruleSpecBase ) ; + public final void rule__AmentPackage__SpecAssignment_6_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15250:1: ( ( ruleSpecBase ) ) + // InternalRos.g:15251:2: ( ruleSpecBase ) + { + // InternalRos.g:15251:2: ( ruleSpecBase ) + // InternalRos.g:15252:3: ruleSpecBase + { + before(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); + pushFollow(FOLLOW_2); + ruleSpecBase(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__SpecAssignment_6_3_1" + + + // $ANTLR start "rule__AmentPackage__ArtifactAssignment_7_0" + // InternalRos.g:15261:1: rule__AmentPackage__ArtifactAssignment_7_0 : ( ruleArtifact ) ; + public final void rule__AmentPackage__ArtifactAssignment_7_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15265:1: ( ( ruleArtifact ) ) + // InternalRos.g:15266:2: ( ruleArtifact ) + { + // InternalRos.g:15266:2: ( ruleArtifact ) + // InternalRos.g:15267:3: ruleArtifact + { + before(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); + pushFollow(FOLLOW_2); + ruleArtifact(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__ArtifactAssignment_7_0" + + + // $ANTLR start "rule__AmentPackage__ArtifactAssignment_7_1_1" + // InternalRos.g:15276:1: rule__AmentPackage__ArtifactAssignment_7_1_1 : ( ruleArtifact ) ; + public final void rule__AmentPackage__ArtifactAssignment_7_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalRos.g:15280:1: ( ( ruleArtifact ) ) + // InternalRos.g:15281:2: ( ruleArtifact ) + { + // InternalRos.g:15281:2: ( ruleArtifact ) + // InternalRos.g:15282:3: ruleArtifact + { + before(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); + pushFollow(FOLLOW_2); + ruleArtifact(); + + state._fsp--; + + after(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AmentPackage__ArtifactAssignment_7_1_1" + + // $ANTLR start "rule__ServiceSpec__NameAssignment_2" - // InternalRos.g:14357:1: rule__ServiceSpec__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:15291:1: rule__ServiceSpec__NameAssignment_2 : ( ruleEString ) ; public final void rule__ServiceSpec__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14361:1: ( ( ruleEString ) ) - // InternalRos.g:14362:2: ( ruleEString ) + // InternalRos.g:15295:1: ( ( ruleEString ) ) + // InternalRos.g:15296:2: ( ruleEString ) { - // InternalRos.g:14362:2: ( ruleEString ) - // InternalRos.g:14363:3: ruleEString + // InternalRos.g:15296:2: ( ruleEString ) + // InternalRos.g:15297:3: ruleEString { before(grammarAccess.getServiceSpecAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -42790,17 +45607,17 @@ public final void rule__ServiceSpec__NameAssignment_2() throws RecognitionExcept // $ANTLR start "rule__ServiceSpec__RequestAssignment_4_1" - // InternalRos.g:14372:1: rule__ServiceSpec__RequestAssignment_4_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:15306:1: rule__ServiceSpec__RequestAssignment_4_1 : ( ruleMessageDefinition ) ; public final void rule__ServiceSpec__RequestAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14376:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14377:2: ( ruleMessageDefinition ) + // InternalRos.g:15310:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:15311:2: ( ruleMessageDefinition ) { - // InternalRos.g:14377:2: ( ruleMessageDefinition ) - // InternalRos.g:14378:3: ruleMessageDefinition + // InternalRos.g:15311:2: ( ruleMessageDefinition ) + // InternalRos.g:15312:3: ruleMessageDefinition { before(grammarAccess.getServiceSpecAccess().getRequestMessageDefinitionParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -42831,17 +45648,17 @@ public final void rule__ServiceSpec__RequestAssignment_4_1() throws RecognitionE // $ANTLR start "rule__ServiceSpec__ResponseAssignment_5_1" - // InternalRos.g:14387:1: rule__ServiceSpec__ResponseAssignment_5_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:15321:1: rule__ServiceSpec__ResponseAssignment_5_1 : ( ruleMessageDefinition ) ; public final void rule__ServiceSpec__ResponseAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14391:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14392:2: ( ruleMessageDefinition ) + // InternalRos.g:15325:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:15326:2: ( ruleMessageDefinition ) { - // InternalRos.g:14392:2: ( ruleMessageDefinition ) - // InternalRos.g:14393:3: ruleMessageDefinition + // InternalRos.g:15326:2: ( ruleMessageDefinition ) + // InternalRos.g:15327:3: ruleMessageDefinition { before(grammarAccess.getServiceSpecAccess().getResponseMessageDefinitionParserRuleCall_5_1_0()); pushFollow(FOLLOW_2); @@ -42872,21 +45689,21 @@ public final void rule__ServiceSpec__ResponseAssignment_5_1() throws Recognition // $ANTLR start "rule__TopicSpec__NameAssignment_2" - // InternalRos.g:14402:1: rule__TopicSpec__NameAssignment_2 : ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ; + // InternalRos.g:15336:1: rule__TopicSpec__NameAssignment_2 : ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ; public final void rule__TopicSpec__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14406:1: ( ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ) - // InternalRos.g:14407:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) + // InternalRos.g:15340:1: ( ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) ) + // InternalRos.g:15341:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) { - // InternalRos.g:14407:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) - // InternalRos.g:14408:3: ( rule__TopicSpec__NameAlternatives_2_0 ) + // InternalRos.g:15341:2: ( ( rule__TopicSpec__NameAlternatives_2_0 ) ) + // InternalRos.g:15342:3: ( rule__TopicSpec__NameAlternatives_2_0 ) { before(grammarAccess.getTopicSpecAccess().getNameAlternatives_2_0()); - // InternalRos.g:14409:3: ( rule__TopicSpec__NameAlternatives_2_0 ) - // InternalRos.g:14409:4: rule__TopicSpec__NameAlternatives_2_0 + // InternalRos.g:15343:3: ( rule__TopicSpec__NameAlternatives_2_0 ) + // InternalRos.g:15343:4: rule__TopicSpec__NameAlternatives_2_0 { pushFollow(FOLLOW_2); rule__TopicSpec__NameAlternatives_2_0(); @@ -42919,17 +45736,17 @@ public final void rule__TopicSpec__NameAssignment_2() throws RecognitionExceptio // $ANTLR start "rule__TopicSpec__MessageAssignment_4_1" - // InternalRos.g:14417:1: rule__TopicSpec__MessageAssignment_4_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:15351:1: rule__TopicSpec__MessageAssignment_4_1 : ( ruleMessageDefinition ) ; public final void rule__TopicSpec__MessageAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14421:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14422:2: ( ruleMessageDefinition ) + // InternalRos.g:15355:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:15356:2: ( ruleMessageDefinition ) { - // InternalRos.g:14422:2: ( ruleMessageDefinition ) - // InternalRos.g:14423:3: ruleMessageDefinition + // InternalRos.g:15356:2: ( ruleMessageDefinition ) + // InternalRos.g:15357:3: ruleMessageDefinition { before(grammarAccess.getTopicSpecAccess().getMessageMessageDefinitionParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -42960,17 +45777,17 @@ public final void rule__TopicSpec__MessageAssignment_4_1() throws RecognitionExc // $ANTLR start "rule__ActionSpec__NameAssignment_2" - // InternalRos.g:14432:1: rule__ActionSpec__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:15366:1: rule__ActionSpec__NameAssignment_2 : ( ruleEString ) ; public final void rule__ActionSpec__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14436:1: ( ( ruleEString ) ) - // InternalRos.g:14437:2: ( ruleEString ) + // InternalRos.g:15370:1: ( ( ruleEString ) ) + // InternalRos.g:15371:2: ( ruleEString ) { - // InternalRos.g:14437:2: ( ruleEString ) - // InternalRos.g:14438:3: ruleEString + // InternalRos.g:15371:2: ( ruleEString ) + // InternalRos.g:15372:3: ruleEString { before(grammarAccess.getActionSpecAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -43001,17 +45818,17 @@ public final void rule__ActionSpec__NameAssignment_2() throws RecognitionExcepti // $ANTLR start "rule__ActionSpec__GoalAssignment_4_1" - // InternalRos.g:14447:1: rule__ActionSpec__GoalAssignment_4_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:15381:1: rule__ActionSpec__GoalAssignment_4_1 : ( ruleMessageDefinition ) ; public final void rule__ActionSpec__GoalAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14451:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14452:2: ( ruleMessageDefinition ) + // InternalRos.g:15385:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:15386:2: ( ruleMessageDefinition ) { - // InternalRos.g:14452:2: ( ruleMessageDefinition ) - // InternalRos.g:14453:3: ruleMessageDefinition + // InternalRos.g:15386:2: ( ruleMessageDefinition ) + // InternalRos.g:15387:3: ruleMessageDefinition { before(grammarAccess.getActionSpecAccess().getGoalMessageDefinitionParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -43042,17 +45859,17 @@ public final void rule__ActionSpec__GoalAssignment_4_1() throws RecognitionExcep // $ANTLR start "rule__ActionSpec__ResultAssignment_5_1" - // InternalRos.g:14462:1: rule__ActionSpec__ResultAssignment_5_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:15396:1: rule__ActionSpec__ResultAssignment_5_1 : ( ruleMessageDefinition ) ; public final void rule__ActionSpec__ResultAssignment_5_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14466:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14467:2: ( ruleMessageDefinition ) + // InternalRos.g:15400:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:15401:2: ( ruleMessageDefinition ) { - // InternalRos.g:14467:2: ( ruleMessageDefinition ) - // InternalRos.g:14468:3: ruleMessageDefinition + // InternalRos.g:15401:2: ( ruleMessageDefinition ) + // InternalRos.g:15402:3: ruleMessageDefinition { before(grammarAccess.getActionSpecAccess().getResultMessageDefinitionParserRuleCall_5_1_0()); pushFollow(FOLLOW_2); @@ -43083,17 +45900,17 @@ public final void rule__ActionSpec__ResultAssignment_5_1() throws RecognitionExc // $ANTLR start "rule__ActionSpec__FeedbackAssignment_6_1" - // InternalRos.g:14477:1: rule__ActionSpec__FeedbackAssignment_6_1 : ( ruleMessageDefinition ) ; + // InternalRos.g:15411:1: rule__ActionSpec__FeedbackAssignment_6_1 : ( ruleMessageDefinition ) ; public final void rule__ActionSpec__FeedbackAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14481:1: ( ( ruleMessageDefinition ) ) - // InternalRos.g:14482:2: ( ruleMessageDefinition ) + // InternalRos.g:15415:1: ( ( ruleMessageDefinition ) ) + // InternalRos.g:15416:2: ( ruleMessageDefinition ) { - // InternalRos.g:14482:2: ( ruleMessageDefinition ) - // InternalRos.g:14483:3: ruleMessageDefinition + // InternalRos.g:15416:2: ( ruleMessageDefinition ) + // InternalRos.g:15417:3: ruleMessageDefinition { before(grammarAccess.getActionSpecAccess().getFeedbackMessageDefinitionParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -43124,17 +45941,17 @@ public final void rule__ActionSpec__FeedbackAssignment_6_1() throws RecognitionE // $ANTLR start "rule__MessageDefinition__MessagePartAssignment_2_0" - // InternalRos.g:14492:1: rule__MessageDefinition__MessagePartAssignment_2_0 : ( ruleMessagePart ) ; + // InternalRos.g:15426:1: rule__MessageDefinition__MessagePartAssignment_2_0 : ( ruleMessagePart ) ; public final void rule__MessageDefinition__MessagePartAssignment_2_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14496:1: ( ( ruleMessagePart ) ) - // InternalRos.g:14497:2: ( ruleMessagePart ) + // InternalRos.g:15430:1: ( ( ruleMessagePart ) ) + // InternalRos.g:15431:2: ( ruleMessagePart ) { - // InternalRos.g:14497:2: ( ruleMessagePart ) - // InternalRos.g:14498:3: ruleMessagePart + // InternalRos.g:15431:2: ( ruleMessagePart ) + // InternalRos.g:15432:3: ruleMessagePart { before(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_0_0()); pushFollow(FOLLOW_2); @@ -43165,17 +45982,17 @@ public final void rule__MessageDefinition__MessagePartAssignment_2_0() throws Re // $ANTLR start "rule__MessageDefinition__MessagePartAssignment_2_1" - // InternalRos.g:14507:1: rule__MessageDefinition__MessagePartAssignment_2_1 : ( ruleMessagePart ) ; + // InternalRos.g:15441:1: rule__MessageDefinition__MessagePartAssignment_2_1 : ( ruleMessagePart ) ; public final void rule__MessageDefinition__MessagePartAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14511:1: ( ( ruleMessagePart ) ) - // InternalRos.g:14512:2: ( ruleMessagePart ) + // InternalRos.g:15445:1: ( ( ruleMessagePart ) ) + // InternalRos.g:15446:2: ( ruleMessagePart ) { - // InternalRos.g:14512:2: ( ruleMessagePart ) - // InternalRos.g:14513:3: ruleMessagePart + // InternalRos.g:15446:2: ( ruleMessagePart ) + // InternalRos.g:15447:3: ruleMessagePart { before(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -43206,17 +46023,17 @@ public final void rule__MessageDefinition__MessagePartAssignment_2_1() throws Re // $ANTLR start "rule__Node__NameAssignment_3" - // InternalRos.g:14522:1: rule__Node__NameAssignment_3 : ( ruleRosNames ) ; + // InternalRos.g:15456:1: rule__Node__NameAssignment_3 : ( ruleRosNames ) ; public final void rule__Node__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14526:1: ( ( ruleRosNames ) ) - // InternalRos.g:14527:2: ( ruleRosNames ) + // InternalRos.g:15460:1: ( ( ruleRosNames ) ) + // InternalRos.g:15461:2: ( ruleRosNames ) { - // InternalRos.g:14527:2: ( ruleRosNames ) - // InternalRos.g:14528:3: ruleRosNames + // InternalRos.g:15461:2: ( ruleRosNames ) + // InternalRos.g:15462:3: ruleRosNames { before(grammarAccess.getNodeAccess().getNameRosNamesParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43247,17 +46064,17 @@ public final void rule__Node__NameAssignment_3() throws RecognitionException { // $ANTLR start "rule__Node__ServiceserverAssignment_4_2" - // InternalRos.g:14537:1: rule__Node__ServiceserverAssignment_4_2 : ( ruleServiceServer ) ; + // InternalRos.g:15471:1: rule__Node__ServiceserverAssignment_4_2 : ( ruleServiceServer ) ; public final void rule__Node__ServiceserverAssignment_4_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14541:1: ( ( ruleServiceServer ) ) - // InternalRos.g:14542:2: ( ruleServiceServer ) + // InternalRos.g:15475:1: ( ( ruleServiceServer ) ) + // InternalRos.g:15476:2: ( ruleServiceServer ) { - // InternalRos.g:14542:2: ( ruleServiceServer ) - // InternalRos.g:14543:3: ruleServiceServer + // InternalRos.g:15476:2: ( ruleServiceServer ) + // InternalRos.g:15477:3: ruleServiceServer { before(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_2_0()); pushFollow(FOLLOW_2); @@ -43288,17 +46105,17 @@ public final void rule__Node__ServiceserverAssignment_4_2() throws RecognitionEx // $ANTLR start "rule__Node__ServiceserverAssignment_4_3_1" - // InternalRos.g:14552:1: rule__Node__ServiceserverAssignment_4_3_1 : ( ruleServiceServer ) ; + // InternalRos.g:15486:1: rule__Node__ServiceserverAssignment_4_3_1 : ( ruleServiceServer ) ; public final void rule__Node__ServiceserverAssignment_4_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14556:1: ( ( ruleServiceServer ) ) - // InternalRos.g:14557:2: ( ruleServiceServer ) + // InternalRos.g:15490:1: ( ( ruleServiceServer ) ) + // InternalRos.g:15491:2: ( ruleServiceServer ) { - // InternalRos.g:14557:2: ( ruleServiceServer ) - // InternalRos.g:14558:3: ruleServiceServer + // InternalRos.g:15491:2: ( ruleServiceServer ) + // InternalRos.g:15492:3: ruleServiceServer { before(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_3_1_0()); pushFollow(FOLLOW_2); @@ -43329,17 +46146,17 @@ public final void rule__Node__ServiceserverAssignment_4_3_1() throws Recognition // $ANTLR start "rule__Node__PublisherAssignment_5_2" - // InternalRos.g:14567:1: rule__Node__PublisherAssignment_5_2 : ( rulePublisher ) ; + // InternalRos.g:15501:1: rule__Node__PublisherAssignment_5_2 : ( rulePublisher ) ; public final void rule__Node__PublisherAssignment_5_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14571:1: ( ( rulePublisher ) ) - // InternalRos.g:14572:2: ( rulePublisher ) + // InternalRos.g:15505:1: ( ( rulePublisher ) ) + // InternalRos.g:15506:2: ( rulePublisher ) { - // InternalRos.g:14572:2: ( rulePublisher ) - // InternalRos.g:14573:3: rulePublisher + // InternalRos.g:15506:2: ( rulePublisher ) + // InternalRos.g:15507:3: rulePublisher { before(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_2_0()); pushFollow(FOLLOW_2); @@ -43370,17 +46187,17 @@ public final void rule__Node__PublisherAssignment_5_2() throws RecognitionExcept // $ANTLR start "rule__Node__PublisherAssignment_5_3_1" - // InternalRos.g:14582:1: rule__Node__PublisherAssignment_5_3_1 : ( rulePublisher ) ; + // InternalRos.g:15516:1: rule__Node__PublisherAssignment_5_3_1 : ( rulePublisher ) ; public final void rule__Node__PublisherAssignment_5_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14586:1: ( ( rulePublisher ) ) - // InternalRos.g:14587:2: ( rulePublisher ) + // InternalRos.g:15520:1: ( ( rulePublisher ) ) + // InternalRos.g:15521:2: ( rulePublisher ) { - // InternalRos.g:14587:2: ( rulePublisher ) - // InternalRos.g:14588:3: rulePublisher + // InternalRos.g:15521:2: ( rulePublisher ) + // InternalRos.g:15522:3: rulePublisher { before(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_3_1_0()); pushFollow(FOLLOW_2); @@ -43411,17 +46228,17 @@ public final void rule__Node__PublisherAssignment_5_3_1() throws RecognitionExce // $ANTLR start "rule__Node__SubscriberAssignment_6_2" - // InternalRos.g:14597:1: rule__Node__SubscriberAssignment_6_2 : ( ruleSubscriber ) ; + // InternalRos.g:15531:1: rule__Node__SubscriberAssignment_6_2 : ( ruleSubscriber ) ; public final void rule__Node__SubscriberAssignment_6_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14601:1: ( ( ruleSubscriber ) ) - // InternalRos.g:14602:2: ( ruleSubscriber ) + // InternalRos.g:15535:1: ( ( ruleSubscriber ) ) + // InternalRos.g:15536:2: ( ruleSubscriber ) { - // InternalRos.g:14602:2: ( ruleSubscriber ) - // InternalRos.g:14603:3: ruleSubscriber + // InternalRos.g:15536:2: ( ruleSubscriber ) + // InternalRos.g:15537:3: ruleSubscriber { before(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_2_0()); pushFollow(FOLLOW_2); @@ -43452,17 +46269,17 @@ public final void rule__Node__SubscriberAssignment_6_2() throws RecognitionExcep // $ANTLR start "rule__Node__SubscriberAssignment_6_3_1" - // InternalRos.g:14612:1: rule__Node__SubscriberAssignment_6_3_1 : ( ruleSubscriber ) ; + // InternalRos.g:15546:1: rule__Node__SubscriberAssignment_6_3_1 : ( ruleSubscriber ) ; public final void rule__Node__SubscriberAssignment_6_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14616:1: ( ( ruleSubscriber ) ) - // InternalRos.g:14617:2: ( ruleSubscriber ) + // InternalRos.g:15550:1: ( ( ruleSubscriber ) ) + // InternalRos.g:15551:2: ( ruleSubscriber ) { - // InternalRos.g:14617:2: ( ruleSubscriber ) - // InternalRos.g:14618:3: ruleSubscriber + // InternalRos.g:15551:2: ( ruleSubscriber ) + // InternalRos.g:15552:3: ruleSubscriber { before(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_3_1_0()); pushFollow(FOLLOW_2); @@ -43493,17 +46310,17 @@ public final void rule__Node__SubscriberAssignment_6_3_1() throws RecognitionExc // $ANTLR start "rule__Node__ServiceclientAssignment_7_2" - // InternalRos.g:14627:1: rule__Node__ServiceclientAssignment_7_2 : ( ruleServiceClient ) ; + // InternalRos.g:15561:1: rule__Node__ServiceclientAssignment_7_2 : ( ruleServiceClient ) ; public final void rule__Node__ServiceclientAssignment_7_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14631:1: ( ( ruleServiceClient ) ) - // InternalRos.g:14632:2: ( ruleServiceClient ) + // InternalRos.g:15565:1: ( ( ruleServiceClient ) ) + // InternalRos.g:15566:2: ( ruleServiceClient ) { - // InternalRos.g:14632:2: ( ruleServiceClient ) - // InternalRos.g:14633:3: ruleServiceClient + // InternalRos.g:15566:2: ( ruleServiceClient ) + // InternalRos.g:15567:3: ruleServiceClient { before(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_2_0()); pushFollow(FOLLOW_2); @@ -43534,17 +46351,17 @@ public final void rule__Node__ServiceclientAssignment_7_2() throws RecognitionEx // $ANTLR start "rule__Node__ServiceclientAssignment_7_3_1" - // InternalRos.g:14642:1: rule__Node__ServiceclientAssignment_7_3_1 : ( ruleServiceClient ) ; + // InternalRos.g:15576:1: rule__Node__ServiceclientAssignment_7_3_1 : ( ruleServiceClient ) ; public final void rule__Node__ServiceclientAssignment_7_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14646:1: ( ( ruleServiceClient ) ) - // InternalRos.g:14647:2: ( ruleServiceClient ) + // InternalRos.g:15580:1: ( ( ruleServiceClient ) ) + // InternalRos.g:15581:2: ( ruleServiceClient ) { - // InternalRos.g:14647:2: ( ruleServiceClient ) - // InternalRos.g:14648:3: ruleServiceClient + // InternalRos.g:15581:2: ( ruleServiceClient ) + // InternalRos.g:15582:3: ruleServiceClient { before(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_3_1_0()); pushFollow(FOLLOW_2); @@ -43575,17 +46392,17 @@ public final void rule__Node__ServiceclientAssignment_7_3_1() throws Recognition // $ANTLR start "rule__Node__ActionserverAssignment_8_2" - // InternalRos.g:14657:1: rule__Node__ActionserverAssignment_8_2 : ( ruleActionServer ) ; + // InternalRos.g:15591:1: rule__Node__ActionserverAssignment_8_2 : ( ruleActionServer ) ; public final void rule__Node__ActionserverAssignment_8_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14661:1: ( ( ruleActionServer ) ) - // InternalRos.g:14662:2: ( ruleActionServer ) + // InternalRos.g:15595:1: ( ( ruleActionServer ) ) + // InternalRos.g:15596:2: ( ruleActionServer ) { - // InternalRos.g:14662:2: ( ruleActionServer ) - // InternalRos.g:14663:3: ruleActionServer + // InternalRos.g:15596:2: ( ruleActionServer ) + // InternalRos.g:15597:3: ruleActionServer { before(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_2_0()); pushFollow(FOLLOW_2); @@ -43616,17 +46433,17 @@ public final void rule__Node__ActionserverAssignment_8_2() throws RecognitionExc // $ANTLR start "rule__Node__ActionserverAssignment_8_3_1" - // InternalRos.g:14672:1: rule__Node__ActionserverAssignment_8_3_1 : ( ruleActionServer ) ; + // InternalRos.g:15606:1: rule__Node__ActionserverAssignment_8_3_1 : ( ruleActionServer ) ; public final void rule__Node__ActionserverAssignment_8_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14676:1: ( ( ruleActionServer ) ) - // InternalRos.g:14677:2: ( ruleActionServer ) + // InternalRos.g:15610:1: ( ( ruleActionServer ) ) + // InternalRos.g:15611:2: ( ruleActionServer ) { - // InternalRos.g:14677:2: ( ruleActionServer ) - // InternalRos.g:14678:3: ruleActionServer + // InternalRos.g:15611:2: ( ruleActionServer ) + // InternalRos.g:15612:3: ruleActionServer { before(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_3_1_0()); pushFollow(FOLLOW_2); @@ -43657,17 +46474,17 @@ public final void rule__Node__ActionserverAssignment_8_3_1() throws RecognitionE // $ANTLR start "rule__Node__ActionclientAssignment_9_2" - // InternalRos.g:14687:1: rule__Node__ActionclientAssignment_9_2 : ( ruleActionClient ) ; + // InternalRos.g:15621:1: rule__Node__ActionclientAssignment_9_2 : ( ruleActionClient ) ; public final void rule__Node__ActionclientAssignment_9_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14691:1: ( ( ruleActionClient ) ) - // InternalRos.g:14692:2: ( ruleActionClient ) + // InternalRos.g:15625:1: ( ( ruleActionClient ) ) + // InternalRos.g:15626:2: ( ruleActionClient ) { - // InternalRos.g:14692:2: ( ruleActionClient ) - // InternalRos.g:14693:3: ruleActionClient + // InternalRos.g:15626:2: ( ruleActionClient ) + // InternalRos.g:15627:3: ruleActionClient { before(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_2_0()); pushFollow(FOLLOW_2); @@ -43698,17 +46515,17 @@ public final void rule__Node__ActionclientAssignment_9_2() throws RecognitionExc // $ANTLR start "rule__Node__ActionclientAssignment_9_3_1" - // InternalRos.g:14702:1: rule__Node__ActionclientAssignment_9_3_1 : ( ruleActionClient ) ; + // InternalRos.g:15636:1: rule__Node__ActionclientAssignment_9_3_1 : ( ruleActionClient ) ; public final void rule__Node__ActionclientAssignment_9_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14706:1: ( ( ruleActionClient ) ) - // InternalRos.g:14707:2: ( ruleActionClient ) + // InternalRos.g:15640:1: ( ( ruleActionClient ) ) + // InternalRos.g:15641:2: ( ruleActionClient ) { - // InternalRos.g:14707:2: ( ruleActionClient ) - // InternalRos.g:14708:3: ruleActionClient + // InternalRos.g:15641:2: ( ruleActionClient ) + // InternalRos.g:15642:3: ruleActionClient { before(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_3_1_0()); pushFollow(FOLLOW_2); @@ -43739,17 +46556,17 @@ public final void rule__Node__ActionclientAssignment_9_3_1() throws RecognitionE // $ANTLR start "rule__Node__ParameterAssignment_10_2" - // InternalRos.g:14717:1: rule__Node__ParameterAssignment_10_2 : ( ruleParameter ) ; + // InternalRos.g:15651:1: rule__Node__ParameterAssignment_10_2 : ( ruleParameter ) ; public final void rule__Node__ParameterAssignment_10_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14721:1: ( ( ruleParameter ) ) - // InternalRos.g:14722:2: ( ruleParameter ) + // InternalRos.g:15655:1: ( ( ruleParameter ) ) + // InternalRos.g:15656:2: ( ruleParameter ) { - // InternalRos.g:14722:2: ( ruleParameter ) - // InternalRos.g:14723:3: ruleParameter + // InternalRos.g:15656:2: ( ruleParameter ) + // InternalRos.g:15657:3: ruleParameter { before(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_2_0()); pushFollow(FOLLOW_2); @@ -43780,17 +46597,17 @@ public final void rule__Node__ParameterAssignment_10_2() throws RecognitionExcep // $ANTLR start "rule__Node__ParameterAssignment_10_3_1" - // InternalRos.g:14732:1: rule__Node__ParameterAssignment_10_3_1 : ( ruleParameter ) ; + // InternalRos.g:15666:1: rule__Node__ParameterAssignment_10_3_1 : ( ruleParameter ) ; public final void rule__Node__ParameterAssignment_10_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14736:1: ( ( ruleParameter ) ) - // InternalRos.g:14737:2: ( ruleParameter ) + // InternalRos.g:15670:1: ( ( ruleParameter ) ) + // InternalRos.g:15671:2: ( ruleParameter ) { - // InternalRos.g:14737:2: ( ruleParameter ) - // InternalRos.g:14738:3: ruleParameter + // InternalRos.g:15671:2: ( ruleParameter ) + // InternalRos.g:15672:3: ruleParameter { before(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_3_1_0()); pushFollow(FOLLOW_2); @@ -43821,17 +46638,17 @@ public final void rule__Node__ParameterAssignment_10_3_1() throws RecognitionExc // $ANTLR start "rule__ServiceServer__NameAssignment_3" - // InternalRos.g:14747:1: rule__ServiceServer__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:15681:1: rule__ServiceServer__NameAssignment_3 : ( ruleEString ) ; public final void rule__ServiceServer__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14751:1: ( ( ruleEString ) ) - // InternalRos.g:14752:2: ( ruleEString ) + // InternalRos.g:15685:1: ( ( ruleEString ) ) + // InternalRos.g:15686:2: ( ruleEString ) { - // InternalRos.g:14752:2: ( ruleEString ) - // InternalRos.g:14753:3: ruleEString + // InternalRos.g:15686:2: ( ruleEString ) + // InternalRos.g:15687:3: ruleEString { before(grammarAccess.getServiceServerAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43862,21 +46679,21 @@ public final void rule__ServiceServer__NameAssignment_3() throws RecognitionExce // $ANTLR start "rule__ServiceServer__ServiceAssignment_5" - // InternalRos.g:14762:1: rule__ServiceServer__ServiceAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:15696:1: rule__ServiceServer__ServiceAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ServiceServer__ServiceAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14766:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14767:2: ( ( ruleEString ) ) + // InternalRos.g:15700:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15701:2: ( ( ruleEString ) ) { - // InternalRos.g:14767:2: ( ( ruleEString ) ) - // InternalRos.g:14768:3: ( ruleEString ) + // InternalRos.g:15701:2: ( ( ruleEString ) ) + // InternalRos.g:15702:3: ( ruleEString ) { before(grammarAccess.getServiceServerAccess().getServiceServiceSpecCrossReference_5_0()); - // InternalRos.g:14769:3: ( ruleEString ) - // InternalRos.g:14770:4: ruleEString + // InternalRos.g:15703:3: ( ruleEString ) + // InternalRos.g:15704:4: ruleEString { before(grammarAccess.getServiceServerAccess().getServiceServiceSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -43911,17 +46728,17 @@ public final void rule__ServiceServer__ServiceAssignment_5() throws RecognitionE // $ANTLR start "rule__ServiceServer__NamespaceAssignment_6_1" - // InternalRos.g:14781:1: rule__ServiceServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:15715:1: rule__ServiceServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ServiceServer__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14785:1: ( ( ruleNamespace ) ) - // InternalRos.g:14786:2: ( ruleNamespace ) + // InternalRos.g:15719:1: ( ( ruleNamespace ) ) + // InternalRos.g:15720:2: ( ruleNamespace ) { - // InternalRos.g:14786:2: ( ruleNamespace ) - // InternalRos.g:14787:3: ruleNamespace + // InternalRos.g:15720:2: ( ruleNamespace ) + // InternalRos.g:15721:3: ruleNamespace { before(grammarAccess.getServiceServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -43952,17 +46769,17 @@ public final void rule__ServiceServer__NamespaceAssignment_6_1() throws Recognit // $ANTLR start "rule__Publisher__NameAssignment_3" - // InternalRos.g:14796:1: rule__Publisher__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:15730:1: rule__Publisher__NameAssignment_3 : ( ruleEString ) ; public final void rule__Publisher__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14800:1: ( ( ruleEString ) ) - // InternalRos.g:14801:2: ( ruleEString ) + // InternalRos.g:15734:1: ( ( ruleEString ) ) + // InternalRos.g:15735:2: ( ruleEString ) { - // InternalRos.g:14801:2: ( ruleEString ) - // InternalRos.g:14802:3: ruleEString + // InternalRos.g:15735:2: ( ruleEString ) + // InternalRos.g:15736:3: ruleEString { before(grammarAccess.getPublisherAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -43993,21 +46810,21 @@ public final void rule__Publisher__NameAssignment_3() throws RecognitionExceptio // $ANTLR start "rule__Publisher__MessageAssignment_5" - // InternalRos.g:14811:1: rule__Publisher__MessageAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:15745:1: rule__Publisher__MessageAssignment_5 : ( ( ruleEString ) ) ; public final void rule__Publisher__MessageAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14815:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14816:2: ( ( ruleEString ) ) + // InternalRos.g:15749:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15750:2: ( ( ruleEString ) ) { - // InternalRos.g:14816:2: ( ( ruleEString ) ) - // InternalRos.g:14817:3: ( ruleEString ) + // InternalRos.g:15750:2: ( ( ruleEString ) ) + // InternalRos.g:15751:3: ( ruleEString ) { before(grammarAccess.getPublisherAccess().getMessageTopicSpecCrossReference_5_0()); - // InternalRos.g:14818:3: ( ruleEString ) - // InternalRos.g:14819:4: ruleEString + // InternalRos.g:15752:3: ( ruleEString ) + // InternalRos.g:15753:4: ruleEString { before(grammarAccess.getPublisherAccess().getMessageTopicSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -44042,17 +46859,17 @@ public final void rule__Publisher__MessageAssignment_5() throws RecognitionExcep // $ANTLR start "rule__Publisher__NamespaceAssignment_6_1" - // InternalRos.g:14830:1: rule__Publisher__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:15764:1: rule__Publisher__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__Publisher__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14834:1: ( ( ruleNamespace ) ) - // InternalRos.g:14835:2: ( ruleNamespace ) + // InternalRos.g:15768:1: ( ( ruleNamespace ) ) + // InternalRos.g:15769:2: ( ruleNamespace ) { - // InternalRos.g:14835:2: ( ruleNamespace ) - // InternalRos.g:14836:3: ruleNamespace + // InternalRos.g:15769:2: ( ruleNamespace ) + // InternalRos.g:15770:3: ruleNamespace { before(grammarAccess.getPublisherAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -44083,17 +46900,17 @@ public final void rule__Publisher__NamespaceAssignment_6_1() throws RecognitionE // $ANTLR start "rule__Subscriber__NameAssignment_3" - // InternalRos.g:14845:1: rule__Subscriber__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:15779:1: rule__Subscriber__NameAssignment_3 : ( ruleEString ) ; public final void rule__Subscriber__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14849:1: ( ( ruleEString ) ) - // InternalRos.g:14850:2: ( ruleEString ) + // InternalRos.g:15783:1: ( ( ruleEString ) ) + // InternalRos.g:15784:2: ( ruleEString ) { - // InternalRos.g:14850:2: ( ruleEString ) - // InternalRos.g:14851:3: ruleEString + // InternalRos.g:15784:2: ( ruleEString ) + // InternalRos.g:15785:3: ruleEString { before(grammarAccess.getSubscriberAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44124,21 +46941,21 @@ public final void rule__Subscriber__NameAssignment_3() throws RecognitionExcepti // $ANTLR start "rule__Subscriber__MessageAssignment_5" - // InternalRos.g:14860:1: rule__Subscriber__MessageAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:15794:1: rule__Subscriber__MessageAssignment_5 : ( ( ruleEString ) ) ; public final void rule__Subscriber__MessageAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14864:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14865:2: ( ( ruleEString ) ) + // InternalRos.g:15798:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15799:2: ( ( ruleEString ) ) { - // InternalRos.g:14865:2: ( ( ruleEString ) ) - // InternalRos.g:14866:3: ( ruleEString ) + // InternalRos.g:15799:2: ( ( ruleEString ) ) + // InternalRos.g:15800:3: ( ruleEString ) { before(grammarAccess.getSubscriberAccess().getMessageTopicSpecCrossReference_5_0()); - // InternalRos.g:14867:3: ( ruleEString ) - // InternalRos.g:14868:4: ruleEString + // InternalRos.g:15801:3: ( ruleEString ) + // InternalRos.g:15802:4: ruleEString { before(grammarAccess.getSubscriberAccess().getMessageTopicSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -44173,17 +46990,17 @@ public final void rule__Subscriber__MessageAssignment_5() throws RecognitionExce // $ANTLR start "rule__Subscriber__NamespaceAssignment_6_1" - // InternalRos.g:14879:1: rule__Subscriber__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:15813:1: rule__Subscriber__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__Subscriber__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14883:1: ( ( ruleNamespace ) ) - // InternalRos.g:14884:2: ( ruleNamespace ) + // InternalRos.g:15817:1: ( ( ruleNamespace ) ) + // InternalRos.g:15818:2: ( ruleNamespace ) { - // InternalRos.g:14884:2: ( ruleNamespace ) - // InternalRos.g:14885:3: ruleNamespace + // InternalRos.g:15818:2: ( ruleNamespace ) + // InternalRos.g:15819:3: ruleNamespace { before(grammarAccess.getSubscriberAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -44214,17 +47031,17 @@ public final void rule__Subscriber__NamespaceAssignment_6_1() throws Recognition // $ANTLR start "rule__ServiceClient__NameAssignment_3" - // InternalRos.g:14894:1: rule__ServiceClient__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:15828:1: rule__ServiceClient__NameAssignment_3 : ( ruleEString ) ; public final void rule__ServiceClient__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14898:1: ( ( ruleEString ) ) - // InternalRos.g:14899:2: ( ruleEString ) + // InternalRos.g:15832:1: ( ( ruleEString ) ) + // InternalRos.g:15833:2: ( ruleEString ) { - // InternalRos.g:14899:2: ( ruleEString ) - // InternalRos.g:14900:3: ruleEString + // InternalRos.g:15833:2: ( ruleEString ) + // InternalRos.g:15834:3: ruleEString { before(grammarAccess.getServiceClientAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44255,21 +47072,21 @@ public final void rule__ServiceClient__NameAssignment_3() throws RecognitionExce // $ANTLR start "rule__ServiceClient__ServiceAssignment_5" - // InternalRos.g:14909:1: rule__ServiceClient__ServiceAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:15843:1: rule__ServiceClient__ServiceAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ServiceClient__ServiceAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14913:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14914:2: ( ( ruleEString ) ) + // InternalRos.g:15847:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15848:2: ( ( ruleEString ) ) { - // InternalRos.g:14914:2: ( ( ruleEString ) ) - // InternalRos.g:14915:3: ( ruleEString ) + // InternalRos.g:15848:2: ( ( ruleEString ) ) + // InternalRos.g:15849:3: ( ruleEString ) { before(grammarAccess.getServiceClientAccess().getServiceServiceSpecCrossReference_5_0()); - // InternalRos.g:14916:3: ( ruleEString ) - // InternalRos.g:14917:4: ruleEString + // InternalRos.g:15850:3: ( ruleEString ) + // InternalRos.g:15851:4: ruleEString { before(grammarAccess.getServiceClientAccess().getServiceServiceSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -44304,17 +47121,17 @@ public final void rule__ServiceClient__ServiceAssignment_5() throws RecognitionE // $ANTLR start "rule__ServiceClient__NamespaceAssignment_6_1" - // InternalRos.g:14928:1: rule__ServiceClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:15862:1: rule__ServiceClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ServiceClient__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14932:1: ( ( ruleNamespace ) ) - // InternalRos.g:14933:2: ( ruleNamespace ) + // InternalRos.g:15866:1: ( ( ruleNamespace ) ) + // InternalRos.g:15867:2: ( ruleNamespace ) { - // InternalRos.g:14933:2: ( ruleNamespace ) - // InternalRos.g:14934:3: ruleNamespace + // InternalRos.g:15867:2: ( ruleNamespace ) + // InternalRos.g:15868:3: ruleNamespace { before(grammarAccess.getServiceClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -44345,17 +47162,17 @@ public final void rule__ServiceClient__NamespaceAssignment_6_1() throws Recognit // $ANTLR start "rule__ActionServer__NameAssignment_3" - // InternalRos.g:14943:1: rule__ActionServer__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:15877:1: rule__ActionServer__NameAssignment_3 : ( ruleEString ) ; public final void rule__ActionServer__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14947:1: ( ( ruleEString ) ) - // InternalRos.g:14948:2: ( ruleEString ) + // InternalRos.g:15881:1: ( ( ruleEString ) ) + // InternalRos.g:15882:2: ( ruleEString ) { - // InternalRos.g:14948:2: ( ruleEString ) - // InternalRos.g:14949:3: ruleEString + // InternalRos.g:15882:2: ( ruleEString ) + // InternalRos.g:15883:3: ruleEString { before(grammarAccess.getActionServerAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44386,21 +47203,21 @@ public final void rule__ActionServer__NameAssignment_3() throws RecognitionExcep // $ANTLR start "rule__ActionServer__ActionAssignment_5" - // InternalRos.g:14958:1: rule__ActionServer__ActionAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:15892:1: rule__ActionServer__ActionAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ActionServer__ActionAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14962:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:14963:2: ( ( ruleEString ) ) + // InternalRos.g:15896:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15897:2: ( ( ruleEString ) ) { - // InternalRos.g:14963:2: ( ( ruleEString ) ) - // InternalRos.g:14964:3: ( ruleEString ) + // InternalRos.g:15897:2: ( ( ruleEString ) ) + // InternalRos.g:15898:3: ( ruleEString ) { before(grammarAccess.getActionServerAccess().getActionActionSpecCrossReference_5_0()); - // InternalRos.g:14965:3: ( ruleEString ) - // InternalRos.g:14966:4: ruleEString + // InternalRos.g:15899:3: ( ruleEString ) + // InternalRos.g:15900:4: ruleEString { before(grammarAccess.getActionServerAccess().getActionActionSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -44435,17 +47252,17 @@ public final void rule__ActionServer__ActionAssignment_5() throws RecognitionExc // $ANTLR start "rule__ActionServer__NamespaceAssignment_6_1" - // InternalRos.g:14977:1: rule__ActionServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:15911:1: rule__ActionServer__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ActionServer__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14981:1: ( ( ruleNamespace ) ) - // InternalRos.g:14982:2: ( ruleNamespace ) + // InternalRos.g:15915:1: ( ( ruleNamespace ) ) + // InternalRos.g:15916:2: ( ruleNamespace ) { - // InternalRos.g:14982:2: ( ruleNamespace ) - // InternalRos.g:14983:3: ruleNamespace + // InternalRos.g:15916:2: ( ruleNamespace ) + // InternalRos.g:15917:3: ruleNamespace { before(grammarAccess.getActionServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -44476,17 +47293,17 @@ public final void rule__ActionServer__NamespaceAssignment_6_1() throws Recogniti // $ANTLR start "rule__ActionClient__NameAssignment_3" - // InternalRos.g:14992:1: rule__ActionClient__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:15926:1: rule__ActionClient__NameAssignment_3 : ( ruleEString ) ; public final void rule__ActionClient__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:14996:1: ( ( ruleEString ) ) - // InternalRos.g:14997:2: ( ruleEString ) + // InternalRos.g:15930:1: ( ( ruleEString ) ) + // InternalRos.g:15931:2: ( ruleEString ) { - // InternalRos.g:14997:2: ( ruleEString ) - // InternalRos.g:14998:3: ruleEString + // InternalRos.g:15931:2: ( ruleEString ) + // InternalRos.g:15932:3: ruleEString { before(grammarAccess.getActionClientAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44517,21 +47334,21 @@ public final void rule__ActionClient__NameAssignment_3() throws RecognitionExcep // $ANTLR start "rule__ActionClient__ActionAssignment_5" - // InternalRos.g:15007:1: rule__ActionClient__ActionAssignment_5 : ( ( ruleEString ) ) ; + // InternalRos.g:15941:1: rule__ActionClient__ActionAssignment_5 : ( ( ruleEString ) ) ; public final void rule__ActionClient__ActionAssignment_5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15011:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:15012:2: ( ( ruleEString ) ) + // InternalRos.g:15945:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15946:2: ( ( ruleEString ) ) { - // InternalRos.g:15012:2: ( ( ruleEString ) ) - // InternalRos.g:15013:3: ( ruleEString ) + // InternalRos.g:15946:2: ( ( ruleEString ) ) + // InternalRos.g:15947:3: ( ruleEString ) { before(grammarAccess.getActionClientAccess().getActionActionSpecCrossReference_5_0()); - // InternalRos.g:15014:3: ( ruleEString ) - // InternalRos.g:15015:4: ruleEString + // InternalRos.g:15948:3: ( ruleEString ) + // InternalRos.g:15949:4: ruleEString { before(grammarAccess.getActionClientAccess().getActionActionSpecEStringParserRuleCall_5_0_1()); pushFollow(FOLLOW_2); @@ -44566,17 +47383,17 @@ public final void rule__ActionClient__ActionAssignment_5() throws RecognitionExc // $ANTLR start "rule__ActionClient__NamespaceAssignment_6_1" - // InternalRos.g:15026:1: rule__ActionClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; + // InternalRos.g:15960:1: rule__ActionClient__NamespaceAssignment_6_1 : ( ruleNamespace ) ; public final void rule__ActionClient__NamespaceAssignment_6_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15030:1: ( ( ruleNamespace ) ) - // InternalRos.g:15031:2: ( ruleNamespace ) + // InternalRos.g:15964:1: ( ( ruleNamespace ) ) + // InternalRos.g:15965:2: ( ruleNamespace ) { - // InternalRos.g:15031:2: ( ruleNamespace ) - // InternalRos.g:15032:3: ruleNamespace + // InternalRos.g:15965:2: ( ruleNamespace ) + // InternalRos.g:15966:3: ruleNamespace { before(grammarAccess.getActionClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); pushFollow(FOLLOW_2); @@ -44607,21 +47424,21 @@ public final void rule__ActionClient__NamespaceAssignment_6_1() throws Recogniti // $ANTLR start "rule__PackageDependency__PackageAssignment" - // InternalRos.g:15041:1: rule__PackageDependency__PackageAssignment : ( ( ruleEString ) ) ; + // InternalRos.g:15975:1: rule__PackageDependency__PackageAssignment : ( ( ruleEString ) ) ; public final void rule__PackageDependency__PackageAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15045:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:15046:2: ( ( ruleEString ) ) + // InternalRos.g:15979:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:15980:2: ( ( ruleEString ) ) { - // InternalRos.g:15046:2: ( ( ruleEString ) ) - // InternalRos.g:15047:3: ( ruleEString ) + // InternalRos.g:15980:2: ( ( ruleEString ) ) + // InternalRos.g:15981:3: ( ruleEString ) { before(grammarAccess.getPackageDependencyAccess().getPackagePackageCrossReference_0()); - // InternalRos.g:15048:3: ( ruleEString ) - // InternalRos.g:15049:4: ruleEString + // InternalRos.g:15982:3: ( ruleEString ) + // InternalRos.g:15983:4: ruleEString { before(grammarAccess.getPackageDependencyAccess().getPackagePackageEStringParserRuleCall_0_1()); pushFollow(FOLLOW_2); @@ -44656,17 +47473,17 @@ public final void rule__PackageDependency__PackageAssignment() throws Recognitio // $ANTLR start "rule__ExternalDependency__NameAssignment_2" - // InternalRos.g:15060:1: rule__ExternalDependency__NameAssignment_2 : ( ruleEString ) ; + // InternalRos.g:15994:1: rule__ExternalDependency__NameAssignment_2 : ( ruleEString ) ; public final void rule__ExternalDependency__NameAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15064:1: ( ( ruleEString ) ) - // InternalRos.g:15065:2: ( ruleEString ) + // InternalRos.g:15998:1: ( ( ruleEString ) ) + // InternalRos.g:15999:2: ( ruleEString ) { - // InternalRos.g:15065:2: ( ruleEString ) - // InternalRos.g:15066:3: ruleEString + // InternalRos.g:15999:2: ( ruleEString ) + // InternalRos.g:16000:3: ruleEString { before(grammarAccess.getExternalDependencyAccess().getNameEStringParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -44697,17 +47514,17 @@ public final void rule__ExternalDependency__NameAssignment_2() throws Recognitio // $ANTLR start "rule__GlobalNamespace__PartsAssignment_3_2" - // InternalRos.g:15075:1: rule__GlobalNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRos.g:16009:1: rule__GlobalNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__GlobalNamespace__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15079:1: ( ( ruleGraphName ) ) - // InternalRos.g:15080:2: ( ruleGraphName ) + // InternalRos.g:16013:1: ( ( ruleGraphName ) ) + // InternalRos.g:16014:2: ( ruleGraphName ) { - // InternalRos.g:15080:2: ( ruleGraphName ) - // InternalRos.g:15081:3: ruleGraphName + // InternalRos.g:16014:2: ( ruleGraphName ) + // InternalRos.g:16015:3: ruleGraphName { before(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -44738,17 +47555,17 @@ public final void rule__GlobalNamespace__PartsAssignment_3_2() throws Recognitio // $ANTLR start "rule__GlobalNamespace__PartsAssignment_3_3_1" - // InternalRos.g:15090:1: rule__GlobalNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRos.g:16024:1: rule__GlobalNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__GlobalNamespace__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15094:1: ( ( ruleGraphName ) ) - // InternalRos.g:15095:2: ( ruleGraphName ) + // InternalRos.g:16028:1: ( ( ruleGraphName ) ) + // InternalRos.g:16029:2: ( ruleGraphName ) { - // InternalRos.g:15095:2: ( ruleGraphName ) - // InternalRos.g:15096:3: ruleGraphName + // InternalRos.g:16029:2: ( ruleGraphName ) + // InternalRos.g:16030:3: ruleGraphName { before(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -44779,17 +47596,17 @@ public final void rule__GlobalNamespace__PartsAssignment_3_3_1() throws Recognit // $ANTLR start "rule__RelativeNamespace_Impl__PartsAssignment_3_2" - // InternalRos.g:15105:1: rule__RelativeNamespace_Impl__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRos.g:16039:1: rule__RelativeNamespace_Impl__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__RelativeNamespace_Impl__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15109:1: ( ( ruleGraphName ) ) - // InternalRos.g:15110:2: ( ruleGraphName ) + // InternalRos.g:16043:1: ( ( ruleGraphName ) ) + // InternalRos.g:16044:2: ( ruleGraphName ) { - // InternalRos.g:15110:2: ( ruleGraphName ) - // InternalRos.g:15111:3: ruleGraphName + // InternalRos.g:16044:2: ( ruleGraphName ) + // InternalRos.g:16045:3: ruleGraphName { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -44820,17 +47637,17 @@ public final void rule__RelativeNamespace_Impl__PartsAssignment_3_2() throws Rec // $ANTLR start "rule__RelativeNamespace_Impl__PartsAssignment_3_3_1" - // InternalRos.g:15120:1: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRos.g:16054:1: rule__RelativeNamespace_Impl__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__RelativeNamespace_Impl__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15124:1: ( ( ruleGraphName ) ) - // InternalRos.g:15125:2: ( ruleGraphName ) + // InternalRos.g:16058:1: ( ( ruleGraphName ) ) + // InternalRos.g:16059:2: ( ruleGraphName ) { - // InternalRos.g:15125:2: ( ruleGraphName ) - // InternalRos.g:15126:3: ruleGraphName + // InternalRos.g:16059:2: ( ruleGraphName ) + // InternalRos.g:16060:3: ruleGraphName { before(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -44861,17 +47678,17 @@ public final void rule__RelativeNamespace_Impl__PartsAssignment_3_3_1() throws R // $ANTLR start "rule__PrivateNamespace__PartsAssignment_3_2" - // InternalRos.g:15135:1: rule__PrivateNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; + // InternalRos.g:16069:1: rule__PrivateNamespace__PartsAssignment_3_2 : ( ruleGraphName ) ; public final void rule__PrivateNamespace__PartsAssignment_3_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15139:1: ( ( ruleGraphName ) ) - // InternalRos.g:15140:2: ( ruleGraphName ) + // InternalRos.g:16073:1: ( ( ruleGraphName ) ) + // InternalRos.g:16074:2: ( ruleGraphName ) { - // InternalRos.g:15140:2: ( ruleGraphName ) - // InternalRos.g:15141:3: ruleGraphName + // InternalRos.g:16074:2: ( ruleGraphName ) + // InternalRos.g:16075:3: ruleGraphName { before(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); pushFollow(FOLLOW_2); @@ -44902,17 +47719,17 @@ public final void rule__PrivateNamespace__PartsAssignment_3_2() throws Recogniti // $ANTLR start "rule__PrivateNamespace__PartsAssignment_3_3_1" - // InternalRos.g:15150:1: rule__PrivateNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; + // InternalRos.g:16084:1: rule__PrivateNamespace__PartsAssignment_3_3_1 : ( ruleGraphName ) ; public final void rule__PrivateNamespace__PartsAssignment_3_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15154:1: ( ( ruleGraphName ) ) - // InternalRos.g:15155:2: ( ruleGraphName ) + // InternalRos.g:16088:1: ( ( ruleGraphName ) ) + // InternalRos.g:16089:2: ( ruleGraphName ) { - // InternalRos.g:15155:2: ( ruleGraphName ) - // InternalRos.g:15156:3: ruleGraphName + // InternalRos.g:16089:2: ( ruleGraphName ) + // InternalRos.g:16090:3: ruleGraphName { before(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); pushFollow(FOLLOW_2); @@ -44943,17 +47760,17 @@ public final void rule__PrivateNamespace__PartsAssignment_3_3_1() throws Recogni // $ANTLR start "rule__Parameter__NameAssignment_3" - // InternalRos.g:15165:1: rule__Parameter__NameAssignment_3 : ( ruleEString ) ; + // InternalRos.g:16099:1: rule__Parameter__NameAssignment_3 : ( ruleEString ) ; public final void rule__Parameter__NameAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15169:1: ( ( ruleEString ) ) - // InternalRos.g:15170:2: ( ruleEString ) + // InternalRos.g:16103:1: ( ( ruleEString ) ) + // InternalRos.g:16104:2: ( ruleEString ) { - // InternalRos.g:15170:2: ( ruleEString ) - // InternalRos.g:15171:3: ruleEString + // InternalRos.g:16104:2: ( ruleEString ) + // InternalRos.g:16105:3: ruleEString { before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -44984,17 +47801,17 @@ public final void rule__Parameter__NameAssignment_3() throws RecognitionExceptio // $ANTLR start "rule__Parameter__NamespaceAssignment_4_1" - // InternalRos.g:15180:1: rule__Parameter__NamespaceAssignment_4_1 : ( ruleNamespace ) ; + // InternalRos.g:16114:1: rule__Parameter__NamespaceAssignment_4_1 : ( ruleNamespace ) ; public final void rule__Parameter__NamespaceAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15184:1: ( ( ruleNamespace ) ) - // InternalRos.g:15185:2: ( ruleNamespace ) + // InternalRos.g:16118:1: ( ( ruleNamespace ) ) + // InternalRos.g:16119:2: ( ruleNamespace ) { - // InternalRos.g:15185:2: ( ruleNamespace ) - // InternalRos.g:15186:3: ruleNamespace + // InternalRos.g:16119:2: ( ruleNamespace ) + // InternalRos.g:16120:3: ruleNamespace { before(grammarAccess.getParameterAccess().getNamespaceNamespaceParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -45025,17 +47842,17 @@ public final void rule__Parameter__NamespaceAssignment_4_1() throws RecognitionE // $ANTLR start "rule__Parameter__TypeAssignment_6" - // InternalRos.g:15195:1: rule__Parameter__TypeAssignment_6 : ( ruleParameterType ) ; + // InternalRos.g:16129:1: rule__Parameter__TypeAssignment_6 : ( ruleParameterType ) ; public final void rule__Parameter__TypeAssignment_6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15199:1: ( ( ruleParameterType ) ) - // InternalRos.g:15200:2: ( ruleParameterType ) + // InternalRos.g:16133:1: ( ( ruleParameterType ) ) + // InternalRos.g:16134:2: ( ruleParameterType ) { - // InternalRos.g:15200:2: ( ruleParameterType ) - // InternalRos.g:15201:3: ruleParameterType + // InternalRos.g:16134:2: ( ruleParameterType ) + // InternalRos.g:16135:3: ruleParameterType { before(grammarAccess.getParameterAccess().getTypeParameterTypeParserRuleCall_6_0()); pushFollow(FOLLOW_2); @@ -45066,17 +47883,17 @@ public final void rule__Parameter__TypeAssignment_6() throws RecognitionExceptio // $ANTLR start "rule__ParameterListType__SequenceAssignment_3" - // InternalRos.g:15210:1: rule__ParameterListType__SequenceAssignment_3 : ( ruleParameterType ) ; + // InternalRos.g:16144:1: rule__ParameterListType__SequenceAssignment_3 : ( ruleParameterType ) ; public final void rule__ParameterListType__SequenceAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15214:1: ( ( ruleParameterType ) ) - // InternalRos.g:15215:2: ( ruleParameterType ) + // InternalRos.g:16148:1: ( ( ruleParameterType ) ) + // InternalRos.g:16149:2: ( ruleParameterType ) { - // InternalRos.g:15215:2: ( ruleParameterType ) - // InternalRos.g:15216:3: ruleParameterType + // InternalRos.g:16149:2: ( ruleParameterType ) + // InternalRos.g:16150:3: ruleParameterType { before(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -45107,17 +47924,17 @@ public final void rule__ParameterListType__SequenceAssignment_3() throws Recogni // $ANTLR start "rule__ParameterListType__SequenceAssignment_4_1" - // InternalRos.g:15225:1: rule__ParameterListType__SequenceAssignment_4_1 : ( ruleParameterType ) ; + // InternalRos.g:16159:1: rule__ParameterListType__SequenceAssignment_4_1 : ( ruleParameterType ) ; public final void rule__ParameterListType__SequenceAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15229:1: ( ( ruleParameterType ) ) - // InternalRos.g:15230:2: ( ruleParameterType ) + // InternalRos.g:16163:1: ( ( ruleParameterType ) ) + // InternalRos.g:16164:2: ( ruleParameterType ) { - // InternalRos.g:15230:2: ( ruleParameterType ) - // InternalRos.g:15231:3: ruleParameterType + // InternalRos.g:16164:2: ( ruleParameterType ) + // InternalRos.g:16165:3: ruleParameterType { before(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -45148,17 +47965,17 @@ public final void rule__ParameterListType__SequenceAssignment_4_1() throws Recog // $ANTLR start "rule__ParameterStructType__ParameterstructypetmemberAssignment_3" - // InternalRos.g:15240:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 : ( ruleParameterStructTypeMember ) ; + // InternalRos.g:16174:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_3 : ( ruleParameterStructTypeMember ) ; public final void rule__ParameterStructType__ParameterstructypetmemberAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15244:1: ( ( ruleParameterStructTypeMember ) ) - // InternalRos.g:15245:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:16178:1: ( ( ruleParameterStructTypeMember ) ) + // InternalRos.g:16179:2: ( ruleParameterStructTypeMember ) { - // InternalRos.g:15245:2: ( ruleParameterStructTypeMember ) - // InternalRos.g:15246:3: ruleParameterStructTypeMember + // InternalRos.g:16179:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:16180:3: ruleParameterStructTypeMember { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -45189,17 +48006,17 @@ public final void rule__ParameterStructType__ParameterstructypetmemberAssignment // $ANTLR start "rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1" - // InternalRos.g:15255:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 : ( ruleParameterStructTypeMember ) ; + // InternalRos.g:16189:1: rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1 : ( ruleParameterStructTypeMember ) ; public final void rule__ParameterStructType__ParameterstructypetmemberAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15259:1: ( ( ruleParameterStructTypeMember ) ) - // InternalRos.g:15260:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:16193:1: ( ( ruleParameterStructTypeMember ) ) + // InternalRos.g:16194:2: ( ruleParameterStructTypeMember ) { - // InternalRos.g:15260:2: ( ruleParameterStructTypeMember ) - // InternalRos.g:15261:3: ruleParameterStructTypeMember + // InternalRos.g:16194:2: ( ruleParameterStructTypeMember ) + // InternalRos.g:16195:3: ruleParameterStructTypeMember { before(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -45230,17 +48047,17 @@ public final void rule__ParameterStructType__ParameterstructypetmemberAssignment // $ANTLR start "rule__ParameterIntegerType__DefaultAssignment_2_1" - // InternalRos.g:15270:1: rule__ParameterIntegerType__DefaultAssignment_2_1 : ( ruleParameterInteger ) ; + // InternalRos.g:16204:1: rule__ParameterIntegerType__DefaultAssignment_2_1 : ( ruleParameterInteger ) ; public final void rule__ParameterIntegerType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15274:1: ( ( ruleParameterInteger ) ) - // InternalRos.g:15275:2: ( ruleParameterInteger ) + // InternalRos.g:16208:1: ( ( ruleParameterInteger ) ) + // InternalRos.g:16209:2: ( ruleParameterInteger ) { - // InternalRos.g:15275:2: ( ruleParameterInteger ) - // InternalRos.g:15276:3: ruleParameterInteger + // InternalRos.g:16209:2: ( ruleParameterInteger ) + // InternalRos.g:16210:3: ruleParameterInteger { before(grammarAccess.getParameterIntegerTypeAccess().getDefaultParameterIntegerParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -45271,17 +48088,17 @@ public final void rule__ParameterIntegerType__DefaultAssignment_2_1() throws Rec // $ANTLR start "rule__ParameterStringType__DefaultAssignment_2_1" - // InternalRos.g:15285:1: rule__ParameterStringType__DefaultAssignment_2_1 : ( ruleParameterString ) ; + // InternalRos.g:16219:1: rule__ParameterStringType__DefaultAssignment_2_1 : ( ruleParameterString ) ; public final void rule__ParameterStringType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15289:1: ( ( ruleParameterString ) ) - // InternalRos.g:15290:2: ( ruleParameterString ) + // InternalRos.g:16223:1: ( ( ruleParameterString ) ) + // InternalRos.g:16224:2: ( ruleParameterString ) { - // InternalRos.g:15290:2: ( ruleParameterString ) - // InternalRos.g:15291:3: ruleParameterString + // InternalRos.g:16224:2: ( ruleParameterString ) + // InternalRos.g:16225:3: ruleParameterString { before(grammarAccess.getParameterStringTypeAccess().getDefaultParameterStringParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -45312,17 +48129,17 @@ public final void rule__ParameterStringType__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterDoubleType__DefaultAssignment_2_1" - // InternalRos.g:15300:1: rule__ParameterDoubleType__DefaultAssignment_2_1 : ( ruleParameterDouble ) ; + // InternalRos.g:16234:1: rule__ParameterDoubleType__DefaultAssignment_2_1 : ( ruleParameterDouble ) ; public final void rule__ParameterDoubleType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15304:1: ( ( ruleParameterDouble ) ) - // InternalRos.g:15305:2: ( ruleParameterDouble ) + // InternalRos.g:16238:1: ( ( ruleParameterDouble ) ) + // InternalRos.g:16239:2: ( ruleParameterDouble ) { - // InternalRos.g:15305:2: ( ruleParameterDouble ) - // InternalRos.g:15306:3: ruleParameterDouble + // InternalRos.g:16239:2: ( ruleParameterDouble ) + // InternalRos.g:16240:3: ruleParameterDouble { before(grammarAccess.getParameterDoubleTypeAccess().getDefaultParameterDoubleParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -45353,17 +48170,17 @@ public final void rule__ParameterDoubleType__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterBooleanType__DefaultAssignment_2_1" - // InternalRos.g:15315:1: rule__ParameterBooleanType__DefaultAssignment_2_1 : ( ruleParameterBoolean ) ; + // InternalRos.g:16249:1: rule__ParameterBooleanType__DefaultAssignment_2_1 : ( ruleParameterBoolean ) ; public final void rule__ParameterBooleanType__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15319:1: ( ( ruleParameterBoolean ) ) - // InternalRos.g:15320:2: ( ruleParameterBoolean ) + // InternalRos.g:16253:1: ( ( ruleParameterBoolean ) ) + // InternalRos.g:16254:2: ( ruleParameterBoolean ) { - // InternalRos.g:15320:2: ( ruleParameterBoolean ) - // InternalRos.g:15321:3: ruleParameterBoolean + // InternalRos.g:16254:2: ( ruleParameterBoolean ) + // InternalRos.g:16255:3: ruleParameterBoolean { before(grammarAccess.getParameterBooleanTypeAccess().getDefaultParameterBooleanParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -45394,17 +48211,17 @@ public final void rule__ParameterBooleanType__DefaultAssignment_2_1() throws Rec // $ANTLR start "rule__ParameterBase64Type__DefaultAssignment_2_1" - // InternalRos.g:15330:1: rule__ParameterBase64Type__DefaultAssignment_2_1 : ( ruleParameterBase64 ) ; + // InternalRos.g:16264:1: rule__ParameterBase64Type__DefaultAssignment_2_1 : ( ruleParameterBase64 ) ; public final void rule__ParameterBase64Type__DefaultAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15334:1: ( ( ruleParameterBase64 ) ) - // InternalRos.g:15335:2: ( ruleParameterBase64 ) + // InternalRos.g:16268:1: ( ( ruleParameterBase64 ) ) + // InternalRos.g:16269:2: ( ruleParameterBase64 ) { - // InternalRos.g:15335:2: ( ruleParameterBase64 ) - // InternalRos.g:15336:3: ruleParameterBase64 + // InternalRos.g:16269:2: ( ruleParameterBase64 ) + // InternalRos.g:16270:3: ruleParameterBase64 { before(grammarAccess.getParameterBase64TypeAccess().getDefaultParameterBase64ParserRuleCall_2_1_0()); pushFollow(FOLLOW_2); @@ -45435,17 +48252,17 @@ public final void rule__ParameterBase64Type__DefaultAssignment_2_1() throws Reco // $ANTLR start "rule__ParameterArrayType__TypeAssignment_3" - // InternalRos.g:15345:1: rule__ParameterArrayType__TypeAssignment_3 : ( ruleParameterType ) ; + // InternalRos.g:16279:1: rule__ParameterArrayType__TypeAssignment_3 : ( ruleParameterType ) ; public final void rule__ParameterArrayType__TypeAssignment_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15349:1: ( ( ruleParameterType ) ) - // InternalRos.g:15350:2: ( ruleParameterType ) + // InternalRos.g:16283:1: ( ( ruleParameterType ) ) + // InternalRos.g:16284:2: ( ruleParameterType ) { - // InternalRos.g:15350:2: ( ruleParameterType ) - // InternalRos.g:15351:3: ruleParameterType + // InternalRos.g:16284:2: ( ruleParameterType ) + // InternalRos.g:16285:3: ruleParameterType { before(grammarAccess.getParameterArrayTypeAccess().getTypeParameterTypeParserRuleCall_3_0()); pushFollow(FOLLOW_2); @@ -45476,17 +48293,17 @@ public final void rule__ParameterArrayType__TypeAssignment_3() throws Recognitio // $ANTLR start "rule__ParameterArrayType__DefaultAssignment_4_1" - // InternalRos.g:15360:1: rule__ParameterArrayType__DefaultAssignment_4_1 : ( ruleParameterList ) ; + // InternalRos.g:16294:1: rule__ParameterArrayType__DefaultAssignment_4_1 : ( ruleParameterList ) ; public final void rule__ParameterArrayType__DefaultAssignment_4_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15364:1: ( ( ruleParameterList ) ) - // InternalRos.g:15365:2: ( ruleParameterList ) + // InternalRos.g:16298:1: ( ( ruleParameterList ) ) + // InternalRos.g:16299:2: ( ruleParameterList ) { - // InternalRos.g:15365:2: ( ruleParameterList ) - // InternalRos.g:15366:3: ruleParameterList + // InternalRos.g:16299:2: ( ruleParameterList ) + // InternalRos.g:16300:3: ruleParameterList { before(grammarAccess.getParameterArrayTypeAccess().getDefaultParameterListParserRuleCall_4_1_0()); pushFollow(FOLLOW_2); @@ -45517,17 +48334,17 @@ public final void rule__ParameterArrayType__DefaultAssignment_4_1() throws Recog // $ANTLR start "rule__ParameterList__ValueAssignment_2" - // InternalRos.g:15375:1: rule__ParameterList__ValueAssignment_2 : ( ruleParameterValue ) ; + // InternalRos.g:16309:1: rule__ParameterList__ValueAssignment_2 : ( ruleParameterValue ) ; public final void rule__ParameterList__ValueAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15379:1: ( ( ruleParameterValue ) ) - // InternalRos.g:15380:2: ( ruleParameterValue ) + // InternalRos.g:16313:1: ( ( ruleParameterValue ) ) + // InternalRos.g:16314:2: ( ruleParameterValue ) { - // InternalRos.g:15380:2: ( ruleParameterValue ) - // InternalRos.g:15381:3: ruleParameterValue + // InternalRos.g:16314:2: ( ruleParameterValue ) + // InternalRos.g:16315:3: ruleParameterValue { before(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_2_0()); pushFollow(FOLLOW_2); @@ -45558,17 +48375,17 @@ public final void rule__ParameterList__ValueAssignment_2() throws RecognitionExc // $ANTLR start "rule__ParameterList__ValueAssignment_3_1" - // InternalRos.g:15390:1: rule__ParameterList__ValueAssignment_3_1 : ( ruleParameterValue ) ; + // InternalRos.g:16324:1: rule__ParameterList__ValueAssignment_3_1 : ( ruleParameterValue ) ; public final void rule__ParameterList__ValueAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15394:1: ( ( ruleParameterValue ) ) - // InternalRos.g:15395:2: ( ruleParameterValue ) + // InternalRos.g:16328:1: ( ( ruleParameterValue ) ) + // InternalRos.g:16329:2: ( ruleParameterValue ) { - // InternalRos.g:15395:2: ( ruleParameterValue ) - // InternalRos.g:15396:3: ruleParameterValue + // InternalRos.g:16329:2: ( ruleParameterValue ) + // InternalRos.g:16330:3: ruleParameterValue { before(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_3_1_0()); pushFollow(FOLLOW_2); @@ -45599,17 +48416,17 @@ public final void rule__ParameterList__ValueAssignment_3_1() throws RecognitionE // $ANTLR start "rule__ParameterAny__ValueAssignment_3_1" - // InternalRos.g:15405:1: rule__ParameterAny__ValueAssignment_3_1 : ( ruleEString ) ; + // InternalRos.g:16339:1: rule__ParameterAny__ValueAssignment_3_1 : ( ruleEString ) ; public final void rule__ParameterAny__ValueAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15409:1: ( ( ruleEString ) ) - // InternalRos.g:15410:2: ( ruleEString ) + // InternalRos.g:16343:1: ( ( ruleEString ) ) + // InternalRos.g:16344:2: ( ruleEString ) { - // InternalRos.g:15410:2: ( ruleEString ) - // InternalRos.g:15411:3: ruleEString + // InternalRos.g:16344:2: ( ruleEString ) + // InternalRos.g:16345:3: ruleEString { before(grammarAccess.getParameterAnyAccess().getValueEStringParserRuleCall_3_1_0()); pushFollow(FOLLOW_2); @@ -45640,17 +48457,17 @@ public final void rule__ParameterAny__ValueAssignment_3_1() throws RecognitionEx // $ANTLR start "rule__ParameterString__ValueAssignment" - // InternalRos.g:15420:1: rule__ParameterString__ValueAssignment : ( ruleEString ) ; + // InternalRos.g:16354:1: rule__ParameterString__ValueAssignment : ( ruleEString ) ; public final void rule__ParameterString__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15424:1: ( ( ruleEString ) ) - // InternalRos.g:15425:2: ( ruleEString ) + // InternalRos.g:16358:1: ( ( ruleEString ) ) + // InternalRos.g:16359:2: ( ruleEString ) { - // InternalRos.g:15425:2: ( ruleEString ) - // InternalRos.g:15426:3: ruleEString + // InternalRos.g:16359:2: ( ruleEString ) + // InternalRos.g:16360:3: ruleEString { before(grammarAccess.getParameterStringAccess().getValueEStringParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45681,17 +48498,17 @@ public final void rule__ParameterString__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterBase64__ValueAssignment" - // InternalRos.g:15435:1: rule__ParameterBase64__ValueAssignment : ( ruleBase64Binary ) ; + // InternalRos.g:16369:1: rule__ParameterBase64__ValueAssignment : ( ruleBase64Binary ) ; public final void rule__ParameterBase64__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15439:1: ( ( ruleBase64Binary ) ) - // InternalRos.g:15440:2: ( ruleBase64Binary ) + // InternalRos.g:16373:1: ( ( ruleBase64Binary ) ) + // InternalRos.g:16374:2: ( ruleBase64Binary ) { - // InternalRos.g:15440:2: ( ruleBase64Binary ) - // InternalRos.g:15441:3: ruleBase64Binary + // InternalRos.g:16374:2: ( ruleBase64Binary ) + // InternalRos.g:16375:3: ruleBase64Binary { before(grammarAccess.getParameterBase64Access().getValueBase64BinaryParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45722,17 +48539,17 @@ public final void rule__ParameterBase64__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterInteger__ValueAssignment" - // InternalRos.g:15450:1: rule__ParameterInteger__ValueAssignment : ( ruleInteger0 ) ; + // InternalRos.g:16384:1: rule__ParameterInteger__ValueAssignment : ( ruleInteger0 ) ; public final void rule__ParameterInteger__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15454:1: ( ( ruleInteger0 ) ) - // InternalRos.g:15455:2: ( ruleInteger0 ) + // InternalRos.g:16388:1: ( ( ruleInteger0 ) ) + // InternalRos.g:16389:2: ( ruleInteger0 ) { - // InternalRos.g:15455:2: ( ruleInteger0 ) - // InternalRos.g:15456:3: ruleInteger0 + // InternalRos.g:16389:2: ( ruleInteger0 ) + // InternalRos.g:16390:3: ruleInteger0 { before(grammarAccess.getParameterIntegerAccess().getValueInteger0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45763,17 +48580,17 @@ public final void rule__ParameterInteger__ValueAssignment() throws RecognitionEx // $ANTLR start "rule__ParameterDouble__ValueAssignment" - // InternalRos.g:15465:1: rule__ParameterDouble__ValueAssignment : ( ruleDouble0 ) ; + // InternalRos.g:16399:1: rule__ParameterDouble__ValueAssignment : ( ruleDouble0 ) ; public final void rule__ParameterDouble__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15469:1: ( ( ruleDouble0 ) ) - // InternalRos.g:15470:2: ( ruleDouble0 ) + // InternalRos.g:16403:1: ( ( ruleDouble0 ) ) + // InternalRos.g:16404:2: ( ruleDouble0 ) { - // InternalRos.g:15470:2: ( ruleDouble0 ) - // InternalRos.g:15471:3: ruleDouble0 + // InternalRos.g:16404:2: ( ruleDouble0 ) + // InternalRos.g:16405:3: ruleDouble0 { before(grammarAccess.getParameterDoubleAccess().getValueDouble0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45804,17 +48621,17 @@ public final void rule__ParameterDouble__ValueAssignment() throws RecognitionExc // $ANTLR start "rule__ParameterBoolean__ValueAssignment" - // InternalRos.g:15480:1: rule__ParameterBoolean__ValueAssignment : ( ruleboolean0 ) ; + // InternalRos.g:16414:1: rule__ParameterBoolean__ValueAssignment : ( ruleboolean0 ) ; public final void rule__ParameterBoolean__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15484:1: ( ( ruleboolean0 ) ) - // InternalRos.g:15485:2: ( ruleboolean0 ) + // InternalRos.g:16418:1: ( ( ruleboolean0 ) ) + // InternalRos.g:16419:2: ( ruleboolean0 ) { - // InternalRos.g:15485:2: ( ruleboolean0 ) - // InternalRos.g:15486:3: ruleboolean0 + // InternalRos.g:16419:2: ( ruleboolean0 ) + // InternalRos.g:16420:3: ruleboolean0 { before(grammarAccess.getParameterBooleanAccess().getValueBoolean0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45845,17 +48662,17 @@ public final void rule__ParameterBoolean__ValueAssignment() throws RecognitionEx // $ANTLR start "rule__ParameterStruct__ValueAssignment_1_1" - // InternalRos.g:15495:1: rule__ParameterStruct__ValueAssignment_1_1 : ( ruleParameterStructMember ) ; + // InternalRos.g:16429:1: rule__ParameterStruct__ValueAssignment_1_1 : ( ruleParameterStructMember ) ; public final void rule__ParameterStruct__ValueAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15499:1: ( ( ruleParameterStructMember ) ) - // InternalRos.g:15500:2: ( ruleParameterStructMember ) + // InternalRos.g:16433:1: ( ( ruleParameterStructMember ) ) + // InternalRos.g:16434:2: ( ruleParameterStructMember ) { - // InternalRos.g:15500:2: ( ruleParameterStructMember ) - // InternalRos.g:15501:3: ruleParameterStructMember + // InternalRos.g:16434:2: ( ruleParameterStructMember ) + // InternalRos.g:16435:3: ruleParameterStructMember { before(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_1_0()); pushFollow(FOLLOW_2); @@ -45886,17 +48703,17 @@ public final void rule__ParameterStruct__ValueAssignment_1_1() throws Recognitio // $ANTLR start "rule__ParameterStruct__ValueAssignment_1_2_2" - // InternalRos.g:15510:1: rule__ParameterStruct__ValueAssignment_1_2_2 : ( ruleParameterStructMember ) ; + // InternalRos.g:16444:1: rule__ParameterStruct__ValueAssignment_1_2_2 : ( ruleParameterStructMember ) ; public final void rule__ParameterStruct__ValueAssignment_1_2_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15514:1: ( ( ruleParameterStructMember ) ) - // InternalRos.g:15515:2: ( ruleParameterStructMember ) + // InternalRos.g:16448:1: ( ( ruleParameterStructMember ) ) + // InternalRos.g:16449:2: ( ruleParameterStructMember ) { - // InternalRos.g:15515:2: ( ruleParameterStructMember ) - // InternalRos.g:15516:3: ruleParameterStructMember + // InternalRos.g:16449:2: ( ruleParameterStructMember ) + // InternalRos.g:16450:3: ruleParameterStructMember { before(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_2_2_0()); pushFollow(FOLLOW_2); @@ -45927,17 +48744,17 @@ public final void rule__ParameterStruct__ValueAssignment_1_2_2() throws Recognit // $ANTLR start "rule__ParameterDate__ValueAssignment" - // InternalRos.g:15525:1: rule__ParameterDate__ValueAssignment : ( ruleDateTime0 ) ; + // InternalRos.g:16459:1: rule__ParameterDate__ValueAssignment : ( ruleDateTime0 ) ; public final void rule__ParameterDate__ValueAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15529:1: ( ( ruleDateTime0 ) ) - // InternalRos.g:15530:2: ( ruleDateTime0 ) + // InternalRos.g:16463:1: ( ( ruleDateTime0 ) ) + // InternalRos.g:16464:2: ( ruleDateTime0 ) { - // InternalRos.g:15530:2: ( ruleDateTime0 ) - // InternalRos.g:15531:3: ruleDateTime0 + // InternalRos.g:16464:2: ( ruleDateTime0 ) + // InternalRos.g:16465:3: ruleDateTime0 { before(grammarAccess.getParameterDateAccess().getValueDateTime0ParserRuleCall_0()); pushFollow(FOLLOW_2); @@ -45968,17 +48785,17 @@ public final void rule__ParameterDate__ValueAssignment() throws RecognitionExcep // $ANTLR start "rule__ParameterStructMember__NameAssignment_1" - // InternalRos.g:15540:1: rule__ParameterStructMember__NameAssignment_1 : ( ruleEString ) ; + // InternalRos.g:16474:1: rule__ParameterStructMember__NameAssignment_1 : ( ruleEString ) ; public final void rule__ParameterStructMember__NameAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15544:1: ( ( ruleEString ) ) - // InternalRos.g:15545:2: ( ruleEString ) + // InternalRos.g:16478:1: ( ( ruleEString ) ) + // InternalRos.g:16479:2: ( ruleEString ) { - // InternalRos.g:15545:2: ( ruleEString ) - // InternalRos.g:15546:3: ruleEString + // InternalRos.g:16479:2: ( ruleEString ) + // InternalRos.g:16480:3: ruleEString { before(grammarAccess.getParameterStructMemberAccess().getNameEStringParserRuleCall_1_0()); pushFollow(FOLLOW_2); @@ -46009,17 +48826,17 @@ public final void rule__ParameterStructMember__NameAssignment_1() throws Recogni // $ANTLR start "rule__ParameterStructMember__ValueAssignment_4" - // InternalRos.g:15555:1: rule__ParameterStructMember__ValueAssignment_4 : ( ruleParameterValue ) ; + // InternalRos.g:16489:1: rule__ParameterStructMember__ValueAssignment_4 : ( ruleParameterValue ) ; public final void rule__ParameterStructMember__ValueAssignment_4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15559:1: ( ( ruleParameterValue ) ) - // InternalRos.g:15560:2: ( ruleParameterValue ) + // InternalRos.g:16493:1: ( ( ruleParameterValue ) ) + // InternalRos.g:16494:2: ( ruleParameterValue ) { - // InternalRos.g:15560:2: ( ruleParameterValue ) - // InternalRos.g:15561:3: ruleParameterValue + // InternalRos.g:16494:2: ( ruleParameterValue ) + // InternalRos.g:16495:3: ruleParameterValue { before(grammarAccess.getParameterStructMemberAccess().getValueParameterValueParserRuleCall_4_0()); pushFollow(FOLLOW_2); @@ -46050,17 +48867,17 @@ public final void rule__ParameterStructMember__ValueAssignment_4() throws Recogn // $ANTLR start "rule__ParameterStructTypeMember__NameAssignment_0" - // InternalRos.g:15570:1: rule__ParameterStructTypeMember__NameAssignment_0 : ( ruleEString ) ; + // InternalRos.g:16504:1: rule__ParameterStructTypeMember__NameAssignment_0 : ( ruleEString ) ; public final void rule__ParameterStructTypeMember__NameAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15574:1: ( ( ruleEString ) ) - // InternalRos.g:15575:2: ( ruleEString ) + // InternalRos.g:16508:1: ( ( ruleEString ) ) + // InternalRos.g:16509:2: ( ruleEString ) { - // InternalRos.g:15575:2: ( ruleEString ) - // InternalRos.g:15576:3: ruleEString + // InternalRos.g:16509:2: ( ruleEString ) + // InternalRos.g:16510:3: ruleEString { before(grammarAccess.getParameterStructTypeMemberAccess().getNameEStringParserRuleCall_0_0()); pushFollow(FOLLOW_2); @@ -46091,17 +48908,17 @@ public final void rule__ParameterStructTypeMember__NameAssignment_0() throws Rec // $ANTLR start "rule__ParameterStructTypeMember__TypeAssignment_1" - // InternalRos.g:15585:1: rule__ParameterStructTypeMember__TypeAssignment_1 : ( ruleParameterType ) ; + // InternalRos.g:16519:1: rule__ParameterStructTypeMember__TypeAssignment_1 : ( ruleParameterType ) ; public final void rule__ParameterStructTypeMember__TypeAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15589:1: ( ( ruleParameterType ) ) - // InternalRos.g:15590:2: ( ruleParameterType ) + // InternalRos.g:16523:1: ( ( ruleParameterType ) ) + // InternalRos.g:16524:2: ( ruleParameterType ) { - // InternalRos.g:15590:2: ( ruleParameterType ) - // InternalRos.g:15591:3: ruleParameterType + // InternalRos.g:16524:2: ( ruleParameterType ) + // InternalRos.g:16525:3: ruleParameterType { before(grammarAccess.getParameterStructTypeMemberAccess().getTypeParameterTypeParserRuleCall_1_0()); pushFollow(FOLLOW_2); @@ -46132,17 +48949,17 @@ public final void rule__ParameterStructTypeMember__TypeAssignment_1() throws Rec // $ANTLR start "rule__MessagePart__TypeAssignment_0" - // InternalRos.g:15600:1: rule__MessagePart__TypeAssignment_0 : ( ruleAbstractType ) ; + // InternalRos.g:16534:1: rule__MessagePart__TypeAssignment_0 : ( ruleAbstractType ) ; public final void rule__MessagePart__TypeAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15604:1: ( ( ruleAbstractType ) ) - // InternalRos.g:15605:2: ( ruleAbstractType ) + // InternalRos.g:16538:1: ( ( ruleAbstractType ) ) + // InternalRos.g:16539:2: ( ruleAbstractType ) { - // InternalRos.g:15605:2: ( ruleAbstractType ) - // InternalRos.g:15606:3: ruleAbstractType + // InternalRos.g:16539:2: ( ruleAbstractType ) + // InternalRos.g:16540:3: ruleAbstractType { before(grammarAccess.getMessagePartAccess().getTypeAbstractTypeParserRuleCall_0_0()); pushFollow(FOLLOW_2); @@ -46173,21 +48990,21 @@ public final void rule__MessagePart__TypeAssignment_0() throws RecognitionExcept // $ANTLR start "rule__MessagePart__DataAssignment_1" - // InternalRos.g:15615:1: rule__MessagePart__DataAssignment_1 : ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ; + // InternalRos.g:16549:1: rule__MessagePart__DataAssignment_1 : ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ; public final void rule__MessagePart__DataAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15619:1: ( ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ) - // InternalRos.g:15620:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) + // InternalRos.g:16553:1: ( ( ( rule__MessagePart__DataAlternatives_1_0 ) ) ) + // InternalRos.g:16554:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) { - // InternalRos.g:15620:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) - // InternalRos.g:15621:3: ( rule__MessagePart__DataAlternatives_1_0 ) + // InternalRos.g:16554:2: ( ( rule__MessagePart__DataAlternatives_1_0 ) ) + // InternalRos.g:16555:3: ( rule__MessagePart__DataAlternatives_1_0 ) { before(grammarAccess.getMessagePartAccess().getDataAlternatives_1_0()); - // InternalRos.g:15622:3: ( rule__MessagePart__DataAlternatives_1_0 ) - // InternalRos.g:15622:4: rule__MessagePart__DataAlternatives_1_0 + // InternalRos.g:16556:3: ( rule__MessagePart__DataAlternatives_1_0 ) + // InternalRos.g:16556:4: rule__MessagePart__DataAlternatives_1_0 { pushFollow(FOLLOW_2); rule__MessagePart__DataAlternatives_1_0(); @@ -46220,21 +49037,21 @@ public final void rule__MessagePart__DataAssignment_1() throws RecognitionExcept // $ANTLR start "rule__TopicSpecRef__TopicSpecAssignment" - // InternalRos.g:15630:1: rule__TopicSpecRef__TopicSpecAssignment : ( ( ruleEString ) ) ; + // InternalRos.g:16564:1: rule__TopicSpecRef__TopicSpecAssignment : ( ( ruleEString ) ) ; public final void rule__TopicSpecRef__TopicSpecAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15634:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:15635:2: ( ( ruleEString ) ) + // InternalRos.g:16568:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:16569:2: ( ( ruleEString ) ) { - // InternalRos.g:15635:2: ( ( ruleEString ) ) - // InternalRos.g:15636:3: ( ruleEString ) + // InternalRos.g:16569:2: ( ( ruleEString ) ) + // InternalRos.g:16570:3: ( ruleEString ) { before(grammarAccess.getTopicSpecRefAccess().getTopicSpecTopicSpecCrossReference_0()); - // InternalRos.g:15637:3: ( ruleEString ) - // InternalRos.g:15638:4: ruleEString + // InternalRos.g:16571:3: ( ruleEString ) + // InternalRos.g:16572:4: ruleEString { before(grammarAccess.getTopicSpecRefAccess().getTopicSpecTopicSpecEStringParserRuleCall_0_1()); pushFollow(FOLLOW_2); @@ -46269,21 +49086,21 @@ public final void rule__TopicSpecRef__TopicSpecAssignment() throws RecognitionEx // $ANTLR start "rule__ArrayTopicSpecRef__TopicSpecAssignment_0" - // InternalRos.g:15649:1: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 : ( ( ruleEString ) ) ; + // InternalRos.g:16583:1: rule__ArrayTopicSpecRef__TopicSpecAssignment_0 : ( ( ruleEString ) ) ; public final void rule__ArrayTopicSpecRef__TopicSpecAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalRos.g:15653:1: ( ( ( ruleEString ) ) ) - // InternalRos.g:15654:2: ( ( ruleEString ) ) + // InternalRos.g:16587:1: ( ( ( ruleEString ) ) ) + // InternalRos.g:16588:2: ( ( ruleEString ) ) { - // InternalRos.g:15654:2: ( ( ruleEString ) ) - // InternalRos.g:15655:3: ( ruleEString ) + // InternalRos.g:16588:2: ( ( ruleEString ) ) + // InternalRos.g:16589:3: ( ruleEString ) { before(grammarAccess.getArrayTopicSpecRefAccess().getTopicSpecTopicSpecCrossReference_0_0()); - // InternalRos.g:15656:3: ( ruleEString ) - // InternalRos.g:15657:4: ruleEString + // InternalRos.g:16590:3: ( ruleEString ) + // InternalRos.g:16591:4: ruleEString { before(grammarAccess.getArrayTopicSpecRefAccess().getTopicSpecTopicSpecEStringParserRuleCall_0_0_1()); pushFollow(FOLLOW_2); @@ -46321,13 +49138,13 @@ public final void rule__ArrayTopicSpecRef__TopicSpecAssignment_0() throws Recogn protected DFA11 dfa11 = new DFA11(this); static final String dfa_1s = "\42\uffff"; - static final String dfa_2s = "\36\uffff\2\40\2\uffff"; + static final String dfa_2s = "\36\uffff\2\41\2\uffff"; static final String dfa_3s = "\1\11\35\uffff\2\11\2\uffff"; - static final String dfa_4s = "\1\157\35\uffff\2\160\2\uffff"; - static final String dfa_5s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\2\uffff\1\36\1\37"; + static final String dfa_4s = "\1\160\35\uffff\2\161\2\uffff"; + static final String dfa_5s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\2\uffff\1\37\1\36"; static final String dfa_6s = "\42\uffff}>"; static final String[] dfa_7s = { - "\1\36\1\37\20\uffff\1\20\12\uffff\1\17\1\16\56\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35", + "\1\36\1\37\20\uffff\1\20\12\uffff\1\17\1\16\57\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35", "", "", "", @@ -46357,8 +49174,8 @@ public final void rule__ArrayTopicSpecRef__TopicSpecAssignment_0() throws Recogn "", "", "", - "\2\40\1\uffff\1\40\20\uffff\13\40\110\uffff\1\41", - "\2\40\1\uffff\1\40\20\uffff\13\40\110\uffff\1\41", + "\2\41\1\uffff\1\41\20\uffff\13\41\111\uffff\1\40", + "\2\41\1\uffff\1\41\20\uffff\13\41\111\uffff\1\40", "", "" }; @@ -46385,7 +49202,7 @@ public DFA11(BaseRecognizer recognizer) { this.transition = dfa_7; } public String getDescription() { - return "2558:1: rule__AbstractType__Alternatives : ( ( rulebool ) | ( ruleint8 ) | ( ruleuint8 ) | ( ruleint16 ) | ( ruleuint16 ) | ( ruleint32 ) | ( ruleuint32 ) | ( ruleint64 ) | ( ruleuint64 ) | ( rulefloat32 ) | ( rulefloat64 ) | ( rulestring0 ) | ( rulebyte ) | ( ruletime ) | ( ruleduration ) | ( ruleHeader ) | ( ruleboolArray ) | ( ruleint8Array ) | ( ruleuint8Array ) | ( ruleint16Array ) | ( ruleuint16Array ) | ( ruleint32Array ) | ( ruleuint32Array ) | ( ruleint64Array ) | ( ruleuint64Array ) | ( rulefloat32Array ) | ( rulefloat64Array ) | ( rulestring0Array ) | ( rulebyteArray ) | ( ruleTopicSpecRef ) | ( ruleArrayTopicSpecRef ) );"; + return "2589:1: rule__AbstractType__Alternatives : ( ( rulebool ) | ( ruleint8 ) | ( ruleuint8 ) | ( ruleint16 ) | ( ruleuint16 ) | ( ruleint32 ) | ( ruleuint32 ) | ( ruleint64 ) | ( ruleuint64 ) | ( rulefloat32 ) | ( rulefloat64 ) | ( rulestring0 ) | ( rulebyte ) | ( ruletime ) | ( ruleduration ) | ( ruleHeader ) | ( ruleboolArray ) | ( ruleint8Array ) | ( ruleuint8Array ) | ( ruleint16Array ) | ( ruleuint16Array ) | ( ruleint32Array ) | ( ruleuint32Array ) | ( ruleint64Array ) | ( ruleuint64Array ) | ( rulefloat32Array ) | ( rulefloat64Array ) | ( rulestring0Array ) | ( rulebyteArray ) | ( ruleTopicSpecRef ) | ( ruleArrayTopicSpecRef ) );"; } } @@ -46394,71 +49211,71 @@ public String getDescription() { public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001140000000000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0005140000000000L}); public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000080000000002L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0001100000000000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0005100000000000L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000100000000000L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000600L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000E40000000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0064000000000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x00C8000000000000L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x00000C0000000000L}); public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000004000C00L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0080040000000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0002E40000000000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000600L,0x0000000000000040L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0004000000000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0018040000000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0020000000000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000018000600L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000040040000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x00000401A0000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x000004C008000600L,0x0000FFFFFFC00000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x000000C008000600L,0x0000FFFFFFC00000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x000000C008000602L,0x0000FFFFFFC00000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000200000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x7F00040000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0100040000000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0002E40000000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000600L,0x0000000000000080L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0030040000000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0040000000000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000018000600L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000040040000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x00000401A0000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x000004C008000600L,0x0001FFFFFF800000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x000000C008000600L,0x0001FFFFFF800000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x000000C008000602L,0x0001FFFFFF800000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0xFE00040000000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000680L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000040000000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000002000000L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000010000000L,0x00000000000F7000L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000D00L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000010000000L,0x00000000001EE000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000040000000000L}); public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L}); public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); - public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000001000000000L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000040000000000L,0x0000000000008000L}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x00000200000006F0L}); - public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); - public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000040400000000L}); - public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); - public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x000000FFE0001600L}); - public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000040000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x00000200000006F0L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000040400000000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x000000FFE0001600L}); public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L}); public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); @@ -46471,9 +49288,9 @@ public String getDescription() { public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L}); public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); - public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000004000000000L}); - public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000004000000000L}); public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L}); public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L}); @@ -46486,7 +49303,8 @@ public String getDescription() { public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L}); public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); - public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000008000000L}); - public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L}); -} +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java b/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java index 676c4c967..d95c7a801 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ui/src-gen/de/fraunhofer/ipa/ros/ui/contentassist/AbstractRosProposalProvider.java @@ -58,13 +58,16 @@ public void completeCatkinPackage_Artifact(EObject model, Assignment assignment, public void completeAmentPackage_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeAmentPackage_Spec(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAmentPackage_FromGitRepo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeAmentPackage_Artifact(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAmentPackage_Dependency(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeAmentPackage_Dependency(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeAmentPackage_Spec(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAmentPackage_Artifact(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeServiceSpec_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/Ros.xtextbin b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/Ros.xtextbin index f6aee79e7657b672751a789dba348a0c193011fe..9e1f0098db652beed4d186f740b705ca75b1c153 100644 GIT binary patch delta 1929 zcmZWqX>b%(5KhnAnS@*`XM|`3MMVxb2a$vj$!5BRRGCd`vr3^>#i=l{BFQF|ELc=Z z$3K*K;js#e2coEWqwz)*Z#+;D6;MFL1Iil|Z_(~Ka_Iip>ev1C_jUK{SMzo60cZVg z9TxWO(MJM=`VJYZiXFTR!a6R4TrDr!VJB0KR?9-`0$btbptPEK3a`*qh6+a_gQF0_ zDCKJ3HpIrQ&v1C*Td7n%g?yaT#u8hML8|6f3+;16PVF+Ff>Xft_q=vwHw@(C9ZfdQRw3L(X4(RXk>F*s1T;~G;?+bM9=M=~7{{hAhv$|7ltyW9QBYu$awHgyY z6c9h`6F>5Q@OmH2@JD@io{|jeu^_w8&wiY8$a9Mh3McIVST=fXIWIJVdqm{A~OS)`@Z}?04W_o8uVf$Om8p5|_d$$Au z=6r``bjbmHS4JjV`5ybS7TB%UqV^QvRvDasa<}n)E(5p8sD_9t{J`h^FnxYyf%6gP z8H=sxKlFDQ~0r_W#~DPND$&-e*G_LToen2ViV}y>ML$;1z$S{k+z%Rup<-WfX_x`|rK#a=t zrB!1c{8l301(EOFi0la94`NRP{82;?vZztt5KGKec&J|$e{y%^XW=+3@DdjN#pl3Z z-JAW*^W*OV`a=#<*`H#Rg5yd3B`22pTcnP#R0yN<75>vNL>VGPz#OD`ga#=wDgh`Y zLZnO32!fenlyNXi+{5I=x|Hqbh%V)T!|nu7F6&aB%yn+VS#d@A1Hxff_$XIlxKND< zs78uW!Zf4AJvwlY2^6TnO*&f6r9fi^H7-CEic#kGPshk@0H2-rnI0_+$W^e%pRY(Dq0h9}v$!bHGfU2b7UZ7b)Mb+%^-X_rLL*6OP z=4#w;4b?~%e;2%;c^EaCZZ0?XnYOvw+&l@#;5Hm@o@riWeq(Mm*O^H?f(LOg6x5@=4Vi5FeN}JMTUPOR*i9MF@znR>>qX*bV|?gitbH zDD(gu2;GEgk`N%Kq>%;~5?UNW?=}f7l+aTs_rBd(V`V;8_nvp&Ip@9EJ6F7GQ#PM9 zVNBgQvmJn_yJIcM^MD?F4}yl#%@jBdEYs)#I32Rh^l`D*$Hv}rEzx~o5NAM+X_smC zOeVcUrCnxE#gWcHyV9<9GH@1T8rdapPk1#pK2}i_t8ga>oDIUTM~NT=a1NN{@IL9_ zTriB>lH#GIG9JutF^VZa5nt3L%@sL>B~hl>)6fQvP{gxhxk zmnOJ;u4Pnqrozd=xsHJ^+cP2!ktTbQ)5+=X%yKq3^-hyai!aXa>+;3O7&SXT0Mzftw5?&CCdg{Ur*#nfY7jC4?{%Ri)8_LM8BX<|kfN9UUkWw=!!R zvCI)FQX+7Bis0c6Vwm^^giQRB?>!GJ{ECa-bnvek{>F!Qa?y|AZyEm1hrjpX9~l18 zhj%4meto;S?g_YugVa+HtFX8zIz*tiHx&i<>A%%aEb=q+dr^}8NfA7t{}~4pI38ls zVQx6?FI-Suez1WXvig;+j*wLVBO?U<*6eds`y6A5<6c70!V_HZ*-mPsQ@ncGUp&J_ zA6h)i@Hy_-_k41X_PxMO6!0SZHu7B$DIP|5-PCM+NgMyJ4gO%I%MgEIK&ID=l&^As z%~!teE90M)t5s2&GfE;pbp#-WmpKl7NHh!YE1SIAXRJ#^4s@hW;yP8g~a(Nej zKlLN;qoG>KIkHi@vPSOff*r6HUy`rLN%FdEkhQWBk6=A+!$!P|TjXVVP_B_='A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & switch (alt1) { case 1 : - // InternalRos.g:5653:26: '/' RULE_ID + // InternalRos.g:5906:26: '/' RULE_ID { match('/'); mRULE_ID(); @@ -2013,7 +2035,7 @@ else if ( ((LA1_0>='A' && LA1_0<='Z')||(LA1_0>='^' && LA1_0<='_')||(LA1_0>='a' & } break; case 2 : - // InternalRos.g:5653:38: RULE_ID '/' + // InternalRos.g:5906:38: RULE_ID '/' { mRULE_ID(); match('/'); @@ -2042,10 +2064,10 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { try { int _type = RULE_ROS_CONVENTION_PARAM; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5655:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) - // InternalRos.g:5655:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:5908:27: ( ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* ) + // InternalRos.g:5908:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* { - // InternalRos.g:5655:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* + // InternalRos.g:5908:29: ( '/' RULE_STRING | RULE_STRING '/' | '~' RULE_STRING )* loop2: do { int alt2=4; @@ -2071,7 +2093,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { switch (alt2) { case 1 : - // InternalRos.g:5655:30: '/' RULE_STRING + // InternalRos.g:5908:30: '/' RULE_STRING { match('/'); mRULE_STRING(); @@ -2079,7 +2101,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 2 : - // InternalRos.g:5655:46: RULE_STRING '/' + // InternalRos.g:5908:46: RULE_STRING '/' { mRULE_STRING(); match('/'); @@ -2087,7 +2109,7 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { } break; case 3 : - // InternalRos.g:5655:62: '~' RULE_STRING + // InternalRos.g:5908:62: '~' RULE_STRING { match('~'); mRULE_STRING(); @@ -2114,8 +2136,8 @@ public final void mRULE_ROS_CONVENTION_PARAM() throws RecognitionException { // $ANTLR start "RULE_DIGIT" public final void mRULE_DIGIT() throws RecognitionException { try { - // InternalRos.g:5657:21: ( '0' .. '9' ) - // InternalRos.g:5657:23: '0' .. '9' + // InternalRos.g:5910:21: ( '0' .. '9' ) + // InternalRos.g:5910:23: '0' .. '9' { matchRange('0','9'); @@ -2132,10 +2154,10 @@ public final void mRULE_BINARY() throws RecognitionException { try { int _type = RULE_BINARY; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5659:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) - // InternalRos.g:5659:15: ( '0b' | '0B' ) ( '0' | '1' )+ + // InternalRos.g:5912:13: ( ( '0b' | '0B' ) ( '0' | '1' )+ ) + // InternalRos.g:5912:15: ( '0b' | '0B' ) ( '0' | '1' )+ { - // InternalRos.g:5659:15: ( '0b' | '0B' ) + // InternalRos.g:5912:15: ( '0b' | '0B' ) int alt3=2; int LA3_0 = input.LA(1); @@ -2163,7 +2185,7 @@ else if ( (LA3_1=='B') ) { } switch (alt3) { case 1 : - // InternalRos.g:5659:16: '0b' + // InternalRos.g:5912:16: '0b' { match("0b"); @@ -2171,7 +2193,7 @@ else if ( (LA3_1=='B') ) { } break; case 2 : - // InternalRos.g:5659:21: '0B' + // InternalRos.g:5912:21: '0B' { match("0B"); @@ -2181,7 +2203,7 @@ else if ( (LA3_1=='B') ) { } - // InternalRos.g:5659:27: ( '0' | '1' )+ + // InternalRos.g:5912:27: ( '0' | '1' )+ int cnt4=0; loop4: do { @@ -2235,10 +2257,10 @@ public final void mRULE_BOOLEAN() throws RecognitionException { try { int _type = RULE_BOOLEAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5661:14: ( ( 'true' | 'false' ) ) - // InternalRos.g:5661:16: ( 'true' | 'false' ) + // InternalRos.g:5914:14: ( ( 'true' | 'false' ) ) + // InternalRos.g:5914:16: ( 'true' | 'false' ) { - // InternalRos.g:5661:16: ( 'true' | 'false' ) + // InternalRos.g:5914:16: ( 'true' | 'false' ) int alt5=2; int LA5_0 = input.LA(1); @@ -2256,7 +2278,7 @@ else if ( (LA5_0=='f') ) { } switch (alt5) { case 1 : - // InternalRos.g:5661:17: 'true' + // InternalRos.g:5914:17: 'true' { match("true"); @@ -2264,7 +2286,7 @@ else if ( (LA5_0=='f') ) { } break; case 2 : - // InternalRos.g:5661:24: 'false' + // InternalRos.g:5914:24: 'false' { match("false"); @@ -2290,19 +2312,19 @@ public final void mRULE_DOUBLE() throws RecognitionException { try { int _type = RULE_DOUBLE; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5663:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) - // InternalRos.g:5663:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:5916:13: ( RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) ) + // InternalRos.g:5916:15: RULE_DECINT ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) { mRULE_DECINT(); - // InternalRos.g:5663:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) + // InternalRos.g:5916:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT ) int alt10=2; alt10 = dfa10.predict(input); switch (alt10) { case 1 : - // InternalRos.g:5663:28: '.' ( RULE_DIGIT )* + // InternalRos.g:5916:28: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:5663:32: ( RULE_DIGIT )* + // InternalRos.g:5916:32: ( RULE_DIGIT )* loop6: do { int alt6=2; @@ -2315,7 +2337,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt6) { case 1 : - // InternalRos.g:5663:32: RULE_DIGIT + // InternalRos.g:5916:32: RULE_DIGIT { mRULE_DIGIT(); @@ -2331,9 +2353,9 @@ public final void mRULE_DOUBLE() throws RecognitionException { } break; case 2 : - // InternalRos.g:5663:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT + // InternalRos.g:5916:44: ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT { - // InternalRos.g:5663:44: ( '.' ( RULE_DIGIT )* )? + // InternalRos.g:5916:44: ( '.' ( RULE_DIGIT )* )? int alt8=2; int LA8_0 = input.LA(1); @@ -2342,10 +2364,10 @@ public final void mRULE_DOUBLE() throws RecognitionException { } switch (alt8) { case 1 : - // InternalRos.g:5663:45: '.' ( RULE_DIGIT )* + // InternalRos.g:5916:45: '.' ( RULE_DIGIT )* { match('.'); - // InternalRos.g:5663:49: ( RULE_DIGIT )* + // InternalRos.g:5916:49: ( RULE_DIGIT )* loop7: do { int alt7=2; @@ -2358,7 +2380,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { switch (alt7) { case 1 : - // InternalRos.g:5663:49: RULE_DIGIT + // InternalRos.g:5916:49: RULE_DIGIT { mRULE_DIGIT(); @@ -2385,7 +2407,7 @@ public final void mRULE_DOUBLE() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:5663:73: ( '-' | '+' )? + // InternalRos.g:5916:73: ( '-' | '+' )? int alt9=2; int LA9_0 = input.LA(1); @@ -2444,10 +2466,10 @@ public final void mRULE_DECINT() throws RecognitionException { try { int _type = RULE_DECINT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5665:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) - // InternalRos.g:5665:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:5918:13: ( ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) ) + // InternalRos.g:5918:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) { - // InternalRos.g:5665:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) + // InternalRos.g:5918:15: ( '0' | '1' .. '9' ( RULE_DIGIT )* | '-' '0' .. '9' ( RULE_DIGIT )* ) int alt13=3; switch ( input.LA(1) ) { case '0': @@ -2482,17 +2504,17 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt13) { case 1 : - // InternalRos.g:5665:16: '0' + // InternalRos.g:5918:16: '0' { match('0'); } break; case 2 : - // InternalRos.g:5665:20: '1' .. '9' ( RULE_DIGIT )* + // InternalRos.g:5918:20: '1' .. '9' ( RULE_DIGIT )* { matchRange('1','9'); - // InternalRos.g:5665:29: ( RULE_DIGIT )* + // InternalRos.g:5918:29: ( RULE_DIGIT )* loop11: do { int alt11=2; @@ -2505,7 +2527,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt11) { case 1 : - // InternalRos.g:5665:29: RULE_DIGIT + // InternalRos.g:5918:29: RULE_DIGIT { mRULE_DIGIT(); @@ -2521,11 +2543,11 @@ public final void mRULE_DECINT() throws RecognitionException { } break; case 3 : - // InternalRos.g:5665:41: '-' '0' .. '9' ( RULE_DIGIT )* + // InternalRos.g:5918:41: '-' '0' .. '9' ( RULE_DIGIT )* { match('-'); matchRange('0','9'); - // InternalRos.g:5665:54: ( RULE_DIGIT )* + // InternalRos.g:5918:54: ( RULE_DIGIT )* loop12: do { int alt12=2; @@ -2538,7 +2560,7 @@ public final void mRULE_DECINT() throws RecognitionException { switch (alt12) { case 1 : - // InternalRos.g:5665:54: RULE_DIGIT + // InternalRos.g:5918:54: RULE_DIGIT { mRULE_DIGIT(); @@ -2570,10 +2592,10 @@ public final void mRULE_DECINT() throws RecognitionException { // $ANTLR start "RULE_DAY" public final void mRULE_DAY() throws RecognitionException { try { - // InternalRos.g:5667:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) - // InternalRos.g:5667:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:5920:19: ( ( '1' .. '9' | '1' .. '3' '0' .. '9' ) ) + // InternalRos.g:5920:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) { - // InternalRos.g:5667:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) + // InternalRos.g:5920:21: ( '1' .. '9' | '1' .. '3' '0' .. '9' ) int alt14=2; int LA14_0 = input.LA(1); @@ -2597,14 +2619,14 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { } switch (alt14) { case 1 : - // InternalRos.g:5667:22: '1' .. '9' + // InternalRos.g:5920:22: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:5667:31: '1' .. '3' '0' .. '9' + // InternalRos.g:5920:31: '1' .. '3' '0' .. '9' { matchRange('1','3'); matchRange('0','9'); @@ -2626,10 +2648,10 @@ else if ( ((LA14_0>='4' && LA14_0<='9')) ) { // $ANTLR start "RULE_MONTH" public final void mRULE_MONTH() throws RecognitionException { try { - // InternalRos.g:5669:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) - // InternalRos.g:5669:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:5922:21: ( ( '1' .. '9' | '1' '0' .. '2' ) ) + // InternalRos.g:5922:23: ( '1' .. '9' | '1' '0' .. '2' ) { - // InternalRos.g:5669:23: ( '1' .. '9' | '1' '0' .. '2' ) + // InternalRos.g:5922:23: ( '1' .. '9' | '1' '0' .. '2' ) int alt15=2; int LA15_0 = input.LA(1); @@ -2653,14 +2675,14 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { } switch (alt15) { case 1 : - // InternalRos.g:5669:24: '1' .. '9' + // InternalRos.g:5922:24: '1' .. '9' { matchRange('1','9'); } break; case 2 : - // InternalRos.g:5669:33: '1' '0' .. '2' + // InternalRos.g:5922:33: '1' '0' .. '2' { match('1'); matchRange('0','2'); @@ -2682,8 +2704,8 @@ else if ( ((LA15_0>='2' && LA15_0<='9')) ) { // $ANTLR start "RULE_YEAR" public final void mRULE_YEAR() throws RecognitionException { try { - // InternalRos.g:5671:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) - // InternalRos.g:5671:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' + // InternalRos.g:5924:20: ( '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' ) + // InternalRos.g:5924:22: '0' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' { matchRange('0','2'); matchRange('0','9'); @@ -2701,10 +2723,10 @@ public final void mRULE_YEAR() throws RecognitionException { // $ANTLR start "RULE_HOUR" public final void mRULE_HOUR() throws RecognitionException { try { - // InternalRos.g:5673:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) - // InternalRos.g:5673:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:5926:20: ( ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) ) + // InternalRos.g:5926:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) { - // InternalRos.g:5673:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) + // InternalRos.g:5926:22: ( '0' .. '1' '0' .. '9' | '2' '0' .. '3' ) int alt16=2; int LA16_0 = input.LA(1); @@ -2722,7 +2744,7 @@ else if ( (LA16_0=='2') ) { } switch (alt16) { case 1 : - // InternalRos.g:5673:23: '0' .. '1' '0' .. '9' + // InternalRos.g:5926:23: '0' .. '1' '0' .. '9' { matchRange('0','1'); matchRange('0','9'); @@ -2730,7 +2752,7 @@ else if ( (LA16_0=='2') ) { } break; case 2 : - // InternalRos.g:5673:41: '2' '0' .. '3' + // InternalRos.g:5926:41: '2' '0' .. '3' { match('2'); matchRange('0','3'); @@ -2752,8 +2774,8 @@ else if ( (LA16_0=='2') ) { // $ANTLR start "RULE_MIN_SEC" public final void mRULE_MIN_SEC() throws RecognitionException { try { - // InternalRos.g:5675:23: ( '0' .. '5' '0' .. '9' ) - // InternalRos.g:5675:25: '0' .. '5' '0' .. '9' + // InternalRos.g:5928:23: ( '0' .. '5' '0' .. '9' ) + // InternalRos.g:5928:25: '0' .. '5' '0' .. '9' { matchRange('0','5'); matchRange('0','9'); @@ -2771,8 +2793,8 @@ public final void mRULE_DATE_TIME() throws RecognitionException { try { int _type = RULE_DATE_TIME; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5677:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) - // InternalRos.g:5677:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC + // InternalRos.g:5930:16: ( RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC ) + // InternalRos.g:5930:18: RULE_YEAR '-' RULE_MONTH '-' RULE_DAY 'T' RULE_HOUR ':' RULE_MIN_SEC ':' RULE_MIN_SEC { mRULE_YEAR(); match('-'); @@ -2801,10 +2823,10 @@ public final void mRULE_MESSAGE_ASIGMENT() throws RecognitionException { try { int _type = RULE_MESSAGE_ASIGMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5679:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) - // InternalRos.g:5679:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:5932:23: ( ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) ) + // InternalRos.g:5932:25: ( RULE_ID | RULE_STRING ) '=' ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) { - // InternalRos.g:5679:25: ( RULE_ID | RULE_STRING ) + // InternalRos.g:5932:25: ( RULE_ID | RULE_STRING ) int alt17=2; int LA17_0 = input.LA(1); @@ -2822,14 +2844,14 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } switch (alt17) { case 1 : - // InternalRos.g:5679:26: RULE_ID + // InternalRos.g:5932:26: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:5679:34: RULE_STRING + // InternalRos.g:5932:34: RULE_STRING { mRULE_STRING(); @@ -2839,7 +2861,7 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { } match('='); - // InternalRos.g:5679:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) + // InternalRos.g:5932:51: ( RULE_ID | RULE_STRING | RULE_INT | '-' RULE_INT ) int alt18=4; switch ( input.LA(1) ) { case 'A': @@ -2934,28 +2956,28 @@ else if ( (LA17_0=='\"'||LA17_0=='\'') ) { switch (alt18) { case 1 : - // InternalRos.g:5679:52: RULE_ID + // InternalRos.g:5932:52: RULE_ID { mRULE_ID(); } break; case 2 : - // InternalRos.g:5679:60: RULE_STRING + // InternalRos.g:5932:60: RULE_STRING { mRULE_STRING(); } break; case 3 : - // InternalRos.g:5679:72: RULE_INT + // InternalRos.g:5932:72: RULE_INT { mRULE_INT(); } break; case 4 : - // InternalRos.g:5679:81: '-' RULE_INT + // InternalRos.g:5932:81: '-' RULE_INT { match('-'); mRULE_INT(); @@ -2981,10 +3003,10 @@ public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5681:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalRos.g:5681:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:5934:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalRos.g:5934:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalRos.g:5681:11: ( '^' )? + // InternalRos.g:5934:11: ( '^' )? int alt19=2; int LA19_0 = input.LA(1); @@ -2993,7 +3015,7 @@ public final void mRULE_ID() throws RecognitionException { } switch (alt19) { case 1 : - // InternalRos.g:5681:11: '^' + // InternalRos.g:5934:11: '^' { match('^'); @@ -3011,7 +3033,7 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // InternalRos.g:5681:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalRos.g:5934:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop20: do { int alt20=2; @@ -3058,10 +3080,10 @@ public final void mRULE_ID() throws RecognitionException { // $ANTLR start "RULE_INT" public final void mRULE_INT() throws RecognitionException { try { - // InternalRos.g:5683:19: ( ( '0' .. '9' )+ ) - // InternalRos.g:5683:21: ( '0' .. '9' )+ + // InternalRos.g:5936:19: ( ( '0' .. '9' )+ ) + // InternalRos.g:5936:21: ( '0' .. '9' )+ { - // InternalRos.g:5683:21: ( '0' .. '9' )+ + // InternalRos.g:5936:21: ( '0' .. '9' )+ int cnt21=0; loop21: do { @@ -3075,7 +3097,7 @@ public final void mRULE_INT() throws RecognitionException { switch (alt21) { case 1 : - // InternalRos.g:5683:22: '0' .. '9' + // InternalRos.g:5936:22: '0' .. '9' { matchRange('0','9'); @@ -3105,10 +3127,10 @@ public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5685:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // InternalRos.g:5685:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:5938:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalRos.g:5938:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) { - // InternalRos.g:5685:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalRos.g:5938:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) int alt24=2; int LA24_0 = input.LA(1); @@ -3126,10 +3148,10 @@ else if ( (LA24_0=='\'') ) { } switch (alt24) { case 1 : - // InternalRos.g:5685:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalRos.g:5938:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalRos.g:5685:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalRos.g:5938:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop22: do { int alt22=3; @@ -3145,7 +3167,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 switch (alt22) { case 1 : - // InternalRos.g:5685:21: '\\\\' . + // InternalRos.g:5938:21: '\\\\' . { match('\\'); matchAny(); @@ -3153,7 +3175,7 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:5685:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalRos.g:5938:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3178,10 +3200,10 @@ else if ( ((LA22_0>='\u0000' && LA22_0<='!')||(LA22_0>='#' && LA22_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:5685:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalRos.g:5938:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalRos.g:5685:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalRos.g:5938:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop23: do { int alt23=3; @@ -3197,7 +3219,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 switch (alt23) { case 1 : - // InternalRos.g:5685:54: '\\\\' . + // InternalRos.g:5938:54: '\\\\' . { match('\\'); matchAny(); @@ -3205,7 +3227,7 @@ else if ( ((LA23_0>='\u0000' && LA23_0<='&')||(LA23_0>='(' && LA23_0<='[')||(LA2 } break; case 2 : - // InternalRos.g:5685:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalRos.g:5938:61: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3248,12 +3270,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5687:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalRos.g:5687:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalRos.g:5940:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalRos.g:5940:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalRos.g:5687:24: ( options {greedy=false; } : . )* + // InternalRos.g:5940:24: ( options {greedy=false; } : . )* loop25: do { int alt25=2; @@ -3278,7 +3300,7 @@ else if ( ((LA25_0>='\u0000' && LA25_0<=')')||(LA25_0>='+' && LA25_0<='\uFFFF')) switch (alt25) { case 1 : - // InternalRos.g:5687:52: . + // InternalRos.g:5940:52: . { matchAny(); @@ -3308,12 +3330,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5689:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalRos.g:5689:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalRos.g:5942:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalRos.g:5942:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalRos.g:5689:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalRos.g:5942:24: (~ ( ( '\\n' | '\\r' ) ) )* loop26: do { int alt26=2; @@ -3326,7 +3348,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { switch (alt26) { case 1 : - // InternalRos.g:5689:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalRos.g:5942:24: ~ ( ( '\\n' | '\\r' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -3346,7 +3368,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalRos.g:5689:40: ( ( '\\r' )? '\\n' )? + // InternalRos.g:5942:40: ( ( '\\r' )? '\\n' )? int alt28=2; int LA28_0 = input.LA(1); @@ -3355,9 +3377,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt28) { case 1 : - // InternalRos.g:5689:41: ( '\\r' )? '\\n' + // InternalRos.g:5942:41: ( '\\r' )? '\\n' { - // InternalRos.g:5689:41: ( '\\r' )? + // InternalRos.g:5942:41: ( '\\r' )? int alt27=2; int LA27_0 = input.LA(1); @@ -3366,7 +3388,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt27) { case 1 : - // InternalRos.g:5689:41: '\\r' + // InternalRos.g:5942:41: '\\r' { match('\r'); @@ -3398,10 +3420,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5691:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalRos.g:5691:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:5944:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalRos.g:5944:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalRos.g:5691:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalRos.g:5944:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt29=0; loop29: do { @@ -3455,8 +3477,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalRos.g:5693:16: ( . ) - // InternalRos.g:5693:18: . + // InternalRos.g:5946:16: ( . ) + // InternalRos.g:5946:18: . { matchAny(); @@ -3471,8 +3493,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalRos.g:1:8: ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt30=102; + // InternalRos.g:1:8: ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt30=103; alt30 = dfa30.predict(input); switch (alt30) { case 1 : @@ -4092,98 +4114,105 @@ public void mTokens() throws RecognitionException { } break; case 89 : - // InternalRos.g:1:551: RULE_ROS_CONVENTION_A + // InternalRos.g:1:551: T__113 { - mRULE_ROS_CONVENTION_A(); + mT__113(); } break; case 90 : - // InternalRos.g:1:573: RULE_ROS_CONVENTION_PARAM + // InternalRos.g:1:558: RULE_ROS_CONVENTION_A { - mRULE_ROS_CONVENTION_PARAM(); + mRULE_ROS_CONVENTION_A(); } break; case 91 : - // InternalRos.g:1:599: RULE_BINARY + // InternalRos.g:1:580: RULE_ROS_CONVENTION_PARAM { - mRULE_BINARY(); + mRULE_ROS_CONVENTION_PARAM(); } break; case 92 : - // InternalRos.g:1:611: RULE_BOOLEAN + // InternalRos.g:1:606: RULE_BINARY { - mRULE_BOOLEAN(); + mRULE_BINARY(); } break; case 93 : - // InternalRos.g:1:624: RULE_DOUBLE + // InternalRos.g:1:618: RULE_BOOLEAN { - mRULE_DOUBLE(); + mRULE_BOOLEAN(); } break; case 94 : - // InternalRos.g:1:636: RULE_DECINT + // InternalRos.g:1:631: RULE_DOUBLE { - mRULE_DECINT(); + mRULE_DOUBLE(); } break; case 95 : - // InternalRos.g:1:648: RULE_DATE_TIME + // InternalRos.g:1:643: RULE_DECINT { - mRULE_DATE_TIME(); + mRULE_DECINT(); } break; case 96 : - // InternalRos.g:1:663: RULE_MESSAGE_ASIGMENT + // InternalRos.g:1:655: RULE_DATE_TIME { - mRULE_MESSAGE_ASIGMENT(); + mRULE_DATE_TIME(); } break; case 97 : - // InternalRos.g:1:685: RULE_ID + // InternalRos.g:1:670: RULE_MESSAGE_ASIGMENT { - mRULE_ID(); + mRULE_MESSAGE_ASIGMENT(); } break; case 98 : - // InternalRos.g:1:693: RULE_STRING + // InternalRos.g:1:692: RULE_ID { - mRULE_STRING(); + mRULE_ID(); } break; case 99 : - // InternalRos.g:1:705: RULE_ML_COMMENT + // InternalRos.g:1:700: RULE_STRING { - mRULE_ML_COMMENT(); + mRULE_STRING(); } break; case 100 : - // InternalRos.g:1:721: RULE_SL_COMMENT + // InternalRos.g:1:712: RULE_ML_COMMENT { - mRULE_SL_COMMENT(); + mRULE_ML_COMMENT(); } break; case 101 : - // InternalRos.g:1:737: RULE_WS + // InternalRos.g:1:728: RULE_SL_COMMENT { - mRULE_WS(); + mRULE_SL_COMMENT(); } break; case 102 : - // InternalRos.g:1:745: RULE_ANY_OTHER + // InternalRos.g:1:744: RULE_WS + { + mRULE_WS(); + + } + break; + case 103 : + // InternalRos.g:1:752: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -4247,21 +4276,21 @@ public DFA10(BaseRecognizer recognizer) { this.transition = DFA10_transition; } public String getDescription() { - return "5663:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; + return "5916:27: ( '.' ( RULE_DIGIT )* | ( '.' ( RULE_DIGIT )* )? ( 'E' | 'e' ) ( '-' | '+' )? RULE_DECINT )"; } } static final String DFA30_eotS = - "\1\45\1\63\3\uffff\34\63\3\56\1\63\1\uffff\3\56\2\160\1\56\1\160\2\uffff\4\63\5\uffff\53\63\4\uffff\1\63\2\uffff\1\u00a8\2\uffff\1\u00a8\4\uffff\3\160\1\uffff\61\63\3\uffff\2\160\12\63\1\u00ed\1\u00ef\14\63\1\u00fc\3\63\1\u0100\10\63\1\u0109\1\u010a\1\u010b\1\u010c\6\63\1\u0114\1\u0116\1\u0118\4\63\1\160\5\63\1\u0125\4\63\1\uffff\1\63\1\uffff\1\63\1\u012c\12\63\1\uffff\2\63\1\u010b\1\uffff\6\63\1\u0140\1\63\4\uffff\5\63\1\u0147\6\uffff\1\u0149\1\u014b\1\u014d\1\u014f\10\63\1\uffff\1\63\1\u0159\1\u015a\3\63\1\uffff\3\63\1\u0162\2\63\1\u0165\1\63\1\u0167\5\63\1\u016e\1\u016f\3\63\1\uffff\5\63\1\u0178\11\uffff\1\u017a\1\u017c\1\u017e\1\u0180\5\63\2\uffff\7\63\1\uffff\1\u018f\1\63\1\uffff\1\63\1\uffff\1\u0192\1\63\1\u0195\1\u0197\1\u0198\3\uffff\4\63\1\u019d\1\u019e\1\63\1\u01a0\7\uffff\1\63\1\uffff\10\63\1\u01ab\5\63\1\uffff\1\u01b1\1\63\1\uffff\1\u01b3\5\uffff\4\63\2\uffff\1\u01b8\1\uffff\1\63\1\u01bd\1\u01bf\6\63\1\u01c6\1\uffff\5\63\1\uffff\1\u01cc\1\uffff\1\u01cd\3\63\1\uffff\1\u01d1\1\u01d2\2\63\1\uffff\1\u01d5\1\uffff\5\63\1\u01dc\1\uffff\1\u01dd\4\63\2\uffff\3\63\2\uffff\2\63\1\uffff\1\63\1\u01e8\1\u01e9\2\63\1\u01ec\2\uffff\7\63\1\u01f4\2\63\2\uffff\2\63\1\uffff\1\u01fa\1\u01fc\1\63\1\u01fe\3\63\1\uffff\2\63\1\u0205\1\u0207\1\u0208\1\uffff\1\u0209\1\uffff\1\u020a\1\uffff\5\63\1\u0210\1\uffff\1\u0211\4\uffff\5\63\2\uffff\1\u0217\3\63\1\u021b\1\uffff\3\63\1\uffff\1\63\1\u0220\1\63\1\u0222\1\uffff\1\63\1\uffff\1\63\1\u0225\1\uffff"; + "\1\45\1\63\3\uffff\34\63\3\56\1\63\1\uffff\3\56\2\161\1\56\1\161\2\uffff\4\63\5\uffff\54\63\4\uffff\1\63\2\uffff\1\u00aa\2\uffff\1\u00aa\4\uffff\3\161\1\uffff\62\63\3\uffff\2\161\12\63\1\u00f0\1\u00f2\15\63\1\u0100\3\63\1\u0104\10\63\1\u010d\1\u010e\1\u010f\1\u0110\6\63\1\u0118\1\u011a\1\u011c\4\63\1\161\5\63\1\u0129\4\63\1\uffff\1\63\1\uffff\1\63\1\u0130\13\63\1\uffff\2\63\1\u010f\1\uffff\6\63\1\u0145\1\63\4\uffff\5\63\1\u014c\6\uffff\1\u014e\1\u0150\1\u0152\1\u0154\10\63\1\uffff\1\63\1\u015e\1\u015f\3\63\1\uffff\4\63\1\u0168\2\63\1\u016b\1\63\1\u016d\5\63\1\u0174\1\u0175\3\63\1\uffff\5\63\1\u017e\11\uffff\1\u0180\1\u0182\1\u0184\1\u0186\5\63\2\uffff\10\63\1\uffff\1\u0196\1\63\1\uffff\1\63\1\uffff\1\u0199\1\63\1\u019c\1\u019e\1\u019f\3\uffff\4\63\1\u01a4\1\u01a5\1\63\1\u01a7\7\uffff\1\63\1\uffff\10\63\1\u01b2\6\63\1\uffff\1\u01b9\1\63\1\uffff\1\u01bb\5\uffff\4\63\2\uffff\1\u01c0\1\uffff\1\63\1\u01c5\1\u01c7\6\63\1\u01ce\1\uffff\6\63\1\uffff\1\u01d5\1\uffff\1\u01d6\3\63\1\uffff\1\u01da\1\u01db\2\63\1\uffff\1\u01de\1\uffff\5\63\1\u01e5\1\uffff\1\63\1\u01e7\4\63\2\uffff\3\63\2\uffff\2\63\1\uffff\1\63\1\u01f2\1\u01f3\2\63\1\u01f6\1\uffff\1\63\1\uffff\7\63\1\u01ff\2\63\2\uffff\2\63\1\uffff\1\u0204\1\u0206\1\u0208\1\63\1\u020a\3\63\1\uffff\2\63\1\u0211\1\u0213\1\uffff\1\u0214\1\uffff\1\u0215\1\uffff\1\u0216\1\uffff\5\63\1\u021c\1\uffff\1\u021d\4\uffff\5\63\2\uffff\1\u0223\3\63\1\u0227\1\uffff\3\63\1\uffff\1\63\1\u022c\1\63\1\u022e\1\uffff\1\63\1\uffff\1\63\1\u0231\1\uffff"; static final String DFA30_eofS = - "\u0226\uffff"; + "\u0232\uffff"; static final String DFA30_minS = - "\1\0\1\57\3\uffff\34\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\4\57\5\uffff\53\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\61\57\1\0\1\uffff\1\0\2\56\66\57\1\55\12\57\1\uffff\1\57\1\uffff\14\57\1\uffff\3\57\1\uffff\10\57\4\uffff\6\57\6\uffff\14\57\1\uffff\6\57\1\uffff\23\57\1\uffff\6\57\11\uffff\11\57\2\uffff\7\57\1\uffff\2\57\1\uffff\1\57\1\uffff\5\57\3\uffff\10\57\7\uffff\1\57\1\uffff\16\57\1\uffff\2\57\1\uffff\1\57\5\uffff\4\57\2\uffff\1\57\1\uffff\12\57\1\uffff\5\57\1\uffff\1\57\1\uffff\4\57\1\uffff\4\57\1\uffff\1\57\1\uffff\6\57\1\uffff\5\57\2\uffff\3\57\2\uffff\2\57\1\uffff\6\57\2\uffff\12\57\2\uffff\2\57\1\uffff\7\57\1\uffff\5\57\1\uffff\1\57\1\uffff\1\57\1\uffff\6\57\1\uffff\1\57\4\uffff\5\57\2\uffff\5\57\1\uffff\3\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; + "\1\0\1\57\3\uffff\34\57\1\135\1\42\1\101\1\57\1\uffff\2\0\1\42\2\56\1\60\1\56\2\uffff\4\57\5\uffff\54\57\4\uffff\1\57\2\0\1\57\2\0\1\57\4\uffff\3\56\1\uffff\62\57\1\0\1\uffff\1\0\2\56\67\57\1\55\12\57\1\uffff\1\57\1\uffff\15\57\1\uffff\3\57\1\uffff\10\57\4\uffff\6\57\6\uffff\14\57\1\uffff\6\57\1\uffff\24\57\1\uffff\6\57\11\uffff\11\57\2\uffff\10\57\1\uffff\2\57\1\uffff\1\57\1\uffff\5\57\3\uffff\10\57\7\uffff\1\57\1\uffff\17\57\1\uffff\2\57\1\uffff\1\57\5\uffff\4\57\2\uffff\1\57\1\uffff\12\57\1\uffff\6\57\1\uffff\1\57\1\uffff\4\57\1\uffff\4\57\1\uffff\1\57\1\uffff\6\57\1\uffff\6\57\2\uffff\3\57\2\uffff\2\57\1\uffff\6\57\1\uffff\1\57\1\uffff\12\57\2\uffff\2\57\1\uffff\10\57\1\uffff\4\57\1\uffff\1\57\1\uffff\1\57\1\uffff\1\57\1\uffff\6\57\1\uffff\1\57\4\uffff\5\57\2\uffff\5\57\1\uffff\3\57\1\uffff\4\57\1\uffff\1\57\1\uffff\2\57\1\uffff"; static final String DFA30_maxS = - "\1\uffff\1\172\3\uffff\34\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\4\172\5\uffff\53\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\61\172\1\uffff\1\uffff\1\uffff\2\145\66\172\1\145\12\172\1\uffff\1\172\1\uffff\14\172\1\uffff\3\172\1\uffff\10\172\4\uffff\6\172\6\uffff\14\172\1\uffff\6\172\1\uffff\23\172\1\uffff\6\172\11\uffff\11\172\2\uffff\7\172\1\uffff\2\172\1\uffff\1\172\1\uffff\5\172\3\uffff\10\172\7\uffff\1\172\1\uffff\16\172\1\uffff\2\172\1\uffff\1\172\5\uffff\4\172\2\uffff\1\172\1\uffff\12\172\1\uffff\5\172\1\uffff\1\172\1\uffff\4\172\1\uffff\4\172\1\uffff\1\172\1\uffff\6\172\1\uffff\5\172\2\uffff\3\172\2\uffff\2\172\1\uffff\6\172\2\uffff\12\172\2\uffff\2\172\1\uffff\7\172\1\uffff\5\172\1\uffff\1\172\1\uffff\1\172\1\uffff\6\172\1\uffff\1\172\4\uffff\5\172\2\uffff\5\172\1\uffff\3\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; + "\1\uffff\1\172\3\uffff\34\172\1\135\3\172\1\uffff\2\uffff\1\47\2\145\1\71\1\145\2\uffff\4\172\5\uffff\54\172\4\uffff\1\172\2\uffff\1\75\2\uffff\1\75\4\uffff\3\145\1\uffff\62\172\1\uffff\1\uffff\1\uffff\2\145\67\172\1\145\12\172\1\uffff\1\172\1\uffff\15\172\1\uffff\3\172\1\uffff\10\172\4\uffff\6\172\6\uffff\14\172\1\uffff\6\172\1\uffff\24\172\1\uffff\6\172\11\uffff\11\172\2\uffff\10\172\1\uffff\2\172\1\uffff\1\172\1\uffff\5\172\3\uffff\10\172\7\uffff\1\172\1\uffff\17\172\1\uffff\2\172\1\uffff\1\172\5\uffff\4\172\2\uffff\1\172\1\uffff\12\172\1\uffff\6\172\1\uffff\1\172\1\uffff\4\172\1\uffff\4\172\1\uffff\1\172\1\uffff\6\172\1\uffff\6\172\2\uffff\3\172\2\uffff\2\172\1\uffff\6\172\1\uffff\1\172\1\uffff\12\172\2\uffff\2\172\1\uffff\10\172\1\uffff\4\172\1\uffff\1\172\1\uffff\1\172\1\uffff\1\172\1\uffff\6\172\1\uffff\1\172\4\uffff\5\172\2\uffff\5\172\1\uffff\3\172\1\uffff\4\172\1\uffff\1\172\1\uffff\2\172\1\uffff"; static final String DFA30_acceptS = - "\2\uffff\1\2\1\3\1\4\40\uffff\1\131\7\uffff\1\145\1\146\4\uffff\1\141\1\140\1\2\1\3\1\4\53\uffff\1\130\1\143\1\144\1\132\7\uffff\1\133\1\137\1\136\1\135\3\uffff\1\145\62\uffff\1\142\104\uffff\1\10\1\uffff\1\30\14\uffff\1\24\3\uffff\1\27\10\uffff\1\60\1\111\1\134\1\61\6\uffff\1\113\1\74\1\127\1\110\1\114\1\75\14\uffff\1\7\6\uffff\1\70\23\uffff\1\54\6\uffff\1\72\1\116\1\77\1\120\1\101\1\122\1\103\1\115\1\76\11\uffff\1\21\1\62\7\uffff\1\65\2\uffff\1\25\1\uffff\1\20\5\uffff\1\126\1\107\1\47\10\uffff\1\67\1\117\1\100\1\121\1\102\1\123\1\104\1\uffff\1\5\16\uffff\1\15\2\uffff\1\22\1\uffff\1\124\1\105\1\125\1\106\1\41\4\uffff\1\63\1\64\1\uffff\1\66\12\uffff\1\11\5\uffff\1\16\1\uffff\1\26\4\uffff\1\112\4\uffff\1\57\1\uffff\1\43\6\uffff\1\42\5\uffff\1\17\1\51\3\uffff\1\1\1\37\2\uffff\1\32\6\uffff\1\44\1\23\12\uffff\1\6\1\14\2\uffff\1\33\7\uffff\1\71\5\uffff\1\46\1\uffff\1\50\1\uffff\1\13\6\uffff\1\40\1\uffff\1\45\1\35\1\36\1\12\5\uffff\1\31\1\34\5\uffff\1\53\3\uffff\1\56\4\uffff\1\55\1\uffff\1\52\2\uffff\1\73"; + "\2\uffff\1\2\1\3\1\4\40\uffff\1\132\7\uffff\1\146\1\147\4\uffff\1\142\1\141\1\2\1\3\1\4\54\uffff\1\131\1\144\1\145\1\133\7\uffff\1\134\1\140\1\137\1\136\3\uffff\1\146\63\uffff\1\143\105\uffff\1\10\1\uffff\1\31\15\uffff\1\25\3\uffff\1\30\10\uffff\1\61\1\112\1\135\1\62\6\uffff\1\114\1\75\1\130\1\111\1\115\1\76\14\uffff\1\7\6\uffff\1\71\24\uffff\1\55\6\uffff\1\73\1\117\1\100\1\121\1\102\1\123\1\104\1\116\1\77\11\uffff\1\22\1\63\10\uffff\1\66\2\uffff\1\26\1\uffff\1\21\5\uffff\1\127\1\110\1\50\10\uffff\1\70\1\120\1\101\1\122\1\103\1\124\1\105\1\uffff\1\5\17\uffff\1\16\2\uffff\1\23\1\uffff\1\125\1\106\1\126\1\107\1\42\4\uffff\1\64\1\65\1\uffff\1\67\12\uffff\1\11\6\uffff\1\17\1\uffff\1\27\4\uffff\1\113\4\uffff\1\60\1\uffff\1\44\6\uffff\1\43\6\uffff\1\20\1\52\3\uffff\1\1\1\40\2\uffff\1\33\6\uffff\1\45\1\uffff\1\24\12\uffff\1\6\1\15\2\uffff\1\34\10\uffff\1\72\4\uffff\1\14\1\uffff\1\47\1\uffff\1\51\1\uffff\1\13\6\uffff\1\41\1\uffff\1\46\1\36\1\37\1\12\5\uffff\1\32\1\35\5\uffff\1\54\3\uffff\1\57\4\uffff\1\56\1\uffff\1\53\2\uffff\1\74"; static final String DFA30_specialS = - "\1\6\45\uffff\1\2\1\5\100\uffff\1\0\1\4\1\uffff\1\1\1\10\72\uffff\1\3\1\uffff\1\7\u017c\uffff}>"; + "\1\5\45\uffff\1\6\1\0\101\uffff\1\1\1\10\1\uffff\1\3\1\4\73\uffff\1\7\1\uffff\1\2\u0186\uffff}>"; static final String[] DFA30_transitionS = { "\11\56\2\55\2\56\1\55\22\56\1\55\1\56\1\46\4\56\1\47\4\56\1\3\1\53\1\56\1\42\1\51\2\52\7\54\7\56\1\10\1\34\1\11\1\12\1\25\1\5\1\24\1\15\1\32\2\44\1\31\1\44\1\21\1\44\1\1\1\44\1\27\1\6\1\14\6\44\1\41\2\56\1\43\1\44\1\56\1\23\1\36\1\44\1\33\1\44\1\20\1\17\1\44\1\37\3\44\1\16\1\7\1\44\1\26\1\44\1\13\1\22\1\30\1\40\1\35\4\44\1\2\1\56\1\4\1\50\uff81\56", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\57\20\62\1\61\2\62\1\60\5\62", @@ -4271,272 +4300,276 @@ public String getDescription() { "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\70\10\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\72\12\62\1\71\3\62\1\73\1\74\5\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\76\15\62\1\75\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\100\16\62\1\77\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\101\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\102\11\62\1\103\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\104\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\105\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\106\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\101\11\62\1\100\4\62\1\77\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\102\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\103\11\62\1\104\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\105\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\106\13\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\107\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\110\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\113\3\62\1\111\6\62\1\112\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\114\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\115\16\62\1\116\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\117\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\121\5\62\1\120\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\27\62\1\122\2\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\123\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\124\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\126\10\62\1\127\6\62\1\125\1\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\130\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\131\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\132\17\62\1\133\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\135\15\62\1\134\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\136\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\137\11\62\1\140\1\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\141\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\142\21\62", - "\1\143", - "\1\146\4\uffff\1\146\2\uffff\1\144\4\uffff\1\145\21\uffff\32\45\3\uffff\2\45\1\uffff\32\45", - "\32\147\4\uffff\1\147\1\uffff\32\147", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\110\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\111\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\114\3\62\1\112\6\62\1\113\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\115\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\116\16\62\1\117\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\120\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\122\5\62\1\121\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\27\62\1\123\2\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\124\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\125\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\127\10\62\1\130\6\62\1\126\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\131\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\132\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\133\17\62\1\134\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\136\15\62\1\135\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\137\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\140\11\62\1\141\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\142\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\143\21\62", + "\1\144", + "\1\147\4\uffff\1\147\2\uffff\1\145\4\uffff\1\146\21\uffff\32\45\3\uffff\2\45\1\uffff\32\45", + "\32\150\4\uffff\1\150\1\uffff\32\150", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\42\151\1\152\71\151\1\150\uffa3\151", - "\47\154\1\155\64\154\1\153\uffa3\154", - "\1\146\4\uffff\1\146", - "\1\161\1\uffff\12\157\10\uffff\1\156\2\uffff\1\161\34\uffff\1\156\2\uffff\1\161", - "\1\161\1\uffff\12\162\13\uffff\1\161\37\uffff\1\161", - "\12\163", - "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", + "\42\152\1\153\71\152\1\151\uffa3\152", + "\47\155\1\156\64\155\1\154\uffa3\155", + "\1\147\4\uffff\1\147", + "\1\162\1\uffff\12\160\10\uffff\1\157\2\uffff\1\162\34\uffff\1\157\2\uffff\1\162", + "\1\162\1\uffff\12\163\13\uffff\1\162\37\uffff\1\162", + "\12\164", + "\1\162\1\uffff\12\165\13\uffff\1\162\37\uffff\1\162", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\166\16\62\1\167\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\170\30\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\171\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\167\16\62\1\170\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\171\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\172\21\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\172\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\173\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\174\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\173\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\174\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\175\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\176\30\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\177\26\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u0080\15\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0082\1\62\1\u0081\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0083\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0084\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0085\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u0086\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\20\62\1\u0087\1\62\1\u0088\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0089\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u008a\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u008b\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\176\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\177\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u0080\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u0081\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0083\1\62\1\u0082\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0084\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0085\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0086\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0087\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u0088\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\20\62\1\u0089\1\62\1\u008a\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u008b\12\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u008c\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u008d\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u008e\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u008f\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u0090\26\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0091\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0092\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0093\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0094\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0095\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0096\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0097\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0098\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0099\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u009a\15\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u009b\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u009c\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u009d\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u009e\24\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u009f\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a0\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00a1\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00a2\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a3\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a4\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a5\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00a6\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u008d\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u008e\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u008f\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0090\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0091\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u0092\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0093\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0094\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0095\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0096\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0097\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0098\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0099\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u009a\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u009b\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u009c\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u009d\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u009e\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u009f\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u00a0\24\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u00a1\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a2\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00a3\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00a4\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00a5\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a6\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00a7\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00a8\14\62", "", "", "", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\0\u00a7", - "\42\151\1\152\71\151\1\150\uffa3\151", - "\1\146\15\uffff\1\64", "\0\u00a9", - "\47\154\1\155\64\154\1\153\uffa3\154", - "\1\146\15\uffff\1\64", + "\42\152\1\153\71\152\1\151\uffa3\152", + "\1\147\15\uffff\1\64", + "\0\u00ab", + "\47\155\1\156\64\155\1\154\uffa3\155", + "\1\147\15\uffff\1\64", "", "", "", "", - "\1\161\1\uffff\12\u00aa\13\uffff\1\161\37\uffff\1\161", - "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", - "\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", + "\1\162\1\uffff\12\u00ac\13\uffff\1\162\37\uffff\1\162", + "\1\162\1\uffff\12\u00ad\13\uffff\1\162\37\uffff\1\162", + "\1\162\1\uffff\12\165\13\uffff\1\162\37\uffff\1\162", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00ac\17\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00ad\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00ae\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00af\4\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00b0\15\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00b1\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00b2\4\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00b3\13\62\1\u00b4\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00b5\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00b6\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00b7\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00b8\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00b9\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00ae\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00af\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00b0\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00b1\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00b2\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00b3\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00b4\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00b5\13\62\1\u00b6\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00b7\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00b8\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00b9\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ba\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00bb\17\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00bc\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00bd\30\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00be\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00bf\4\62\1\u00c0\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00c1\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00c2\26\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00c3\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00c4\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00bb\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00bc\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00bd\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u00be\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00bf\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00c0\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00c1\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00c2\4\62\1\u00c3\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00c4\21\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00c5\26\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c6\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00c7\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00c8\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00c9\4\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ca\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00cb\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00cc\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00cd\30\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00ce\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00cf\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d0\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00c6\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00c7\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00c8\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00c9\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00ca\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00cb\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u00cc\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00cd\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ce\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u00cf\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00d0\30\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d1\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d2\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d3\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d4\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d2\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d3\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d4\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d5\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d6\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d7\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00d8\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d9\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00da\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d6\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00d7\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00d8\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00d9\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00da\31\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00db\16\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00dc\25\62", - "\1\45\1\62\1\u00de\1\62\1\u00df\2\62\1\u00e0\1\62\1\u00dd\1\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00e1\6\62", - "\42\151\1\152\71\151\1\150\uffa3\151", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u00dd\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00de\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00df\25\62", + "\1\45\1\62\1\u00e1\1\62\1\u00e2\2\62\1\u00e3\1\62\1\u00e0\1\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00e4\6\62", + "\42\152\1\153\71\152\1\151\uffa3\152", "", - "\47\154\1\155\64\154\1\153\uffa3\154", - "\1\161\1\uffff\12\u00e2\13\uffff\1\161\37\uffff\1\161", - "\1\161\1\uffff\12\u00ab\13\uffff\1\161\37\uffff\1\161", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00e3\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00e4\15\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00e5\21\62", + "\47\155\1\156\64\155\1\154\uffa3\155", + "\1\162\1\uffff\12\u00e5\13\uffff\1\162\37\uffff\1\162", + "\1\162\1\uffff\12\u00ad\13\uffff\1\162\37\uffff\1\162", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00e6\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\6\62\1\u00e7\23\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00e8\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00e9\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00ea\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00eb\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ec\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00e7\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00e8\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00e9\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\6\62\1\u00ea\23\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00eb\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00ec\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00ed\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ee\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00ef\27\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00ee\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u00f0\24\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u00f1\1\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00f2\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00f3\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00f4\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00f5\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00f6\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00f7\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00f8\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00f9\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u00f1\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\5\62\1\u00f3\24\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u00f4\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00f5\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00f6\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u00f7\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u00f8\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00f9\16\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00fa\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00fb\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u00fb\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u00fc\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u00fd\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00fe\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u00ff\31\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u00fd\30\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u00fe\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u00ff\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0101\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0102\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0103\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0101\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0102\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0103\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u0104\22\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0105\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0106\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0107\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0108\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0105\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0106\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0107\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u0108\22\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0109\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u010a\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u010b\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u010c\6\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u010d\23\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u010e\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u010f\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0110\25\62", - "\1\45\6\62\1\u0111\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0112\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0113\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0115\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0111\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u0112\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0113\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0114\25\62", + "\1\45\6\62\1\u0115\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0116\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0117\3\uffff\1\62\1\uffff\32\62", - "\1\45\6\62\1\u0119\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\2\62\1\u011a\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\4\62\1\u011b\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\1\62\1\u011d\1\62\1\u011e\2\62\1\u011f\1\62\1\u011c\1\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\157\1\161\1\uffff\12\164\13\uffff\1\161\37\uffff\1\161", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0120\23\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0121\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0122\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0123\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0124\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0119\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u011b\3\uffff\1\62\1\uffff\32\62", + "\1\45\6\62\1\u011d\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\2\62\1\u011e\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u011f\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\1\62\1\u0121\1\62\1\u0122\2\62\1\u0123\1\62\1\u0120\1\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\160\1\162\1\uffff\12\165\13\uffff\1\162\37\uffff\1\162", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0124\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0125\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0126\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0127\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0128\21\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0126\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0127\23\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0128\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0129\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u012a\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u012b\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u012c\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u012d\10\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u012a\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u012e\12\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u012b\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u012f\31\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u012d\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u012e\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u012f\26\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0130\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0131\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\17\62\1\u0131\12\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0132\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0133\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\22\62\1\u0134\7\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0135\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0136\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0133\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u0134\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0135\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0136\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0137\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0138\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\22\62\1\u0139\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u013a\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u013b\23\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0137\31\62", - "\1\45\3\62\1\u0138\2\62\1\u0139\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u013c\31\62", + "\1\45\3\62\1\u013d\2\62\1\u013e\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u013a\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u013b\23\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013c\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u013d\14\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u013e\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u013f\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u013f\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u0140\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0141\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u0142\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0143\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0144\14\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0141\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0146\21\62", "", "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0142\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0143\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0144\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0145\31\62", - "\1\45\4\62\1\u0146\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0147\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0148\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0149\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u014a\31\62", + "\1\45\4\62\1\u014b\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", @@ -4544,51 +4577,52 @@ public String getDescription() { "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0148\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014a\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014c\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014e\3\uffff\1\62\1\uffff\32\62", - "\1\45\6\62\1\u0150\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\2\62\1\u0151\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\4\62\1\u0152\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0153\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0154\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u0155\22\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0156\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0157\6\62", - "", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014d\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u014f\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0151\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0153\3\uffff\1\62\1\uffff\32\62", + "\1\45\6\62\1\u0155\3\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\2\62\1\u0156\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u0157\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0158\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0159\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\7\62\1\u015a\22\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u015b\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u015c\6\62", + "", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u015d\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u015b\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u015c\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u015d\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0160\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0161\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0162\27\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\2\62\1\u015f\17\62\1\u015e\7\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\17\62\1\u0160\12\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0161\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0163\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\2\62\1\u0165\17\62\1\u0164\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\17\62\1\u0166\12\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0167\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0163\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0164\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0169\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u016a\7\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0166\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u016c\12\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0168\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0169\27\62", - "\1\45\2\62\1\u016a\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\4\62\1\u016b\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u016c\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u016d\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u016e\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u016f\27\62", + "\1\45\2\62\1\u0170\7\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\4\62\1\u0171\5\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0172\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0173\3\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0170\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u0171\14\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0172\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0176\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u0177\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0178\31\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u0173\4\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0174\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0175\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u0176\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0177\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u0179\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u017a\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u017b\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u017c\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u017d\14\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", @@ -4599,45 +4633,46 @@ public String getDescription() { "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0179\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u017b\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u017d\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\22\62\1\u017f\7\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0181\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0182\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u0183\14\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\21\62\1\u0184\10\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\2\62\1\u0186\17\62\1\u0185\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u017f\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0181\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0183\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\22\62\1\u0185\7\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0187\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0188\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u0189\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\21\62\1\u018a\10\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\2\62\1\u018c\17\62\1\u018b\7\62\4\uffff\1\62\1\uffff\32\62", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0187\30\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0188\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0189\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u018b\12\62\1\u018a\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u018c\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u018d\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u018e\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u018d\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u018e\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u018f\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0190\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0192\12\62\1\u0191\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u0193\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0194\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0195\14\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0190\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0197\25\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0191\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0198\25\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u0193\17\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0194\3\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u0196\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u019a\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u019b\3\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\1\u019d\3\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u0199\15\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u019a\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u019b\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u019c\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01a0\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01a1\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u01a2\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a3\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u019f\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01a6\14\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "", @@ -4646,25 +4681,26 @@ public String getDescription() { "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a1\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a8\25\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01a2\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01a3\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01a4\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a5\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a7\12\62\1\u01a6\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u01a8\16\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01a9\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01aa\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01a9\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01aa\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01ab\31\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ac\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ad\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01ae\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01af\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b0\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ae\12\62\1\u01ad\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\13\62\1\u01af\16\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01b0\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01b1\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u01b3\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01b4\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01b5\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01b6\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b7\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b8\27\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01b2\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01ba\27\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", @@ -4672,113 +4708,118 @@ public String getDescription() { "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01b4\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01b5\15\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\3\62\1\u01b6\26\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u01b7\14\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01bc\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01bd\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\3\62\1\u01be\26\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\15\62\1\u01bf\14\62\4\uffff\1\62\1\uffff\32\62", "", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01b9\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\1\u01bb\21\62\1\u01bc\7\62\4\uffff\1\62\1\uffff\22\62\1\u01ba\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01be\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01c0\15\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01c1\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01c2\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01c3\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01c4\21\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01c5\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01c1\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\1\u01c3\21\62\1\u01c4\7\62\4\uffff\1\62\1\uffff\22\62\1\u01c2\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01c6\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01c8\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01c9\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ca\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01cb\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01cc\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01cd\10\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01c7\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01c8\4\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01c9\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u01ca\17\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01cb\21\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01cf\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01d0\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01d1\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01d2\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\12\62\1\u01d3\17\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u01d4\21\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ce\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01cf\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01d0\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01d7\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01d8\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01d9\31\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01d3\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01d4\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01dc\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01dd\6\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01d6\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u01d7\13\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01d8\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01d9\4\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01da\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01db\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01df\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u01e0\13\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u01e1\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\25\62\1\u01e2\4\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e3\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01e4\7\62", "", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u01e6\23\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01de\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01df\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01e0\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e1\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01e8\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01e9\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01ea\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01eb\25\62", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01e2\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01e3\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01e4\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01ec\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01ed\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u01ee\15\62", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u01e5\1\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01e6\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u01ef\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01f0\10\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01e7\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01f1\7\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01ea\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01eb\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f4\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u01f5\14\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f7\25\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01ed\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01ee\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u01ef\23\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01f0\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01f1\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f2\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01f3\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01f8\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01f9\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\6\62\1\u01fa\23\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01fb\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01fc\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01fd\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01fe\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u01f5\5\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u01f6\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\24\62\1\u0200\5\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0201\12\62", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u01f7\10\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u01f8\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0202\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u0203\6\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01f9\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u01fb\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u01fd\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u01ff\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0200\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0201\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0205\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0207\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0209\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u020b\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u020c\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u020d\7\62", + "", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u020e\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u020f\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0210\7\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0212\7\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0202\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0203\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0204\7\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u0206\7\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u020b\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u020c\26\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u020d\12\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u020e\6\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u020f\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0217\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u0218\26\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\17\62\1\u0219\12\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\23\62\1\u021a\6\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u021b\27\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", @@ -4786,31 +4827,31 @@ public String getDescription() { "", "", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0212\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0213\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0214\31\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\14\62\1\u0215\15\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0216\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021e\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021f\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\u0220\31\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\14\62\1\u0221\15\62\4\uffff\1\62\1\uffff\32\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0222\25\62", "", "", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0218\14\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0219\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021a\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\15\62\1\u0224\14\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0225\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0226\25\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u021c\27\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u021d\25\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u021e\15\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\2\62\1\u0228\27\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0229\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u022a\15\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u021f\1\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\30\62\1\u022b\1\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u0221\30\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\1\62\1\u022d\30\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u0223\25\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\4\62\1\u022f\25\62", "", - "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0224\10\62", + "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0230\10\62", "\1\45\12\62\3\uffff\1\64\3\uffff\32\62\4\uffff\1\62\1\uffff\32\62", "" }; @@ -4845,81 +4886,67 @@ public DFA30(BaseRecognizer recognizer) { this.transition = DFA30_transition; } public String getDescription() { - return "1:1: Tokens : ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + return "1:1: Tokens : ( T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | RULE_ROS_CONVENTION_A | RULE_ROS_CONVENTION_PARAM | RULE_BINARY | RULE_BOOLEAN | RULE_DOUBLE | RULE_DECINT | RULE_DATE_TIME | RULE_MESSAGE_ASIGMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; int _s = s; switch ( s ) { case 0 : - int LA30_104 = input.LA(1); + int LA30_39 = input.LA(1); s = -1; - if ( ((LA30_104>='\u0000' && LA30_104<='\uFFFF')) ) {s = 167;} + if ( (LA30_39=='\\') ) {s = 108;} + + else if ( ((LA30_39>='\u0000' && LA30_39<='&')||(LA30_39>='(' && LA30_39<='[')||(LA30_39>=']' && LA30_39<='\uFFFF')) ) {s = 109;} + + else if ( (LA30_39=='\'') ) {s = 110;} + + else s = 46; if ( s>=0 ) return s; break; case 1 : - int LA30_107 = input.LA(1); + int LA30_105 = input.LA(1); s = -1; - if ( ((LA30_107>='\u0000' && LA30_107<='\uFFFF')) ) {s = 169;} + if ( ((LA30_105>='\u0000' && LA30_105<='\uFFFF')) ) {s = 169;} if ( s>=0 ) return s; break; case 2 : - int LA30_38 = input.LA(1); + int LA30_171 = input.LA(1); s = -1; - if ( (LA30_38=='\\') ) {s = 104;} + if ( (LA30_171=='\'') ) {s = 110;} - else if ( ((LA30_38>='\u0000' && LA30_38<='!')||(LA30_38>='#' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 105;} + else if ( (LA30_171=='\\') ) {s = 108;} - else if ( (LA30_38=='\"') ) {s = 106;} - - else s = 46; + else if ( ((LA30_171>='\u0000' && LA30_171<='&')||(LA30_171>='(' && LA30_171<='[')||(LA30_171>=']' && LA30_171<='\uFFFF')) ) {s = 109;} if ( s>=0 ) return s; break; case 3 : - int LA30_167 = input.LA(1); + int LA30_108 = input.LA(1); s = -1; - if ( (LA30_167=='\"') ) {s = 106;} - - else if ( (LA30_167=='\\') ) {s = 104;} - - else if ( ((LA30_167>='\u0000' && LA30_167<='!')||(LA30_167>='#' && LA30_167<='[')||(LA30_167>=']' && LA30_167<='\uFFFF')) ) {s = 105;} + if ( ((LA30_108>='\u0000' && LA30_108<='\uFFFF')) ) {s = 171;} if ( s>=0 ) return s; break; case 4 : - int LA30_105 = input.LA(1); + int LA30_109 = input.LA(1); s = -1; - if ( (LA30_105=='\"') ) {s = 106;} + if ( (LA30_109=='\'') ) {s = 110;} - else if ( (LA30_105=='\\') ) {s = 104;} + else if ( (LA30_109=='\\') ) {s = 108;} - else if ( ((LA30_105>='\u0000' && LA30_105<='!')||(LA30_105>='#' && LA30_105<='[')||(LA30_105>=']' && LA30_105<='\uFFFF')) ) {s = 105;} + else if ( ((LA30_109>='\u0000' && LA30_109<='&')||(LA30_109>='(' && LA30_109<='[')||(LA30_109>=']' && LA30_109<='\uFFFF')) ) {s = 109;} if ( s>=0 ) return s; break; case 5 : - int LA30_39 = input.LA(1); - - s = -1; - if ( (LA30_39=='\\') ) {s = 107;} - - else if ( ((LA30_39>='\u0000' && LA30_39<='&')||(LA30_39>='(' && LA30_39<='[')||(LA30_39>=']' && LA30_39<='\uFFFF')) ) {s = 108;} - - else if ( (LA30_39=='\'') ) {s = 109;} - - else s = 46; - - if ( s>=0 ) return s; - break; - case 6 : int LA30_0 = input.LA(1); s = -1; @@ -5015,29 +5042,43 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else s = 37; + if ( s>=0 ) return s; + break; + case 6 : + int LA30_38 = input.LA(1); + + s = -1; + if ( (LA30_38=='\\') ) {s = 105;} + + else if ( ((LA30_38>='\u0000' && LA30_38<='!')||(LA30_38>='#' && LA30_38<='[')||(LA30_38>=']' && LA30_38<='\uFFFF')) ) {s = 106;} + + else if ( (LA30_38=='\"') ) {s = 107;} + + else s = 46; + if ( s>=0 ) return s; break; case 7 : int LA30_169 = input.LA(1); s = -1; - if ( (LA30_169=='\'') ) {s = 109;} + if ( (LA30_169=='\"') ) {s = 107;} - else if ( (LA30_169=='\\') ) {s = 107;} + else if ( (LA30_169=='\\') ) {s = 105;} - else if ( ((LA30_169>='\u0000' && LA30_169<='&')||(LA30_169>='(' && LA30_169<='[')||(LA30_169>=']' && LA30_169<='\uFFFF')) ) {s = 108;} + else if ( ((LA30_169>='\u0000' && LA30_169<='!')||(LA30_169>='#' && LA30_169<='[')||(LA30_169>=']' && LA30_169<='\uFFFF')) ) {s = 106;} if ( s>=0 ) return s; break; case 8 : - int LA30_108 = input.LA(1); + int LA30_106 = input.LA(1); s = -1; - if ( (LA30_108=='\'') ) {s = 109;} + if ( (LA30_106=='\"') ) {s = 107;} - else if ( (LA30_108=='\\') ) {s = 107;} + else if ( (LA30_106=='\\') ) {s = 105;} - else if ( ((LA30_108>='\u0000' && LA30_108<='&')||(LA30_108>='(' && LA30_108<='[')||(LA30_108>=']' && LA30_108<='\uFFFF')) ) {s = 108;} + else if ( ((LA30_106>='\u0000' && LA30_106<='!')||(LA30_106>='#' && LA30_106<='[')||(LA30_106>=']' && LA30_106<='\uFFFF')) ) {s = 106;} if ( s>=0 ) return s; break; @@ -5050,4 +5091,4 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc } -} +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java index 732c76c48..09bd2f8a5 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/parser/antlr/internal/InternalRosParser.java @@ -21,7 +21,7 @@ @SuppressWarnings("all") public class InternalRosParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'PackageSet'", "'{'", "','", "'}'", "'Package'", "'FromGitRepo'", "'Specs'", "'node'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'Header'", "'String'", "'message'", "'ActionSpec'", "'goal'", "'result'", "'feedback'", "'Node'", "'name'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'service'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'action'", "'ActionClient'", "'GraphName'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'type'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'value'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'time'", "'duration'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" + "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_ROS_CONVENTION_A", "RULE_BINARY", "RULE_BOOLEAN", "RULE_DOUBLE", "RULE_DECINT", "RULE_DATE_TIME", "RULE_MESSAGE_ASIGMENT", "RULE_ROS_CONVENTION_PARAM", "RULE_DIGIT", "RULE_DAY", "RULE_MONTH", "RULE_YEAR", "RULE_HOUR", "RULE_MIN_SEC", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'PackageSet'", "'{'", "','", "'}'", "'Package'", "'FromGitRepo'", "'Specs'", "'node'", "'Artifact'", "'CatkinPackage'", "'Dependencies'", "'AmentPackage'", "'ServiceSpec'", "'request'", "'response'", "'TopicSpec'", "'Header'", "'String'", "'message'", "'ActionSpec'", "'goal'", "'result'", "'feedback'", "'Node'", "'name'", "'ServiceServers'", "'Publishers'", "'Subscribers'", "'ServiceClients'", "'ActionServers'", "'ActionClients'", "'Parameters'", "'ServiceServer'", "'service'", "'namespace'", "'Publisher'", "'Subscriber'", "'ServiceClient'", "'ActionServer'", "'action'", "'ActionClient'", "'GraphName'", "'ExternalDependency'", "'GlobalNamespace'", "'parts'", "'RelativeNamespace'", "'PrivateNamespace'", "'Parameter'", "'type'", "'List'", "'Struct'", "'Integer'", "'default'", "'Double'", "'Boolean'", "'Base64'", "'Array'", "'ParameterAny'", "'value'", "'ParameterStructMember'", "'bool'", "'int8'", "'uint8'", "'int16'", "'uint16'", "'int32'", "'uint32'", "'int64'", "'uint64'", "'float32'", "'float64'", "'string'", "'byte'", "'time'", "'duration'", "'bool[]'", "'int8[]'", "'uint8[]'", "'int16[]'", "'uint16[]'", "'int32[]'", "'uint32[]'", "'int64[]'", "'uint64[]'", "'float32[]'", "'float64[]'", "'string[]'", "'byte[]'", "'[]'" }; public static final int T__50=50; public static final int RULE_DATE_TIME=11; @@ -115,6 +115,7 @@ public class InternalRosParser extends AbstractInternalAntlrParser { public static final int T__81=81; public static final int T__110=110; public static final int T__82=82; + public static final int T__113=113; public static final int T__83=83; public static final int T__112=112; public static final int RULE_WS=23; @@ -256,7 +257,7 @@ public final EObject rulePackageSet() throws RecognitionException { int alt2=2; int LA2_0 = input.LA(1); - if ( (LA2_0==29||LA2_0==34) ) { + if ( (LA2_0==29||LA2_0==34||LA2_0==36) ) { alt2=1; } switch (alt2) { @@ -422,7 +423,7 @@ public final EObject entryRulePackage() throws RecognitionException { // $ANTLR start "rulePackage" - // InternalRos.g:155:1: rulePackage returns [EObject current=null] : (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage ) ; + // InternalRos.g:155:1: rulePackage returns [EObject current=null] : (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage | this_AmentPackage_2= ruleAmentPackage ) ; public final EObject rulePackage() throws RecognitionException { EObject current = null; @@ -430,30 +431,41 @@ public final EObject rulePackage() throws RecognitionException { EObject this_CatkinPackage_1 = null; + EObject this_AmentPackage_2 = null; + enterRule(); try { - // InternalRos.g:161:2: ( (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage ) ) - // InternalRos.g:162:2: (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage ) + // InternalRos.g:161:2: ( (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage | this_AmentPackage_2= ruleAmentPackage ) ) + // InternalRos.g:162:2: (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage | this_AmentPackage_2= ruleAmentPackage ) { - // InternalRos.g:162:2: (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage ) - int alt3=2; - int LA3_0 = input.LA(1); - - if ( (LA3_0==29) ) { + // InternalRos.g:162:2: (this_Package_Impl_0= rulePackage_Impl | this_CatkinPackage_1= ruleCatkinPackage | this_AmentPackage_2= ruleAmentPackage ) + int alt3=3; + switch ( input.LA(1) ) { + case 29: + { alt3=1; - } - else if ( (LA3_0==34) ) { + } + break; + case 34: + { alt3=2; - } - else { + } + break; + case 36: + { + alt3=3; + } + break; + default: NoViableAltException nvae = new NoViableAltException("", 3, 0, input); throw nvae; } + switch (alt3) { case 1 : // InternalRos.g:163:3: this_Package_Impl_0= rulePackage_Impl @@ -489,6 +501,24 @@ else if ( (LA3_0==34) ) { afterParserOrEnumRuleCall(); + } + break; + case 3 : + // InternalRos.g:181:3: this_AmentPackage_2= ruleAmentPackage + { + + newCompositeNode(grammarAccess.getPackageAccess().getAmentPackageParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_AmentPackage_2=ruleAmentPackage(); + + state._fsp--; + + + current = this_AmentPackage_2; + afterParserOrEnumRuleCall(); + + } break; @@ -514,7 +544,7 @@ else if ( (LA3_0==34) ) { // $ANTLR start "entryRuleSpecBase" - // InternalRos.g:184:1: entryRuleSpecBase returns [EObject current=null] : iv_ruleSpecBase= ruleSpecBase EOF ; + // InternalRos.g:193:1: entryRuleSpecBase returns [EObject current=null] : iv_ruleSpecBase= ruleSpecBase EOF ; public final EObject entryRuleSpecBase() throws RecognitionException { EObject current = null; @@ -522,8 +552,8 @@ public final EObject entryRuleSpecBase() throws RecognitionException { try { - // InternalRos.g:184:49: (iv_ruleSpecBase= ruleSpecBase EOF ) - // InternalRos.g:185:2: iv_ruleSpecBase= ruleSpecBase EOF + // InternalRos.g:193:49: (iv_ruleSpecBase= ruleSpecBase EOF ) + // InternalRos.g:194:2: iv_ruleSpecBase= ruleSpecBase EOF { newCompositeNode(grammarAccess.getSpecBaseRule()); pushFollow(FOLLOW_1); @@ -550,7 +580,7 @@ public final EObject entryRuleSpecBase() throws RecognitionException { // $ANTLR start "ruleSpecBase" - // InternalRos.g:191:1: ruleSpecBase returns [EObject current=null] : (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) ; + // InternalRos.g:200:1: ruleSpecBase returns [EObject current=null] : (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) ; public final EObject ruleSpecBase() throws RecognitionException { EObject current = null; @@ -565,23 +595,23 @@ public final EObject ruleSpecBase() throws RecognitionException { enterRule(); try { - // InternalRos.g:197:2: ( (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) ) - // InternalRos.g:198:2: (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) + // InternalRos.g:206:2: ( (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) ) + // InternalRos.g:207:2: (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) { - // InternalRos.g:198:2: (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) + // InternalRos.g:207:2: (this_ServiceSpec_0= ruleServiceSpec | this_TopicSpec_1= ruleTopicSpec | this_ActionSpec_2= ruleActionSpec ) int alt4=3; switch ( input.LA(1) ) { - case 36: + case 37: { alt4=1; } break; - case 39: + case 40: { alt4=2; } break; - case 43: + case 44: { alt4=3; } @@ -595,7 +625,7 @@ public final EObject ruleSpecBase() throws RecognitionException { switch (alt4) { case 1 : - // InternalRos.g:199:3: this_ServiceSpec_0= ruleServiceSpec + // InternalRos.g:208:3: this_ServiceSpec_0= ruleServiceSpec { newCompositeNode(grammarAccess.getSpecBaseAccess().getServiceSpecParserRuleCall_0()); @@ -613,7 +643,7 @@ public final EObject ruleSpecBase() throws RecognitionException { } break; case 2 : - // InternalRos.g:208:3: this_TopicSpec_1= ruleTopicSpec + // InternalRos.g:217:3: this_TopicSpec_1= ruleTopicSpec { newCompositeNode(grammarAccess.getSpecBaseAccess().getTopicSpecParserRuleCall_1()); @@ -631,7 +661,7 @@ public final EObject ruleSpecBase() throws RecognitionException { } break; case 3 : - // InternalRos.g:217:3: this_ActionSpec_2= ruleActionSpec + // InternalRos.g:226:3: this_ActionSpec_2= ruleActionSpec { newCompositeNode(grammarAccess.getSpecBaseAccess().getActionSpecParserRuleCall_2()); @@ -671,7 +701,7 @@ public final EObject ruleSpecBase() throws RecognitionException { // $ANTLR start "entryRuleDependency" - // InternalRos.g:229:1: entryRuleDependency returns [EObject current=null] : iv_ruleDependency= ruleDependency EOF ; + // InternalRos.g:238:1: entryRuleDependency returns [EObject current=null] : iv_ruleDependency= ruleDependency EOF ; public final EObject entryRuleDependency() throws RecognitionException { EObject current = null; @@ -679,8 +709,8 @@ public final EObject entryRuleDependency() throws RecognitionException { try { - // InternalRos.g:229:51: (iv_ruleDependency= ruleDependency EOF ) - // InternalRos.g:230:2: iv_ruleDependency= ruleDependency EOF + // InternalRos.g:238:51: (iv_ruleDependency= ruleDependency EOF ) + // InternalRos.g:239:2: iv_ruleDependency= ruleDependency EOF { newCompositeNode(grammarAccess.getDependencyRule()); pushFollow(FOLLOW_1); @@ -707,7 +737,7 @@ public final EObject entryRuleDependency() throws RecognitionException { // $ANTLR start "ruleDependency" - // InternalRos.g:236:1: ruleDependency returns [EObject current=null] : (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) ; + // InternalRos.g:245:1: ruleDependency returns [EObject current=null] : (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) ; public final EObject ruleDependency() throws RecognitionException { EObject current = null; @@ -720,17 +750,17 @@ public final EObject ruleDependency() throws RecognitionException { enterRule(); try { - // InternalRos.g:242:2: ( (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) ) - // InternalRos.g:243:2: (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) + // InternalRos.g:251:2: ( (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) ) + // InternalRos.g:252:2: (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) { - // InternalRos.g:243:2: (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) + // InternalRos.g:252:2: (this_PackageDependency_0= rulePackageDependency | this_ExternalDependency_1= ruleExternalDependency ) int alt5=2; int LA5_0 = input.LA(1); if ( ((LA5_0>=RULE_STRING && LA5_0<=RULE_ID)) ) { alt5=1; } - else if ( (LA5_0==66) ) { + else if ( (LA5_0==67) ) { alt5=2; } else { @@ -741,7 +771,7 @@ else if ( (LA5_0==66) ) { } switch (alt5) { case 1 : - // InternalRos.g:244:3: this_PackageDependency_0= rulePackageDependency + // InternalRos.g:253:3: this_PackageDependency_0= rulePackageDependency { newCompositeNode(grammarAccess.getDependencyAccess().getPackageDependencyParserRuleCall_0()); @@ -759,7 +789,7 @@ else if ( (LA5_0==66) ) { } break; case 2 : - // InternalRos.g:253:3: this_ExternalDependency_1= ruleExternalDependency + // InternalRos.g:262:3: this_ExternalDependency_1= ruleExternalDependency { newCompositeNode(grammarAccess.getDependencyAccess().getExternalDependencyParserRuleCall_1()); @@ -799,7 +829,7 @@ else if ( (LA5_0==66) ) { // $ANTLR start "entryRuleNamespace" - // InternalRos.g:265:1: entryRuleNamespace returns [EObject current=null] : iv_ruleNamespace= ruleNamespace EOF ; + // InternalRos.g:274:1: entryRuleNamespace returns [EObject current=null] : iv_ruleNamespace= ruleNamespace EOF ; public final EObject entryRuleNamespace() throws RecognitionException { EObject current = null; @@ -807,8 +837,8 @@ public final EObject entryRuleNamespace() throws RecognitionException { try { - // InternalRos.g:265:50: (iv_ruleNamespace= ruleNamespace EOF ) - // InternalRos.g:266:2: iv_ruleNamespace= ruleNamespace EOF + // InternalRos.g:274:50: (iv_ruleNamespace= ruleNamespace EOF ) + // InternalRos.g:275:2: iv_ruleNamespace= ruleNamespace EOF { newCompositeNode(grammarAccess.getNamespaceRule()); pushFollow(FOLLOW_1); @@ -835,7 +865,7 @@ public final EObject entryRuleNamespace() throws RecognitionException { // $ANTLR start "ruleNamespace" - // InternalRos.g:272:1: ruleNamespace returns [EObject current=null] : (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ; + // InternalRos.g:281:1: ruleNamespace returns [EObject current=null] : (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ; public final EObject ruleNamespace() throws RecognitionException { EObject current = null; @@ -850,23 +880,23 @@ public final EObject ruleNamespace() throws RecognitionException { enterRule(); try { - // InternalRos.g:278:2: ( (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ) - // InternalRos.g:279:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) + // InternalRos.g:287:2: ( (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) ) + // InternalRos.g:288:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) { - // InternalRos.g:279:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) + // InternalRos.g:288:2: (this_GlobalNamespace_0= ruleGlobalNamespace | this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl | this_PrivateNamespace_2= rulePrivateNamespace ) int alt6=3; switch ( input.LA(1) ) { - case 67: + case 68: { alt6=1; } break; - case 69: + case 70: { alt6=2; } break; - case 70: + case 71: { alt6=3; } @@ -880,7 +910,7 @@ public final EObject ruleNamespace() throws RecognitionException { switch (alt6) { case 1 : - // InternalRos.g:280:3: this_GlobalNamespace_0= ruleGlobalNamespace + // InternalRos.g:289:3: this_GlobalNamespace_0= ruleGlobalNamespace { newCompositeNode(grammarAccess.getNamespaceAccess().getGlobalNamespaceParserRuleCall_0()); @@ -898,7 +928,7 @@ public final EObject ruleNamespace() throws RecognitionException { } break; case 2 : - // InternalRos.g:289:3: this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl + // InternalRos.g:298:3: this_RelativeNamespace_Impl_1= ruleRelativeNamespace_Impl { newCompositeNode(grammarAccess.getNamespaceAccess().getRelativeNamespace_ImplParserRuleCall_1()); @@ -916,7 +946,7 @@ public final EObject ruleNamespace() throws RecognitionException { } break; case 3 : - // InternalRos.g:298:3: this_PrivateNamespace_2= rulePrivateNamespace + // InternalRos.g:307:3: this_PrivateNamespace_2= rulePrivateNamespace { newCompositeNode(grammarAccess.getNamespaceAccess().getPrivateNamespaceParserRuleCall_2()); @@ -956,7 +986,7 @@ public final EObject ruleNamespace() throws RecognitionException { // $ANTLR start "entryRulePackage_Impl" - // InternalRos.g:310:1: entryRulePackage_Impl returns [EObject current=null] : iv_rulePackage_Impl= rulePackage_Impl EOF ; + // InternalRos.g:319:1: entryRulePackage_Impl returns [EObject current=null] : iv_rulePackage_Impl= rulePackage_Impl EOF ; public final EObject entryRulePackage_Impl() throws RecognitionException { EObject current = null; @@ -964,8 +994,8 @@ public final EObject entryRulePackage_Impl() throws RecognitionException { try { - // InternalRos.g:310:53: (iv_rulePackage_Impl= rulePackage_Impl EOF ) - // InternalRos.g:311:2: iv_rulePackage_Impl= rulePackage_Impl EOF + // InternalRos.g:319:53: (iv_rulePackage_Impl= rulePackage_Impl EOF ) + // InternalRos.g:320:2: iv_rulePackage_Impl= rulePackage_Impl EOF { newCompositeNode(grammarAccess.getPackage_ImplRule()); pushFollow(FOLLOW_1); @@ -992,7 +1022,7 @@ public final EObject entryRulePackage_Impl() throws RecognitionException { // $ANTLR start "rulePackage_Impl" - // InternalRos.g:317:1: rulePackage_Impl returns [EObject current=null] : ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) ; + // InternalRos.g:326:1: rulePackage_Impl returns [EObject current=null] : ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) ; public final EObject rulePackage_Impl() throws RecognitionException { EObject current = null; @@ -1022,14 +1052,14 @@ public final EObject rulePackage_Impl() throws RecognitionException { enterRule(); try { - // InternalRos.g:323:2: ( ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) ) - // InternalRos.g:324:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) + // InternalRos.g:332:2: ( ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) ) + // InternalRos.g:333:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) { - // InternalRos.g:324:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) - // InternalRos.g:325:3: () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' + // InternalRos.g:333:2: ( () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' ) + // InternalRos.g:334:3: () otherlv_1= 'Package' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? otherlv_15= '}' { - // InternalRos.g:325:3: () - // InternalRos.g:326:4: + // InternalRos.g:334:3: () + // InternalRos.g:335:4: { current = forceCreateModelElement( @@ -1043,11 +1073,11 @@ public final EObject rulePackage_Impl() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getPackage_ImplAccess().getPackageKeyword_1()); - // InternalRos.g:336:3: ( (lv_name_2_0= ruleEString ) ) - // InternalRos.g:337:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:345:3: ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:346:4: (lv_name_2_0= ruleEString ) { - // InternalRos.g:337:4: (lv_name_2_0= ruleEString ) - // InternalRos.g:338:5: lv_name_2_0= ruleEString + // InternalRos.g:346:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:347:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getPackage_ImplAccess().getNameEStringParserRuleCall_2_0()); @@ -1078,7 +1108,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:359:3: (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? + // InternalRos.g:368:3: (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? int alt7=2; int LA7_0 = input.LA(1); @@ -1087,17 +1117,17 @@ public final EObject rulePackage_Impl() throws RecognitionException { } switch (alt7) { case 1 : - // InternalRos.g:360:4: otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) + // InternalRos.g:369:4: otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) { otherlv_4=(Token)match(input,30,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getPackage_ImplAccess().getFromGitRepoKeyword_4_0()); - // InternalRos.g:364:4: ( (lv_fromGitRepo_5_0= ruleEString ) ) - // InternalRos.g:365:5: (lv_fromGitRepo_5_0= ruleEString ) + // InternalRos.g:373:4: ( (lv_fromGitRepo_5_0= ruleEString ) ) + // InternalRos.g:374:5: (lv_fromGitRepo_5_0= ruleEString ) { - // InternalRos.g:365:5: (lv_fromGitRepo_5_0= ruleEString ) - // InternalRos.g:366:6: lv_fromGitRepo_5_0= ruleEString + // InternalRos.g:374:5: (lv_fromGitRepo_5_0= ruleEString ) + // InternalRos.g:375:6: lv_fromGitRepo_5_0= ruleEString { newCompositeNode(grammarAccess.getPackage_ImplAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); @@ -1130,7 +1160,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - // InternalRos.g:384:3: (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? + // InternalRos.g:393:3: (otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' )? int alt9=2; int LA9_0 = input.LA(1); @@ -1139,7 +1169,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { } switch (alt9) { case 1 : - // InternalRos.g:385:4: otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' + // InternalRos.g:394:4: otherlv_6= 'Specs' otherlv_7= '{' ( (lv_spec_8_0= ruleSpecBase ) ) (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* otherlv_11= '}' { otherlv_6=(Token)match(input,31,FOLLOW_3); @@ -1149,11 +1179,11 @@ public final EObject rulePackage_Impl() throws RecognitionException { newLeafNode(otherlv_7, grammarAccess.getPackage_ImplAccess().getLeftCurlyBracketKeyword_5_1()); - // InternalRos.g:393:4: ( (lv_spec_8_0= ruleSpecBase ) ) - // InternalRos.g:394:5: (lv_spec_8_0= ruleSpecBase ) + // InternalRos.g:402:4: ( (lv_spec_8_0= ruleSpecBase ) ) + // InternalRos.g:403:5: (lv_spec_8_0= ruleSpecBase ) { - // InternalRos.g:394:5: (lv_spec_8_0= ruleSpecBase ) - // InternalRos.g:395:6: lv_spec_8_0= ruleSpecBase + // InternalRos.g:403:5: (lv_spec_8_0= ruleSpecBase ) + // InternalRos.g:404:6: lv_spec_8_0= ruleSpecBase { newCompositeNode(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_2_0()); @@ -1180,7 +1210,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - // InternalRos.g:412:4: (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* + // InternalRos.g:421:4: (otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) )* loop8: do { int alt8=2; @@ -1193,17 +1223,17 @@ public final EObject rulePackage_Impl() throws RecognitionException { switch (alt8) { case 1 : - // InternalRos.g:413:5: otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) + // InternalRos.g:422:5: otherlv_9= ',' ( (lv_spec_10_0= ruleSpecBase ) ) { otherlv_9=(Token)match(input,27,FOLLOW_10); newLeafNode(otherlv_9, grammarAccess.getPackage_ImplAccess().getCommaKeyword_5_3_0()); - // InternalRos.g:417:5: ( (lv_spec_10_0= ruleSpecBase ) ) - // InternalRos.g:418:6: (lv_spec_10_0= ruleSpecBase ) + // InternalRos.g:426:5: ( (lv_spec_10_0= ruleSpecBase ) ) + // InternalRos.g:427:6: (lv_spec_10_0= ruleSpecBase ) { - // InternalRos.g:418:6: (lv_spec_10_0= ruleSpecBase ) - // InternalRos.g:419:7: lv_spec_10_0= ruleSpecBase + // InternalRos.g:427:6: (lv_spec_10_0= ruleSpecBase ) + // InternalRos.g:428:7: lv_spec_10_0= ruleSpecBase { newCompositeNode(grammarAccess.getPackage_ImplAccess().getSpecSpecBaseParserRuleCall_5_3_1_0()); @@ -1249,7 +1279,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - // InternalRos.g:442:3: ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? + // InternalRos.g:451:3: ( ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* )? int alt11=2; int LA11_0 = input.LA(1); @@ -1258,13 +1288,13 @@ public final EObject rulePackage_Impl() throws RecognitionException { } switch (alt11) { case 1 : - // InternalRos.g:443:4: ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* + // InternalRos.g:452:4: ( (lv_artifact_12_0= ruleArtifact ) ) (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* { - // InternalRos.g:443:4: ( (lv_artifact_12_0= ruleArtifact ) ) - // InternalRos.g:444:5: (lv_artifact_12_0= ruleArtifact ) + // InternalRos.g:452:4: ( (lv_artifact_12_0= ruleArtifact ) ) + // InternalRos.g:453:5: (lv_artifact_12_0= ruleArtifact ) { - // InternalRos.g:444:5: (lv_artifact_12_0= ruleArtifact ) - // InternalRos.g:445:6: lv_artifact_12_0= ruleArtifact + // InternalRos.g:453:5: (lv_artifact_12_0= ruleArtifact ) + // InternalRos.g:454:6: lv_artifact_12_0= ruleArtifact { newCompositeNode(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_0_0()); @@ -1291,7 +1321,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { } - // InternalRos.g:462:4: (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* + // InternalRos.g:471:4: (otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) )* loop10: do { int alt10=2; @@ -1304,17 +1334,17 @@ public final EObject rulePackage_Impl() throws RecognitionException { switch (alt10) { case 1 : - // InternalRos.g:463:5: otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) + // InternalRos.g:472:5: otherlv_13= ',' ( (lv_artifact_14_0= ruleArtifact ) ) { otherlv_13=(Token)match(input,27,FOLLOW_12); newLeafNode(otherlv_13, grammarAccess.getPackage_ImplAccess().getCommaKeyword_6_1_0()); - // InternalRos.g:467:5: ( (lv_artifact_14_0= ruleArtifact ) ) - // InternalRos.g:468:6: (lv_artifact_14_0= ruleArtifact ) + // InternalRos.g:476:5: ( (lv_artifact_14_0= ruleArtifact ) ) + // InternalRos.g:477:6: (lv_artifact_14_0= ruleArtifact ) { - // InternalRos.g:468:6: (lv_artifact_14_0= ruleArtifact ) - // InternalRos.g:469:7: lv_artifact_14_0= ruleArtifact + // InternalRos.g:477:6: (lv_artifact_14_0= ruleArtifact ) + // InternalRos.g:478:7: lv_artifact_14_0= ruleArtifact { newCompositeNode(grammarAccess.getPackage_ImplAccess().getArtifactArtifactParserRuleCall_6_1_1_0()); @@ -1383,7 +1413,7 @@ public final EObject rulePackage_Impl() throws RecognitionException { // $ANTLR start "entryRuleEString" - // InternalRos.g:496:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; + // InternalRos.g:505:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; public final String entryRuleEString() throws RecognitionException { String current = null; @@ -1391,8 +1421,8 @@ public final String entryRuleEString() throws RecognitionException { try { - // InternalRos.g:496:47: (iv_ruleEString= ruleEString EOF ) - // InternalRos.g:497:2: iv_ruleEString= ruleEString EOF + // InternalRos.g:505:47: (iv_ruleEString= ruleEString EOF ) + // InternalRos.g:506:2: iv_ruleEString= ruleEString EOF { newCompositeNode(grammarAccess.getEStringRule()); pushFollow(FOLLOW_1); @@ -1419,7 +1449,7 @@ public final String entryRuleEString() throws RecognitionException { // $ANTLR start "ruleEString" - // InternalRos.g:503:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; + // InternalRos.g:512:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -1430,10 +1460,10 @@ public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { enterRule(); try { - // InternalRos.g:509:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) - // InternalRos.g:510:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + // InternalRos.g:518:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) + // InternalRos.g:519:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) { - // InternalRos.g:510:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + // InternalRos.g:519:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) int alt12=2; int LA12_0 = input.LA(1); @@ -1451,7 +1481,7 @@ else if ( (LA12_0==RULE_ID) ) { } switch (alt12) { case 1 : - // InternalRos.g:511:3: this_STRING_0= RULE_STRING + // InternalRos.g:520:3: this_STRING_0= RULE_STRING { this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); @@ -1464,7 +1494,7 @@ else if ( (LA12_0==RULE_ID) ) { } break; case 2 : - // InternalRos.g:519:3: this_ID_1= RULE_ID + // InternalRos.g:528:3: this_ID_1= RULE_ID { this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); @@ -1499,7 +1529,7 @@ else if ( (LA12_0==RULE_ID) ) { // $ANTLR start "entryRuleRosNames" - // InternalRos.g:530:1: entryRuleRosNames returns [String current=null] : iv_ruleRosNames= ruleRosNames EOF ; + // InternalRos.g:539:1: entryRuleRosNames returns [String current=null] : iv_ruleRosNames= ruleRosNames EOF ; public final String entryRuleRosNames() throws RecognitionException { String current = null; @@ -1507,8 +1537,8 @@ public final String entryRuleRosNames() throws RecognitionException { try { - // InternalRos.g:530:48: (iv_ruleRosNames= ruleRosNames EOF ) - // InternalRos.g:531:2: iv_ruleRosNames= ruleRosNames EOF + // InternalRos.g:539:48: (iv_ruleRosNames= ruleRosNames EOF ) + // InternalRos.g:540:2: iv_ruleRosNames= ruleRosNames EOF { newCompositeNode(grammarAccess.getRosNamesRule()); pushFollow(FOLLOW_1); @@ -1535,7 +1565,7 @@ public final String entryRuleRosNames() throws RecognitionException { // $ANTLR start "ruleRosNames" - // InternalRos.g:537:1: ruleRosNames returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ; + // InternalRos.g:546:1: ruleRosNames returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ; public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -1547,10 +1577,10 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { enterRule(); try { - // InternalRos.g:543:2: ( (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ) - // InternalRos.g:544:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) + // InternalRos.g:552:2: ( (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) ) + // InternalRos.g:553:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) { - // InternalRos.g:544:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) + // InternalRos.g:553:2: (this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A | this_ID_1= RULE_ID | kw= 'node' ) int alt13=3; switch ( input.LA(1) ) { case RULE_ROS_CONVENTION_A: @@ -1577,7 +1607,7 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { switch (alt13) { case 1 : - // InternalRos.g:545:3: this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A + // InternalRos.g:554:3: this_ROS_CONVENTION_A_0= RULE_ROS_CONVENTION_A { this_ROS_CONVENTION_A_0=(Token)match(input,RULE_ROS_CONVENTION_A,FOLLOW_2); @@ -1590,7 +1620,7 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { } break; case 2 : - // InternalRos.g:553:3: this_ID_1= RULE_ID + // InternalRos.g:562:3: this_ID_1= RULE_ID { this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); @@ -1603,7 +1633,7 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { } break; case 3 : - // InternalRos.g:561:3: kw= 'node' + // InternalRos.g:570:3: kw= 'node' { kw=(Token)match(input,32,FOLLOW_2); @@ -1636,7 +1666,7 @@ public final AntlrDatatypeRuleToken ruleRosNames() throws RecognitionException { // $ANTLR start "entryRuleArtifact" - // InternalRos.g:570:1: entryRuleArtifact returns [EObject current=null] : iv_ruleArtifact= ruleArtifact EOF ; + // InternalRos.g:579:1: entryRuleArtifact returns [EObject current=null] : iv_ruleArtifact= ruleArtifact EOF ; public final EObject entryRuleArtifact() throws RecognitionException { EObject current = null; @@ -1644,8 +1674,8 @@ public final EObject entryRuleArtifact() throws RecognitionException { try { - // InternalRos.g:570:49: (iv_ruleArtifact= ruleArtifact EOF ) - // InternalRos.g:571:2: iv_ruleArtifact= ruleArtifact EOF + // InternalRos.g:579:49: (iv_ruleArtifact= ruleArtifact EOF ) + // InternalRos.g:580:2: iv_ruleArtifact= ruleArtifact EOF { newCompositeNode(grammarAccess.getArtifactRule()); pushFollow(FOLLOW_1); @@ -1672,7 +1702,7 @@ public final EObject entryRuleArtifact() throws RecognitionException { // $ANTLR start "ruleArtifact" - // InternalRos.g:577:1: ruleArtifact returns [EObject current=null] : ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ; + // InternalRos.g:586:1: ruleArtifact returns [EObject current=null] : ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ; public final EObject ruleArtifact() throws RecognitionException { EObject current = null; @@ -1688,14 +1718,14 @@ public final EObject ruleArtifact() throws RecognitionException { enterRule(); try { - // InternalRos.g:583:2: ( ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ) - // InternalRos.g:584:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) + // InternalRos.g:592:2: ( ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) ) + // InternalRos.g:593:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) { - // InternalRos.g:584:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) - // InternalRos.g:585:3: () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' + // InternalRos.g:593:2: ( () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' ) + // InternalRos.g:594:3: () otherlv_1= 'Artifact' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' ( (lv_node_4_0= ruleNode ) )? otherlv_5= '}' { - // InternalRos.g:585:3: () - // InternalRos.g:586:4: + // InternalRos.g:594:3: () + // InternalRos.g:595:4: { current = forceCreateModelElement( @@ -1709,11 +1739,11 @@ public final EObject ruleArtifact() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getArtifactAccess().getArtifactKeyword_1()); - // InternalRos.g:596:3: ( (lv_name_2_0= ruleRosNames ) ) - // InternalRos.g:597:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:605:3: ( (lv_name_2_0= ruleRosNames ) ) + // InternalRos.g:606:4: (lv_name_2_0= ruleRosNames ) { - // InternalRos.g:597:4: (lv_name_2_0= ruleRosNames ) - // InternalRos.g:598:5: lv_name_2_0= ruleRosNames + // InternalRos.g:606:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:607:5: lv_name_2_0= ruleRosNames { newCompositeNode(grammarAccess.getArtifactAccess().getNameRosNamesParserRuleCall_2_0()); @@ -1744,19 +1774,19 @@ public final EObject ruleArtifact() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getArtifactAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:619:3: ( (lv_node_4_0= ruleNode ) )? + // InternalRos.g:628:3: ( (lv_node_4_0= ruleNode ) )? int alt14=2; int LA14_0 = input.LA(1); - if ( (LA14_0==47) ) { + if ( (LA14_0==48) ) { alt14=1; } switch (alt14) { case 1 : - // InternalRos.g:620:4: (lv_node_4_0= ruleNode ) + // InternalRos.g:629:4: (lv_node_4_0= ruleNode ) { - // InternalRos.g:620:4: (lv_node_4_0= ruleNode ) - // InternalRos.g:621:5: lv_node_4_0= ruleNode + // InternalRos.g:629:4: (lv_node_4_0= ruleNode ) + // InternalRos.g:630:5: lv_node_4_0= ruleNode { newCompositeNode(grammarAccess.getArtifactAccess().getNodeNodeParserRuleCall_4_0()); @@ -1813,7 +1843,7 @@ public final EObject ruleArtifact() throws RecognitionException { // $ANTLR start "entryRuleCatkinPackage" - // InternalRos.g:646:1: entryRuleCatkinPackage returns [EObject current=null] : iv_ruleCatkinPackage= ruleCatkinPackage EOF ; + // InternalRos.g:655:1: entryRuleCatkinPackage returns [EObject current=null] : iv_ruleCatkinPackage= ruleCatkinPackage EOF ; public final EObject entryRuleCatkinPackage() throws RecognitionException { EObject current = null; @@ -1821,8 +1851,8 @@ public final EObject entryRuleCatkinPackage() throws RecognitionException { try { - // InternalRos.g:646:54: (iv_ruleCatkinPackage= ruleCatkinPackage EOF ) - // InternalRos.g:647:2: iv_ruleCatkinPackage= ruleCatkinPackage EOF + // InternalRos.g:655:54: (iv_ruleCatkinPackage= ruleCatkinPackage EOF ) + // InternalRos.g:656:2: iv_ruleCatkinPackage= ruleCatkinPackage EOF { newCompositeNode(grammarAccess.getCatkinPackageRule()); pushFollow(FOLLOW_1); @@ -1849,7 +1879,7 @@ public final EObject entryRuleCatkinPackage() throws RecognitionException { // $ANTLR start "ruleCatkinPackage" - // InternalRos.g:653:1: ruleCatkinPackage returns [EObject current=null] : ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ; + // InternalRos.g:662:1: ruleCatkinPackage returns [EObject current=null] : ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ; public final EObject ruleCatkinPackage() throws RecognitionException { EObject current = null; @@ -1887,14 +1917,14 @@ public final EObject ruleCatkinPackage() throws RecognitionException { enterRule(); try { - // InternalRos.g:659:2: ( ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ) - // InternalRos.g:660:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) + // InternalRos.g:668:2: ( ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ) + // InternalRos.g:669:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) { - // InternalRos.g:660:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) - // InternalRos.g:661:3: () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' + // InternalRos.g:669:2: ( () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) + // InternalRos.g:670:3: () otherlv_1= 'CatkinPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' { - // InternalRos.g:661:3: () - // InternalRos.g:662:4: + // InternalRos.g:670:3: () + // InternalRos.g:671:4: { current = forceCreateModelElement( @@ -1908,11 +1938,11 @@ public final EObject ruleCatkinPackage() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getCatkinPackageAccess().getCatkinPackageKeyword_1()); - // InternalRos.g:672:3: ( (lv_name_2_0= ruleRosNames ) ) - // InternalRos.g:673:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:681:3: ( (lv_name_2_0= ruleRosNames ) ) + // InternalRos.g:682:4: (lv_name_2_0= ruleRosNames ) { - // InternalRos.g:673:4: (lv_name_2_0= ruleRosNames ) - // InternalRos.g:674:5: lv_name_2_0= ruleRosNames + // InternalRos.g:682:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:683:5: lv_name_2_0= ruleRosNames { newCompositeNode(grammarAccess.getCatkinPackageAccess().getNameRosNamesParserRuleCall_2_0()); @@ -1943,7 +1973,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:695:3: (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? + // InternalRos.g:704:3: (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? int alt15=2; int LA15_0 = input.LA(1); @@ -1952,17 +1982,17 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } switch (alt15) { case 1 : - // InternalRos.g:696:4: otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) + // InternalRos.g:705:4: otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) { otherlv_4=(Token)match(input,30,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getCatkinPackageAccess().getFromGitRepoKeyword_4_0()); - // InternalRos.g:700:4: ( (lv_fromGitRepo_5_0= ruleEString ) ) - // InternalRos.g:701:5: (lv_fromGitRepo_5_0= ruleEString ) + // InternalRos.g:709:4: ( (lv_fromGitRepo_5_0= ruleEString ) ) + // InternalRos.g:710:5: (lv_fromGitRepo_5_0= ruleEString ) { - // InternalRos.g:701:5: (lv_fromGitRepo_5_0= ruleEString ) - // InternalRos.g:702:6: lv_fromGitRepo_5_0= ruleEString + // InternalRos.g:710:5: (lv_fromGitRepo_5_0= ruleEString ) + // InternalRos.g:711:6: lv_fromGitRepo_5_0= ruleEString { newCompositeNode(grammarAccess.getCatkinPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); @@ -1995,7 +2025,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:720:3: (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? + // InternalRos.g:729:3: (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? int alt17=2; int LA17_0 = input.LA(1); @@ -2004,7 +2034,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } switch (alt17) { case 1 : - // InternalRos.g:721:4: otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' + // InternalRos.g:730:4: otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' { otherlv_6=(Token)match(input,35,FOLLOW_3); @@ -2014,11 +2044,11 @@ public final EObject ruleCatkinPackage() throws RecognitionException { newLeafNode(otherlv_7, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_5_1()); - // InternalRos.g:729:4: ( (lv_dependency_8_0= ruleDependency ) ) - // InternalRos.g:730:5: (lv_dependency_8_0= ruleDependency ) + // InternalRos.g:738:4: ( (lv_dependency_8_0= ruleDependency ) ) + // InternalRos.g:739:5: (lv_dependency_8_0= ruleDependency ) { - // InternalRos.g:730:5: (lv_dependency_8_0= ruleDependency ) - // InternalRos.g:731:6: lv_dependency_8_0= ruleDependency + // InternalRos.g:739:5: (lv_dependency_8_0= ruleDependency ) + // InternalRos.g:740:6: lv_dependency_8_0= ruleDependency { newCompositeNode(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); @@ -2045,7 +2075,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:748:4: (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* + // InternalRos.g:757:4: (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* loop16: do { int alt16=2; @@ -2058,17 +2088,17 @@ public final EObject ruleCatkinPackage() throws RecognitionException { switch (alt16) { case 1 : - // InternalRos.g:749:5: otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) + // InternalRos.g:758:5: otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) { otherlv_9=(Token)match(input,27,FOLLOW_18); newLeafNode(otherlv_9, grammarAccess.getCatkinPackageAccess().getCommaKeyword_5_3_0()); - // InternalRos.g:753:5: ( (lv_dependency_10_0= ruleDependency ) ) - // InternalRos.g:754:6: (lv_dependency_10_0= ruleDependency ) + // InternalRos.g:762:5: ( (lv_dependency_10_0= ruleDependency ) ) + // InternalRos.g:763:6: (lv_dependency_10_0= ruleDependency ) { - // InternalRos.g:754:6: (lv_dependency_10_0= ruleDependency ) - // InternalRos.g:755:7: lv_dependency_10_0= ruleDependency + // InternalRos.g:763:6: (lv_dependency_10_0= ruleDependency ) + // InternalRos.g:764:7: lv_dependency_10_0= ruleDependency { newCompositeNode(grammarAccess.getCatkinPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); @@ -2114,7 +2144,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:778:3: (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? + // InternalRos.g:787:3: (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? int alt19=2; int LA19_0 = input.LA(1); @@ -2123,7 +2153,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } switch (alt19) { case 1 : - // InternalRos.g:779:4: otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' + // InternalRos.g:788:4: otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' { otherlv_12=(Token)match(input,31,FOLLOW_3); @@ -2133,11 +2163,11 @@ public final EObject ruleCatkinPackage() throws RecognitionException { newLeafNode(otherlv_13, grammarAccess.getCatkinPackageAccess().getLeftCurlyBracketKeyword_6_1()); - // InternalRos.g:787:4: ( (lv_spec_14_0= ruleSpecBase ) ) - // InternalRos.g:788:5: (lv_spec_14_0= ruleSpecBase ) + // InternalRos.g:796:4: ( (lv_spec_14_0= ruleSpecBase ) ) + // InternalRos.g:797:5: (lv_spec_14_0= ruleSpecBase ) { - // InternalRos.g:788:5: (lv_spec_14_0= ruleSpecBase ) - // InternalRos.g:789:6: lv_spec_14_0= ruleSpecBase + // InternalRos.g:797:5: (lv_spec_14_0= ruleSpecBase ) + // InternalRos.g:798:6: lv_spec_14_0= ruleSpecBase { newCompositeNode(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); @@ -2164,7 +2194,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:806:4: (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* + // InternalRos.g:815:4: (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* loop18: do { int alt18=2; @@ -2177,17 +2207,17 @@ public final EObject ruleCatkinPackage() throws RecognitionException { switch (alt18) { case 1 : - // InternalRos.g:807:5: otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) + // InternalRos.g:816:5: otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) { otherlv_15=(Token)match(input,27,FOLLOW_10); newLeafNode(otherlv_15, grammarAccess.getCatkinPackageAccess().getCommaKeyword_6_3_0()); - // InternalRos.g:811:5: ( (lv_spec_16_0= ruleSpecBase ) ) - // InternalRos.g:812:6: (lv_spec_16_0= ruleSpecBase ) + // InternalRos.g:820:5: ( (lv_spec_16_0= ruleSpecBase ) ) + // InternalRos.g:821:6: (lv_spec_16_0= ruleSpecBase ) { - // InternalRos.g:812:6: (lv_spec_16_0= ruleSpecBase ) - // InternalRos.g:813:7: lv_spec_16_0= ruleSpecBase + // InternalRos.g:821:6: (lv_spec_16_0= ruleSpecBase ) + // InternalRos.g:822:7: lv_spec_16_0= ruleSpecBase { newCompositeNode(grammarAccess.getCatkinPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); @@ -2233,7 +2263,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:836:3: ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? + // InternalRos.g:845:3: ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? int alt21=2; int LA21_0 = input.LA(1); @@ -2242,13 +2272,13 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } switch (alt21) { case 1 : - // InternalRos.g:837:4: ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* + // InternalRos.g:846:4: ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* { - // InternalRos.g:837:4: ( (lv_artifact_18_0= ruleArtifact ) ) - // InternalRos.g:838:5: (lv_artifact_18_0= ruleArtifact ) + // InternalRos.g:846:4: ( (lv_artifact_18_0= ruleArtifact ) ) + // InternalRos.g:847:5: (lv_artifact_18_0= ruleArtifact ) { - // InternalRos.g:838:5: (lv_artifact_18_0= ruleArtifact ) - // InternalRos.g:839:6: lv_artifact_18_0= ruleArtifact + // InternalRos.g:847:5: (lv_artifact_18_0= ruleArtifact ) + // InternalRos.g:848:6: lv_artifact_18_0= ruleArtifact { newCompositeNode(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); @@ -2275,7 +2305,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } - // InternalRos.g:856:4: (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* + // InternalRos.g:865:4: (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* loop20: do { int alt20=2; @@ -2288,20 +2318,574 @@ public final EObject ruleCatkinPackage() throws RecognitionException { switch (alt20) { case 1 : - // InternalRos.g:857:5: otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) + // InternalRos.g:866:5: otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) { otherlv_19=(Token)match(input,27,FOLLOW_12); newLeafNode(otherlv_19, grammarAccess.getCatkinPackageAccess().getCommaKeyword_7_1_0()); - // InternalRos.g:861:5: ( (lv_artifact_20_0= ruleArtifact ) ) - // InternalRos.g:862:6: (lv_artifact_20_0= ruleArtifact ) + // InternalRos.g:870:5: ( (lv_artifact_20_0= ruleArtifact ) ) + // InternalRos.g:871:6: (lv_artifact_20_0= ruleArtifact ) + { + // InternalRos.g:871:6: (lv_artifact_20_0= ruleArtifact ) + // InternalRos.g:872:7: lv_artifact_20_0= ruleArtifact + { + + newCompositeNode(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); + + pushFollow(FOLLOW_5); + lv_artifact_20_0=ruleArtifact(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCatkinPackageRule()); + } + add( + current, + "artifact", + lv_artifact_20_0, + "de.fraunhofer.ipa.ros.Ros.Artifact"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop20; + } + } while (true); + + + } + break; + + } + + otherlv_21=(Token)match(input,28,FOLLOW_2); + + newLeafNode(otherlv_21, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCatkinPackage" + + + // $ANTLR start "entryRuleAmentPackage" + // InternalRos.g:899:1: entryRuleAmentPackage returns [EObject current=null] : iv_ruleAmentPackage= ruleAmentPackage EOF ; + public final EObject entryRuleAmentPackage() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAmentPackage = null; + + + try { + // InternalRos.g:899:53: (iv_ruleAmentPackage= ruleAmentPackage EOF ) + // InternalRos.g:900:2: iv_ruleAmentPackage= ruleAmentPackage EOF + { + newCompositeNode(grammarAccess.getAmentPackageRule()); + pushFollow(FOLLOW_1); + iv_ruleAmentPackage=ruleAmentPackage(); + + state._fsp--; + + current =iv_ruleAmentPackage; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAmentPackage" + + + // $ANTLR start "ruleAmentPackage" + // InternalRos.g:906:1: ruleAmentPackage returns [EObject current=null] : ( () otherlv_1= 'AmentPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ; + public final EObject ruleAmentPackage() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_19=null; + Token otherlv_21=null; + AntlrDatatypeRuleToken lv_name_2_0 = null; + + AntlrDatatypeRuleToken lv_fromGitRepo_5_0 = null; + + EObject lv_dependency_8_0 = null; + + EObject lv_dependency_10_0 = null; + + EObject lv_spec_14_0 = null; + + EObject lv_spec_16_0 = null; + + EObject lv_artifact_18_0 = null; + + EObject lv_artifact_20_0 = null; + + + + enterRule(); + + try { + // InternalRos.g:912:2: ( ( () otherlv_1= 'AmentPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) ) + // InternalRos.g:913:2: ( () otherlv_1= 'AmentPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) + { + // InternalRos.g:913:2: ( () otherlv_1= 'AmentPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' ) + // InternalRos.g:914:3: () otherlv_1= 'AmentPackage' ( (lv_name_2_0= ruleRosNames ) ) otherlv_3= '{' (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? otherlv_21= '}' + { + // InternalRos.g:914:3: () + // InternalRos.g:915:4: + { + + current = forceCreateModelElement( + grammarAccess.getAmentPackageAccess().getAmentPackageAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,36,FOLLOW_13); + + newLeafNode(otherlv_1, grammarAccess.getAmentPackageAccess().getAmentPackageKeyword_1()); + + // InternalRos.g:925:3: ( (lv_name_2_0= ruleRosNames ) ) + // InternalRos.g:926:4: (lv_name_2_0= ruleRosNames ) + { + // InternalRos.g:926:4: (lv_name_2_0= ruleRosNames ) + // InternalRos.g:927:5: lv_name_2_0= ruleRosNames + { + + newCompositeNode(grammarAccess.getAmentPackageAccess().getNameRosNamesParserRuleCall_2_0()); + + pushFollow(FOLLOW_3); + lv_name_2_0=ruleRosNames(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + set( + current, + "name", + lv_name_2_0, + "de.fraunhofer.ipa.ros.Ros.RosNames"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_3=(Token)match(input,26,FOLLOW_16); + + newLeafNode(otherlv_3, grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_3()); + + // InternalRos.g:948:3: (otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) )? + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==30) ) { + alt22=1; + } + switch (alt22) { + case 1 : + // InternalRos.g:949:4: otherlv_4= 'FromGitRepo' ( (lv_fromGitRepo_5_0= ruleEString ) ) + { + otherlv_4=(Token)match(input,30,FOLLOW_7); + + newLeafNode(otherlv_4, grammarAccess.getAmentPackageAccess().getFromGitRepoKeyword_4_0()); + + // InternalRos.g:953:4: ( (lv_fromGitRepo_5_0= ruleEString ) ) + // InternalRos.g:954:5: (lv_fromGitRepo_5_0= ruleEString ) + { + // InternalRos.g:954:5: (lv_fromGitRepo_5_0= ruleEString ) + // InternalRos.g:955:6: lv_fromGitRepo_5_0= ruleEString + { + + newCompositeNode(grammarAccess.getAmentPackageAccess().getFromGitRepoEStringParserRuleCall_4_1_0()); + + pushFollow(FOLLOW_17); + lv_fromGitRepo_5_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + set( + current, + "fromGitRepo", + lv_fromGitRepo_5_0, + "de.fraunhofer.ipa.ros.Ros.EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // InternalRos.g:973:3: (otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' )? + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==35) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // InternalRos.g:974:4: otherlv_6= 'Dependencies' otherlv_7= '{' ( (lv_dependency_8_0= ruleDependency ) ) (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* otherlv_11= '}' + { + otherlv_6=(Token)match(input,35,FOLLOW_3); + + newLeafNode(otherlv_6, grammarAccess.getAmentPackageAccess().getDependenciesKeyword_5_0()); + + otherlv_7=(Token)match(input,26,FOLLOW_18); + + newLeafNode(otherlv_7, grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_5_1()); + + // InternalRos.g:982:4: ( (lv_dependency_8_0= ruleDependency ) ) + // InternalRos.g:983:5: (lv_dependency_8_0= ruleDependency ) + { + // InternalRos.g:983:5: (lv_dependency_8_0= ruleDependency ) + // InternalRos.g:984:6: lv_dependency_8_0= ruleDependency + { + + newCompositeNode(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_2_0()); + + pushFollow(FOLLOW_5); + lv_dependency_8_0=ruleDependency(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + current, + "dependency", + lv_dependency_8_0, + "de.fraunhofer.ipa.ros.Ros.Dependency"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRos.g:1001:4: (otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) )* + loop23: + do { + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==27) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // InternalRos.g:1002:5: otherlv_9= ',' ( (lv_dependency_10_0= ruleDependency ) ) + { + otherlv_9=(Token)match(input,27,FOLLOW_18); + + newLeafNode(otherlv_9, grammarAccess.getAmentPackageAccess().getCommaKeyword_5_3_0()); + + // InternalRos.g:1006:5: ( (lv_dependency_10_0= ruleDependency ) ) + // InternalRos.g:1007:6: (lv_dependency_10_0= ruleDependency ) + { + // InternalRos.g:1007:6: (lv_dependency_10_0= ruleDependency ) + // InternalRos.g:1008:7: lv_dependency_10_0= ruleDependency + { + + newCompositeNode(grammarAccess.getAmentPackageAccess().getDependencyDependencyParserRuleCall_5_3_1_0()); + + pushFollow(FOLLOW_5); + lv_dependency_10_0=ruleDependency(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + current, + "dependency", + lv_dependency_10_0, + "de.fraunhofer.ipa.ros.Ros.Dependency"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop23; + } + } while (true); + + otherlv_11=(Token)match(input,28,FOLLOW_9); + + newLeafNode(otherlv_11, grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_5_4()); + + + } + break; + + } + + // InternalRos.g:1031:3: (otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' )? + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==31) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // InternalRos.g:1032:4: otherlv_12= 'Specs' otherlv_13= '{' ( (lv_spec_14_0= ruleSpecBase ) ) (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* otherlv_17= '}' + { + otherlv_12=(Token)match(input,31,FOLLOW_3); + + newLeafNode(otherlv_12, grammarAccess.getAmentPackageAccess().getSpecsKeyword_6_0()); + + otherlv_13=(Token)match(input,26,FOLLOW_10); + + newLeafNode(otherlv_13, grammarAccess.getAmentPackageAccess().getLeftCurlyBracketKeyword_6_1()); + + // InternalRos.g:1040:4: ( (lv_spec_14_0= ruleSpecBase ) ) + // InternalRos.g:1041:5: (lv_spec_14_0= ruleSpecBase ) + { + // InternalRos.g:1041:5: (lv_spec_14_0= ruleSpecBase ) + // InternalRos.g:1042:6: lv_spec_14_0= ruleSpecBase + { + + newCompositeNode(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_2_0()); + + pushFollow(FOLLOW_5); + lv_spec_14_0=ruleSpecBase(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + current, + "spec", + lv_spec_14_0, + "de.fraunhofer.ipa.ros.Ros.SpecBase"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRos.g:1059:4: (otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) )* + loop25: + do { + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==27) ) { + alt25=1; + } + + + switch (alt25) { + case 1 : + // InternalRos.g:1060:5: otherlv_15= ',' ( (lv_spec_16_0= ruleSpecBase ) ) + { + otherlv_15=(Token)match(input,27,FOLLOW_10); + + newLeafNode(otherlv_15, grammarAccess.getAmentPackageAccess().getCommaKeyword_6_3_0()); + + // InternalRos.g:1064:5: ( (lv_spec_16_0= ruleSpecBase ) ) + // InternalRos.g:1065:6: (lv_spec_16_0= ruleSpecBase ) + { + // InternalRos.g:1065:6: (lv_spec_16_0= ruleSpecBase ) + // InternalRos.g:1066:7: lv_spec_16_0= ruleSpecBase + { + + newCompositeNode(grammarAccess.getAmentPackageAccess().getSpecSpecBaseParserRuleCall_6_3_1_0()); + + pushFollow(FOLLOW_5); + lv_spec_16_0=ruleSpecBase(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + current, + "spec", + lv_spec_16_0, + "de.fraunhofer.ipa.ros.Ros.SpecBase"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop25; + } + } while (true); + + otherlv_17=(Token)match(input,28,FOLLOW_11); + + newLeafNode(otherlv_17, grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + // InternalRos.g:1089:3: ( ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==33) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalRos.g:1090:4: ( (lv_artifact_18_0= ruleArtifact ) ) (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* + { + // InternalRos.g:1090:4: ( (lv_artifact_18_0= ruleArtifact ) ) + // InternalRos.g:1091:5: (lv_artifact_18_0= ruleArtifact ) + { + // InternalRos.g:1091:5: (lv_artifact_18_0= ruleArtifact ) + // InternalRos.g:1092:6: lv_artifact_18_0= ruleArtifact + { + + newCompositeNode(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_0_0()); + + pushFollow(FOLLOW_5); + lv_artifact_18_0=ruleArtifact(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); + } + add( + current, + "artifact", + lv_artifact_18_0, + "de.fraunhofer.ipa.ros.Ros.Artifact"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalRos.g:1109:4: (otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) )* + loop27: + do { + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==27) ) { + alt27=1; + } + + + switch (alt27) { + case 1 : + // InternalRos.g:1110:5: otherlv_19= ',' ( (lv_artifact_20_0= ruleArtifact ) ) + { + otherlv_19=(Token)match(input,27,FOLLOW_12); + + newLeafNode(otherlv_19, grammarAccess.getAmentPackageAccess().getCommaKeyword_7_1_0()); + + // InternalRos.g:1114:5: ( (lv_artifact_20_0= ruleArtifact ) ) + // InternalRos.g:1115:6: (lv_artifact_20_0= ruleArtifact ) { - // InternalRos.g:862:6: (lv_artifact_20_0= ruleArtifact ) - // InternalRos.g:863:7: lv_artifact_20_0= ruleArtifact + // InternalRos.g:1115:6: (lv_artifact_20_0= ruleArtifact ) + // InternalRos.g:1116:7: lv_artifact_20_0= ruleArtifact { - newCompositeNode(grammarAccess.getCatkinPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); + newCompositeNode(grammarAccess.getAmentPackageAccess().getArtifactArtifactParserRuleCall_7_1_1_0()); pushFollow(FOLLOW_5); lv_artifact_20_0=ruleArtifact(); @@ -2310,7 +2894,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { if (current==null) { - current = createModelElementForParent(grammarAccess.getCatkinPackageRule()); + current = createModelElementForParent(grammarAccess.getAmentPackageRule()); } add( current, @@ -2330,7 +2914,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { break; default : - break loop20; + break loop27; } } while (true); @@ -2342,7 +2926,7 @@ public final EObject ruleCatkinPackage() throws RecognitionException { otherlv_21=(Token)match(input,28,FOLLOW_2); - newLeafNode(otherlv_21, grammarAccess.getCatkinPackageAccess().getRightCurlyBracketKeyword_8()); + newLeafNode(otherlv_21, grammarAccess.getAmentPackageAccess().getRightCurlyBracketKeyword_8()); } @@ -2363,11 +2947,11 @@ public final EObject ruleCatkinPackage() throws RecognitionException { } return current; } - // $ANTLR end "ruleCatkinPackage" + // $ANTLR end "ruleAmentPackage" // $ANTLR start "entryRuleServiceSpec" - // InternalRos.g:890:1: entryRuleServiceSpec returns [EObject current=null] : iv_ruleServiceSpec= ruleServiceSpec EOF ; + // InternalRos.g:1143:1: entryRuleServiceSpec returns [EObject current=null] : iv_ruleServiceSpec= ruleServiceSpec EOF ; public final EObject entryRuleServiceSpec() throws RecognitionException { EObject current = null; @@ -2375,8 +2959,8 @@ public final EObject entryRuleServiceSpec() throws RecognitionException { try { - // InternalRos.g:890:52: (iv_ruleServiceSpec= ruleServiceSpec EOF ) - // InternalRos.g:891:2: iv_ruleServiceSpec= ruleServiceSpec EOF + // InternalRos.g:1143:52: (iv_ruleServiceSpec= ruleServiceSpec EOF ) + // InternalRos.g:1144:2: iv_ruleServiceSpec= ruleServiceSpec EOF { newCompositeNode(grammarAccess.getServiceSpecRule()); pushFollow(FOLLOW_1); @@ -2403,7 +2987,7 @@ public final EObject entryRuleServiceSpec() throws RecognitionException { // $ANTLR start "ruleServiceSpec" - // InternalRos.g:897:1: ruleServiceSpec returns [EObject current=null] : ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:1150:1: ruleServiceSpec returns [EObject current=null] : ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ; public final EObject ruleServiceSpec() throws RecognitionException { EObject current = null; @@ -2423,14 +3007,14 @@ public final EObject ruleServiceSpec() throws RecognitionException { enterRule(); try { - // InternalRos.g:903:2: ( ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:904:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) + // InternalRos.g:1156:2: ( ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:1157:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) { - // InternalRos.g:904:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) - // InternalRos.g:905:3: () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' + // InternalRos.g:1157:2: ( () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' ) + // InternalRos.g:1158:3: () otherlv_1= 'ServiceSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? otherlv_8= '}' { - // InternalRos.g:905:3: () - // InternalRos.g:906:4: + // InternalRos.g:1158:3: () + // InternalRos.g:1159:4: { current = forceCreateModelElement( @@ -2440,15 +3024,15 @@ public final EObject ruleServiceSpec() throws RecognitionException { } - otherlv_1=(Token)match(input,36,FOLLOW_7); + otherlv_1=(Token)match(input,37,FOLLOW_7); newLeafNode(otherlv_1, grammarAccess.getServiceSpecAccess().getServiceSpecKeyword_1()); - // InternalRos.g:916:3: ( (lv_name_2_0= ruleEString ) ) - // InternalRos.g:917:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:1169:3: ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:1170:4: (lv_name_2_0= ruleEString ) { - // InternalRos.g:917:4: (lv_name_2_0= ruleEString ) - // InternalRos.g:918:5: lv_name_2_0= ruleEString + // InternalRos.g:1170:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:1171:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getServiceSpecAccess().getNameEStringParserRuleCall_2_0()); @@ -2479,26 +3063,26 @@ public final EObject ruleServiceSpec() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getServiceSpecAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:939:3: (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? - int alt22=2; - int LA22_0 = input.LA(1); + // InternalRos.g:1192:3: (otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) )? + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA22_0==37) ) { - alt22=1; + if ( (LA29_0==38) ) { + alt29=1; } - switch (alt22) { + switch (alt29) { case 1 : - // InternalRos.g:940:4: otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1193:4: otherlv_4= 'request' ( (lv_request_5_0= ruleMessageDefinition ) ) { - otherlv_4=(Token)match(input,37,FOLLOW_3); + otherlv_4=(Token)match(input,38,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getServiceSpecAccess().getRequestKeyword_4_0()); - // InternalRos.g:944:4: ( (lv_request_5_0= ruleMessageDefinition ) ) - // InternalRos.g:945:5: (lv_request_5_0= ruleMessageDefinition ) + // InternalRos.g:1197:4: ( (lv_request_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1198:5: (lv_request_5_0= ruleMessageDefinition ) { - // InternalRos.g:945:5: (lv_request_5_0= ruleMessageDefinition ) - // InternalRos.g:946:6: lv_request_5_0= ruleMessageDefinition + // InternalRos.g:1198:5: (lv_request_5_0= ruleMessageDefinition ) + // InternalRos.g:1199:6: lv_request_5_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getServiceSpecAccess().getRequestMessageDefinitionParserRuleCall_4_1_0()); @@ -2531,26 +3115,26 @@ public final EObject ruleServiceSpec() throws RecognitionException { } - // InternalRos.g:964:3: (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? - int alt23=2; - int LA23_0 = input.LA(1); + // InternalRos.g:1217:3: (otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) )? + int alt30=2; + int LA30_0 = input.LA(1); - if ( (LA23_0==38) ) { - alt23=1; + if ( (LA30_0==39) ) { + alt30=1; } - switch (alt23) { + switch (alt30) { case 1 : - // InternalRos.g:965:4: otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) + // InternalRos.g:1218:4: otherlv_6= 'response' ( (lv_response_7_0= ruleMessageDefinition ) ) { - otherlv_6=(Token)match(input,38,FOLLOW_3); + otherlv_6=(Token)match(input,39,FOLLOW_3); newLeafNode(otherlv_6, grammarAccess.getServiceSpecAccess().getResponseKeyword_5_0()); - // InternalRos.g:969:4: ( (lv_response_7_0= ruleMessageDefinition ) ) - // InternalRos.g:970:5: (lv_response_7_0= ruleMessageDefinition ) + // InternalRos.g:1222:4: ( (lv_response_7_0= ruleMessageDefinition ) ) + // InternalRos.g:1223:5: (lv_response_7_0= ruleMessageDefinition ) { - // InternalRos.g:970:5: (lv_response_7_0= ruleMessageDefinition ) - // InternalRos.g:971:6: lv_response_7_0= ruleMessageDefinition + // InternalRos.g:1223:5: (lv_response_7_0= ruleMessageDefinition ) + // InternalRos.g:1224:6: lv_response_7_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getServiceSpecAccess().getResponseMessageDefinitionParserRuleCall_5_1_0()); @@ -2610,7 +3194,7 @@ public final EObject ruleServiceSpec() throws RecognitionException { // $ANTLR start "entryRuleTopicSpec" - // InternalRos.g:997:1: entryRuleTopicSpec returns [EObject current=null] : iv_ruleTopicSpec= ruleTopicSpec EOF ; + // InternalRos.g:1250:1: entryRuleTopicSpec returns [EObject current=null] : iv_ruleTopicSpec= ruleTopicSpec EOF ; public final EObject entryRuleTopicSpec() throws RecognitionException { EObject current = null; @@ -2618,8 +3202,8 @@ public final EObject entryRuleTopicSpec() throws RecognitionException { try { - // InternalRos.g:997:50: (iv_ruleTopicSpec= ruleTopicSpec EOF ) - // InternalRos.g:998:2: iv_ruleTopicSpec= ruleTopicSpec EOF + // InternalRos.g:1250:50: (iv_ruleTopicSpec= ruleTopicSpec EOF ) + // InternalRos.g:1251:2: iv_ruleTopicSpec= ruleTopicSpec EOF { newCompositeNode(grammarAccess.getTopicSpecRule()); pushFollow(FOLLOW_1); @@ -2646,7 +3230,7 @@ public final EObject entryRuleTopicSpec() throws RecognitionException { // $ANTLR start "ruleTopicSpec" - // InternalRos.g:1004:1: ruleTopicSpec returns [EObject current=null] : ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ; + // InternalRos.g:1257:1: ruleTopicSpec returns [EObject current=null] : ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ; public final EObject ruleTopicSpec() throws RecognitionException { EObject current = null; @@ -2665,14 +3249,14 @@ public final EObject ruleTopicSpec() throws RecognitionException { enterRule(); try { - // InternalRos.g:1010:2: ( ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ) - // InternalRos.g:1011:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) + // InternalRos.g:1263:2: ( ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) ) + // InternalRos.g:1264:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) { - // InternalRos.g:1011:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) - // InternalRos.g:1012:3: () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' + // InternalRos.g:1264:2: ( () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' ) + // InternalRos.g:1265:3: () otherlv_1= 'TopicSpec' ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) otherlv_3= '{' (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? otherlv_6= '}' { - // InternalRos.g:1012:3: () - // InternalRos.g:1013:4: + // InternalRos.g:1265:3: () + // InternalRos.g:1266:4: { current = forceCreateModelElement( @@ -2682,45 +3266,45 @@ public final EObject ruleTopicSpec() throws RecognitionException { } - otherlv_1=(Token)match(input,39,FOLLOW_21); + otherlv_1=(Token)match(input,40,FOLLOW_21); newLeafNode(otherlv_1, grammarAccess.getTopicSpecAccess().getTopicSpecKeyword_1()); - // InternalRos.g:1023:3: ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) - // InternalRos.g:1024:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) + // InternalRos.g:1276:3: ( ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) ) + // InternalRos.g:1277:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) { - // InternalRos.g:1024:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) - // InternalRos.g:1025:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) + // InternalRos.g:1277:4: ( (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) ) + // InternalRos.g:1278:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) { - // InternalRos.g:1025:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) - int alt24=3; + // InternalRos.g:1278:5: (lv_name_2_1= ruleEString | lv_name_2_2= 'Header' | lv_name_2_3= 'String' ) + int alt31=3; switch ( input.LA(1) ) { case RULE_STRING: case RULE_ID: { - alt24=1; + alt31=1; } break; - case 40: + case 41: { - alt24=2; + alt31=2; } break; - case 41: + case 42: { - alt24=3; + alt31=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 24, 0, input); + new NoViableAltException("", 31, 0, input); throw nvae; } - switch (alt24) { + switch (alt31) { case 1 : - // InternalRos.g:1026:6: lv_name_2_1= ruleEString + // InternalRos.g:1279:6: lv_name_2_1= ruleEString { newCompositeNode(grammarAccess.getTopicSpecAccess().getNameEStringParserRuleCall_2_0_0()); @@ -2745,9 +3329,9 @@ public final EObject ruleTopicSpec() throws RecognitionException { } break; case 2 : - // InternalRos.g:1042:6: lv_name_2_2= 'Header' + // InternalRos.g:1295:6: lv_name_2_2= 'Header' { - lv_name_2_2=(Token)match(input,40,FOLLOW_3); + lv_name_2_2=(Token)match(input,41,FOLLOW_3); newLeafNode(lv_name_2_2, grammarAccess.getTopicSpecAccess().getNameHeaderKeyword_2_0_1()); @@ -2761,9 +3345,9 @@ public final EObject ruleTopicSpec() throws RecognitionException { } break; case 3 : - // InternalRos.g:1053:6: lv_name_2_3= 'String' + // InternalRos.g:1306:6: lv_name_2_3= 'String' { - lv_name_2_3=(Token)match(input,41,FOLLOW_3); + lv_name_2_3=(Token)match(input,42,FOLLOW_3); newLeafNode(lv_name_2_3, grammarAccess.getTopicSpecAccess().getNameStringKeyword_2_0_2()); @@ -2789,26 +3373,26 @@ public final EObject ruleTopicSpec() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getTopicSpecAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:1070:3: (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? - int alt25=2; - int LA25_0 = input.LA(1); + // InternalRos.g:1323:3: (otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) )? + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA25_0==42) ) { - alt25=1; + if ( (LA32_0==43) ) { + alt32=1; } - switch (alt25) { + switch (alt32) { case 1 : - // InternalRos.g:1071:4: otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1324:4: otherlv_4= 'message' ( (lv_message_5_0= ruleMessageDefinition ) ) { - otherlv_4=(Token)match(input,42,FOLLOW_3); + otherlv_4=(Token)match(input,43,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getTopicSpecAccess().getMessageKeyword_4_0()); - // InternalRos.g:1075:4: ( (lv_message_5_0= ruleMessageDefinition ) ) - // InternalRos.g:1076:5: (lv_message_5_0= ruleMessageDefinition ) + // InternalRos.g:1328:4: ( (lv_message_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1329:5: (lv_message_5_0= ruleMessageDefinition ) { - // InternalRos.g:1076:5: (lv_message_5_0= ruleMessageDefinition ) - // InternalRos.g:1077:6: lv_message_5_0= ruleMessageDefinition + // InternalRos.g:1329:5: (lv_message_5_0= ruleMessageDefinition ) + // InternalRos.g:1330:6: lv_message_5_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getTopicSpecAccess().getMessageMessageDefinitionParserRuleCall_4_1_0()); @@ -2868,7 +3452,7 @@ public final EObject ruleTopicSpec() throws RecognitionException { // $ANTLR start "entryRuleActionSpec" - // InternalRos.g:1103:1: entryRuleActionSpec returns [EObject current=null] : iv_ruleActionSpec= ruleActionSpec EOF ; + // InternalRos.g:1356:1: entryRuleActionSpec returns [EObject current=null] : iv_ruleActionSpec= ruleActionSpec EOF ; public final EObject entryRuleActionSpec() throws RecognitionException { EObject current = null; @@ -2876,8 +3460,8 @@ public final EObject entryRuleActionSpec() throws RecognitionException { try { - // InternalRos.g:1103:51: (iv_ruleActionSpec= ruleActionSpec EOF ) - // InternalRos.g:1104:2: iv_ruleActionSpec= ruleActionSpec EOF + // InternalRos.g:1356:51: (iv_ruleActionSpec= ruleActionSpec EOF ) + // InternalRos.g:1357:2: iv_ruleActionSpec= ruleActionSpec EOF { newCompositeNode(grammarAccess.getActionSpecRule()); pushFollow(FOLLOW_1); @@ -2904,7 +3488,7 @@ public final EObject entryRuleActionSpec() throws RecognitionException { // $ANTLR start "ruleActionSpec" - // InternalRos.g:1110:1: ruleActionSpec returns [EObject current=null] : ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ; + // InternalRos.g:1363:1: ruleActionSpec returns [EObject current=null] : ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ; public final EObject ruleActionSpec() throws RecognitionException { EObject current = null; @@ -2927,14 +3511,14 @@ public final EObject ruleActionSpec() throws RecognitionException { enterRule(); try { - // InternalRos.g:1116:2: ( ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ) - // InternalRos.g:1117:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) + // InternalRos.g:1369:2: ( ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) ) + // InternalRos.g:1370:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) { - // InternalRos.g:1117:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) - // InternalRos.g:1118:3: () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' + // InternalRos.g:1370:2: ( () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' ) + // InternalRos.g:1371:3: () otherlv_1= 'ActionSpec' ( (lv_name_2_0= ruleEString ) ) otherlv_3= '{' (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? otherlv_10= '}' { - // InternalRos.g:1118:3: () - // InternalRos.g:1119:4: + // InternalRos.g:1371:3: () + // InternalRos.g:1372:4: { current = forceCreateModelElement( @@ -2944,15 +3528,15 @@ public final EObject ruleActionSpec() throws RecognitionException { } - otherlv_1=(Token)match(input,43,FOLLOW_7); + otherlv_1=(Token)match(input,44,FOLLOW_7); newLeafNode(otherlv_1, grammarAccess.getActionSpecAccess().getActionSpecKeyword_1()); - // InternalRos.g:1129:3: ( (lv_name_2_0= ruleEString ) ) - // InternalRos.g:1130:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:1382:3: ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:1383:4: (lv_name_2_0= ruleEString ) { - // InternalRos.g:1130:4: (lv_name_2_0= ruleEString ) - // InternalRos.g:1131:5: lv_name_2_0= ruleEString + // InternalRos.g:1383:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:1384:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getActionSpecAccess().getNameEStringParserRuleCall_2_0()); @@ -2983,26 +3567,26 @@ public final EObject ruleActionSpec() throws RecognitionException { newLeafNode(otherlv_3, grammarAccess.getActionSpecAccess().getLeftCurlyBracketKeyword_3()); - // InternalRos.g:1152:3: (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? - int alt26=2; - int LA26_0 = input.LA(1); + // InternalRos.g:1405:3: (otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) )? + int alt33=2; + int LA33_0 = input.LA(1); - if ( (LA26_0==44) ) { - alt26=1; + if ( (LA33_0==45) ) { + alt33=1; } - switch (alt26) { + switch (alt33) { case 1 : - // InternalRos.g:1153:4: otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1406:4: otherlv_4= 'goal' ( (lv_goal_5_0= ruleMessageDefinition ) ) { - otherlv_4=(Token)match(input,44,FOLLOW_3); + otherlv_4=(Token)match(input,45,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getActionSpecAccess().getGoalKeyword_4_0()); - // InternalRos.g:1157:4: ( (lv_goal_5_0= ruleMessageDefinition ) ) - // InternalRos.g:1158:5: (lv_goal_5_0= ruleMessageDefinition ) + // InternalRos.g:1410:4: ( (lv_goal_5_0= ruleMessageDefinition ) ) + // InternalRos.g:1411:5: (lv_goal_5_0= ruleMessageDefinition ) { - // InternalRos.g:1158:5: (lv_goal_5_0= ruleMessageDefinition ) - // InternalRos.g:1159:6: lv_goal_5_0= ruleMessageDefinition + // InternalRos.g:1411:5: (lv_goal_5_0= ruleMessageDefinition ) + // InternalRos.g:1412:6: lv_goal_5_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getActionSpecAccess().getGoalMessageDefinitionParserRuleCall_4_1_0()); @@ -3035,26 +3619,26 @@ public final EObject ruleActionSpec() throws RecognitionException { } - // InternalRos.g:1177:3: (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? - int alt27=2; - int LA27_0 = input.LA(1); + // InternalRos.g:1430:3: (otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) )? + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA27_0==45) ) { - alt27=1; + if ( (LA34_0==46) ) { + alt34=1; } - switch (alt27) { + switch (alt34) { case 1 : - // InternalRos.g:1178:4: otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) + // InternalRos.g:1431:4: otherlv_6= 'result' ( (lv_result_7_0= ruleMessageDefinition ) ) { - otherlv_6=(Token)match(input,45,FOLLOW_3); + otherlv_6=(Token)match(input,46,FOLLOW_3); newLeafNode(otherlv_6, grammarAccess.getActionSpecAccess().getResultKeyword_5_0()); - // InternalRos.g:1182:4: ( (lv_result_7_0= ruleMessageDefinition ) ) - // InternalRos.g:1183:5: (lv_result_7_0= ruleMessageDefinition ) + // InternalRos.g:1435:4: ( (lv_result_7_0= ruleMessageDefinition ) ) + // InternalRos.g:1436:5: (lv_result_7_0= ruleMessageDefinition ) { - // InternalRos.g:1183:5: (lv_result_7_0= ruleMessageDefinition ) - // InternalRos.g:1184:6: lv_result_7_0= ruleMessageDefinition + // InternalRos.g:1436:5: (lv_result_7_0= ruleMessageDefinition ) + // InternalRos.g:1437:6: lv_result_7_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getActionSpecAccess().getResultMessageDefinitionParserRuleCall_5_1_0()); @@ -3087,26 +3671,26 @@ public final EObject ruleActionSpec() throws RecognitionException { } - // InternalRos.g:1202:3: (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? - int alt28=2; - int LA28_0 = input.LA(1); + // InternalRos.g:1455:3: (otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) )? + int alt35=2; + int LA35_0 = input.LA(1); - if ( (LA28_0==46) ) { - alt28=1; + if ( (LA35_0==47) ) { + alt35=1; } - switch (alt28) { + switch (alt35) { case 1 : - // InternalRos.g:1203:4: otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) + // InternalRos.g:1456:4: otherlv_8= 'feedback' ( (lv_feedback_9_0= ruleMessageDefinition ) ) { - otherlv_8=(Token)match(input,46,FOLLOW_3); + otherlv_8=(Token)match(input,47,FOLLOW_3); newLeafNode(otherlv_8, grammarAccess.getActionSpecAccess().getFeedbackKeyword_6_0()); - // InternalRos.g:1207:4: ( (lv_feedback_9_0= ruleMessageDefinition ) ) - // InternalRos.g:1208:5: (lv_feedback_9_0= ruleMessageDefinition ) + // InternalRos.g:1460:4: ( (lv_feedback_9_0= ruleMessageDefinition ) ) + // InternalRos.g:1461:5: (lv_feedback_9_0= ruleMessageDefinition ) { - // InternalRos.g:1208:5: (lv_feedback_9_0= ruleMessageDefinition ) - // InternalRos.g:1209:6: lv_feedback_9_0= ruleMessageDefinition + // InternalRos.g:1461:5: (lv_feedback_9_0= ruleMessageDefinition ) + // InternalRos.g:1462:6: lv_feedback_9_0= ruleMessageDefinition { newCompositeNode(grammarAccess.getActionSpecAccess().getFeedbackMessageDefinitionParserRuleCall_6_1_0()); @@ -3166,7 +3750,7 @@ public final EObject ruleActionSpec() throws RecognitionException { // $ANTLR start "entryRuleMessageDefinition" - // InternalRos.g:1235:1: entryRuleMessageDefinition returns [EObject current=null] : iv_ruleMessageDefinition= ruleMessageDefinition EOF ; + // InternalRos.g:1488:1: entryRuleMessageDefinition returns [EObject current=null] : iv_ruleMessageDefinition= ruleMessageDefinition EOF ; public final EObject entryRuleMessageDefinition() throws RecognitionException { EObject current = null; @@ -3174,8 +3758,8 @@ public final EObject entryRuleMessageDefinition() throws RecognitionException { try { - // InternalRos.g:1235:58: (iv_ruleMessageDefinition= ruleMessageDefinition EOF ) - // InternalRos.g:1236:2: iv_ruleMessageDefinition= ruleMessageDefinition EOF + // InternalRos.g:1488:58: (iv_ruleMessageDefinition= ruleMessageDefinition EOF ) + // InternalRos.g:1489:2: iv_ruleMessageDefinition= ruleMessageDefinition EOF { newCompositeNode(grammarAccess.getMessageDefinitionRule()); pushFollow(FOLLOW_1); @@ -3202,7 +3786,7 @@ public final EObject entryRuleMessageDefinition() throws RecognitionException { // $ANTLR start "ruleMessageDefinition" - // InternalRos.g:1242:1: ruleMessageDefinition returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ; + // InternalRos.g:1495:1: ruleMessageDefinition returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ; public final EObject ruleMessageDefinition() throws RecognitionException { EObject current = null; @@ -3217,14 +3801,14 @@ public final EObject ruleMessageDefinition() throws RecognitionException { enterRule(); try { - // InternalRos.g:1248:2: ( ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ) - // InternalRos.g:1249:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) + // InternalRos.g:1501:2: ( ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) ) + // InternalRos.g:1502:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) { - // InternalRos.g:1249:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) - // InternalRos.g:1250:3: () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' + // InternalRos.g:1502:2: ( () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' ) + // InternalRos.g:1503:3: () otherlv_1= '{' ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? otherlv_4= '}' { - // InternalRos.g:1250:3: () - // InternalRos.g:1251:4: + // InternalRos.g:1503:3: () + // InternalRos.g:1504:4: { current = forceCreateModelElement( @@ -3238,22 +3822,22 @@ public final EObject ruleMessageDefinition() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getMessageDefinitionAccess().getLeftCurlyBracketKeyword_1()); - // InternalRos.g:1261:3: ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? - int alt30=2; - int LA30_0 = input.LA(1); + // InternalRos.g:1514:3: ( ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( ((LA30_0>=RULE_STRING && LA30_0<=RULE_ID)||LA30_0==40||(LA30_0>=84 && LA30_0<=111)) ) { - alt30=1; + if ( ((LA37_0>=RULE_STRING && LA37_0<=RULE_ID)||LA37_0==41||(LA37_0>=85 && LA37_0<=112)) ) { + alt37=1; } - switch (alt30) { + switch (alt37) { case 1 : - // InternalRos.g:1262:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* + // InternalRos.g:1515:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) ( (lv_MessagePart_3_0= ruleMessagePart ) )* { - // InternalRos.g:1262:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) - // InternalRos.g:1263:5: (lv_MessagePart_2_0= ruleMessagePart ) + // InternalRos.g:1515:4: ( (lv_MessagePart_2_0= ruleMessagePart ) ) + // InternalRos.g:1516:5: (lv_MessagePart_2_0= ruleMessagePart ) { - // InternalRos.g:1263:5: (lv_MessagePart_2_0= ruleMessagePart ) - // InternalRos.g:1264:6: lv_MessagePart_2_0= ruleMessagePart + // InternalRos.g:1516:5: (lv_MessagePart_2_0= ruleMessagePart ) + // InternalRos.g:1517:6: lv_MessagePart_2_0= ruleMessagePart { newCompositeNode(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_0_0()); @@ -3280,23 +3864,23 @@ public final EObject ruleMessageDefinition() throws RecognitionException { } - // InternalRos.g:1281:4: ( (lv_MessagePart_3_0= ruleMessagePart ) )* - loop29: + // InternalRos.g:1534:4: ( (lv_MessagePart_3_0= ruleMessagePart ) )* + loop36: do { - int alt29=2; - int LA29_0 = input.LA(1); + int alt36=2; + int LA36_0 = input.LA(1); - if ( ((LA29_0>=RULE_STRING && LA29_0<=RULE_ID)||LA29_0==40||(LA29_0>=84 && LA29_0<=111)) ) { - alt29=1; + if ( ((LA36_0>=RULE_STRING && LA36_0<=RULE_ID)||LA36_0==41||(LA36_0>=85 && LA36_0<=112)) ) { + alt36=1; } - switch (alt29) { + switch (alt36) { case 1 : - // InternalRos.g:1282:5: (lv_MessagePart_3_0= ruleMessagePart ) + // InternalRos.g:1535:5: (lv_MessagePart_3_0= ruleMessagePart ) { - // InternalRos.g:1282:5: (lv_MessagePart_3_0= ruleMessagePart ) - // InternalRos.g:1283:6: lv_MessagePart_3_0= ruleMessagePart + // InternalRos.g:1535:5: (lv_MessagePart_3_0= ruleMessagePart ) + // InternalRos.g:1536:6: lv_MessagePart_3_0= ruleMessagePart { newCompositeNode(grammarAccess.getMessageDefinitionAccess().getMessagePartMessagePartParserRuleCall_2_1_0()); @@ -3325,7 +3909,7 @@ public final EObject ruleMessageDefinition() throws RecognitionException { break; default : - break loop29; + break loop36; } } while (true); @@ -3362,7 +3946,7 @@ public final EObject ruleMessageDefinition() throws RecognitionException { // $ANTLR start "entryRuleNode" - // InternalRos.g:1309:1: entryRuleNode returns [EObject current=null] : iv_ruleNode= ruleNode EOF ; + // InternalRos.g:1562:1: entryRuleNode returns [EObject current=null] : iv_ruleNode= ruleNode EOF ; public final EObject entryRuleNode() throws RecognitionException { EObject current = null; @@ -3370,8 +3954,8 @@ public final EObject entryRuleNode() throws RecognitionException { try { - // InternalRos.g:1309:45: (iv_ruleNode= ruleNode EOF ) - // InternalRos.g:1310:2: iv_ruleNode= ruleNode EOF + // InternalRos.g:1562:45: (iv_ruleNode= ruleNode EOF ) + // InternalRos.g:1563:2: iv_ruleNode= ruleNode EOF { newCompositeNode(grammarAccess.getNodeRule()); pushFollow(FOLLOW_1); @@ -3398,7 +3982,7 @@ public final EObject entryRuleNode() throws RecognitionException { // $ANTLR start "ruleNode" - // InternalRos.g:1316:1: ruleNode returns [EObject current=null] : (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ; + // InternalRos.g:1569:1: ruleNode returns [EObject current=null] : (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ; public final EObject ruleNode() throws RecognitionException { EObject current = null; @@ -3469,13 +4053,13 @@ public final EObject ruleNode() throws RecognitionException { enterRule(); try { - // InternalRos.g:1322:2: ( (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ) - // InternalRos.g:1323:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) + // InternalRos.g:1575:2: ( (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) ) + // InternalRos.g:1576:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) { - // InternalRos.g:1323:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) - // InternalRos.g:1324:3: otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' + // InternalRos.g:1576:2: (otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' ) + // InternalRos.g:1577:3: otherlv_0= 'Node' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleRosNames ) ) (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? otherlv_46= '}' { - otherlv_0=(Token)match(input,47,FOLLOW_3); + otherlv_0=(Token)match(input,48,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getNodeAccess().getNodeKeyword_0()); @@ -3483,15 +4067,15 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_13); + otherlv_2=(Token)match(input,49,FOLLOW_13); newLeafNode(otherlv_2, grammarAccess.getNodeAccess().getNameKeyword_2()); - // InternalRos.g:1336:3: ( (lv_name_3_0= ruleRosNames ) ) - // InternalRos.g:1337:4: (lv_name_3_0= ruleRosNames ) + // InternalRos.g:1589:3: ( (lv_name_3_0= ruleRosNames ) ) + // InternalRos.g:1590:4: (lv_name_3_0= ruleRosNames ) { - // InternalRos.g:1337:4: (lv_name_3_0= ruleRosNames ) - // InternalRos.g:1338:5: lv_name_3_0= ruleRosNames + // InternalRos.g:1590:4: (lv_name_3_0= ruleRosNames ) + // InternalRos.g:1591:5: lv_name_3_0= ruleRosNames { newCompositeNode(grammarAccess.getNodeAccess().getNameRosNamesParserRuleCall_3_0()); @@ -3518,18 +4102,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1355:3: (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? - int alt32=2; - int LA32_0 = input.LA(1); + // InternalRos.g:1608:3: (otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' )? + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA32_0==49) ) { - alt32=1; + if ( (LA39_0==50) ) { + alt39=1; } - switch (alt32) { + switch (alt39) { case 1 : - // InternalRos.g:1356:4: otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' + // InternalRos.g:1609:4: otherlv_4= 'ServiceServers' otherlv_5= '{' ( (lv_serviceserver_6_0= ruleServiceServer ) ) (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* otherlv_9= '}' { - otherlv_4=(Token)match(input,49,FOLLOW_3); + otherlv_4=(Token)match(input,50,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getNodeAccess().getServiceServersKeyword_4_0()); @@ -3537,11 +4121,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_5, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_4_1()); - // InternalRos.g:1364:4: ( (lv_serviceserver_6_0= ruleServiceServer ) ) - // InternalRos.g:1365:5: (lv_serviceserver_6_0= ruleServiceServer ) + // InternalRos.g:1617:4: ( (lv_serviceserver_6_0= ruleServiceServer ) ) + // InternalRos.g:1618:5: (lv_serviceserver_6_0= ruleServiceServer ) { - // InternalRos.g:1365:5: (lv_serviceserver_6_0= ruleServiceServer ) - // InternalRos.g:1366:6: lv_serviceserver_6_0= ruleServiceServer + // InternalRos.g:1618:5: (lv_serviceserver_6_0= ruleServiceServer ) + // InternalRos.g:1619:6: lv_serviceserver_6_0= ruleServiceServer { newCompositeNode(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_2_0()); @@ -3568,30 +4152,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1383:4: (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* - loop31: + // InternalRos.g:1636:4: (otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) )* + loop38: do { - int alt31=2; - int LA31_0 = input.LA(1); + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA31_0==27) ) { - alt31=1; + if ( (LA38_0==27) ) { + alt38=1; } - switch (alt31) { + switch (alt38) { case 1 : - // InternalRos.g:1384:5: otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) + // InternalRos.g:1637:5: otherlv_7= ',' ( (lv_serviceserver_8_0= ruleServiceServer ) ) { otherlv_7=(Token)match(input,27,FOLLOW_29); newLeafNode(otherlv_7, grammarAccess.getNodeAccess().getCommaKeyword_4_3_0()); - // InternalRos.g:1388:5: ( (lv_serviceserver_8_0= ruleServiceServer ) ) - // InternalRos.g:1389:6: (lv_serviceserver_8_0= ruleServiceServer ) + // InternalRos.g:1641:5: ( (lv_serviceserver_8_0= ruleServiceServer ) ) + // InternalRos.g:1642:6: (lv_serviceserver_8_0= ruleServiceServer ) { - // InternalRos.g:1389:6: (lv_serviceserver_8_0= ruleServiceServer ) - // InternalRos.g:1390:7: lv_serviceserver_8_0= ruleServiceServer + // InternalRos.g:1642:6: (lv_serviceserver_8_0= ruleServiceServer ) + // InternalRos.g:1643:7: lv_serviceserver_8_0= ruleServiceServer { newCompositeNode(grammarAccess.getNodeAccess().getServiceserverServiceServerParserRuleCall_4_3_1_0()); @@ -3623,7 +4207,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop31; + break loop38; } } while (true); @@ -3637,18 +4221,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1413:3: (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalRos.g:1666:3: (otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA34_0==50) ) { - alt34=1; + if ( (LA41_0==51) ) { + alt41=1; } - switch (alt34) { + switch (alt41) { case 1 : - // InternalRos.g:1414:4: otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' + // InternalRos.g:1667:4: otherlv_10= 'Publishers' otherlv_11= '{' ( (lv_publisher_12_0= rulePublisher ) ) (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* otherlv_15= '}' { - otherlv_10=(Token)match(input,50,FOLLOW_3); + otherlv_10=(Token)match(input,51,FOLLOW_3); newLeafNode(otherlv_10, grammarAccess.getNodeAccess().getPublishersKeyword_5_0()); @@ -3656,11 +4240,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_11, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_5_1()); - // InternalRos.g:1422:4: ( (lv_publisher_12_0= rulePublisher ) ) - // InternalRos.g:1423:5: (lv_publisher_12_0= rulePublisher ) + // InternalRos.g:1675:4: ( (lv_publisher_12_0= rulePublisher ) ) + // InternalRos.g:1676:5: (lv_publisher_12_0= rulePublisher ) { - // InternalRos.g:1423:5: (lv_publisher_12_0= rulePublisher ) - // InternalRos.g:1424:6: lv_publisher_12_0= rulePublisher + // InternalRos.g:1676:5: (lv_publisher_12_0= rulePublisher ) + // InternalRos.g:1677:6: lv_publisher_12_0= rulePublisher { newCompositeNode(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_2_0()); @@ -3687,30 +4271,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1441:4: (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* - loop33: + // InternalRos.g:1694:4: (otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) )* + loop40: do { - int alt33=2; - int LA33_0 = input.LA(1); + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA33_0==27) ) { - alt33=1; + if ( (LA40_0==27) ) { + alt40=1; } - switch (alt33) { + switch (alt40) { case 1 : - // InternalRos.g:1442:5: otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) + // InternalRos.g:1695:5: otherlv_13= ',' ( (lv_publisher_14_0= rulePublisher ) ) { otherlv_13=(Token)match(input,27,FOLLOW_31); newLeafNode(otherlv_13, grammarAccess.getNodeAccess().getCommaKeyword_5_3_0()); - // InternalRos.g:1446:5: ( (lv_publisher_14_0= rulePublisher ) ) - // InternalRos.g:1447:6: (lv_publisher_14_0= rulePublisher ) + // InternalRos.g:1699:5: ( (lv_publisher_14_0= rulePublisher ) ) + // InternalRos.g:1700:6: (lv_publisher_14_0= rulePublisher ) { - // InternalRos.g:1447:6: (lv_publisher_14_0= rulePublisher ) - // InternalRos.g:1448:7: lv_publisher_14_0= rulePublisher + // InternalRos.g:1700:6: (lv_publisher_14_0= rulePublisher ) + // InternalRos.g:1701:7: lv_publisher_14_0= rulePublisher { newCompositeNode(grammarAccess.getNodeAccess().getPublisherPublisherParserRuleCall_5_3_1_0()); @@ -3742,7 +4326,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop33; + break loop40; } } while (true); @@ -3756,18 +4340,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1471:3: (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? - int alt36=2; - int LA36_0 = input.LA(1); + // InternalRos.g:1724:3: (otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' )? + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA36_0==51) ) { - alt36=1; + if ( (LA43_0==52) ) { + alt43=1; } - switch (alt36) { + switch (alt43) { case 1 : - // InternalRos.g:1472:4: otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' + // InternalRos.g:1725:4: otherlv_16= 'Subscribers' otherlv_17= '{' ( (lv_subscriber_18_0= ruleSubscriber ) ) (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* otherlv_21= '}' { - otherlv_16=(Token)match(input,51,FOLLOW_3); + otherlv_16=(Token)match(input,52,FOLLOW_3); newLeafNode(otherlv_16, grammarAccess.getNodeAccess().getSubscribersKeyword_6_0()); @@ -3775,11 +4359,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_17, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_6_1()); - // InternalRos.g:1480:4: ( (lv_subscriber_18_0= ruleSubscriber ) ) - // InternalRos.g:1481:5: (lv_subscriber_18_0= ruleSubscriber ) + // InternalRos.g:1733:4: ( (lv_subscriber_18_0= ruleSubscriber ) ) + // InternalRos.g:1734:5: (lv_subscriber_18_0= ruleSubscriber ) { - // InternalRos.g:1481:5: (lv_subscriber_18_0= ruleSubscriber ) - // InternalRos.g:1482:6: lv_subscriber_18_0= ruleSubscriber + // InternalRos.g:1734:5: (lv_subscriber_18_0= ruleSubscriber ) + // InternalRos.g:1735:6: lv_subscriber_18_0= ruleSubscriber { newCompositeNode(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_2_0()); @@ -3806,30 +4390,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1499:4: (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* - loop35: + // InternalRos.g:1752:4: (otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) )* + loop42: do { - int alt35=2; - int LA35_0 = input.LA(1); + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA35_0==27) ) { - alt35=1; + if ( (LA42_0==27) ) { + alt42=1; } - switch (alt35) { + switch (alt42) { case 1 : - // InternalRos.g:1500:5: otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) + // InternalRos.g:1753:5: otherlv_19= ',' ( (lv_subscriber_20_0= ruleSubscriber ) ) { otherlv_19=(Token)match(input,27,FOLLOW_33); newLeafNode(otherlv_19, grammarAccess.getNodeAccess().getCommaKeyword_6_3_0()); - // InternalRos.g:1504:5: ( (lv_subscriber_20_0= ruleSubscriber ) ) - // InternalRos.g:1505:6: (lv_subscriber_20_0= ruleSubscriber ) + // InternalRos.g:1757:5: ( (lv_subscriber_20_0= ruleSubscriber ) ) + // InternalRos.g:1758:6: (lv_subscriber_20_0= ruleSubscriber ) { - // InternalRos.g:1505:6: (lv_subscriber_20_0= ruleSubscriber ) - // InternalRos.g:1506:7: lv_subscriber_20_0= ruleSubscriber + // InternalRos.g:1758:6: (lv_subscriber_20_0= ruleSubscriber ) + // InternalRos.g:1759:7: lv_subscriber_20_0= ruleSubscriber { newCompositeNode(grammarAccess.getNodeAccess().getSubscriberSubscriberParserRuleCall_6_3_1_0()); @@ -3861,7 +4445,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop35; + break loop42; } } while (true); @@ -3875,18 +4459,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1529:3: (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalRos.g:1782:3: (otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' )? + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA38_0==52) ) { - alt38=1; + if ( (LA45_0==53) ) { + alt45=1; } - switch (alt38) { + switch (alt45) { case 1 : - // InternalRos.g:1530:4: otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' + // InternalRos.g:1783:4: otherlv_22= 'ServiceClients' otherlv_23= '{' ( (lv_serviceclient_24_0= ruleServiceClient ) ) (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* otherlv_27= '}' { - otherlv_22=(Token)match(input,52,FOLLOW_3); + otherlv_22=(Token)match(input,53,FOLLOW_3); newLeafNode(otherlv_22, grammarAccess.getNodeAccess().getServiceClientsKeyword_7_0()); @@ -3894,11 +4478,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_23, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_7_1()); - // InternalRos.g:1538:4: ( (lv_serviceclient_24_0= ruleServiceClient ) ) - // InternalRos.g:1539:5: (lv_serviceclient_24_0= ruleServiceClient ) + // InternalRos.g:1791:4: ( (lv_serviceclient_24_0= ruleServiceClient ) ) + // InternalRos.g:1792:5: (lv_serviceclient_24_0= ruleServiceClient ) { - // InternalRos.g:1539:5: (lv_serviceclient_24_0= ruleServiceClient ) - // InternalRos.g:1540:6: lv_serviceclient_24_0= ruleServiceClient + // InternalRos.g:1792:5: (lv_serviceclient_24_0= ruleServiceClient ) + // InternalRos.g:1793:6: lv_serviceclient_24_0= ruleServiceClient { newCompositeNode(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_2_0()); @@ -3925,30 +4509,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1557:4: (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* - loop37: + // InternalRos.g:1810:4: (otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) )* + loop44: do { - int alt37=2; - int LA37_0 = input.LA(1); + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA37_0==27) ) { - alt37=1; + if ( (LA44_0==27) ) { + alt44=1; } - switch (alt37) { + switch (alt44) { case 1 : - // InternalRos.g:1558:5: otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) + // InternalRos.g:1811:5: otherlv_25= ',' ( (lv_serviceclient_26_0= ruleServiceClient ) ) { otherlv_25=(Token)match(input,27,FOLLOW_35); newLeafNode(otherlv_25, grammarAccess.getNodeAccess().getCommaKeyword_7_3_0()); - // InternalRos.g:1562:5: ( (lv_serviceclient_26_0= ruleServiceClient ) ) - // InternalRos.g:1563:6: (lv_serviceclient_26_0= ruleServiceClient ) + // InternalRos.g:1815:5: ( (lv_serviceclient_26_0= ruleServiceClient ) ) + // InternalRos.g:1816:6: (lv_serviceclient_26_0= ruleServiceClient ) { - // InternalRos.g:1563:6: (lv_serviceclient_26_0= ruleServiceClient ) - // InternalRos.g:1564:7: lv_serviceclient_26_0= ruleServiceClient + // InternalRos.g:1816:6: (lv_serviceclient_26_0= ruleServiceClient ) + // InternalRos.g:1817:7: lv_serviceclient_26_0= ruleServiceClient { newCompositeNode(grammarAccess.getNodeAccess().getServiceclientServiceClientParserRuleCall_7_3_1_0()); @@ -3980,7 +4564,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop37; + break loop44; } } while (true); @@ -3994,18 +4578,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1587:3: (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalRos.g:1840:3: (otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' )? + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA40_0==53) ) { - alt40=1; + if ( (LA47_0==54) ) { + alt47=1; } - switch (alt40) { + switch (alt47) { case 1 : - // InternalRos.g:1588:4: otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' + // InternalRos.g:1841:4: otherlv_28= 'ActionServers' otherlv_29= '{' ( (lv_actionserver_30_0= ruleActionServer ) ) (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* otherlv_33= '}' { - otherlv_28=(Token)match(input,53,FOLLOW_3); + otherlv_28=(Token)match(input,54,FOLLOW_3); newLeafNode(otherlv_28, grammarAccess.getNodeAccess().getActionServersKeyword_8_0()); @@ -4013,11 +4597,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_29, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_8_1()); - // InternalRos.g:1596:4: ( (lv_actionserver_30_0= ruleActionServer ) ) - // InternalRos.g:1597:5: (lv_actionserver_30_0= ruleActionServer ) + // InternalRos.g:1849:4: ( (lv_actionserver_30_0= ruleActionServer ) ) + // InternalRos.g:1850:5: (lv_actionserver_30_0= ruleActionServer ) { - // InternalRos.g:1597:5: (lv_actionserver_30_0= ruleActionServer ) - // InternalRos.g:1598:6: lv_actionserver_30_0= ruleActionServer + // InternalRos.g:1850:5: (lv_actionserver_30_0= ruleActionServer ) + // InternalRos.g:1851:6: lv_actionserver_30_0= ruleActionServer { newCompositeNode(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_2_0()); @@ -4044,30 +4628,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1615:4: (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* - loop39: + // InternalRos.g:1868:4: (otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) )* + loop46: do { - int alt39=2; - int LA39_0 = input.LA(1); + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA39_0==27) ) { - alt39=1; + if ( (LA46_0==27) ) { + alt46=1; } - switch (alt39) { + switch (alt46) { case 1 : - // InternalRos.g:1616:5: otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) + // InternalRos.g:1869:5: otherlv_31= ',' ( (lv_actionserver_32_0= ruleActionServer ) ) { otherlv_31=(Token)match(input,27,FOLLOW_37); newLeafNode(otherlv_31, grammarAccess.getNodeAccess().getCommaKeyword_8_3_0()); - // InternalRos.g:1620:5: ( (lv_actionserver_32_0= ruleActionServer ) ) - // InternalRos.g:1621:6: (lv_actionserver_32_0= ruleActionServer ) + // InternalRos.g:1873:5: ( (lv_actionserver_32_0= ruleActionServer ) ) + // InternalRos.g:1874:6: (lv_actionserver_32_0= ruleActionServer ) { - // InternalRos.g:1621:6: (lv_actionserver_32_0= ruleActionServer ) - // InternalRos.g:1622:7: lv_actionserver_32_0= ruleActionServer + // InternalRos.g:1874:6: (lv_actionserver_32_0= ruleActionServer ) + // InternalRos.g:1875:7: lv_actionserver_32_0= ruleActionServer { newCompositeNode(grammarAccess.getNodeAccess().getActionserverActionServerParserRuleCall_8_3_1_0()); @@ -4099,7 +4683,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop39; + break loop46; } } while (true); @@ -4113,18 +4697,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1645:3: (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalRos.g:1898:3: (otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' )? + int alt49=2; + int LA49_0 = input.LA(1); - if ( (LA42_0==54) ) { - alt42=1; + if ( (LA49_0==55) ) { + alt49=1; } - switch (alt42) { + switch (alt49) { case 1 : - // InternalRos.g:1646:4: otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' + // InternalRos.g:1899:4: otherlv_34= 'ActionClients' otherlv_35= '{' ( (lv_actionclient_36_0= ruleActionClient ) ) (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* otherlv_39= '}' { - otherlv_34=(Token)match(input,54,FOLLOW_3); + otherlv_34=(Token)match(input,55,FOLLOW_3); newLeafNode(otherlv_34, grammarAccess.getNodeAccess().getActionClientsKeyword_9_0()); @@ -4132,11 +4716,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_35, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_9_1()); - // InternalRos.g:1654:4: ( (lv_actionclient_36_0= ruleActionClient ) ) - // InternalRos.g:1655:5: (lv_actionclient_36_0= ruleActionClient ) + // InternalRos.g:1907:4: ( (lv_actionclient_36_0= ruleActionClient ) ) + // InternalRos.g:1908:5: (lv_actionclient_36_0= ruleActionClient ) { - // InternalRos.g:1655:5: (lv_actionclient_36_0= ruleActionClient ) - // InternalRos.g:1656:6: lv_actionclient_36_0= ruleActionClient + // InternalRos.g:1908:5: (lv_actionclient_36_0= ruleActionClient ) + // InternalRos.g:1909:6: lv_actionclient_36_0= ruleActionClient { newCompositeNode(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_2_0()); @@ -4163,30 +4747,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1673:4: (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* - loop41: + // InternalRos.g:1926:4: (otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) )* + loop48: do { - int alt41=2; - int LA41_0 = input.LA(1); + int alt48=2; + int LA48_0 = input.LA(1); - if ( (LA41_0==27) ) { - alt41=1; + if ( (LA48_0==27) ) { + alt48=1; } - switch (alt41) { + switch (alt48) { case 1 : - // InternalRos.g:1674:5: otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) + // InternalRos.g:1927:5: otherlv_37= ',' ( (lv_actionclient_38_0= ruleActionClient ) ) { otherlv_37=(Token)match(input,27,FOLLOW_39); newLeafNode(otherlv_37, grammarAccess.getNodeAccess().getCommaKeyword_9_3_0()); - // InternalRos.g:1678:5: ( (lv_actionclient_38_0= ruleActionClient ) ) - // InternalRos.g:1679:6: (lv_actionclient_38_0= ruleActionClient ) + // InternalRos.g:1931:5: ( (lv_actionclient_38_0= ruleActionClient ) ) + // InternalRos.g:1932:6: (lv_actionclient_38_0= ruleActionClient ) { - // InternalRos.g:1679:6: (lv_actionclient_38_0= ruleActionClient ) - // InternalRos.g:1680:7: lv_actionclient_38_0= ruleActionClient + // InternalRos.g:1932:6: (lv_actionclient_38_0= ruleActionClient ) + // InternalRos.g:1933:7: lv_actionclient_38_0= ruleActionClient { newCompositeNode(grammarAccess.getNodeAccess().getActionclientActionClientParserRuleCall_9_3_1_0()); @@ -4218,7 +4802,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop41; + break loop48; } } while (true); @@ -4232,18 +4816,18 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1703:3: (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? - int alt44=2; - int LA44_0 = input.LA(1); + // InternalRos.g:1956:3: (otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' )? + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA44_0==55) ) { - alt44=1; + if ( (LA51_0==56) ) { + alt51=1; } - switch (alt44) { + switch (alt51) { case 1 : - // InternalRos.g:1704:4: otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' + // InternalRos.g:1957:4: otherlv_40= 'Parameters' otherlv_41= '{' ( (lv_parameter_42_0= ruleParameter ) ) (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* otherlv_45= '}' { - otherlv_40=(Token)match(input,55,FOLLOW_3); + otherlv_40=(Token)match(input,56,FOLLOW_3); newLeafNode(otherlv_40, grammarAccess.getNodeAccess().getParametersKeyword_10_0()); @@ -4251,11 +4835,11 @@ public final EObject ruleNode() throws RecognitionException { newLeafNode(otherlv_41, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_10_1()); - // InternalRos.g:1712:4: ( (lv_parameter_42_0= ruleParameter ) ) - // InternalRos.g:1713:5: (lv_parameter_42_0= ruleParameter ) + // InternalRos.g:1965:4: ( (lv_parameter_42_0= ruleParameter ) ) + // InternalRos.g:1966:5: (lv_parameter_42_0= ruleParameter ) { - // InternalRos.g:1713:5: (lv_parameter_42_0= ruleParameter ) - // InternalRos.g:1714:6: lv_parameter_42_0= ruleParameter + // InternalRos.g:1966:5: (lv_parameter_42_0= ruleParameter ) + // InternalRos.g:1967:6: lv_parameter_42_0= ruleParameter { newCompositeNode(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_2_0()); @@ -4282,30 +4866,30 @@ public final EObject ruleNode() throws RecognitionException { } - // InternalRos.g:1731:4: (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* - loop43: + // InternalRos.g:1984:4: (otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) )* + loop50: do { - int alt43=2; - int LA43_0 = input.LA(1); + int alt50=2; + int LA50_0 = input.LA(1); - if ( (LA43_0==27) ) { - alt43=1; + if ( (LA50_0==27) ) { + alt50=1; } - switch (alt43) { + switch (alt50) { case 1 : - // InternalRos.g:1732:5: otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) + // InternalRos.g:1985:5: otherlv_43= ',' ( (lv_parameter_44_0= ruleParameter ) ) { otherlv_43=(Token)match(input,27,FOLLOW_41); newLeafNode(otherlv_43, grammarAccess.getNodeAccess().getCommaKeyword_10_3_0()); - // InternalRos.g:1736:5: ( (lv_parameter_44_0= ruleParameter ) ) - // InternalRos.g:1737:6: (lv_parameter_44_0= ruleParameter ) + // InternalRos.g:1989:5: ( (lv_parameter_44_0= ruleParameter ) ) + // InternalRos.g:1990:6: (lv_parameter_44_0= ruleParameter ) { - // InternalRos.g:1737:6: (lv_parameter_44_0= ruleParameter ) - // InternalRos.g:1738:7: lv_parameter_44_0= ruleParameter + // InternalRos.g:1990:6: (lv_parameter_44_0= ruleParameter ) + // InternalRos.g:1991:7: lv_parameter_44_0= ruleParameter { newCompositeNode(grammarAccess.getNodeAccess().getParameterParameterParserRuleCall_10_3_1_0()); @@ -4337,7 +4921,7 @@ public final EObject ruleNode() throws RecognitionException { break; default : - break loop43; + break loop50; } } while (true); @@ -4378,7 +4962,7 @@ public final EObject ruleNode() throws RecognitionException { // $ANTLR start "entryRuleServiceServer" - // InternalRos.g:1769:1: entryRuleServiceServer returns [EObject current=null] : iv_ruleServiceServer= ruleServiceServer EOF ; + // InternalRos.g:2022:1: entryRuleServiceServer returns [EObject current=null] : iv_ruleServiceServer= ruleServiceServer EOF ; public final EObject entryRuleServiceServer() throws RecognitionException { EObject current = null; @@ -4386,8 +4970,8 @@ public final EObject entryRuleServiceServer() throws RecognitionException { try { - // InternalRos.g:1769:54: (iv_ruleServiceServer= ruleServiceServer EOF ) - // InternalRos.g:1770:2: iv_ruleServiceServer= ruleServiceServer EOF + // InternalRos.g:2022:54: (iv_ruleServiceServer= ruleServiceServer EOF ) + // InternalRos.g:2023:2: iv_ruleServiceServer= ruleServiceServer EOF { newCompositeNode(grammarAccess.getServiceServerRule()); pushFollow(FOLLOW_1); @@ -4414,7 +4998,7 @@ public final EObject entryRuleServiceServer() throws RecognitionException { // $ANTLR start "ruleServiceServer" - // InternalRos.g:1776:1: ruleServiceServer returns [EObject current=null] : (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2029:1: ruleServiceServer returns [EObject current=null] : (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleServiceServer() throws RecognitionException { EObject current = null; @@ -4433,13 +5017,13 @@ public final EObject ruleServiceServer() throws RecognitionException { enterRule(); try { - // InternalRos.g:1782:2: ( (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:1783:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2035:2: ( (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2036:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:1783:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:1784:3: otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2036:2: (otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2037:3: otherlv_0= 'ServiceServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,56,FOLLOW_3); + otherlv_0=(Token)match(input,57,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getServiceServerAccess().getServiceServerKeyword_0()); @@ -4447,15 +5031,15 @@ public final EObject ruleServiceServer() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getServiceServerAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_7); + otherlv_2=(Token)match(input,49,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getServiceServerAccess().getNameKeyword_2()); - // InternalRos.g:1796:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:1797:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2049:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2050:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:1797:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:1798:5: lv_name_3_0= ruleEString + // InternalRos.g:2050:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2051:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getServiceServerAccess().getNameEStringParserRuleCall_3_0()); @@ -4482,15 +5066,15 @@ public final EObject ruleServiceServer() throws RecognitionException { } - otherlv_4=(Token)match(input,57,FOLLOW_7); + otherlv_4=(Token)match(input,58,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getServiceServerAccess().getServiceKeyword_4()); - // InternalRos.g:1819:3: ( ( ruleEString ) ) - // InternalRos.g:1820:4: ( ruleEString ) + // InternalRos.g:2072:3: ( ( ruleEString ) ) + // InternalRos.g:2073:4: ( ruleEString ) { - // InternalRos.g:1820:4: ( ruleEString ) - // InternalRos.g:1821:5: ruleEString + // InternalRos.g:2073:4: ( ruleEString ) + // InternalRos.g:2074:5: ruleEString { if (current==null) { @@ -4514,26 +5098,26 @@ public final EObject ruleServiceServer() throws RecognitionException { } - // InternalRos.g:1835:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt45=2; - int LA45_0 = input.LA(1); + // InternalRos.g:2088:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA45_0==58) ) { - alt45=1; + if ( (LA52_0==59) ) { + alt52=1; } - switch (alt45) { + switch (alt52) { case 1 : - // InternalRos.g:1836:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2089:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,58,FOLLOW_44); + otherlv_6=(Token)match(input,59,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getServiceServerAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:1840:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:1841:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2093:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2094:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:1841:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:1842:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2094:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2095:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getServiceServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); @@ -4593,7 +5177,7 @@ public final EObject ruleServiceServer() throws RecognitionException { // $ANTLR start "entryRulePublisher" - // InternalRos.g:1868:1: entryRulePublisher returns [EObject current=null] : iv_rulePublisher= rulePublisher EOF ; + // InternalRos.g:2121:1: entryRulePublisher returns [EObject current=null] : iv_rulePublisher= rulePublisher EOF ; public final EObject entryRulePublisher() throws RecognitionException { EObject current = null; @@ -4601,8 +5185,8 @@ public final EObject entryRulePublisher() throws RecognitionException { try { - // InternalRos.g:1868:50: (iv_rulePublisher= rulePublisher EOF ) - // InternalRos.g:1869:2: iv_rulePublisher= rulePublisher EOF + // InternalRos.g:2121:50: (iv_rulePublisher= rulePublisher EOF ) + // InternalRos.g:2122:2: iv_rulePublisher= rulePublisher EOF { newCompositeNode(grammarAccess.getPublisherRule()); pushFollow(FOLLOW_1); @@ -4629,7 +5213,7 @@ public final EObject entryRulePublisher() throws RecognitionException { // $ANTLR start "rulePublisher" - // InternalRos.g:1875:1: rulePublisher returns [EObject current=null] : (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2128:1: rulePublisher returns [EObject current=null] : (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject rulePublisher() throws RecognitionException { EObject current = null; @@ -4648,13 +5232,13 @@ public final EObject rulePublisher() throws RecognitionException { enterRule(); try { - // InternalRos.g:1881:2: ( (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:1882:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2134:2: ( (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2135:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:1882:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:1883:3: otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2135:2: (otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2136:3: otherlv_0= 'Publisher' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,59,FOLLOW_3); + otherlv_0=(Token)match(input,60,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getPublisherAccess().getPublisherKeyword_0()); @@ -4662,15 +5246,15 @@ public final EObject rulePublisher() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getPublisherAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_7); + otherlv_2=(Token)match(input,49,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getPublisherAccess().getNameKeyword_2()); - // InternalRos.g:1895:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:1896:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2148:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2149:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:1896:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:1897:5: lv_name_3_0= ruleEString + // InternalRos.g:2149:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2150:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getPublisherAccess().getNameEStringParserRuleCall_3_0()); @@ -4697,15 +5281,15 @@ public final EObject rulePublisher() throws RecognitionException { } - otherlv_4=(Token)match(input,42,FOLLOW_7); + otherlv_4=(Token)match(input,43,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getPublisherAccess().getMessageKeyword_4()); - // InternalRos.g:1918:3: ( ( ruleEString ) ) - // InternalRos.g:1919:4: ( ruleEString ) + // InternalRos.g:2171:3: ( ( ruleEString ) ) + // InternalRos.g:2172:4: ( ruleEString ) { - // InternalRos.g:1919:4: ( ruleEString ) - // InternalRos.g:1920:5: ruleEString + // InternalRos.g:2172:4: ( ruleEString ) + // InternalRos.g:2173:5: ruleEString { if (current==null) { @@ -4729,26 +5313,26 @@ public final EObject rulePublisher() throws RecognitionException { } - // InternalRos.g:1934:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt46=2; - int LA46_0 = input.LA(1); + // InternalRos.g:2187:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt53=2; + int LA53_0 = input.LA(1); - if ( (LA46_0==58) ) { - alt46=1; + if ( (LA53_0==59) ) { + alt53=1; } - switch (alt46) { + switch (alt53) { case 1 : - // InternalRos.g:1935:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2188:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,58,FOLLOW_44); + otherlv_6=(Token)match(input,59,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getPublisherAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:1939:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:1940:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2192:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2193:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:1940:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:1941:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2193:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2194:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getPublisherAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); @@ -4808,7 +5392,7 @@ public final EObject rulePublisher() throws RecognitionException { // $ANTLR start "entryRuleSubscriber" - // InternalRos.g:1967:1: entryRuleSubscriber returns [EObject current=null] : iv_ruleSubscriber= ruleSubscriber EOF ; + // InternalRos.g:2220:1: entryRuleSubscriber returns [EObject current=null] : iv_ruleSubscriber= ruleSubscriber EOF ; public final EObject entryRuleSubscriber() throws RecognitionException { EObject current = null; @@ -4816,8 +5400,8 @@ public final EObject entryRuleSubscriber() throws RecognitionException { try { - // InternalRos.g:1967:51: (iv_ruleSubscriber= ruleSubscriber EOF ) - // InternalRos.g:1968:2: iv_ruleSubscriber= ruleSubscriber EOF + // InternalRos.g:2220:51: (iv_ruleSubscriber= ruleSubscriber EOF ) + // InternalRos.g:2221:2: iv_ruleSubscriber= ruleSubscriber EOF { newCompositeNode(grammarAccess.getSubscriberRule()); pushFollow(FOLLOW_1); @@ -4844,7 +5428,7 @@ public final EObject entryRuleSubscriber() throws RecognitionException { // $ANTLR start "ruleSubscriber" - // InternalRos.g:1974:1: ruleSubscriber returns [EObject current=null] : (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2227:1: ruleSubscriber returns [EObject current=null] : (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleSubscriber() throws RecognitionException { EObject current = null; @@ -4863,13 +5447,13 @@ public final EObject ruleSubscriber() throws RecognitionException { enterRule(); try { - // InternalRos.g:1980:2: ( (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:1981:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2233:2: ( (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2234:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:1981:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:1982:3: otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2234:2: (otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2235:3: otherlv_0= 'Subscriber' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'message' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,60,FOLLOW_3); + otherlv_0=(Token)match(input,61,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getSubscriberAccess().getSubscriberKeyword_0()); @@ -4877,15 +5461,15 @@ public final EObject ruleSubscriber() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getSubscriberAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_7); + otherlv_2=(Token)match(input,49,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getSubscriberAccess().getNameKeyword_2()); - // InternalRos.g:1994:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:1995:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2247:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2248:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:1995:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:1996:5: lv_name_3_0= ruleEString + // InternalRos.g:2248:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2249:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getSubscriberAccess().getNameEStringParserRuleCall_3_0()); @@ -4912,15 +5496,15 @@ public final EObject ruleSubscriber() throws RecognitionException { } - otherlv_4=(Token)match(input,42,FOLLOW_7); + otherlv_4=(Token)match(input,43,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getSubscriberAccess().getMessageKeyword_4()); - // InternalRos.g:2017:3: ( ( ruleEString ) ) - // InternalRos.g:2018:4: ( ruleEString ) + // InternalRos.g:2270:3: ( ( ruleEString ) ) + // InternalRos.g:2271:4: ( ruleEString ) { - // InternalRos.g:2018:4: ( ruleEString ) - // InternalRos.g:2019:5: ruleEString + // InternalRos.g:2271:4: ( ruleEString ) + // InternalRos.g:2272:5: ruleEString { if (current==null) { @@ -4944,26 +5528,26 @@ public final EObject ruleSubscriber() throws RecognitionException { } - // InternalRos.g:2033:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt47=2; - int LA47_0 = input.LA(1); + // InternalRos.g:2286:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA47_0==58) ) { - alt47=1; + if ( (LA54_0==59) ) { + alt54=1; } - switch (alt47) { + switch (alt54) { case 1 : - // InternalRos.g:2034:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2287:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,58,FOLLOW_44); + otherlv_6=(Token)match(input,59,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getSubscriberAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:2038:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:2039:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2291:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2292:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:2039:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:2040:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2292:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2293:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getSubscriberAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); @@ -5023,7 +5607,7 @@ public final EObject ruleSubscriber() throws RecognitionException { // $ANTLR start "entryRuleServiceClient" - // InternalRos.g:2066:1: entryRuleServiceClient returns [EObject current=null] : iv_ruleServiceClient= ruleServiceClient EOF ; + // InternalRos.g:2319:1: entryRuleServiceClient returns [EObject current=null] : iv_ruleServiceClient= ruleServiceClient EOF ; public final EObject entryRuleServiceClient() throws RecognitionException { EObject current = null; @@ -5031,8 +5615,8 @@ public final EObject entryRuleServiceClient() throws RecognitionException { try { - // InternalRos.g:2066:54: (iv_ruleServiceClient= ruleServiceClient EOF ) - // InternalRos.g:2067:2: iv_ruleServiceClient= ruleServiceClient EOF + // InternalRos.g:2319:54: (iv_ruleServiceClient= ruleServiceClient EOF ) + // InternalRos.g:2320:2: iv_ruleServiceClient= ruleServiceClient EOF { newCompositeNode(grammarAccess.getServiceClientRule()); pushFollow(FOLLOW_1); @@ -5059,7 +5643,7 @@ public final EObject entryRuleServiceClient() throws RecognitionException { // $ANTLR start "ruleServiceClient" - // InternalRos.g:2073:1: ruleServiceClient returns [EObject current=null] : (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2326:1: ruleServiceClient returns [EObject current=null] : (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleServiceClient() throws RecognitionException { EObject current = null; @@ -5078,13 +5662,13 @@ public final EObject ruleServiceClient() throws RecognitionException { enterRule(); try { - // InternalRos.g:2079:2: ( (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:2080:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2332:2: ( (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2333:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:2080:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:2081:3: otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2333:2: (otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2334:3: otherlv_0= 'ServiceClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'service' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,61,FOLLOW_3); + otherlv_0=(Token)match(input,62,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getServiceClientAccess().getServiceClientKeyword_0()); @@ -5092,15 +5676,15 @@ public final EObject ruleServiceClient() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getServiceClientAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_7); + otherlv_2=(Token)match(input,49,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getServiceClientAccess().getNameKeyword_2()); - // InternalRos.g:2093:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2094:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2346:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2347:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2094:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2095:5: lv_name_3_0= ruleEString + // InternalRos.g:2347:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2348:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getServiceClientAccess().getNameEStringParserRuleCall_3_0()); @@ -5127,15 +5711,15 @@ public final EObject ruleServiceClient() throws RecognitionException { } - otherlv_4=(Token)match(input,57,FOLLOW_7); + otherlv_4=(Token)match(input,58,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getServiceClientAccess().getServiceKeyword_4()); - // InternalRos.g:2116:3: ( ( ruleEString ) ) - // InternalRos.g:2117:4: ( ruleEString ) + // InternalRos.g:2369:3: ( ( ruleEString ) ) + // InternalRos.g:2370:4: ( ruleEString ) { - // InternalRos.g:2117:4: ( ruleEString ) - // InternalRos.g:2118:5: ruleEString + // InternalRos.g:2370:4: ( ruleEString ) + // InternalRos.g:2371:5: ruleEString { if (current==null) { @@ -5159,26 +5743,26 @@ public final EObject ruleServiceClient() throws RecognitionException { } - // InternalRos.g:2132:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt48=2; - int LA48_0 = input.LA(1); + // InternalRos.g:2385:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA48_0==58) ) { - alt48=1; + if ( (LA55_0==59) ) { + alt55=1; } - switch (alt48) { + switch (alt55) { case 1 : - // InternalRos.g:2133:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2386:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,58,FOLLOW_44); + otherlv_6=(Token)match(input,59,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getServiceClientAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:2137:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:2138:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2390:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2391:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:2138:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:2139:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2391:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2392:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getServiceClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); @@ -5238,7 +5822,7 @@ public final EObject ruleServiceClient() throws RecognitionException { // $ANTLR start "entryRuleActionServer" - // InternalRos.g:2165:1: entryRuleActionServer returns [EObject current=null] : iv_ruleActionServer= ruleActionServer EOF ; + // InternalRos.g:2418:1: entryRuleActionServer returns [EObject current=null] : iv_ruleActionServer= ruleActionServer EOF ; public final EObject entryRuleActionServer() throws RecognitionException { EObject current = null; @@ -5246,8 +5830,8 @@ public final EObject entryRuleActionServer() throws RecognitionException { try { - // InternalRos.g:2165:53: (iv_ruleActionServer= ruleActionServer EOF ) - // InternalRos.g:2166:2: iv_ruleActionServer= ruleActionServer EOF + // InternalRos.g:2418:53: (iv_ruleActionServer= ruleActionServer EOF ) + // InternalRos.g:2419:2: iv_ruleActionServer= ruleActionServer EOF { newCompositeNode(grammarAccess.getActionServerRule()); pushFollow(FOLLOW_1); @@ -5274,7 +5858,7 @@ public final EObject entryRuleActionServer() throws RecognitionException { // $ANTLR start "ruleActionServer" - // InternalRos.g:2172:1: ruleActionServer returns [EObject current=null] : (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2425:1: ruleActionServer returns [EObject current=null] : (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleActionServer() throws RecognitionException { EObject current = null; @@ -5293,13 +5877,13 @@ public final EObject ruleActionServer() throws RecognitionException { enterRule(); try { - // InternalRos.g:2178:2: ( (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:2179:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2431:2: ( (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2432:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:2179:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:2180:3: otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2432:2: (otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2433:3: otherlv_0= 'ActionServer' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,62,FOLLOW_3); + otherlv_0=(Token)match(input,63,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getActionServerAccess().getActionServerKeyword_0()); @@ -5307,15 +5891,15 @@ public final EObject ruleActionServer() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getActionServerAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_7); + otherlv_2=(Token)match(input,49,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getActionServerAccess().getNameKeyword_2()); - // InternalRos.g:2192:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2193:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2445:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2446:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2193:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2194:5: lv_name_3_0= ruleEString + // InternalRos.g:2446:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2447:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getActionServerAccess().getNameEStringParserRuleCall_3_0()); @@ -5342,15 +5926,15 @@ public final EObject ruleActionServer() throws RecognitionException { } - otherlv_4=(Token)match(input,63,FOLLOW_7); + otherlv_4=(Token)match(input,64,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getActionServerAccess().getActionKeyword_4()); - // InternalRos.g:2215:3: ( ( ruleEString ) ) - // InternalRos.g:2216:4: ( ruleEString ) + // InternalRos.g:2468:3: ( ( ruleEString ) ) + // InternalRos.g:2469:4: ( ruleEString ) { - // InternalRos.g:2216:4: ( ruleEString ) - // InternalRos.g:2217:5: ruleEString + // InternalRos.g:2469:4: ( ruleEString ) + // InternalRos.g:2470:5: ruleEString { if (current==null) { @@ -5374,26 +5958,26 @@ public final EObject ruleActionServer() throws RecognitionException { } - // InternalRos.g:2231:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt49=2; - int LA49_0 = input.LA(1); + // InternalRos.g:2484:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt56=2; + int LA56_0 = input.LA(1); - if ( (LA49_0==58) ) { - alt49=1; + if ( (LA56_0==59) ) { + alt56=1; } - switch (alt49) { + switch (alt56) { case 1 : - // InternalRos.g:2232:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2485:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,58,FOLLOW_44); + otherlv_6=(Token)match(input,59,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getActionServerAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:2236:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:2237:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2489:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2490:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:2237:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:2238:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2490:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2491:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getActionServerAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); @@ -5453,7 +6037,7 @@ public final EObject ruleActionServer() throws RecognitionException { // $ANTLR start "entryRuleActionClient" - // InternalRos.g:2264:1: entryRuleActionClient returns [EObject current=null] : iv_ruleActionClient= ruleActionClient EOF ; + // InternalRos.g:2517:1: entryRuleActionClient returns [EObject current=null] : iv_ruleActionClient= ruleActionClient EOF ; public final EObject entryRuleActionClient() throws RecognitionException { EObject current = null; @@ -5461,8 +6045,8 @@ public final EObject entryRuleActionClient() throws RecognitionException { try { - // InternalRos.g:2264:53: (iv_ruleActionClient= ruleActionClient EOF ) - // InternalRos.g:2265:2: iv_ruleActionClient= ruleActionClient EOF + // InternalRos.g:2517:53: (iv_ruleActionClient= ruleActionClient EOF ) + // InternalRos.g:2518:2: iv_ruleActionClient= ruleActionClient EOF { newCompositeNode(grammarAccess.getActionClientRule()); pushFollow(FOLLOW_1); @@ -5489,7 +6073,7 @@ public final EObject entryRuleActionClient() throws RecognitionException { // $ANTLR start "ruleActionClient" - // InternalRos.g:2271:1: ruleActionClient returns [EObject current=null] : (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; + // InternalRos.g:2524:1: ruleActionClient returns [EObject current=null] : (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ; public final EObject ruleActionClient() throws RecognitionException { EObject current = null; @@ -5508,13 +6092,13 @@ public final EObject ruleActionClient() throws RecognitionException { enterRule(); try { - // InternalRos.g:2277:2: ( (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) - // InternalRos.g:2278:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2530:2: ( (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) ) + // InternalRos.g:2531:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) { - // InternalRos.g:2278:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) - // InternalRos.g:2279:3: otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' + // InternalRos.g:2531:2: (otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' ) + // InternalRos.g:2532:3: otherlv_0= 'ActionClient' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) otherlv_4= 'action' ( ( ruleEString ) ) (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? otherlv_8= '}' { - otherlv_0=(Token)match(input,64,FOLLOW_3); + otherlv_0=(Token)match(input,65,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getActionClientAccess().getActionClientKeyword_0()); @@ -5522,15 +6106,15 @@ public final EObject ruleActionClient() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getActionClientAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_7); + otherlv_2=(Token)match(input,49,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getActionClientAccess().getNameKeyword_2()); - // InternalRos.g:2291:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2292:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2544:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:2545:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2292:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2293:5: lv_name_3_0= ruleEString + // InternalRos.g:2545:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:2546:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getActionClientAccess().getNameEStringParserRuleCall_3_0()); @@ -5557,15 +6141,15 @@ public final EObject ruleActionClient() throws RecognitionException { } - otherlv_4=(Token)match(input,63,FOLLOW_7); + otherlv_4=(Token)match(input,64,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getActionClientAccess().getActionKeyword_4()); - // InternalRos.g:2314:3: ( ( ruleEString ) ) - // InternalRos.g:2315:4: ( ruleEString ) + // InternalRos.g:2567:3: ( ( ruleEString ) ) + // InternalRos.g:2568:4: ( ruleEString ) { - // InternalRos.g:2315:4: ( ruleEString ) - // InternalRos.g:2316:5: ruleEString + // InternalRos.g:2568:4: ( ruleEString ) + // InternalRos.g:2569:5: ruleEString { if (current==null) { @@ -5589,26 +6173,26 @@ public final EObject ruleActionClient() throws RecognitionException { } - // InternalRos.g:2330:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? - int alt50=2; - int LA50_0 = input.LA(1); + // InternalRos.g:2583:3: (otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) )? + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA50_0==58) ) { - alt50=1; + if ( (LA57_0==59) ) { + alt57=1; } - switch (alt50) { + switch (alt57) { case 1 : - // InternalRos.g:2331:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2584:4: otherlv_6= 'namespace' ( (lv_namespace_7_0= ruleNamespace ) ) { - otherlv_6=(Token)match(input,58,FOLLOW_44); + otherlv_6=(Token)match(input,59,FOLLOW_44); newLeafNode(otherlv_6, grammarAccess.getActionClientAccess().getNamespaceKeyword_6_0()); - // InternalRos.g:2335:4: ( (lv_namespace_7_0= ruleNamespace ) ) - // InternalRos.g:2336:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2588:4: ( (lv_namespace_7_0= ruleNamespace ) ) + // InternalRos.g:2589:5: (lv_namespace_7_0= ruleNamespace ) { - // InternalRos.g:2336:5: (lv_namespace_7_0= ruleNamespace ) - // InternalRos.g:2337:6: lv_namespace_7_0= ruleNamespace + // InternalRos.g:2589:5: (lv_namespace_7_0= ruleNamespace ) + // InternalRos.g:2590:6: lv_namespace_7_0= ruleNamespace { newCompositeNode(grammarAccess.getActionClientAccess().getNamespaceNamespaceParserRuleCall_6_1_0()); @@ -5668,7 +6252,7 @@ public final EObject ruleActionClient() throws RecognitionException { // $ANTLR start "entryRuleGraphName" - // InternalRos.g:2363:1: entryRuleGraphName returns [String current=null] : iv_ruleGraphName= ruleGraphName EOF ; + // InternalRos.g:2616:1: entryRuleGraphName returns [String current=null] : iv_ruleGraphName= ruleGraphName EOF ; public final String entryRuleGraphName() throws RecognitionException { String current = null; @@ -5676,8 +6260,8 @@ public final String entryRuleGraphName() throws RecognitionException { try { - // InternalRos.g:2363:49: (iv_ruleGraphName= ruleGraphName EOF ) - // InternalRos.g:2364:2: iv_ruleGraphName= ruleGraphName EOF + // InternalRos.g:2616:49: (iv_ruleGraphName= ruleGraphName EOF ) + // InternalRos.g:2617:2: iv_ruleGraphName= ruleGraphName EOF { newCompositeNode(grammarAccess.getGraphNameRule()); pushFollow(FOLLOW_1); @@ -5704,7 +6288,7 @@ public final String entryRuleGraphName() throws RecognitionException { // $ANTLR start "ruleGraphName" - // InternalRos.g:2370:1: ruleGraphName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'GraphName' ; + // InternalRos.g:2623:1: ruleGraphName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'GraphName' ; public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -5714,10 +6298,10 @@ public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException enterRule(); try { - // InternalRos.g:2376:2: (kw= 'GraphName' ) - // InternalRos.g:2377:2: kw= 'GraphName' + // InternalRos.g:2629:2: (kw= 'GraphName' ) + // InternalRos.g:2630:2: kw= 'GraphName' { - kw=(Token)match(input,65,FOLLOW_2); + kw=(Token)match(input,66,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getGraphNameAccess().getGraphNameKeyword()); @@ -5742,7 +6326,7 @@ public final AntlrDatatypeRuleToken ruleGraphName() throws RecognitionException // $ANTLR start "entryRulePackageDependency" - // InternalRos.g:2385:1: entryRulePackageDependency returns [EObject current=null] : iv_rulePackageDependency= rulePackageDependency EOF ; + // InternalRos.g:2638:1: entryRulePackageDependency returns [EObject current=null] : iv_rulePackageDependency= rulePackageDependency EOF ; public final EObject entryRulePackageDependency() throws RecognitionException { EObject current = null; @@ -5750,8 +6334,8 @@ public final EObject entryRulePackageDependency() throws RecognitionException { try { - // InternalRos.g:2385:58: (iv_rulePackageDependency= rulePackageDependency EOF ) - // InternalRos.g:2386:2: iv_rulePackageDependency= rulePackageDependency EOF + // InternalRos.g:2638:58: (iv_rulePackageDependency= rulePackageDependency EOF ) + // InternalRos.g:2639:2: iv_rulePackageDependency= rulePackageDependency EOF { newCompositeNode(grammarAccess.getPackageDependencyRule()); pushFollow(FOLLOW_1); @@ -5778,7 +6362,7 @@ public final EObject entryRulePackageDependency() throws RecognitionException { // $ANTLR start "rulePackageDependency" - // InternalRos.g:2392:1: rulePackageDependency returns [EObject current=null] : ( ( ruleEString ) ) ; + // InternalRos.g:2645:1: rulePackageDependency returns [EObject current=null] : ( ( ruleEString ) ) ; public final EObject rulePackageDependency() throws RecognitionException { EObject current = null; @@ -5786,14 +6370,14 @@ public final EObject rulePackageDependency() throws RecognitionException { enterRule(); try { - // InternalRos.g:2398:2: ( ( ( ruleEString ) ) ) - // InternalRos.g:2399:2: ( ( ruleEString ) ) + // InternalRos.g:2651:2: ( ( ( ruleEString ) ) ) + // InternalRos.g:2652:2: ( ( ruleEString ) ) { - // InternalRos.g:2399:2: ( ( ruleEString ) ) - // InternalRos.g:2400:3: ( ruleEString ) + // InternalRos.g:2652:2: ( ( ruleEString ) ) + // InternalRos.g:2653:3: ( ruleEString ) { - // InternalRos.g:2400:3: ( ruleEString ) - // InternalRos.g:2401:4: ruleEString + // InternalRos.g:2653:3: ( ruleEString ) + // InternalRos.g:2654:4: ruleEString { if (current==null) { @@ -5837,7 +6421,7 @@ public final EObject rulePackageDependency() throws RecognitionException { // $ANTLR start "entryRuleExternalDependency" - // InternalRos.g:2418:1: entryRuleExternalDependency returns [EObject current=null] : iv_ruleExternalDependency= ruleExternalDependency EOF ; + // InternalRos.g:2671:1: entryRuleExternalDependency returns [EObject current=null] : iv_ruleExternalDependency= ruleExternalDependency EOF ; public final EObject entryRuleExternalDependency() throws RecognitionException { EObject current = null; @@ -5845,8 +6429,8 @@ public final EObject entryRuleExternalDependency() throws RecognitionException { try { - // InternalRos.g:2418:59: (iv_ruleExternalDependency= ruleExternalDependency EOF ) - // InternalRos.g:2419:2: iv_ruleExternalDependency= ruleExternalDependency EOF + // InternalRos.g:2671:59: (iv_ruleExternalDependency= ruleExternalDependency EOF ) + // InternalRos.g:2672:2: iv_ruleExternalDependency= ruleExternalDependency EOF { newCompositeNode(grammarAccess.getExternalDependencyRule()); pushFollow(FOLLOW_1); @@ -5873,7 +6457,7 @@ public final EObject entryRuleExternalDependency() throws RecognitionException { // $ANTLR start "ruleExternalDependency" - // InternalRos.g:2425:1: ruleExternalDependency returns [EObject current=null] : ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ; + // InternalRos.g:2678:1: ruleExternalDependency returns [EObject current=null] : ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ; public final EObject ruleExternalDependency() throws RecognitionException { EObject current = null; @@ -5885,14 +6469,14 @@ public final EObject ruleExternalDependency() throws RecognitionException { enterRule(); try { - // InternalRos.g:2431:2: ( ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ) - // InternalRos.g:2432:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) + // InternalRos.g:2684:2: ( ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) ) + // InternalRos.g:2685:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) { - // InternalRos.g:2432:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) - // InternalRos.g:2433:3: () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:2685:2: ( () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) ) + // InternalRos.g:2686:3: () otherlv_1= 'ExternalDependency' ( (lv_name_2_0= ruleEString ) ) { - // InternalRos.g:2433:3: () - // InternalRos.g:2434:4: + // InternalRos.g:2686:3: () + // InternalRos.g:2687:4: { current = forceCreateModelElement( @@ -5902,15 +6486,15 @@ public final EObject ruleExternalDependency() throws RecognitionException { } - otherlv_1=(Token)match(input,66,FOLLOW_7); + otherlv_1=(Token)match(input,67,FOLLOW_7); newLeafNode(otherlv_1, grammarAccess.getExternalDependencyAccess().getExternalDependencyKeyword_1()); - // InternalRos.g:2444:3: ( (lv_name_2_0= ruleEString ) ) - // InternalRos.g:2445:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:2697:3: ( (lv_name_2_0= ruleEString ) ) + // InternalRos.g:2698:4: (lv_name_2_0= ruleEString ) { - // InternalRos.g:2445:4: (lv_name_2_0= ruleEString ) - // InternalRos.g:2446:5: lv_name_2_0= ruleEString + // InternalRos.g:2698:4: (lv_name_2_0= ruleEString ) + // InternalRos.g:2699:5: lv_name_2_0= ruleEString { newCompositeNode(grammarAccess.getExternalDependencyAccess().getNameEStringParserRuleCall_2_0()); @@ -5960,7 +6544,7 @@ public final EObject ruleExternalDependency() throws RecognitionException { // $ANTLR start "entryRuleGlobalNamespace" - // InternalRos.g:2467:1: entryRuleGlobalNamespace returns [EObject current=null] : iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ; + // InternalRos.g:2720:1: entryRuleGlobalNamespace returns [EObject current=null] : iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ; public final EObject entryRuleGlobalNamespace() throws RecognitionException { EObject current = null; @@ -5968,8 +6552,8 @@ public final EObject entryRuleGlobalNamespace() throws RecognitionException { try { - // InternalRos.g:2467:56: (iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ) - // InternalRos.g:2468:2: iv_ruleGlobalNamespace= ruleGlobalNamespace EOF + // InternalRos.g:2720:56: (iv_ruleGlobalNamespace= ruleGlobalNamespace EOF ) + // InternalRos.g:2721:2: iv_ruleGlobalNamespace= ruleGlobalNamespace EOF { newCompositeNode(grammarAccess.getGlobalNamespaceRule()); pushFollow(FOLLOW_1); @@ -5996,7 +6580,7 @@ public final EObject entryRuleGlobalNamespace() throws RecognitionException { // $ANTLR start "ruleGlobalNamespace" - // InternalRos.g:2474:1: ruleGlobalNamespace returns [EObject current=null] : ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRos.g:2727:1: ruleGlobalNamespace returns [EObject current=null] : ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject ruleGlobalNamespace() throws RecognitionException { EObject current = null; @@ -6016,14 +6600,14 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { enterRule(); try { - // InternalRos.g:2480:2: ( ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRos.g:2481:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2733:2: ( ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRos.g:2734:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRos.g:2481:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRos.g:2482:3: () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRos.g:2734:2: ( () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2735:3: () otherlv_1= 'GlobalNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRos.g:2482:3: () - // InternalRos.g:2483:4: + // InternalRos.g:2735:3: () + // InternalRos.g:2736:4: { current = forceCreateModelElement( @@ -6033,7 +6617,7 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { } - otherlv_1=(Token)match(input,67,FOLLOW_3); + otherlv_1=(Token)match(input,68,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getGlobalNamespaceAccess().getGlobalNamespaceKeyword_1()); @@ -6041,18 +6625,18 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:2497:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt52=2; - int LA52_0 = input.LA(1); + // InternalRos.g:2750:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt59=2; + int LA59_0 = input.LA(1); - if ( (LA52_0==68) ) { - alt52=1; + if ( (LA59_0==69) ) { + alt59=1; } - switch (alt52) { + switch (alt59) { case 1 : - // InternalRos.g:2498:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRos.g:2751:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { - otherlv_3=(Token)match(input,68,FOLLOW_3); + otherlv_3=(Token)match(input,69,FOLLOW_3); newLeafNode(otherlv_3, grammarAccess.getGlobalNamespaceAccess().getPartsKeyword_3_0()); @@ -6060,11 +6644,11 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getGlobalNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRos.g:2506:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRos.g:2507:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2759:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRos.g:2760:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRos.g:2507:5: (lv_parts_5_0= ruleGraphName ) - // InternalRos.g:2508:6: lv_parts_5_0= ruleGraphName + // InternalRos.g:2760:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2761:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); @@ -6091,30 +6675,30 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { } - // InternalRos.g:2525:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop51: + // InternalRos.g:2778:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop58: do { - int alt51=2; - int LA51_0 = input.LA(1); + int alt58=2; + int LA58_0 = input.LA(1); - if ( (LA51_0==27) ) { - alt51=1; + if ( (LA58_0==27) ) { + alt58=1; } - switch (alt51) { + switch (alt58) { case 1 : - // InternalRos.g:2526:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2779:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { otherlv_6=(Token)match(input,27,FOLLOW_48); newLeafNode(otherlv_6, grammarAccess.getGlobalNamespaceAccess().getCommaKeyword_3_3_0()); - // InternalRos.g:2530:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRos.g:2531:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2783:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2784:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRos.g:2531:6: (lv_parts_7_0= ruleGraphName ) - // InternalRos.g:2532:7: lv_parts_7_0= ruleGraphName + // InternalRos.g:2784:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2785:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getGlobalNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); @@ -6146,7 +6730,7 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { break; default : - break loop51; + break loop58; } } while (true); @@ -6187,7 +6771,7 @@ public final EObject ruleGlobalNamespace() throws RecognitionException { // $ANTLR start "entryRuleRelativeNamespace_Impl" - // InternalRos.g:2563:1: entryRuleRelativeNamespace_Impl returns [EObject current=null] : iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ; + // InternalRos.g:2816:1: entryRuleRelativeNamespace_Impl returns [EObject current=null] : iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ; public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionException { EObject current = null; @@ -6195,8 +6779,8 @@ public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionExcepti try { - // InternalRos.g:2563:63: (iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ) - // InternalRos.g:2564:2: iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF + // InternalRos.g:2816:63: (iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF ) + // InternalRos.g:2817:2: iv_ruleRelativeNamespace_Impl= ruleRelativeNamespace_Impl EOF { newCompositeNode(grammarAccess.getRelativeNamespace_ImplRule()); pushFollow(FOLLOW_1); @@ -6223,7 +6807,7 @@ public final EObject entryRuleRelativeNamespace_Impl() throws RecognitionExcepti // $ANTLR start "ruleRelativeNamespace_Impl" - // InternalRos.g:2570:1: ruleRelativeNamespace_Impl returns [EObject current=null] : ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRos.g:2823:1: ruleRelativeNamespace_Impl returns [EObject current=null] : ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { EObject current = null; @@ -6243,14 +6827,14 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { enterRule(); try { - // InternalRos.g:2576:2: ( ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRos.g:2577:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2829:2: ( ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRos.g:2830:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRos.g:2577:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRos.g:2578:3: () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRos.g:2830:2: ( () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2831:3: () otherlv_1= 'RelativeNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRos.g:2578:3: () - // InternalRos.g:2579:4: + // InternalRos.g:2831:3: () + // InternalRos.g:2832:4: { current = forceCreateModelElement( @@ -6260,7 +6844,7 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { } - otherlv_1=(Token)match(input,69,FOLLOW_3); + otherlv_1=(Token)match(input,70,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getRelativeNamespace_ImplAccess().getRelativeNamespaceKeyword_1()); @@ -6268,18 +6852,18 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:2593:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt54=2; - int LA54_0 = input.LA(1); + // InternalRos.g:2846:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt61=2; + int LA61_0 = input.LA(1); - if ( (LA54_0==68) ) { - alt54=1; + if ( (LA61_0==69) ) { + alt61=1; } - switch (alt54) { + switch (alt61) { case 1 : - // InternalRos.g:2594:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRos.g:2847:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { - otherlv_3=(Token)match(input,68,FOLLOW_3); + otherlv_3=(Token)match(input,69,FOLLOW_3); newLeafNode(otherlv_3, grammarAccess.getRelativeNamespace_ImplAccess().getPartsKeyword_3_0()); @@ -6287,11 +6871,11 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getRelativeNamespace_ImplAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRos.g:2602:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRos.g:2603:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2855:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRos.g:2856:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRos.g:2603:5: (lv_parts_5_0= ruleGraphName ) - // InternalRos.g:2604:6: lv_parts_5_0= ruleGraphName + // InternalRos.g:2856:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2857:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_2_0()); @@ -6318,30 +6902,30 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { } - // InternalRos.g:2621:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop53: + // InternalRos.g:2874:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop60: do { - int alt53=2; - int LA53_0 = input.LA(1); + int alt60=2; + int LA60_0 = input.LA(1); - if ( (LA53_0==27) ) { - alt53=1; + if ( (LA60_0==27) ) { + alt60=1; } - switch (alt53) { + switch (alt60) { case 1 : - // InternalRos.g:2622:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2875:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { otherlv_6=(Token)match(input,27,FOLLOW_48); newLeafNode(otherlv_6, grammarAccess.getRelativeNamespace_ImplAccess().getCommaKeyword_3_3_0()); - // InternalRos.g:2626:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRos.g:2627:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2879:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2880:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRos.g:2627:6: (lv_parts_7_0= ruleGraphName ) - // InternalRos.g:2628:7: lv_parts_7_0= ruleGraphName + // InternalRos.g:2880:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2881:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getRelativeNamespace_ImplAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); @@ -6373,7 +6957,7 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { break; default : - break loop53; + break loop60; } } while (true); @@ -6414,7 +6998,7 @@ public final EObject ruleRelativeNamespace_Impl() throws RecognitionException { // $ANTLR start "entryRulePrivateNamespace" - // InternalRos.g:2659:1: entryRulePrivateNamespace returns [EObject current=null] : iv_rulePrivateNamespace= rulePrivateNamespace EOF ; + // InternalRos.g:2912:1: entryRulePrivateNamespace returns [EObject current=null] : iv_rulePrivateNamespace= rulePrivateNamespace EOF ; public final EObject entryRulePrivateNamespace() throws RecognitionException { EObject current = null; @@ -6422,8 +7006,8 @@ public final EObject entryRulePrivateNamespace() throws RecognitionException { try { - // InternalRos.g:2659:57: (iv_rulePrivateNamespace= rulePrivateNamespace EOF ) - // InternalRos.g:2660:2: iv_rulePrivateNamespace= rulePrivateNamespace EOF + // InternalRos.g:2912:57: (iv_rulePrivateNamespace= rulePrivateNamespace EOF ) + // InternalRos.g:2913:2: iv_rulePrivateNamespace= rulePrivateNamespace EOF { newCompositeNode(grammarAccess.getPrivateNamespaceRule()); pushFollow(FOLLOW_1); @@ -6450,7 +7034,7 @@ public final EObject entryRulePrivateNamespace() throws RecognitionException { // $ANTLR start "rulePrivateNamespace" - // InternalRos.g:2666:1: rulePrivateNamespace returns [EObject current=null] : ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + // InternalRos.g:2919:1: rulePrivateNamespace returns [EObject current=null] : ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; public final EObject rulePrivateNamespace() throws RecognitionException { EObject current = null; @@ -6470,14 +7054,14 @@ public final EObject rulePrivateNamespace() throws RecognitionException { enterRule(); try { - // InternalRos.g:2672:2: ( ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) - // InternalRos.g:2673:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2925:2: ( ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // InternalRos.g:2926:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) { - // InternalRos.g:2673:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) - // InternalRos.g:2674:3: () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' + // InternalRos.g:2926:2: ( () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // InternalRos.g:2927:3: () otherlv_1= 'PrivateNamespace' otherlv_2= '{' (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? otherlv_9= '}' { - // InternalRos.g:2674:3: () - // InternalRos.g:2675:4: + // InternalRos.g:2927:3: () + // InternalRos.g:2928:4: { current = forceCreateModelElement( @@ -6487,7 +7071,7 @@ public final EObject rulePrivateNamespace() throws RecognitionException { } - otherlv_1=(Token)match(input,70,FOLLOW_3); + otherlv_1=(Token)match(input,71,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getPrivateNamespaceAccess().getPrivateNamespaceKeyword_1()); @@ -6495,18 +7079,18 @@ public final EObject rulePrivateNamespace() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:2689:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? - int alt56=2; - int LA56_0 = input.LA(1); + // InternalRos.g:2942:3: (otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' )? + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA56_0==68) ) { - alt56=1; + if ( (LA63_0==69) ) { + alt63=1; } - switch (alt56) { + switch (alt63) { case 1 : - // InternalRos.g:2690:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' + // InternalRos.g:2943:4: otherlv_3= 'parts' otherlv_4= '{' ( (lv_parts_5_0= ruleGraphName ) ) (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* otherlv_8= '}' { - otherlv_3=(Token)match(input,68,FOLLOW_3); + otherlv_3=(Token)match(input,69,FOLLOW_3); newLeafNode(otherlv_3, grammarAccess.getPrivateNamespaceAccess().getPartsKeyword_3_0()); @@ -6514,11 +7098,11 @@ public final EObject rulePrivateNamespace() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getPrivateNamespaceAccess().getLeftCurlyBracketKeyword_3_1()); - // InternalRos.g:2698:4: ( (lv_parts_5_0= ruleGraphName ) ) - // InternalRos.g:2699:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2951:4: ( (lv_parts_5_0= ruleGraphName ) ) + // InternalRos.g:2952:5: (lv_parts_5_0= ruleGraphName ) { - // InternalRos.g:2699:5: (lv_parts_5_0= ruleGraphName ) - // InternalRos.g:2700:6: lv_parts_5_0= ruleGraphName + // InternalRos.g:2952:5: (lv_parts_5_0= ruleGraphName ) + // InternalRos.g:2953:6: lv_parts_5_0= ruleGraphName { newCompositeNode(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_2_0()); @@ -6545,30 +7129,30 @@ public final EObject rulePrivateNamespace() throws RecognitionException { } - // InternalRos.g:2717:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* - loop55: + // InternalRos.g:2970:4: (otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) )* + loop62: do { - int alt55=2; - int LA55_0 = input.LA(1); + int alt62=2; + int LA62_0 = input.LA(1); - if ( (LA55_0==27) ) { - alt55=1; + if ( (LA62_0==27) ) { + alt62=1; } - switch (alt55) { + switch (alt62) { case 1 : - // InternalRos.g:2718:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2971:5: otherlv_6= ',' ( (lv_parts_7_0= ruleGraphName ) ) { otherlv_6=(Token)match(input,27,FOLLOW_48); newLeafNode(otherlv_6, grammarAccess.getPrivateNamespaceAccess().getCommaKeyword_3_3_0()); - // InternalRos.g:2722:5: ( (lv_parts_7_0= ruleGraphName ) ) - // InternalRos.g:2723:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2975:5: ( (lv_parts_7_0= ruleGraphName ) ) + // InternalRos.g:2976:6: (lv_parts_7_0= ruleGraphName ) { - // InternalRos.g:2723:6: (lv_parts_7_0= ruleGraphName ) - // InternalRos.g:2724:7: lv_parts_7_0= ruleGraphName + // InternalRos.g:2976:6: (lv_parts_7_0= ruleGraphName ) + // InternalRos.g:2977:7: lv_parts_7_0= ruleGraphName { newCompositeNode(grammarAccess.getPrivateNamespaceAccess().getPartsGraphNameParserRuleCall_3_3_1_0()); @@ -6600,7 +7184,7 @@ public final EObject rulePrivateNamespace() throws RecognitionException { break; default : - break loop55; + break loop62; } } while (true); @@ -6641,7 +7225,7 @@ public final EObject rulePrivateNamespace() throws RecognitionException { // $ANTLR start "entryRuleParameter" - // InternalRos.g:2755:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; + // InternalRos.g:3008:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; public final EObject entryRuleParameter() throws RecognitionException { EObject current = null; @@ -6649,8 +7233,8 @@ public final EObject entryRuleParameter() throws RecognitionException { try { - // InternalRos.g:2755:50: (iv_ruleParameter= ruleParameter EOF ) - // InternalRos.g:2756:2: iv_ruleParameter= ruleParameter EOF + // InternalRos.g:3008:50: (iv_ruleParameter= ruleParameter EOF ) + // InternalRos.g:3009:2: iv_ruleParameter= ruleParameter EOF { newCompositeNode(grammarAccess.getParameterRule()); pushFollow(FOLLOW_1); @@ -6677,7 +7261,7 @@ public final EObject entryRuleParameter() throws RecognitionException { // $ANTLR start "ruleParameter" - // InternalRos.g:2762:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ; + // InternalRos.g:3015:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ; public final EObject ruleParameter() throws RecognitionException { EObject current = null; @@ -6698,13 +7282,13 @@ public final EObject ruleParameter() throws RecognitionException { enterRule(); try { - // InternalRos.g:2768:2: ( (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ) - // InternalRos.g:2769:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) + // InternalRos.g:3021:2: ( (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) ) + // InternalRos.g:3022:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) { - // InternalRos.g:2769:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) - // InternalRos.g:2770:3: otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' + // InternalRos.g:3022:2: (otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' ) + // InternalRos.g:3023:3: otherlv_0= 'Parameter' otherlv_1= '{' otherlv_2= 'name' ( (lv_name_3_0= ruleEString ) ) (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? otherlv_6= 'type' ( (lv_type_7_0= ruleParameterType ) ) otherlv_8= '}' { - otherlv_0=(Token)match(input,71,FOLLOW_3); + otherlv_0=(Token)match(input,72,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0()); @@ -6712,15 +7296,15 @@ public final EObject ruleParameter() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,48,FOLLOW_7); + otherlv_2=(Token)match(input,49,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getNameKeyword_2()); - // InternalRos.g:2782:3: ( (lv_name_3_0= ruleEString ) ) - // InternalRos.g:2783:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:3035:3: ( (lv_name_3_0= ruleEString ) ) + // InternalRos.g:3036:4: (lv_name_3_0= ruleEString ) { - // InternalRos.g:2783:4: (lv_name_3_0= ruleEString ) - // InternalRos.g:2784:5: lv_name_3_0= ruleEString + // InternalRos.g:3036:4: (lv_name_3_0= ruleEString ) + // InternalRos.g:3037:5: lv_name_3_0= ruleEString { newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_3_0()); @@ -6747,26 +7331,26 @@ public final EObject ruleParameter() throws RecognitionException { } - // InternalRos.g:2801:3: (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? - int alt57=2; - int LA57_0 = input.LA(1); + // InternalRos.g:3054:3: (otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) )? + int alt64=2; + int LA64_0 = input.LA(1); - if ( (LA57_0==58) ) { - alt57=1; + if ( (LA64_0==59) ) { + alt64=1; } - switch (alt57) { + switch (alt64) { case 1 : - // InternalRos.g:2802:4: otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) + // InternalRos.g:3055:4: otherlv_4= 'namespace' ( (lv_namespace_5_0= ruleNamespace ) ) { - otherlv_4=(Token)match(input,58,FOLLOW_44); + otherlv_4=(Token)match(input,59,FOLLOW_44); newLeafNode(otherlv_4, grammarAccess.getParameterAccess().getNamespaceKeyword_4_0()); - // InternalRos.g:2806:4: ( (lv_namespace_5_0= ruleNamespace ) ) - // InternalRos.g:2807:5: (lv_namespace_5_0= ruleNamespace ) + // InternalRos.g:3059:4: ( (lv_namespace_5_0= ruleNamespace ) ) + // InternalRos.g:3060:5: (lv_namespace_5_0= ruleNamespace ) { - // InternalRos.g:2807:5: (lv_namespace_5_0= ruleNamespace ) - // InternalRos.g:2808:6: lv_namespace_5_0= ruleNamespace + // InternalRos.g:3060:5: (lv_namespace_5_0= ruleNamespace ) + // InternalRos.g:3061:6: lv_namespace_5_0= ruleNamespace { newCompositeNode(grammarAccess.getParameterAccess().getNamespaceNamespaceParserRuleCall_4_1_0()); @@ -6799,15 +7383,15 @@ public final EObject ruleParameter() throws RecognitionException { } - otherlv_6=(Token)match(input,72,FOLLOW_51); + otherlv_6=(Token)match(input,73,FOLLOW_51); newLeafNode(otherlv_6, grammarAccess.getParameterAccess().getTypeKeyword_5()); - // InternalRos.g:2830:3: ( (lv_type_7_0= ruleParameterType ) ) - // InternalRos.g:2831:4: (lv_type_7_0= ruleParameterType ) + // InternalRos.g:3083:3: ( (lv_type_7_0= ruleParameterType ) ) + // InternalRos.g:3084:4: (lv_type_7_0= ruleParameterType ) { - // InternalRos.g:2831:4: (lv_type_7_0= ruleParameterType ) - // InternalRos.g:2832:5: lv_type_7_0= ruleParameterType + // InternalRos.g:3084:4: (lv_type_7_0= ruleParameterType ) + // InternalRos.g:3085:5: lv_type_7_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterAccess().getTypeParameterTypeParserRuleCall_6_0()); @@ -6861,7 +7445,7 @@ public final EObject ruleParameter() throws RecognitionException { // $ANTLR start "entryRuleParameterType" - // InternalRos.g:2857:1: entryRuleParameterType returns [EObject current=null] : iv_ruleParameterType= ruleParameterType EOF ; + // InternalRos.g:3110:1: entryRuleParameterType returns [EObject current=null] : iv_ruleParameterType= ruleParameterType EOF ; public final EObject entryRuleParameterType() throws RecognitionException { EObject current = null; @@ -6869,8 +7453,8 @@ public final EObject entryRuleParameterType() throws RecognitionException { try { - // InternalRos.g:2857:54: (iv_ruleParameterType= ruleParameterType EOF ) - // InternalRos.g:2858:2: iv_ruleParameterType= ruleParameterType EOF + // InternalRos.g:3110:54: (iv_ruleParameterType= ruleParameterType EOF ) + // InternalRos.g:3111:2: iv_ruleParameterType= ruleParameterType EOF { newCompositeNode(grammarAccess.getParameterTypeRule()); pushFollow(FOLLOW_1); @@ -6897,7 +7481,7 @@ public final EObject entryRuleParameterType() throws RecognitionException { // $ANTLR start "ruleParameterType" - // InternalRos.g:2864:1: ruleParameterType returns [EObject current=null] : (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ; + // InternalRos.g:3117:1: ruleParameterType returns [EObject current=null] : (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ; public final EObject ruleParameterType() throws RecognitionException { EObject current = null; @@ -6922,62 +7506,62 @@ public final EObject ruleParameterType() throws RecognitionException { enterRule(); try { - // InternalRos.g:2870:2: ( (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ) - // InternalRos.g:2871:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) + // InternalRos.g:3123:2: ( (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) ) + // InternalRos.g:3124:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) { - // InternalRos.g:2871:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) - int alt58=8; + // InternalRos.g:3124:2: (this_ParameterListType_0= ruleParameterListType | this_ParameterStructType_1= ruleParameterStructType | this_ParameterIntegerType_2= ruleParameterIntegerType | this_ParameterStringType_3= ruleParameterStringType | this_ParameterDoubleType_4= ruleParameterDoubleType | this_ParameterBooleanType_5= ruleParameterBooleanType | this_ParameterBase64Type_6= ruleParameterBase64Type | this_ParameterArrayType_7= ruleParameterArrayType ) + int alt65=8; switch ( input.LA(1) ) { - case 73: - { - alt58=1; - } - break; case 74: { - alt58=2; + alt65=1; } break; case 75: { - alt58=3; + alt65=2; } break; - case 41: + case 76: { - alt58=4; + alt65=3; } break; - case 77: + case 42: { - alt58=5; + alt65=4; } break; case 78: { - alt58=6; + alt65=5; } break; case 79: { - alt58=7; + alt65=6; } break; case 80: { - alt58=8; + alt65=7; + } + break; + case 81: + { + alt65=8; } break; default: NoViableAltException nvae = - new NoViableAltException("", 58, 0, input); + new NoViableAltException("", 65, 0, input); throw nvae; } - switch (alt58) { + switch (alt65) { case 1 : - // InternalRos.g:2872:3: this_ParameterListType_0= ruleParameterListType + // InternalRos.g:3125:3: this_ParameterListType_0= ruleParameterListType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterListTypeParserRuleCall_0()); @@ -6995,7 +7579,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 2 : - // InternalRos.g:2881:3: this_ParameterStructType_1= ruleParameterStructType + // InternalRos.g:3134:3: this_ParameterStructType_1= ruleParameterStructType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterStructTypeParserRuleCall_1()); @@ -7013,7 +7597,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 3 : - // InternalRos.g:2890:3: this_ParameterIntegerType_2= ruleParameterIntegerType + // InternalRos.g:3143:3: this_ParameterIntegerType_2= ruleParameterIntegerType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterIntegerTypeParserRuleCall_2()); @@ -7031,7 +7615,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 4 : - // InternalRos.g:2899:3: this_ParameterStringType_3= ruleParameterStringType + // InternalRos.g:3152:3: this_ParameterStringType_3= ruleParameterStringType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterStringTypeParserRuleCall_3()); @@ -7049,7 +7633,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 5 : - // InternalRos.g:2908:3: this_ParameterDoubleType_4= ruleParameterDoubleType + // InternalRos.g:3161:3: this_ParameterDoubleType_4= ruleParameterDoubleType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterDoubleTypeParserRuleCall_4()); @@ -7067,7 +7651,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 6 : - // InternalRos.g:2917:3: this_ParameterBooleanType_5= ruleParameterBooleanType + // InternalRos.g:3170:3: this_ParameterBooleanType_5= ruleParameterBooleanType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterBooleanTypeParserRuleCall_5()); @@ -7085,7 +7669,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 7 : - // InternalRos.g:2926:3: this_ParameterBase64Type_6= ruleParameterBase64Type + // InternalRos.g:3179:3: this_ParameterBase64Type_6= ruleParameterBase64Type { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterBase64TypeParserRuleCall_6()); @@ -7103,7 +7687,7 @@ public final EObject ruleParameterType() throws RecognitionException { } break; case 8 : - // InternalRos.g:2935:3: this_ParameterArrayType_7= ruleParameterArrayType + // InternalRos.g:3188:3: this_ParameterArrayType_7= ruleParameterArrayType { newCompositeNode(grammarAccess.getParameterTypeAccess().getParameterArrayTypeParserRuleCall_7()); @@ -7143,7 +7727,7 @@ public final EObject ruleParameterType() throws RecognitionException { // $ANTLR start "entryRuleParameterValue" - // InternalRos.g:2947:1: entryRuleParameterValue returns [EObject current=null] : iv_ruleParameterValue= ruleParameterValue EOF ; + // InternalRos.g:3200:1: entryRuleParameterValue returns [EObject current=null] : iv_ruleParameterValue= ruleParameterValue EOF ; public final EObject entryRuleParameterValue() throws RecognitionException { EObject current = null; @@ -7151,8 +7735,8 @@ public final EObject entryRuleParameterValue() throws RecognitionException { try { - // InternalRos.g:2947:55: (iv_ruleParameterValue= ruleParameterValue EOF ) - // InternalRos.g:2948:2: iv_ruleParameterValue= ruleParameterValue EOF + // InternalRos.g:3200:55: (iv_ruleParameterValue= ruleParameterValue EOF ) + // InternalRos.g:3201:2: iv_ruleParameterValue= ruleParameterValue EOF { newCompositeNode(grammarAccess.getParameterValueRule()); pushFollow(FOLLOW_1); @@ -7179,7 +7763,7 @@ public final EObject entryRuleParameterValue() throws RecognitionException { // $ANTLR start "ruleParameterValue" - // InternalRos.g:2954:1: ruleParameterValue returns [EObject current=null] : (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ; + // InternalRos.g:3207:1: ruleParameterValue returns [EObject current=null] : (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ; public final EObject ruleParameterValue() throws RecognitionException { EObject current = null; @@ -7202,51 +7786,51 @@ public final EObject ruleParameterValue() throws RecognitionException { enterRule(); try { - // InternalRos.g:2960:2: ( (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ) - // InternalRos.g:2961:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) + // InternalRos.g:3213:2: ( (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) ) + // InternalRos.g:3214:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) { - // InternalRos.g:2961:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) - int alt59=7; + // InternalRos.g:3214:2: (this_ParameterString_0= ruleParameterString | this_ParameterBase64_1= ruleParameterBase64 | this_ParameterInteger_2= ruleParameterInteger | this_ParameterDouble_3= ruleParameterDouble | this_ParameterBoolean_4= ruleParameterBoolean | this_ParameterList_5= ruleParameterList | this_ParameterStruct_6= ruleParameterStruct ) + int alt66=7; switch ( input.LA(1) ) { case RULE_STRING: case RULE_ID: { - alt59=1; + alt66=1; } break; case RULE_BINARY: { - alt59=2; + alt66=2; } break; case RULE_DECINT: { - alt59=3; + alt66=3; } break; case RULE_DOUBLE: { - alt59=4; + alt66=4; } break; case RULE_BOOLEAN: { - alt59=5; + alt66=5; } break; case 26: { - int LA59_6 = input.LA(2); + int LA66_6 = input.LA(2); - if ( ((LA59_6>=RULE_STRING && LA59_6<=RULE_ID)||(LA59_6>=RULE_BINARY && LA59_6<=RULE_DECINT)||(LA59_6>=26 && LA59_6<=28)) ) { - alt59=6; + if ( ((LA66_6>=RULE_STRING && LA66_6<=RULE_ID)||(LA66_6>=RULE_BINARY && LA66_6<=RULE_DECINT)||(LA66_6>=26 && LA66_6<=28)) ) { + alt66=6; } - else if ( (LA59_6==83) ) { - alt59=7; + else if ( (LA66_6==84) ) { + alt66=7; } else { NoViableAltException nvae = - new NoViableAltException("", 59, 6, input); + new NoViableAltException("", 66, 6, input); throw nvae; } @@ -7256,19 +7840,19 @@ else if ( (LA59_6==83) ) { case 27: case 28: { - alt59=7; + alt66=7; } break; default: NoViableAltException nvae = - new NoViableAltException("", 59, 0, input); + new NoViableAltException("", 66, 0, input); throw nvae; } - switch (alt59) { + switch (alt66) { case 1 : - // InternalRos.g:2962:3: this_ParameterString_0= ruleParameterString + // InternalRos.g:3215:3: this_ParameterString_0= ruleParameterString { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterStringParserRuleCall_0()); @@ -7286,7 +7870,7 @@ else if ( (LA59_6==83) ) { } break; case 2 : - // InternalRos.g:2971:3: this_ParameterBase64_1= ruleParameterBase64 + // InternalRos.g:3224:3: this_ParameterBase64_1= ruleParameterBase64 { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterBase64ParserRuleCall_1()); @@ -7304,7 +7888,7 @@ else if ( (LA59_6==83) ) { } break; case 3 : - // InternalRos.g:2980:3: this_ParameterInteger_2= ruleParameterInteger + // InternalRos.g:3233:3: this_ParameterInteger_2= ruleParameterInteger { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterIntegerParserRuleCall_2()); @@ -7322,7 +7906,7 @@ else if ( (LA59_6==83) ) { } break; case 4 : - // InternalRos.g:2989:3: this_ParameterDouble_3= ruleParameterDouble + // InternalRos.g:3242:3: this_ParameterDouble_3= ruleParameterDouble { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterDoubleParserRuleCall_3()); @@ -7340,7 +7924,7 @@ else if ( (LA59_6==83) ) { } break; case 5 : - // InternalRos.g:2998:3: this_ParameterBoolean_4= ruleParameterBoolean + // InternalRos.g:3251:3: this_ParameterBoolean_4= ruleParameterBoolean { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterBooleanParserRuleCall_4()); @@ -7358,7 +7942,7 @@ else if ( (LA59_6==83) ) { } break; case 6 : - // InternalRos.g:3007:3: this_ParameterList_5= ruleParameterList + // InternalRos.g:3260:3: this_ParameterList_5= ruleParameterList { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterListParserRuleCall_5()); @@ -7376,7 +7960,7 @@ else if ( (LA59_6==83) ) { } break; case 7 : - // InternalRos.g:3016:3: this_ParameterStruct_6= ruleParameterStruct + // InternalRos.g:3269:3: this_ParameterStruct_6= ruleParameterStruct { newCompositeNode(grammarAccess.getParameterValueAccess().getParameterStructParserRuleCall_6()); @@ -7416,7 +8000,7 @@ else if ( (LA59_6==83) ) { // $ANTLR start "entryRuleParameterListType" - // InternalRos.g:3028:1: entryRuleParameterListType returns [EObject current=null] : iv_ruleParameterListType= ruleParameterListType EOF ; + // InternalRos.g:3281:1: entryRuleParameterListType returns [EObject current=null] : iv_ruleParameterListType= ruleParameterListType EOF ; public final EObject entryRuleParameterListType() throws RecognitionException { EObject current = null; @@ -7424,8 +8008,8 @@ public final EObject entryRuleParameterListType() throws RecognitionException { try { - // InternalRos.g:3028:58: (iv_ruleParameterListType= ruleParameterListType EOF ) - // InternalRos.g:3029:2: iv_ruleParameterListType= ruleParameterListType EOF + // InternalRos.g:3281:58: (iv_ruleParameterListType= ruleParameterListType EOF ) + // InternalRos.g:3282:2: iv_ruleParameterListType= ruleParameterListType EOF { newCompositeNode(grammarAccess.getParameterListTypeRule()); pushFollow(FOLLOW_1); @@ -7452,7 +8036,7 @@ public final EObject entryRuleParameterListType() throws RecognitionException { // $ANTLR start "ruleParameterListType" - // InternalRos.g:3035:1: ruleParameterListType returns [EObject current=null] : ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ; + // InternalRos.g:3288:1: ruleParameterListType returns [EObject current=null] : ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ; public final EObject ruleParameterListType() throws RecognitionException { EObject current = null; @@ -7469,14 +8053,14 @@ public final EObject ruleParameterListType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3041:2: ( ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ) - // InternalRos.g:3042:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) + // InternalRos.g:3294:2: ( ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) ) + // InternalRos.g:3295:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) { - // InternalRos.g:3042:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) - // InternalRos.g:3043:3: () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' + // InternalRos.g:3295:2: ( () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' ) + // InternalRos.g:3296:3: () otherlv_1= 'List' otherlv_2= '{' ( (lv_sequence_3_0= ruleParameterType ) ) (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* otherlv_6= '}' { - // InternalRos.g:3043:3: () - // InternalRos.g:3044:4: + // InternalRos.g:3296:3: () + // InternalRos.g:3297:4: { current = forceCreateModelElement( @@ -7486,7 +8070,7 @@ public final EObject ruleParameterListType() throws RecognitionException { } - otherlv_1=(Token)match(input,73,FOLLOW_3); + otherlv_1=(Token)match(input,74,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getParameterListTypeAccess().getListKeyword_1()); @@ -7494,11 +8078,11 @@ public final EObject ruleParameterListType() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterListTypeAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:3058:3: ( (lv_sequence_3_0= ruleParameterType ) ) - // InternalRos.g:3059:4: (lv_sequence_3_0= ruleParameterType ) + // InternalRos.g:3311:3: ( (lv_sequence_3_0= ruleParameterType ) ) + // InternalRos.g:3312:4: (lv_sequence_3_0= ruleParameterType ) { - // InternalRos.g:3059:4: (lv_sequence_3_0= ruleParameterType ) - // InternalRos.g:3060:5: lv_sequence_3_0= ruleParameterType + // InternalRos.g:3312:4: (lv_sequence_3_0= ruleParameterType ) + // InternalRos.g:3313:5: lv_sequence_3_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_3_0()); @@ -7525,30 +8109,30 @@ public final EObject ruleParameterListType() throws RecognitionException { } - // InternalRos.g:3077:3: (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* - loop60: + // InternalRos.g:3330:3: (otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) )* + loop67: do { - int alt60=2; - int LA60_0 = input.LA(1); + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA60_0==27) ) { - alt60=1; + if ( (LA67_0==27) ) { + alt67=1; } - switch (alt60) { + switch (alt67) { case 1 : - // InternalRos.g:3078:4: otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) + // InternalRos.g:3331:4: otherlv_4= ',' ( (lv_sequence_5_0= ruleParameterType ) ) { otherlv_4=(Token)match(input,27,FOLLOW_51); newLeafNode(otherlv_4, grammarAccess.getParameterListTypeAccess().getCommaKeyword_4_0()); - // InternalRos.g:3082:4: ( (lv_sequence_5_0= ruleParameterType ) ) - // InternalRos.g:3083:5: (lv_sequence_5_0= ruleParameterType ) + // InternalRos.g:3335:4: ( (lv_sequence_5_0= ruleParameterType ) ) + // InternalRos.g:3336:5: (lv_sequence_5_0= ruleParameterType ) { - // InternalRos.g:3083:5: (lv_sequence_5_0= ruleParameterType ) - // InternalRos.g:3084:6: lv_sequence_5_0= ruleParameterType + // InternalRos.g:3336:5: (lv_sequence_5_0= ruleParameterType ) + // InternalRos.g:3337:6: lv_sequence_5_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterListTypeAccess().getSequenceParameterTypeParserRuleCall_4_1_0()); @@ -7580,7 +8164,7 @@ public final EObject ruleParameterListType() throws RecognitionException { break; default : - break loop60; + break loop67; } } while (true); @@ -7611,7 +8195,7 @@ public final EObject ruleParameterListType() throws RecognitionException { // $ANTLR start "entryRuleParameterStructType" - // InternalRos.g:3110:1: entryRuleParameterStructType returns [EObject current=null] : iv_ruleParameterStructType= ruleParameterStructType EOF ; + // InternalRos.g:3363:1: entryRuleParameterStructType returns [EObject current=null] : iv_ruleParameterStructType= ruleParameterStructType EOF ; public final EObject entryRuleParameterStructType() throws RecognitionException { EObject current = null; @@ -7619,8 +8203,8 @@ public final EObject entryRuleParameterStructType() throws RecognitionException try { - // InternalRos.g:3110:60: (iv_ruleParameterStructType= ruleParameterStructType EOF ) - // InternalRos.g:3111:2: iv_ruleParameterStructType= ruleParameterStructType EOF + // InternalRos.g:3363:60: (iv_ruleParameterStructType= ruleParameterStructType EOF ) + // InternalRos.g:3364:2: iv_ruleParameterStructType= ruleParameterStructType EOF { newCompositeNode(grammarAccess.getParameterStructTypeRule()); pushFollow(FOLLOW_1); @@ -7647,7 +8231,7 @@ public final EObject entryRuleParameterStructType() throws RecognitionException // $ANTLR start "ruleParameterStructType" - // InternalRos.g:3117:1: ruleParameterStructType returns [EObject current=null] : ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ; + // InternalRos.g:3370:1: ruleParameterStructType returns [EObject current=null] : ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ; public final EObject ruleParameterStructType() throws RecognitionException { EObject current = null; @@ -7664,14 +8248,14 @@ public final EObject ruleParameterStructType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3123:2: ( ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ) - // InternalRos.g:3124:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) + // InternalRos.g:3376:2: ( ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) ) + // InternalRos.g:3377:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) { - // InternalRos.g:3124:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) - // InternalRos.g:3125:3: () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' + // InternalRos.g:3377:2: ( () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' ) + // InternalRos.g:3378:3: () otherlv_1= 'Struct' otherlv_2= '{' ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* otherlv_6= '}' { - // InternalRos.g:3125:3: () - // InternalRos.g:3126:4: + // InternalRos.g:3378:3: () + // InternalRos.g:3379:4: { current = forceCreateModelElement( @@ -7681,7 +8265,7 @@ public final EObject ruleParameterStructType() throws RecognitionException { } - otherlv_1=(Token)match(input,74,FOLLOW_3); + otherlv_1=(Token)match(input,75,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getParameterStructTypeAccess().getStructKeyword_1()); @@ -7689,11 +8273,11 @@ public final EObject ruleParameterStructType() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterStructTypeAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:3140:3: ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) - // InternalRos.g:3141:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) + // InternalRos.g:3393:3: ( (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) ) + // InternalRos.g:3394:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) { - // InternalRos.g:3141:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) - // InternalRos.g:3142:5: lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember + // InternalRos.g:3394:4: (lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember ) + // InternalRos.g:3395:5: lv_parameterstructypetmember_3_0= ruleParameterStructTypeMember { newCompositeNode(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0()); @@ -7720,30 +8304,30 @@ public final EObject ruleParameterStructType() throws RecognitionException { } - // InternalRos.g:3159:3: (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* - loop61: + // InternalRos.g:3412:3: (otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) )* + loop68: do { - int alt61=2; - int LA61_0 = input.LA(1); + int alt68=2; + int LA68_0 = input.LA(1); - if ( (LA61_0==27) ) { - alt61=1; + if ( (LA68_0==27) ) { + alt68=1; } - switch (alt61) { + switch (alt68) { case 1 : - // InternalRos.g:3160:4: otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) + // InternalRos.g:3413:4: otherlv_4= ',' ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) { otherlv_4=(Token)match(input,27,FOLLOW_7); newLeafNode(otherlv_4, grammarAccess.getParameterStructTypeAccess().getCommaKeyword_4_0()); - // InternalRos.g:3164:4: ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) - // InternalRos.g:3165:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) + // InternalRos.g:3417:4: ( (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) ) + // InternalRos.g:3418:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) { - // InternalRos.g:3165:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) - // InternalRos.g:3166:6: lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember + // InternalRos.g:3418:5: (lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember ) + // InternalRos.g:3419:6: lv_parameterstructypetmember_5_0= ruleParameterStructTypeMember { newCompositeNode(grammarAccess.getParameterStructTypeAccess().getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0()); @@ -7775,7 +8359,7 @@ public final EObject ruleParameterStructType() throws RecognitionException { break; default : - break loop61; + break loop68; } } while (true); @@ -7806,7 +8390,7 @@ public final EObject ruleParameterStructType() throws RecognitionException { // $ANTLR start "entryRuleParameterIntegerType" - // InternalRos.g:3192:1: entryRuleParameterIntegerType returns [EObject current=null] : iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ; + // InternalRos.g:3445:1: entryRuleParameterIntegerType returns [EObject current=null] : iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ; public final EObject entryRuleParameterIntegerType() throws RecognitionException { EObject current = null; @@ -7814,8 +8398,8 @@ public final EObject entryRuleParameterIntegerType() throws RecognitionException try { - // InternalRos.g:3192:61: (iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ) - // InternalRos.g:3193:2: iv_ruleParameterIntegerType= ruleParameterIntegerType EOF + // InternalRos.g:3445:61: (iv_ruleParameterIntegerType= ruleParameterIntegerType EOF ) + // InternalRos.g:3446:2: iv_ruleParameterIntegerType= ruleParameterIntegerType EOF { newCompositeNode(grammarAccess.getParameterIntegerTypeRule()); pushFollow(FOLLOW_1); @@ -7842,7 +8426,7 @@ public final EObject entryRuleParameterIntegerType() throws RecognitionException // $ANTLR start "ruleParameterIntegerType" - // InternalRos.g:3199:1: ruleParameterIntegerType returns [EObject current=null] : ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ; + // InternalRos.g:3452:1: ruleParameterIntegerType returns [EObject current=null] : ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ; public final EObject ruleParameterIntegerType() throws RecognitionException { EObject current = null; @@ -7855,14 +8439,14 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3205:2: ( ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ) - // InternalRos.g:3206:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) + // InternalRos.g:3458:2: ( ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) ) + // InternalRos.g:3459:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) { - // InternalRos.g:3206:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) - // InternalRos.g:3207:3: () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? + // InternalRos.g:3459:2: ( () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? ) + // InternalRos.g:3460:3: () otherlv_1= 'Integer' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? { - // InternalRos.g:3207:3: () - // InternalRos.g:3208:4: + // InternalRos.g:3460:3: () + // InternalRos.g:3461:4: { current = forceCreateModelElement( @@ -7872,34 +8456,34 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { } - otherlv_1=(Token)match(input,75,FOLLOW_52); + otherlv_1=(Token)match(input,76,FOLLOW_52); newLeafNode(otherlv_1, grammarAccess.getParameterIntegerTypeAccess().getIntegerKeyword_1()); - // InternalRos.g:3218:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? - int alt62=2; - int LA62_0 = input.LA(1); + // InternalRos.g:3471:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) )? + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA62_0==76) ) { - int LA62_1 = input.LA(2); + if ( (LA69_0==77) ) { + int LA69_1 = input.LA(2); - if ( (LA62_1==RULE_DECINT) ) { - alt62=1; + if ( (LA69_1==RULE_DECINT) ) { + alt69=1; } } - switch (alt62) { + switch (alt69) { case 1 : - // InternalRos.g:3219:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) + // InternalRos.g:3472:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterInteger ) ) { - otherlv_2=(Token)match(input,76,FOLLOW_53); + otherlv_2=(Token)match(input,77,FOLLOW_53); newLeafNode(otherlv_2, grammarAccess.getParameterIntegerTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3223:4: ( (lv_default_3_0= ruleParameterInteger ) ) - // InternalRos.g:3224:5: (lv_default_3_0= ruleParameterInteger ) + // InternalRos.g:3476:4: ( (lv_default_3_0= ruleParameterInteger ) ) + // InternalRos.g:3477:5: (lv_default_3_0= ruleParameterInteger ) { - // InternalRos.g:3224:5: (lv_default_3_0= ruleParameterInteger ) - // InternalRos.g:3225:6: lv_default_3_0= ruleParameterInteger + // InternalRos.g:3477:5: (lv_default_3_0= ruleParameterInteger ) + // InternalRos.g:3478:6: lv_default_3_0= ruleParameterInteger { newCompositeNode(grammarAccess.getParameterIntegerTypeAccess().getDefaultParameterIntegerParserRuleCall_2_1_0()); @@ -7955,7 +8539,7 @@ public final EObject ruleParameterIntegerType() throws RecognitionException { // $ANTLR start "entryRuleParameterStringType" - // InternalRos.g:3247:1: entryRuleParameterStringType returns [EObject current=null] : iv_ruleParameterStringType= ruleParameterStringType EOF ; + // InternalRos.g:3500:1: entryRuleParameterStringType returns [EObject current=null] : iv_ruleParameterStringType= ruleParameterStringType EOF ; public final EObject entryRuleParameterStringType() throws RecognitionException { EObject current = null; @@ -7963,8 +8547,8 @@ public final EObject entryRuleParameterStringType() throws RecognitionException try { - // InternalRos.g:3247:60: (iv_ruleParameterStringType= ruleParameterStringType EOF ) - // InternalRos.g:3248:2: iv_ruleParameterStringType= ruleParameterStringType EOF + // InternalRos.g:3500:60: (iv_ruleParameterStringType= ruleParameterStringType EOF ) + // InternalRos.g:3501:2: iv_ruleParameterStringType= ruleParameterStringType EOF { newCompositeNode(grammarAccess.getParameterStringTypeRule()); pushFollow(FOLLOW_1); @@ -7991,7 +8575,7 @@ public final EObject entryRuleParameterStringType() throws RecognitionException // $ANTLR start "ruleParameterStringType" - // InternalRos.g:3254:1: ruleParameterStringType returns [EObject current=null] : ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ; + // InternalRos.g:3507:1: ruleParameterStringType returns [EObject current=null] : ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ; public final EObject ruleParameterStringType() throws RecognitionException { EObject current = null; @@ -8004,14 +8588,14 @@ public final EObject ruleParameterStringType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3260:2: ( ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ) - // InternalRos.g:3261:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) + // InternalRos.g:3513:2: ( ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) ) + // InternalRos.g:3514:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) { - // InternalRos.g:3261:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) - // InternalRos.g:3262:3: () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? + // InternalRos.g:3514:2: ( () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? ) + // InternalRos.g:3515:3: () otherlv_1= 'String' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? { - // InternalRos.g:3262:3: () - // InternalRos.g:3263:4: + // InternalRos.g:3515:3: () + // InternalRos.g:3516:4: { current = forceCreateModelElement( @@ -8021,34 +8605,34 @@ public final EObject ruleParameterStringType() throws RecognitionException { } - otherlv_1=(Token)match(input,41,FOLLOW_52); + otherlv_1=(Token)match(input,42,FOLLOW_52); newLeafNode(otherlv_1, grammarAccess.getParameterStringTypeAccess().getStringKeyword_1()); - // InternalRos.g:3273:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? - int alt63=2; - int LA63_0 = input.LA(1); + // InternalRos.g:3526:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) )? + int alt70=2; + int LA70_0 = input.LA(1); - if ( (LA63_0==76) ) { - int LA63_1 = input.LA(2); + if ( (LA70_0==77) ) { + int LA70_1 = input.LA(2); - if ( ((LA63_1>=RULE_STRING && LA63_1<=RULE_ID)) ) { - alt63=1; + if ( ((LA70_1>=RULE_STRING && LA70_1<=RULE_ID)) ) { + alt70=1; } } - switch (alt63) { + switch (alt70) { case 1 : - // InternalRos.g:3274:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) + // InternalRos.g:3527:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterString ) ) { - otherlv_2=(Token)match(input,76,FOLLOW_7); + otherlv_2=(Token)match(input,77,FOLLOW_7); newLeafNode(otherlv_2, grammarAccess.getParameterStringTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3278:4: ( (lv_default_3_0= ruleParameterString ) ) - // InternalRos.g:3279:5: (lv_default_3_0= ruleParameterString ) + // InternalRos.g:3531:4: ( (lv_default_3_0= ruleParameterString ) ) + // InternalRos.g:3532:5: (lv_default_3_0= ruleParameterString ) { - // InternalRos.g:3279:5: (lv_default_3_0= ruleParameterString ) - // InternalRos.g:3280:6: lv_default_3_0= ruleParameterString + // InternalRos.g:3532:5: (lv_default_3_0= ruleParameterString ) + // InternalRos.g:3533:6: lv_default_3_0= ruleParameterString { newCompositeNode(grammarAccess.getParameterStringTypeAccess().getDefaultParameterStringParserRuleCall_2_1_0()); @@ -8104,7 +8688,7 @@ public final EObject ruleParameterStringType() throws RecognitionException { // $ANTLR start "entryRuleParameterDoubleType" - // InternalRos.g:3302:1: entryRuleParameterDoubleType returns [EObject current=null] : iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ; + // InternalRos.g:3555:1: entryRuleParameterDoubleType returns [EObject current=null] : iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ; public final EObject entryRuleParameterDoubleType() throws RecognitionException { EObject current = null; @@ -8112,8 +8696,8 @@ public final EObject entryRuleParameterDoubleType() throws RecognitionException try { - // InternalRos.g:3302:60: (iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ) - // InternalRos.g:3303:2: iv_ruleParameterDoubleType= ruleParameterDoubleType EOF + // InternalRos.g:3555:60: (iv_ruleParameterDoubleType= ruleParameterDoubleType EOF ) + // InternalRos.g:3556:2: iv_ruleParameterDoubleType= ruleParameterDoubleType EOF { newCompositeNode(grammarAccess.getParameterDoubleTypeRule()); pushFollow(FOLLOW_1); @@ -8140,7 +8724,7 @@ public final EObject entryRuleParameterDoubleType() throws RecognitionException // $ANTLR start "ruleParameterDoubleType" - // InternalRos.g:3309:1: ruleParameterDoubleType returns [EObject current=null] : ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ; + // InternalRos.g:3562:1: ruleParameterDoubleType returns [EObject current=null] : ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ; public final EObject ruleParameterDoubleType() throws RecognitionException { EObject current = null; @@ -8153,14 +8737,14 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3315:2: ( ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ) - // InternalRos.g:3316:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) + // InternalRos.g:3568:2: ( ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) ) + // InternalRos.g:3569:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) { - // InternalRos.g:3316:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) - // InternalRos.g:3317:3: () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? + // InternalRos.g:3569:2: ( () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? ) + // InternalRos.g:3570:3: () otherlv_1= 'Double' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? { - // InternalRos.g:3317:3: () - // InternalRos.g:3318:4: + // InternalRos.g:3570:3: () + // InternalRos.g:3571:4: { current = forceCreateModelElement( @@ -8170,34 +8754,34 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { } - otherlv_1=(Token)match(input,77,FOLLOW_52); + otherlv_1=(Token)match(input,78,FOLLOW_52); newLeafNode(otherlv_1, grammarAccess.getParameterDoubleTypeAccess().getDoubleKeyword_1()); - // InternalRos.g:3328:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? - int alt64=2; - int LA64_0 = input.LA(1); + // InternalRos.g:3581:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) )? + int alt71=2; + int LA71_0 = input.LA(1); - if ( (LA64_0==76) ) { - int LA64_1 = input.LA(2); + if ( (LA71_0==77) ) { + int LA71_1 = input.LA(2); - if ( (LA64_1==RULE_DOUBLE) ) { - alt64=1; + if ( (LA71_1==RULE_DOUBLE) ) { + alt71=1; } } - switch (alt64) { + switch (alt71) { case 1 : - // InternalRos.g:3329:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) + // InternalRos.g:3582:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterDouble ) ) { - otherlv_2=(Token)match(input,76,FOLLOW_54); + otherlv_2=(Token)match(input,77,FOLLOW_54); newLeafNode(otherlv_2, grammarAccess.getParameterDoubleTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3333:4: ( (lv_default_3_0= ruleParameterDouble ) ) - // InternalRos.g:3334:5: (lv_default_3_0= ruleParameterDouble ) + // InternalRos.g:3586:4: ( (lv_default_3_0= ruleParameterDouble ) ) + // InternalRos.g:3587:5: (lv_default_3_0= ruleParameterDouble ) { - // InternalRos.g:3334:5: (lv_default_3_0= ruleParameterDouble ) - // InternalRos.g:3335:6: lv_default_3_0= ruleParameterDouble + // InternalRos.g:3587:5: (lv_default_3_0= ruleParameterDouble ) + // InternalRos.g:3588:6: lv_default_3_0= ruleParameterDouble { newCompositeNode(grammarAccess.getParameterDoubleTypeAccess().getDefaultParameterDoubleParserRuleCall_2_1_0()); @@ -8253,7 +8837,7 @@ public final EObject ruleParameterDoubleType() throws RecognitionException { // $ANTLR start "entryRuleParameterBooleanType" - // InternalRos.g:3357:1: entryRuleParameterBooleanType returns [EObject current=null] : iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ; + // InternalRos.g:3610:1: entryRuleParameterBooleanType returns [EObject current=null] : iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ; public final EObject entryRuleParameterBooleanType() throws RecognitionException { EObject current = null; @@ -8261,8 +8845,8 @@ public final EObject entryRuleParameterBooleanType() throws RecognitionException try { - // InternalRos.g:3357:61: (iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ) - // InternalRos.g:3358:2: iv_ruleParameterBooleanType= ruleParameterBooleanType EOF + // InternalRos.g:3610:61: (iv_ruleParameterBooleanType= ruleParameterBooleanType EOF ) + // InternalRos.g:3611:2: iv_ruleParameterBooleanType= ruleParameterBooleanType EOF { newCompositeNode(grammarAccess.getParameterBooleanTypeRule()); pushFollow(FOLLOW_1); @@ -8289,7 +8873,7 @@ public final EObject entryRuleParameterBooleanType() throws RecognitionException // $ANTLR start "ruleParameterBooleanType" - // InternalRos.g:3364:1: ruleParameterBooleanType returns [EObject current=null] : ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ; + // InternalRos.g:3617:1: ruleParameterBooleanType returns [EObject current=null] : ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ; public final EObject ruleParameterBooleanType() throws RecognitionException { EObject current = null; @@ -8302,14 +8886,14 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3370:2: ( ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ) - // InternalRos.g:3371:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) + // InternalRos.g:3623:2: ( ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) ) + // InternalRos.g:3624:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) { - // InternalRos.g:3371:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) - // InternalRos.g:3372:3: () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? + // InternalRos.g:3624:2: ( () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? ) + // InternalRos.g:3625:3: () otherlv_1= 'Boolean' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? { - // InternalRos.g:3372:3: () - // InternalRos.g:3373:4: + // InternalRos.g:3625:3: () + // InternalRos.g:3626:4: { current = forceCreateModelElement( @@ -8319,34 +8903,34 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { } - otherlv_1=(Token)match(input,78,FOLLOW_52); + otherlv_1=(Token)match(input,79,FOLLOW_52); newLeafNode(otherlv_1, grammarAccess.getParameterBooleanTypeAccess().getBooleanKeyword_1()); - // InternalRos.g:3383:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? - int alt65=2; - int LA65_0 = input.LA(1); + // InternalRos.g:3636:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) )? + int alt72=2; + int LA72_0 = input.LA(1); - if ( (LA65_0==76) ) { - int LA65_1 = input.LA(2); + if ( (LA72_0==77) ) { + int LA72_1 = input.LA(2); - if ( (LA65_1==RULE_BOOLEAN) ) { - alt65=1; + if ( (LA72_1==RULE_BOOLEAN) ) { + alt72=1; } } - switch (alt65) { + switch (alt72) { case 1 : - // InternalRos.g:3384:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) + // InternalRos.g:3637:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBoolean ) ) { - otherlv_2=(Token)match(input,76,FOLLOW_55); + otherlv_2=(Token)match(input,77,FOLLOW_55); newLeafNode(otherlv_2, grammarAccess.getParameterBooleanTypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3388:4: ( (lv_default_3_0= ruleParameterBoolean ) ) - // InternalRos.g:3389:5: (lv_default_3_0= ruleParameterBoolean ) + // InternalRos.g:3641:4: ( (lv_default_3_0= ruleParameterBoolean ) ) + // InternalRos.g:3642:5: (lv_default_3_0= ruleParameterBoolean ) { - // InternalRos.g:3389:5: (lv_default_3_0= ruleParameterBoolean ) - // InternalRos.g:3390:6: lv_default_3_0= ruleParameterBoolean + // InternalRos.g:3642:5: (lv_default_3_0= ruleParameterBoolean ) + // InternalRos.g:3643:6: lv_default_3_0= ruleParameterBoolean { newCompositeNode(grammarAccess.getParameterBooleanTypeAccess().getDefaultParameterBooleanParserRuleCall_2_1_0()); @@ -8402,7 +8986,7 @@ public final EObject ruleParameterBooleanType() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64Type" - // InternalRos.g:3412:1: entryRuleParameterBase64Type returns [EObject current=null] : iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ; + // InternalRos.g:3665:1: entryRuleParameterBase64Type returns [EObject current=null] : iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ; public final EObject entryRuleParameterBase64Type() throws RecognitionException { EObject current = null; @@ -8410,8 +8994,8 @@ public final EObject entryRuleParameterBase64Type() throws RecognitionException try { - // InternalRos.g:3412:60: (iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ) - // InternalRos.g:3413:2: iv_ruleParameterBase64Type= ruleParameterBase64Type EOF + // InternalRos.g:3665:60: (iv_ruleParameterBase64Type= ruleParameterBase64Type EOF ) + // InternalRos.g:3666:2: iv_ruleParameterBase64Type= ruleParameterBase64Type EOF { newCompositeNode(grammarAccess.getParameterBase64TypeRule()); pushFollow(FOLLOW_1); @@ -8438,7 +9022,7 @@ public final EObject entryRuleParameterBase64Type() throws RecognitionException // $ANTLR start "ruleParameterBase64Type" - // InternalRos.g:3419:1: ruleParameterBase64Type returns [EObject current=null] : ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ; + // InternalRos.g:3672:1: ruleParameterBase64Type returns [EObject current=null] : ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ; public final EObject ruleParameterBase64Type() throws RecognitionException { EObject current = null; @@ -8451,14 +9035,14 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { enterRule(); try { - // InternalRos.g:3425:2: ( ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ) - // InternalRos.g:3426:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) + // InternalRos.g:3678:2: ( ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) ) + // InternalRos.g:3679:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) { - // InternalRos.g:3426:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) - // InternalRos.g:3427:3: () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? + // InternalRos.g:3679:2: ( () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? ) + // InternalRos.g:3680:3: () otherlv_1= 'Base64' (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? { - // InternalRos.g:3427:3: () - // InternalRos.g:3428:4: + // InternalRos.g:3680:3: () + // InternalRos.g:3681:4: { current = forceCreateModelElement( @@ -8468,34 +9052,34 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { } - otherlv_1=(Token)match(input,79,FOLLOW_52); + otherlv_1=(Token)match(input,80,FOLLOW_52); newLeafNode(otherlv_1, grammarAccess.getParameterBase64TypeAccess().getBase64Keyword_1()); - // InternalRos.g:3438:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? - int alt66=2; - int LA66_0 = input.LA(1); + // InternalRos.g:3691:3: (otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) )? + int alt73=2; + int LA73_0 = input.LA(1); - if ( (LA66_0==76) ) { - int LA66_1 = input.LA(2); + if ( (LA73_0==77) ) { + int LA73_1 = input.LA(2); - if ( (LA66_1==RULE_BINARY) ) { - alt66=1; + if ( (LA73_1==RULE_BINARY) ) { + alt73=1; } } - switch (alt66) { + switch (alt73) { case 1 : - // InternalRos.g:3439:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) + // InternalRos.g:3692:4: otherlv_2= 'default' ( (lv_default_3_0= ruleParameterBase64 ) ) { - otherlv_2=(Token)match(input,76,FOLLOW_56); + otherlv_2=(Token)match(input,77,FOLLOW_56); newLeafNode(otherlv_2, grammarAccess.getParameterBase64TypeAccess().getDefaultKeyword_2_0()); - // InternalRos.g:3443:4: ( (lv_default_3_0= ruleParameterBase64 ) ) - // InternalRos.g:3444:5: (lv_default_3_0= ruleParameterBase64 ) + // InternalRos.g:3696:4: ( (lv_default_3_0= ruleParameterBase64 ) ) + // InternalRos.g:3697:5: (lv_default_3_0= ruleParameterBase64 ) { - // InternalRos.g:3444:5: (lv_default_3_0= ruleParameterBase64 ) - // InternalRos.g:3445:6: lv_default_3_0= ruleParameterBase64 + // InternalRos.g:3697:5: (lv_default_3_0= ruleParameterBase64 ) + // InternalRos.g:3698:6: lv_default_3_0= ruleParameterBase64 { newCompositeNode(grammarAccess.getParameterBase64TypeAccess().getDefaultParameterBase64ParserRuleCall_2_1_0()); @@ -8551,7 +9135,7 @@ public final EObject ruleParameterBase64Type() throws RecognitionException { // $ANTLR start "entryRuleParameterArrayType" - // InternalRos.g:3467:1: entryRuleParameterArrayType returns [EObject current=null] : iv_ruleParameterArrayType= ruleParameterArrayType EOF ; + // InternalRos.g:3720:1: entryRuleParameterArrayType returns [EObject current=null] : iv_ruleParameterArrayType= ruleParameterArrayType EOF ; public final EObject entryRuleParameterArrayType() throws RecognitionException { EObject current = null; @@ -8559,8 +9143,8 @@ public final EObject entryRuleParameterArrayType() throws RecognitionException { try { - // InternalRos.g:3467:59: (iv_ruleParameterArrayType= ruleParameterArrayType EOF ) - // InternalRos.g:3468:2: iv_ruleParameterArrayType= ruleParameterArrayType EOF + // InternalRos.g:3720:59: (iv_ruleParameterArrayType= ruleParameterArrayType EOF ) + // InternalRos.g:3721:2: iv_ruleParameterArrayType= ruleParameterArrayType EOF { newCompositeNode(grammarAccess.getParameterArrayTypeRule()); pushFollow(FOLLOW_1); @@ -8587,7 +9171,7 @@ public final EObject entryRuleParameterArrayType() throws RecognitionException { // $ANTLR start "ruleParameterArrayType" - // InternalRos.g:3474:1: ruleParameterArrayType returns [EObject current=null] : (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ; + // InternalRos.g:3727:1: ruleParameterArrayType returns [EObject current=null] : (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ; public final EObject ruleParameterArrayType() throws RecognitionException { EObject current = null; @@ -8605,13 +9189,13 @@ public final EObject ruleParameterArrayType() throws RecognitionException { enterRule(); try { - // InternalRos.g:3480:2: ( (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ) - // InternalRos.g:3481:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) + // InternalRos.g:3733:2: ( (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) ) + // InternalRos.g:3734:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) { - // InternalRos.g:3481:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) - // InternalRos.g:3482:3: otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' + // InternalRos.g:3734:2: (otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' ) + // InternalRos.g:3735:3: otherlv_0= 'Array' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= ruleParameterType ) ) (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? otherlv_6= '}' { - otherlv_0=(Token)match(input,80,FOLLOW_3); + otherlv_0=(Token)match(input,81,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getParameterArrayTypeAccess().getArrayKeyword_0()); @@ -8619,15 +9203,15 @@ public final EObject ruleParameterArrayType() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterArrayTypeAccess().getLeftCurlyBracketKeyword_1()); - otherlv_2=(Token)match(input,72,FOLLOW_51); + otherlv_2=(Token)match(input,73,FOLLOW_51); newLeafNode(otherlv_2, grammarAccess.getParameterArrayTypeAccess().getTypeKeyword_2()); - // InternalRos.g:3494:3: ( (lv_type_3_0= ruleParameterType ) ) - // InternalRos.g:3495:4: (lv_type_3_0= ruleParameterType ) + // InternalRos.g:3747:3: ( (lv_type_3_0= ruleParameterType ) ) + // InternalRos.g:3748:4: (lv_type_3_0= ruleParameterType ) { - // InternalRos.g:3495:4: (lv_type_3_0= ruleParameterType ) - // InternalRos.g:3496:5: lv_type_3_0= ruleParameterType + // InternalRos.g:3748:4: (lv_type_3_0= ruleParameterType ) + // InternalRos.g:3749:5: lv_type_3_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterArrayTypeAccess().getTypeParameterTypeParserRuleCall_3_0()); @@ -8654,26 +9238,26 @@ public final EObject ruleParameterArrayType() throws RecognitionException { } - // InternalRos.g:3513:3: (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? - int alt67=2; - int LA67_0 = input.LA(1); + // InternalRos.g:3766:3: (otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) )? + int alt74=2; + int LA74_0 = input.LA(1); - if ( (LA67_0==76) ) { - alt67=1; + if ( (LA74_0==77) ) { + alt74=1; } - switch (alt67) { + switch (alt74) { case 1 : - // InternalRos.g:3514:4: otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) + // InternalRos.g:3767:4: otherlv_4= 'default' ( (lv_default_5_0= ruleParameterList ) ) { - otherlv_4=(Token)match(input,76,FOLLOW_3); + otherlv_4=(Token)match(input,77,FOLLOW_3); newLeafNode(otherlv_4, grammarAccess.getParameterArrayTypeAccess().getDefaultKeyword_4_0()); - // InternalRos.g:3518:4: ( (lv_default_5_0= ruleParameterList ) ) - // InternalRos.g:3519:5: (lv_default_5_0= ruleParameterList ) + // InternalRos.g:3771:4: ( (lv_default_5_0= ruleParameterList ) ) + // InternalRos.g:3772:5: (lv_default_5_0= ruleParameterList ) { - // InternalRos.g:3519:5: (lv_default_5_0= ruleParameterList ) - // InternalRos.g:3520:6: lv_default_5_0= ruleParameterList + // InternalRos.g:3772:5: (lv_default_5_0= ruleParameterList ) + // InternalRos.g:3773:6: lv_default_5_0= ruleParameterList { newCompositeNode(grammarAccess.getParameterArrayTypeAccess().getDefaultParameterListParserRuleCall_4_1_0()); @@ -8733,7 +9317,7 @@ public final EObject ruleParameterArrayType() throws RecognitionException { // $ANTLR start "entryRuleParameterList" - // InternalRos.g:3546:1: entryRuleParameterList returns [EObject current=null] : iv_ruleParameterList= ruleParameterList EOF ; + // InternalRos.g:3799:1: entryRuleParameterList returns [EObject current=null] : iv_ruleParameterList= ruleParameterList EOF ; public final EObject entryRuleParameterList() throws RecognitionException { EObject current = null; @@ -8741,8 +9325,8 @@ public final EObject entryRuleParameterList() throws RecognitionException { try { - // InternalRos.g:3546:54: (iv_ruleParameterList= ruleParameterList EOF ) - // InternalRos.g:3547:2: iv_ruleParameterList= ruleParameterList EOF + // InternalRos.g:3799:54: (iv_ruleParameterList= ruleParameterList EOF ) + // InternalRos.g:3800:2: iv_ruleParameterList= ruleParameterList EOF { newCompositeNode(grammarAccess.getParameterListRule()); pushFollow(FOLLOW_1); @@ -8769,7 +9353,7 @@ public final EObject entryRuleParameterList() throws RecognitionException { // $ANTLR start "ruleParameterList" - // InternalRos.g:3553:1: ruleParameterList returns [EObject current=null] : ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ; + // InternalRos.g:3806:1: ruleParameterList returns [EObject current=null] : ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ; public final EObject ruleParameterList() throws RecognitionException { EObject current = null; @@ -8785,14 +9369,14 @@ public final EObject ruleParameterList() throws RecognitionException { enterRule(); try { - // InternalRos.g:3559:2: ( ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ) - // InternalRos.g:3560:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) + // InternalRos.g:3812:2: ( ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) ) + // InternalRos.g:3813:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) { - // InternalRos.g:3560:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) - // InternalRos.g:3561:3: () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' + // InternalRos.g:3813:2: ( () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' ) + // InternalRos.g:3814:3: () otherlv_1= '{' ( (lv_value_2_0= ruleParameterValue ) ) (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* otherlv_5= '}' { - // InternalRos.g:3561:3: () - // InternalRos.g:3562:4: + // InternalRos.g:3814:3: () + // InternalRos.g:3815:4: { current = forceCreateModelElement( @@ -8806,11 +9390,11 @@ public final EObject ruleParameterList() throws RecognitionException { newLeafNode(otherlv_1, grammarAccess.getParameterListAccess().getLeftCurlyBracketKeyword_1()); - // InternalRos.g:3572:3: ( (lv_value_2_0= ruleParameterValue ) ) - // InternalRos.g:3573:4: (lv_value_2_0= ruleParameterValue ) + // InternalRos.g:3825:3: ( (lv_value_2_0= ruleParameterValue ) ) + // InternalRos.g:3826:4: (lv_value_2_0= ruleParameterValue ) { - // InternalRos.g:3573:4: (lv_value_2_0= ruleParameterValue ) - // InternalRos.g:3574:5: lv_value_2_0= ruleParameterValue + // InternalRos.g:3826:4: (lv_value_2_0= ruleParameterValue ) + // InternalRos.g:3827:5: lv_value_2_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_2_0()); @@ -8837,30 +9421,30 @@ public final EObject ruleParameterList() throws RecognitionException { } - // InternalRos.g:3591:3: (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* - loop68: + // InternalRos.g:3844:3: (otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) )* + loop75: do { - int alt68=2; - int LA68_0 = input.LA(1); + int alt75=2; + int LA75_0 = input.LA(1); - if ( (LA68_0==27) ) { - alt68=1; + if ( (LA75_0==27) ) { + alt75=1; } - switch (alt68) { + switch (alt75) { case 1 : - // InternalRos.g:3592:4: otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRos.g:3845:4: otherlv_3= ',' ( (lv_value_4_0= ruleParameterValue ) ) { otherlv_3=(Token)match(input,27,FOLLOW_58); newLeafNode(otherlv_3, grammarAccess.getParameterListAccess().getCommaKeyword_3_0()); - // InternalRos.g:3596:4: ( (lv_value_4_0= ruleParameterValue ) ) - // InternalRos.g:3597:5: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:3849:4: ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRos.g:3850:5: (lv_value_4_0= ruleParameterValue ) { - // InternalRos.g:3597:5: (lv_value_4_0= ruleParameterValue ) - // InternalRos.g:3598:6: lv_value_4_0= ruleParameterValue + // InternalRos.g:3850:5: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:3851:6: lv_value_4_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterListAccess().getValueParameterValueParserRuleCall_3_1_0()); @@ -8892,7 +9476,7 @@ public final EObject ruleParameterList() throws RecognitionException { break; default : - break loop68; + break loop75; } } while (true); @@ -8923,7 +9507,7 @@ public final EObject ruleParameterList() throws RecognitionException { // $ANTLR start "entryRuleParameterAny" - // InternalRos.g:3624:1: entryRuleParameterAny returns [EObject current=null] : iv_ruleParameterAny= ruleParameterAny EOF ; + // InternalRos.g:3877:1: entryRuleParameterAny returns [EObject current=null] : iv_ruleParameterAny= ruleParameterAny EOF ; public final EObject entryRuleParameterAny() throws RecognitionException { EObject current = null; @@ -8931,8 +9515,8 @@ public final EObject entryRuleParameterAny() throws RecognitionException { try { - // InternalRos.g:3624:53: (iv_ruleParameterAny= ruleParameterAny EOF ) - // InternalRos.g:3625:2: iv_ruleParameterAny= ruleParameterAny EOF + // InternalRos.g:3877:53: (iv_ruleParameterAny= ruleParameterAny EOF ) + // InternalRos.g:3878:2: iv_ruleParameterAny= ruleParameterAny EOF { newCompositeNode(grammarAccess.getParameterAnyRule()); pushFollow(FOLLOW_1); @@ -8959,7 +9543,7 @@ public final EObject entryRuleParameterAny() throws RecognitionException { // $ANTLR start "ruleParameterAny" - // InternalRos.g:3631:1: ruleParameterAny returns [EObject current=null] : ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ; + // InternalRos.g:3884:1: ruleParameterAny returns [EObject current=null] : ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ; public final EObject ruleParameterAny() throws RecognitionException { EObject current = null; @@ -8974,14 +9558,14 @@ public final EObject ruleParameterAny() throws RecognitionException { enterRule(); try { - // InternalRos.g:3637:2: ( ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ) - // InternalRos.g:3638:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) + // InternalRos.g:3890:2: ( ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) ) + // InternalRos.g:3891:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) { - // InternalRos.g:3638:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) - // InternalRos.g:3639:3: () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' + // InternalRos.g:3891:2: ( () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' ) + // InternalRos.g:3892:3: () otherlv_1= 'ParameterAny' otherlv_2= '{' (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? otherlv_5= '}' { - // InternalRos.g:3639:3: () - // InternalRos.g:3640:4: + // InternalRos.g:3892:3: () + // InternalRos.g:3893:4: { current = forceCreateModelElement( @@ -8991,7 +9575,7 @@ public final EObject ruleParameterAny() throws RecognitionException { } - otherlv_1=(Token)match(input,81,FOLLOW_3); + otherlv_1=(Token)match(input,82,FOLLOW_3); newLeafNode(otherlv_1, grammarAccess.getParameterAnyAccess().getParameterAnyKeyword_1()); @@ -8999,26 +9583,26 @@ public final EObject ruleParameterAny() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterAnyAccess().getLeftCurlyBracketKeyword_2()); - // InternalRos.g:3654:3: (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? - int alt69=2; - int LA69_0 = input.LA(1); + // InternalRos.g:3907:3: (otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) )? + int alt76=2; + int LA76_0 = input.LA(1); - if ( (LA69_0==82) ) { - alt69=1; + if ( (LA76_0==83) ) { + alt76=1; } - switch (alt69) { + switch (alt76) { case 1 : - // InternalRos.g:3655:4: otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) + // InternalRos.g:3908:4: otherlv_3= 'value' ( (lv_value_4_0= ruleEString ) ) { - otherlv_3=(Token)match(input,82,FOLLOW_7); + otherlv_3=(Token)match(input,83,FOLLOW_7); newLeafNode(otherlv_3, grammarAccess.getParameterAnyAccess().getValueKeyword_3_0()); - // InternalRos.g:3659:4: ( (lv_value_4_0= ruleEString ) ) - // InternalRos.g:3660:5: (lv_value_4_0= ruleEString ) + // InternalRos.g:3912:4: ( (lv_value_4_0= ruleEString ) ) + // InternalRos.g:3913:5: (lv_value_4_0= ruleEString ) { - // InternalRos.g:3660:5: (lv_value_4_0= ruleEString ) - // InternalRos.g:3661:6: lv_value_4_0= ruleEString + // InternalRos.g:3913:5: (lv_value_4_0= ruleEString ) + // InternalRos.g:3914:6: lv_value_4_0= ruleEString { newCompositeNode(grammarAccess.getParameterAnyAccess().getValueEStringParserRuleCall_3_1_0()); @@ -9078,7 +9662,7 @@ public final EObject ruleParameterAny() throws RecognitionException { // $ANTLR start "entryRuleParameterString" - // InternalRos.g:3687:1: entryRuleParameterString returns [EObject current=null] : iv_ruleParameterString= ruleParameterString EOF ; + // InternalRos.g:3940:1: entryRuleParameterString returns [EObject current=null] : iv_ruleParameterString= ruleParameterString EOF ; public final EObject entryRuleParameterString() throws RecognitionException { EObject current = null; @@ -9086,8 +9670,8 @@ public final EObject entryRuleParameterString() throws RecognitionException { try { - // InternalRos.g:3687:56: (iv_ruleParameterString= ruleParameterString EOF ) - // InternalRos.g:3688:2: iv_ruleParameterString= ruleParameterString EOF + // InternalRos.g:3940:56: (iv_ruleParameterString= ruleParameterString EOF ) + // InternalRos.g:3941:2: iv_ruleParameterString= ruleParameterString EOF { newCompositeNode(grammarAccess.getParameterStringRule()); pushFollow(FOLLOW_1); @@ -9114,7 +9698,7 @@ public final EObject entryRuleParameterString() throws RecognitionException { // $ANTLR start "ruleParameterString" - // InternalRos.g:3694:1: ruleParameterString returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ; + // InternalRos.g:3947:1: ruleParameterString returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ; public final EObject ruleParameterString() throws RecognitionException { EObject current = null; @@ -9125,14 +9709,14 @@ public final EObject ruleParameterString() throws RecognitionException { enterRule(); try { - // InternalRos.g:3700:2: ( ( (lv_value_0_0= ruleEString ) ) ) - // InternalRos.g:3701:2: ( (lv_value_0_0= ruleEString ) ) + // InternalRos.g:3953:2: ( ( (lv_value_0_0= ruleEString ) ) ) + // InternalRos.g:3954:2: ( (lv_value_0_0= ruleEString ) ) { - // InternalRos.g:3701:2: ( (lv_value_0_0= ruleEString ) ) - // InternalRos.g:3702:3: (lv_value_0_0= ruleEString ) + // InternalRos.g:3954:2: ( (lv_value_0_0= ruleEString ) ) + // InternalRos.g:3955:3: (lv_value_0_0= ruleEString ) { - // InternalRos.g:3702:3: (lv_value_0_0= ruleEString ) - // InternalRos.g:3703:4: lv_value_0_0= ruleEString + // InternalRos.g:3955:3: (lv_value_0_0= ruleEString ) + // InternalRos.g:3956:4: lv_value_0_0= ruleEString { newCompositeNode(grammarAccess.getParameterStringAccess().getValueEStringParserRuleCall_0()); @@ -9179,7 +9763,7 @@ public final EObject ruleParameterString() throws RecognitionException { // $ANTLR start "entryRuleParameterBase64" - // InternalRos.g:3723:1: entryRuleParameterBase64 returns [EObject current=null] : iv_ruleParameterBase64= ruleParameterBase64 EOF ; + // InternalRos.g:3976:1: entryRuleParameterBase64 returns [EObject current=null] : iv_ruleParameterBase64= ruleParameterBase64 EOF ; public final EObject entryRuleParameterBase64() throws RecognitionException { EObject current = null; @@ -9187,8 +9771,8 @@ public final EObject entryRuleParameterBase64() throws RecognitionException { try { - // InternalRos.g:3723:56: (iv_ruleParameterBase64= ruleParameterBase64 EOF ) - // InternalRos.g:3724:2: iv_ruleParameterBase64= ruleParameterBase64 EOF + // InternalRos.g:3976:56: (iv_ruleParameterBase64= ruleParameterBase64 EOF ) + // InternalRos.g:3977:2: iv_ruleParameterBase64= ruleParameterBase64 EOF { newCompositeNode(grammarAccess.getParameterBase64Rule()); pushFollow(FOLLOW_1); @@ -9215,7 +9799,7 @@ public final EObject entryRuleParameterBase64() throws RecognitionException { // $ANTLR start "ruleParameterBase64" - // InternalRos.g:3730:1: ruleParameterBase64 returns [EObject current=null] : ( (lv_value_0_0= ruleBase64Binary ) ) ; + // InternalRos.g:3983:1: ruleParameterBase64 returns [EObject current=null] : ( (lv_value_0_0= ruleBase64Binary ) ) ; public final EObject ruleParameterBase64() throws RecognitionException { EObject current = null; @@ -9226,14 +9810,14 @@ public final EObject ruleParameterBase64() throws RecognitionException { enterRule(); try { - // InternalRos.g:3736:2: ( ( (lv_value_0_0= ruleBase64Binary ) ) ) - // InternalRos.g:3737:2: ( (lv_value_0_0= ruleBase64Binary ) ) + // InternalRos.g:3989:2: ( ( (lv_value_0_0= ruleBase64Binary ) ) ) + // InternalRos.g:3990:2: ( (lv_value_0_0= ruleBase64Binary ) ) { - // InternalRos.g:3737:2: ( (lv_value_0_0= ruleBase64Binary ) ) - // InternalRos.g:3738:3: (lv_value_0_0= ruleBase64Binary ) + // InternalRos.g:3990:2: ( (lv_value_0_0= ruleBase64Binary ) ) + // InternalRos.g:3991:3: (lv_value_0_0= ruleBase64Binary ) { - // InternalRos.g:3738:3: (lv_value_0_0= ruleBase64Binary ) - // InternalRos.g:3739:4: lv_value_0_0= ruleBase64Binary + // InternalRos.g:3991:3: (lv_value_0_0= ruleBase64Binary ) + // InternalRos.g:3992:4: lv_value_0_0= ruleBase64Binary { newCompositeNode(grammarAccess.getParameterBase64Access().getValueBase64BinaryParserRuleCall_0()); @@ -9280,7 +9864,7 @@ public final EObject ruleParameterBase64() throws RecognitionException { // $ANTLR start "entryRuleParameterInteger" - // InternalRos.g:3759:1: entryRuleParameterInteger returns [EObject current=null] : iv_ruleParameterInteger= ruleParameterInteger EOF ; + // InternalRos.g:4012:1: entryRuleParameterInteger returns [EObject current=null] : iv_ruleParameterInteger= ruleParameterInteger EOF ; public final EObject entryRuleParameterInteger() throws RecognitionException { EObject current = null; @@ -9288,8 +9872,8 @@ public final EObject entryRuleParameterInteger() throws RecognitionException { try { - // InternalRos.g:3759:57: (iv_ruleParameterInteger= ruleParameterInteger EOF ) - // InternalRos.g:3760:2: iv_ruleParameterInteger= ruleParameterInteger EOF + // InternalRos.g:4012:57: (iv_ruleParameterInteger= ruleParameterInteger EOF ) + // InternalRos.g:4013:2: iv_ruleParameterInteger= ruleParameterInteger EOF { newCompositeNode(grammarAccess.getParameterIntegerRule()); pushFollow(FOLLOW_1); @@ -9316,7 +9900,7 @@ public final EObject entryRuleParameterInteger() throws RecognitionException { // $ANTLR start "ruleParameterInteger" - // InternalRos.g:3766:1: ruleParameterInteger returns [EObject current=null] : ( (lv_value_0_0= ruleInteger0 ) ) ; + // InternalRos.g:4019:1: ruleParameterInteger returns [EObject current=null] : ( (lv_value_0_0= ruleInteger0 ) ) ; public final EObject ruleParameterInteger() throws RecognitionException { EObject current = null; @@ -9327,14 +9911,14 @@ public final EObject ruleParameterInteger() throws RecognitionException { enterRule(); try { - // InternalRos.g:3772:2: ( ( (lv_value_0_0= ruleInteger0 ) ) ) - // InternalRos.g:3773:2: ( (lv_value_0_0= ruleInteger0 ) ) + // InternalRos.g:4025:2: ( ( (lv_value_0_0= ruleInteger0 ) ) ) + // InternalRos.g:4026:2: ( (lv_value_0_0= ruleInteger0 ) ) { - // InternalRos.g:3773:2: ( (lv_value_0_0= ruleInteger0 ) ) - // InternalRos.g:3774:3: (lv_value_0_0= ruleInteger0 ) + // InternalRos.g:4026:2: ( (lv_value_0_0= ruleInteger0 ) ) + // InternalRos.g:4027:3: (lv_value_0_0= ruleInteger0 ) { - // InternalRos.g:3774:3: (lv_value_0_0= ruleInteger0 ) - // InternalRos.g:3775:4: lv_value_0_0= ruleInteger0 + // InternalRos.g:4027:3: (lv_value_0_0= ruleInteger0 ) + // InternalRos.g:4028:4: lv_value_0_0= ruleInteger0 { newCompositeNode(grammarAccess.getParameterIntegerAccess().getValueInteger0ParserRuleCall_0()); @@ -9381,7 +9965,7 @@ public final EObject ruleParameterInteger() throws RecognitionException { // $ANTLR start "entryRuleParameterDouble" - // InternalRos.g:3795:1: entryRuleParameterDouble returns [EObject current=null] : iv_ruleParameterDouble= ruleParameterDouble EOF ; + // InternalRos.g:4048:1: entryRuleParameterDouble returns [EObject current=null] : iv_ruleParameterDouble= ruleParameterDouble EOF ; public final EObject entryRuleParameterDouble() throws RecognitionException { EObject current = null; @@ -9389,8 +9973,8 @@ public final EObject entryRuleParameterDouble() throws RecognitionException { try { - // InternalRos.g:3795:56: (iv_ruleParameterDouble= ruleParameterDouble EOF ) - // InternalRos.g:3796:2: iv_ruleParameterDouble= ruleParameterDouble EOF + // InternalRos.g:4048:56: (iv_ruleParameterDouble= ruleParameterDouble EOF ) + // InternalRos.g:4049:2: iv_ruleParameterDouble= ruleParameterDouble EOF { newCompositeNode(grammarAccess.getParameterDoubleRule()); pushFollow(FOLLOW_1); @@ -9417,7 +10001,7 @@ public final EObject entryRuleParameterDouble() throws RecognitionException { // $ANTLR start "ruleParameterDouble" - // InternalRos.g:3802:1: ruleParameterDouble returns [EObject current=null] : ( (lv_value_0_0= ruleDouble0 ) ) ; + // InternalRos.g:4055:1: ruleParameterDouble returns [EObject current=null] : ( (lv_value_0_0= ruleDouble0 ) ) ; public final EObject ruleParameterDouble() throws RecognitionException { EObject current = null; @@ -9428,14 +10012,14 @@ public final EObject ruleParameterDouble() throws RecognitionException { enterRule(); try { - // InternalRos.g:3808:2: ( ( (lv_value_0_0= ruleDouble0 ) ) ) - // InternalRos.g:3809:2: ( (lv_value_0_0= ruleDouble0 ) ) + // InternalRos.g:4061:2: ( ( (lv_value_0_0= ruleDouble0 ) ) ) + // InternalRos.g:4062:2: ( (lv_value_0_0= ruleDouble0 ) ) { - // InternalRos.g:3809:2: ( (lv_value_0_0= ruleDouble0 ) ) - // InternalRos.g:3810:3: (lv_value_0_0= ruleDouble0 ) + // InternalRos.g:4062:2: ( (lv_value_0_0= ruleDouble0 ) ) + // InternalRos.g:4063:3: (lv_value_0_0= ruleDouble0 ) { - // InternalRos.g:3810:3: (lv_value_0_0= ruleDouble0 ) - // InternalRos.g:3811:4: lv_value_0_0= ruleDouble0 + // InternalRos.g:4063:3: (lv_value_0_0= ruleDouble0 ) + // InternalRos.g:4064:4: lv_value_0_0= ruleDouble0 { newCompositeNode(grammarAccess.getParameterDoubleAccess().getValueDouble0ParserRuleCall_0()); @@ -9482,7 +10066,7 @@ public final EObject ruleParameterDouble() throws RecognitionException { // $ANTLR start "entryRuleParameterBoolean" - // InternalRos.g:3831:1: entryRuleParameterBoolean returns [EObject current=null] : iv_ruleParameterBoolean= ruleParameterBoolean EOF ; + // InternalRos.g:4084:1: entryRuleParameterBoolean returns [EObject current=null] : iv_ruleParameterBoolean= ruleParameterBoolean EOF ; public final EObject entryRuleParameterBoolean() throws RecognitionException { EObject current = null; @@ -9490,8 +10074,8 @@ public final EObject entryRuleParameterBoolean() throws RecognitionException { try { - // InternalRos.g:3831:57: (iv_ruleParameterBoolean= ruleParameterBoolean EOF ) - // InternalRos.g:3832:2: iv_ruleParameterBoolean= ruleParameterBoolean EOF + // InternalRos.g:4084:57: (iv_ruleParameterBoolean= ruleParameterBoolean EOF ) + // InternalRos.g:4085:2: iv_ruleParameterBoolean= ruleParameterBoolean EOF { newCompositeNode(grammarAccess.getParameterBooleanRule()); pushFollow(FOLLOW_1); @@ -9518,7 +10102,7 @@ public final EObject entryRuleParameterBoolean() throws RecognitionException { // $ANTLR start "ruleParameterBoolean" - // InternalRos.g:3838:1: ruleParameterBoolean returns [EObject current=null] : ( (lv_value_0_0= ruleboolean0 ) ) ; + // InternalRos.g:4091:1: ruleParameterBoolean returns [EObject current=null] : ( (lv_value_0_0= ruleboolean0 ) ) ; public final EObject ruleParameterBoolean() throws RecognitionException { EObject current = null; @@ -9529,14 +10113,14 @@ public final EObject ruleParameterBoolean() throws RecognitionException { enterRule(); try { - // InternalRos.g:3844:2: ( ( (lv_value_0_0= ruleboolean0 ) ) ) - // InternalRos.g:3845:2: ( (lv_value_0_0= ruleboolean0 ) ) + // InternalRos.g:4097:2: ( ( (lv_value_0_0= ruleboolean0 ) ) ) + // InternalRos.g:4098:2: ( (lv_value_0_0= ruleboolean0 ) ) { - // InternalRos.g:3845:2: ( (lv_value_0_0= ruleboolean0 ) ) - // InternalRos.g:3846:3: (lv_value_0_0= ruleboolean0 ) + // InternalRos.g:4098:2: ( (lv_value_0_0= ruleboolean0 ) ) + // InternalRos.g:4099:3: (lv_value_0_0= ruleboolean0 ) { - // InternalRos.g:3846:3: (lv_value_0_0= ruleboolean0 ) - // InternalRos.g:3847:4: lv_value_0_0= ruleboolean0 + // InternalRos.g:4099:3: (lv_value_0_0= ruleboolean0 ) + // InternalRos.g:4100:4: lv_value_0_0= ruleboolean0 { newCompositeNode(grammarAccess.getParameterBooleanAccess().getValueBoolean0ParserRuleCall_0()); @@ -9583,7 +10167,7 @@ public final EObject ruleParameterBoolean() throws RecognitionException { // $ANTLR start "entryRuleParameterStruct" - // InternalRos.g:3867:1: entryRuleParameterStruct returns [EObject current=null] : iv_ruleParameterStruct= ruleParameterStruct EOF ; + // InternalRos.g:4120:1: entryRuleParameterStruct returns [EObject current=null] : iv_ruleParameterStruct= ruleParameterStruct EOF ; public final EObject entryRuleParameterStruct() throws RecognitionException { EObject current = null; @@ -9591,8 +10175,8 @@ public final EObject entryRuleParameterStruct() throws RecognitionException { try { - // InternalRos.g:3867:56: (iv_ruleParameterStruct= ruleParameterStruct EOF ) - // InternalRos.g:3868:2: iv_ruleParameterStruct= ruleParameterStruct EOF + // InternalRos.g:4120:56: (iv_ruleParameterStruct= ruleParameterStruct EOF ) + // InternalRos.g:4121:2: iv_ruleParameterStruct= ruleParameterStruct EOF { newCompositeNode(grammarAccess.getParameterStructRule()); pushFollow(FOLLOW_1); @@ -9619,7 +10203,7 @@ public final EObject entryRuleParameterStruct() throws RecognitionException { // $ANTLR start "ruleParameterStruct" - // InternalRos.g:3874:1: ruleParameterStruct returns [EObject current=null] : ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ; + // InternalRos.g:4127:1: ruleParameterStruct returns [EObject current=null] : ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ; public final EObject ruleParameterStruct() throws RecognitionException { EObject current = null; @@ -9637,14 +10221,14 @@ public final EObject ruleParameterStruct() throws RecognitionException { enterRule(); try { - // InternalRos.g:3880:2: ( ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ) - // InternalRos.g:3881:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) + // InternalRos.g:4133:2: ( ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) ) + // InternalRos.g:4134:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) { - // InternalRos.g:3881:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) - // InternalRos.g:3882:3: () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? + // InternalRos.g:4134:2: ( () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? ) + // InternalRos.g:4135:3: () (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? { - // InternalRos.g:3882:3: () - // InternalRos.g:3883:4: + // InternalRos.g:4135:3: () + // InternalRos.g:4136:4: { current = forceCreateModelElement( @@ -9654,26 +10238,26 @@ public final EObject ruleParameterStruct() throws RecognitionException { } - // InternalRos.g:3889:3: (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? - int alt71=2; - int LA71_0 = input.LA(1); + // InternalRos.g:4142:3: (otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' )? + int alt78=2; + int LA78_0 = input.LA(1); - if ( (LA71_0==26) ) { - alt71=1; + if ( (LA78_0==26) ) { + alt78=1; } - switch (alt71) { + switch (alt78) { case 1 : - // InternalRos.g:3890:4: otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' + // InternalRos.g:4143:4: otherlv_1= '{' ( (lv_value_2_0= ruleParameterStructMember ) ) (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* otherlv_7= '}' { otherlv_1=(Token)match(input,26,FOLLOW_60); newLeafNode(otherlv_1, grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_0()); - // InternalRos.g:3894:4: ( (lv_value_2_0= ruleParameterStructMember ) ) - // InternalRos.g:3895:5: (lv_value_2_0= ruleParameterStructMember ) + // InternalRos.g:4147:4: ( (lv_value_2_0= ruleParameterStructMember ) ) + // InternalRos.g:4148:5: (lv_value_2_0= ruleParameterStructMember ) { - // InternalRos.g:3895:5: (lv_value_2_0= ruleParameterStructMember ) - // InternalRos.g:3896:6: lv_value_2_0= ruleParameterStructMember + // InternalRos.g:4148:5: (lv_value_2_0= ruleParameterStructMember ) + // InternalRos.g:4149:6: lv_value_2_0= ruleParameterStructMember { newCompositeNode(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_1_0()); @@ -9700,20 +10284,20 @@ public final EObject ruleParameterStruct() throws RecognitionException { } - // InternalRos.g:3913:4: (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* - loop70: + // InternalRos.g:4166:4: (otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' )* + loop77: do { - int alt70=2; - int LA70_0 = input.LA(1); + int alt77=2; + int LA77_0 = input.LA(1); - if ( (LA70_0==27) ) { - alt70=1; + if ( (LA77_0==27) ) { + alt77=1; } - switch (alt70) { + switch (alt77) { case 1 : - // InternalRos.g:3914:5: otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' + // InternalRos.g:4167:5: otherlv_3= ',' otherlv_4= '{' ( (lv_value_5_0= ruleParameterStructMember ) ) otherlv_6= '}' { otherlv_3=(Token)match(input,27,FOLLOW_3); @@ -9723,11 +10307,11 @@ public final EObject ruleParameterStruct() throws RecognitionException { newLeafNode(otherlv_4, grammarAccess.getParameterStructAccess().getLeftCurlyBracketKeyword_1_2_1()); - // InternalRos.g:3922:5: ( (lv_value_5_0= ruleParameterStructMember ) ) - // InternalRos.g:3923:6: (lv_value_5_0= ruleParameterStructMember ) + // InternalRos.g:4175:5: ( (lv_value_5_0= ruleParameterStructMember ) ) + // InternalRos.g:4176:6: (lv_value_5_0= ruleParameterStructMember ) { - // InternalRos.g:3923:6: (lv_value_5_0= ruleParameterStructMember ) - // InternalRos.g:3924:7: lv_value_5_0= ruleParameterStructMember + // InternalRos.g:4176:6: (lv_value_5_0= ruleParameterStructMember ) + // InternalRos.g:4177:7: lv_value_5_0= ruleParameterStructMember { newCompositeNode(grammarAccess.getParameterStructAccess().getValueParameterStructMemberParserRuleCall_1_2_2_0()); @@ -9763,7 +10347,7 @@ public final EObject ruleParameterStruct() throws RecognitionException { break; default : - break loop70; + break loop77; } } while (true); @@ -9800,7 +10384,7 @@ public final EObject ruleParameterStruct() throws RecognitionException { // $ANTLR start "entryRuleParameterDate" - // InternalRos.g:3955:1: entryRuleParameterDate returns [EObject current=null] : iv_ruleParameterDate= ruleParameterDate EOF ; + // InternalRos.g:4208:1: entryRuleParameterDate returns [EObject current=null] : iv_ruleParameterDate= ruleParameterDate EOF ; public final EObject entryRuleParameterDate() throws RecognitionException { EObject current = null; @@ -9808,8 +10392,8 @@ public final EObject entryRuleParameterDate() throws RecognitionException { try { - // InternalRos.g:3955:54: (iv_ruleParameterDate= ruleParameterDate EOF ) - // InternalRos.g:3956:2: iv_ruleParameterDate= ruleParameterDate EOF + // InternalRos.g:4208:54: (iv_ruleParameterDate= ruleParameterDate EOF ) + // InternalRos.g:4209:2: iv_ruleParameterDate= ruleParameterDate EOF { newCompositeNode(grammarAccess.getParameterDateRule()); pushFollow(FOLLOW_1); @@ -9836,7 +10420,7 @@ public final EObject entryRuleParameterDate() throws RecognitionException { // $ANTLR start "ruleParameterDate" - // InternalRos.g:3962:1: ruleParameterDate returns [EObject current=null] : ( (lv_value_0_0= ruleDateTime0 ) ) ; + // InternalRos.g:4215:1: ruleParameterDate returns [EObject current=null] : ( (lv_value_0_0= ruleDateTime0 ) ) ; public final EObject ruleParameterDate() throws RecognitionException { EObject current = null; @@ -9847,14 +10431,14 @@ public final EObject ruleParameterDate() throws RecognitionException { enterRule(); try { - // InternalRos.g:3968:2: ( ( (lv_value_0_0= ruleDateTime0 ) ) ) - // InternalRos.g:3969:2: ( (lv_value_0_0= ruleDateTime0 ) ) + // InternalRos.g:4221:2: ( ( (lv_value_0_0= ruleDateTime0 ) ) ) + // InternalRos.g:4222:2: ( (lv_value_0_0= ruleDateTime0 ) ) { - // InternalRos.g:3969:2: ( (lv_value_0_0= ruleDateTime0 ) ) - // InternalRos.g:3970:3: (lv_value_0_0= ruleDateTime0 ) + // InternalRos.g:4222:2: ( (lv_value_0_0= ruleDateTime0 ) ) + // InternalRos.g:4223:3: (lv_value_0_0= ruleDateTime0 ) { - // InternalRos.g:3970:3: (lv_value_0_0= ruleDateTime0 ) - // InternalRos.g:3971:4: lv_value_0_0= ruleDateTime0 + // InternalRos.g:4223:3: (lv_value_0_0= ruleDateTime0 ) + // InternalRos.g:4224:4: lv_value_0_0= ruleDateTime0 { newCompositeNode(grammarAccess.getParameterDateAccess().getValueDateTime0ParserRuleCall_0()); @@ -9901,7 +10485,7 @@ public final EObject ruleParameterDate() throws RecognitionException { // $ANTLR start "entryRuleParameterStructMember" - // InternalRos.g:3991:1: entryRuleParameterStructMember returns [EObject current=null] : iv_ruleParameterStructMember= ruleParameterStructMember EOF ; + // InternalRos.g:4244:1: entryRuleParameterStructMember returns [EObject current=null] : iv_ruleParameterStructMember= ruleParameterStructMember EOF ; public final EObject entryRuleParameterStructMember() throws RecognitionException { EObject current = null; @@ -9909,8 +10493,8 @@ public final EObject entryRuleParameterStructMember() throws RecognitionExceptio try { - // InternalRos.g:3991:62: (iv_ruleParameterStructMember= ruleParameterStructMember EOF ) - // InternalRos.g:3992:2: iv_ruleParameterStructMember= ruleParameterStructMember EOF + // InternalRos.g:4244:62: (iv_ruleParameterStructMember= ruleParameterStructMember EOF ) + // InternalRos.g:4245:2: iv_ruleParameterStructMember= ruleParameterStructMember EOF { newCompositeNode(grammarAccess.getParameterStructMemberRule()); pushFollow(FOLLOW_1); @@ -9937,7 +10521,7 @@ public final EObject entryRuleParameterStructMember() throws RecognitionExceptio // $ANTLR start "ruleParameterStructMember" - // InternalRos.g:3998:1: ruleParameterStructMember returns [EObject current=null] : (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ; + // InternalRos.g:4251:1: ruleParameterStructMember returns [EObject current=null] : (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ; public final EObject ruleParameterStructMember() throws RecognitionException { EObject current = null; @@ -9954,21 +10538,21 @@ public final EObject ruleParameterStructMember() throws RecognitionException { enterRule(); try { - // InternalRos.g:4004:2: ( (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ) - // InternalRos.g:4005:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) + // InternalRos.g:4257:2: ( (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) ) + // InternalRos.g:4258:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) { - // InternalRos.g:4005:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) - // InternalRos.g:4006:3: otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' + // InternalRos.g:4258:2: (otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' ) + // InternalRos.g:4259:3: otherlv_0= 'ParameterStructMember' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'value' ( (lv_value_4_0= ruleParameterValue ) ) otherlv_5= '}' { - otherlv_0=(Token)match(input,83,FOLLOW_7); + otherlv_0=(Token)match(input,84,FOLLOW_7); newLeafNode(otherlv_0, grammarAccess.getParameterStructMemberAccess().getParameterStructMemberKeyword_0()); - // InternalRos.g:4010:3: ( (lv_name_1_0= ruleEString ) ) - // InternalRos.g:4011:4: (lv_name_1_0= ruleEString ) + // InternalRos.g:4263:3: ( (lv_name_1_0= ruleEString ) ) + // InternalRos.g:4264:4: (lv_name_1_0= ruleEString ) { - // InternalRos.g:4011:4: (lv_name_1_0= ruleEString ) - // InternalRos.g:4012:5: lv_name_1_0= ruleEString + // InternalRos.g:4264:4: (lv_name_1_0= ruleEString ) + // InternalRos.g:4265:5: lv_name_1_0= ruleEString { newCompositeNode(grammarAccess.getParameterStructMemberAccess().getNameEStringParserRuleCall_1_0()); @@ -9999,15 +10583,15 @@ public final EObject ruleParameterStructMember() throws RecognitionException { newLeafNode(otherlv_2, grammarAccess.getParameterStructMemberAccess().getLeftCurlyBracketKeyword_2()); - otherlv_3=(Token)match(input,82,FOLLOW_58); + otherlv_3=(Token)match(input,83,FOLLOW_58); newLeafNode(otherlv_3, grammarAccess.getParameterStructMemberAccess().getValueKeyword_3()); - // InternalRos.g:4037:3: ( (lv_value_4_0= ruleParameterValue ) ) - // InternalRos.g:4038:4: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:4290:3: ( (lv_value_4_0= ruleParameterValue ) ) + // InternalRos.g:4291:4: (lv_value_4_0= ruleParameterValue ) { - // InternalRos.g:4038:4: (lv_value_4_0= ruleParameterValue ) - // InternalRos.g:4039:5: lv_value_4_0= ruleParameterValue + // InternalRos.g:4291:4: (lv_value_4_0= ruleParameterValue ) + // InternalRos.g:4292:5: lv_value_4_0= ruleParameterValue { newCompositeNode(grammarAccess.getParameterStructMemberAccess().getValueParameterValueParserRuleCall_4_0()); @@ -10061,7 +10645,7 @@ public final EObject ruleParameterStructMember() throws RecognitionException { // $ANTLR start "entryRuleParameterStructTypeMember" - // InternalRos.g:4064:1: entryRuleParameterStructTypeMember returns [EObject current=null] : iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ; + // InternalRos.g:4317:1: entryRuleParameterStructTypeMember returns [EObject current=null] : iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ; public final EObject entryRuleParameterStructTypeMember() throws RecognitionException { EObject current = null; @@ -10069,8 +10653,8 @@ public final EObject entryRuleParameterStructTypeMember() throws RecognitionExce try { - // InternalRos.g:4064:66: (iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ) - // InternalRos.g:4065:2: iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF + // InternalRos.g:4317:66: (iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF ) + // InternalRos.g:4318:2: iv_ruleParameterStructTypeMember= ruleParameterStructTypeMember EOF { newCompositeNode(grammarAccess.getParameterStructTypeMemberRule()); pushFollow(FOLLOW_1); @@ -10097,7 +10681,7 @@ public final EObject entryRuleParameterStructTypeMember() throws RecognitionExce // $ANTLR start "ruleParameterStructTypeMember" - // InternalRos.g:4071:1: ruleParameterStructTypeMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ; + // InternalRos.g:4324:1: ruleParameterStructTypeMember returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ; public final EObject ruleParameterStructTypeMember() throws RecognitionException { EObject current = null; @@ -10110,17 +10694,17 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException enterRule(); try { - // InternalRos.g:4077:2: ( ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ) - // InternalRos.g:4078:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) + // InternalRos.g:4330:2: ( ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) ) + // InternalRos.g:4331:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) { - // InternalRos.g:4078:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) - // InternalRos.g:4079:3: ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) + // InternalRos.g:4331:2: ( ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) ) + // InternalRos.g:4332:3: ( (lv_name_0_0= ruleEString ) ) ( (lv_type_1_0= ruleParameterType ) ) { - // InternalRos.g:4079:3: ( (lv_name_0_0= ruleEString ) ) - // InternalRos.g:4080:4: (lv_name_0_0= ruleEString ) + // InternalRos.g:4332:3: ( (lv_name_0_0= ruleEString ) ) + // InternalRos.g:4333:4: (lv_name_0_0= ruleEString ) { - // InternalRos.g:4080:4: (lv_name_0_0= ruleEString ) - // InternalRos.g:4081:5: lv_name_0_0= ruleEString + // InternalRos.g:4333:4: (lv_name_0_0= ruleEString ) + // InternalRos.g:4334:5: lv_name_0_0= ruleEString { newCompositeNode(grammarAccess.getParameterStructTypeMemberAccess().getNameEStringParserRuleCall_0_0()); @@ -10147,11 +10731,11 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException } - // InternalRos.g:4098:3: ( (lv_type_1_0= ruleParameterType ) ) - // InternalRos.g:4099:4: (lv_type_1_0= ruleParameterType ) + // InternalRos.g:4351:3: ( (lv_type_1_0= ruleParameterType ) ) + // InternalRos.g:4352:4: (lv_type_1_0= ruleParameterType ) { - // InternalRos.g:4099:4: (lv_type_1_0= ruleParameterType ) - // InternalRos.g:4100:5: lv_type_1_0= ruleParameterType + // InternalRos.g:4352:4: (lv_type_1_0= ruleParameterType ) + // InternalRos.g:4353:5: lv_type_1_0= ruleParameterType { newCompositeNode(grammarAccess.getParameterStructTypeMemberAccess().getTypeParameterTypeParserRuleCall_1_0()); @@ -10201,7 +10785,7 @@ public final EObject ruleParameterStructTypeMember() throws RecognitionException // $ANTLR start "entryRuleBase64Binary" - // InternalRos.g:4121:1: entryRuleBase64Binary returns [String current=null] : iv_ruleBase64Binary= ruleBase64Binary EOF ; + // InternalRos.g:4374:1: entryRuleBase64Binary returns [String current=null] : iv_ruleBase64Binary= ruleBase64Binary EOF ; public final String entryRuleBase64Binary() throws RecognitionException { String current = null; @@ -10209,8 +10793,8 @@ public final String entryRuleBase64Binary() throws RecognitionException { try { - // InternalRos.g:4121:52: (iv_ruleBase64Binary= ruleBase64Binary EOF ) - // InternalRos.g:4122:2: iv_ruleBase64Binary= ruleBase64Binary EOF + // InternalRos.g:4374:52: (iv_ruleBase64Binary= ruleBase64Binary EOF ) + // InternalRos.g:4375:2: iv_ruleBase64Binary= ruleBase64Binary EOF { newCompositeNode(grammarAccess.getBase64BinaryRule()); pushFollow(FOLLOW_1); @@ -10237,7 +10821,7 @@ public final String entryRuleBase64Binary() throws RecognitionException { // $ANTLR start "ruleBase64Binary" - // InternalRos.g:4128:1: ruleBase64Binary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BINARY_0= RULE_BINARY ; + // InternalRos.g:4381:1: ruleBase64Binary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BINARY_0= RULE_BINARY ; public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10247,8 +10831,8 @@ public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionExcepti enterRule(); try { - // InternalRos.g:4134:2: (this_BINARY_0= RULE_BINARY ) - // InternalRos.g:4135:2: this_BINARY_0= RULE_BINARY + // InternalRos.g:4387:2: (this_BINARY_0= RULE_BINARY ) + // InternalRos.g:4388:2: this_BINARY_0= RULE_BINARY { this_BINARY_0=(Token)match(input,RULE_BINARY,FOLLOW_2); @@ -10277,7 +10861,7 @@ public final AntlrDatatypeRuleToken ruleBase64Binary() throws RecognitionExcepti // $ANTLR start "entryRuleboolean0" - // InternalRos.g:4145:1: entryRuleboolean0 returns [String current=null] : iv_ruleboolean0= ruleboolean0 EOF ; + // InternalRos.g:4398:1: entryRuleboolean0 returns [String current=null] : iv_ruleboolean0= ruleboolean0 EOF ; public final String entryRuleboolean0() throws RecognitionException { String current = null; @@ -10285,8 +10869,8 @@ public final String entryRuleboolean0() throws RecognitionException { try { - // InternalRos.g:4145:48: (iv_ruleboolean0= ruleboolean0 EOF ) - // InternalRos.g:4146:2: iv_ruleboolean0= ruleboolean0 EOF + // InternalRos.g:4398:48: (iv_ruleboolean0= ruleboolean0 EOF ) + // InternalRos.g:4399:2: iv_ruleboolean0= ruleboolean0 EOF { newCompositeNode(grammarAccess.getBoolean0Rule()); pushFollow(FOLLOW_1); @@ -10313,7 +10897,7 @@ public final String entryRuleboolean0() throws RecognitionException { // $ANTLR start "ruleboolean0" - // InternalRos.g:4152:1: ruleboolean0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BOOLEAN_0= RULE_BOOLEAN ; + // InternalRos.g:4405:1: ruleboolean0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_BOOLEAN_0= RULE_BOOLEAN ; public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10323,8 +10907,8 @@ public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4158:2: (this_BOOLEAN_0= RULE_BOOLEAN ) - // InternalRos.g:4159:2: this_BOOLEAN_0= RULE_BOOLEAN + // InternalRos.g:4411:2: (this_BOOLEAN_0= RULE_BOOLEAN ) + // InternalRos.g:4412:2: this_BOOLEAN_0= RULE_BOOLEAN { this_BOOLEAN_0=(Token)match(input,RULE_BOOLEAN,FOLLOW_2); @@ -10353,7 +10937,7 @@ public final AntlrDatatypeRuleToken ruleboolean0() throws RecognitionException { // $ANTLR start "entryRuleDouble0" - // InternalRos.g:4169:1: entryRuleDouble0 returns [String current=null] : iv_ruleDouble0= ruleDouble0 EOF ; + // InternalRos.g:4422:1: entryRuleDouble0 returns [String current=null] : iv_ruleDouble0= ruleDouble0 EOF ; public final String entryRuleDouble0() throws RecognitionException { String current = null; @@ -10361,8 +10945,8 @@ public final String entryRuleDouble0() throws RecognitionException { try { - // InternalRos.g:4169:47: (iv_ruleDouble0= ruleDouble0 EOF ) - // InternalRos.g:4170:2: iv_ruleDouble0= ruleDouble0 EOF + // InternalRos.g:4422:47: (iv_ruleDouble0= ruleDouble0 EOF ) + // InternalRos.g:4423:2: iv_ruleDouble0= ruleDouble0 EOF { newCompositeNode(grammarAccess.getDouble0Rule()); pushFollow(FOLLOW_1); @@ -10389,7 +10973,7 @@ public final String entryRuleDouble0() throws RecognitionException { // $ANTLR start "ruleDouble0" - // InternalRos.g:4176:1: ruleDouble0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DOUBLE_0= RULE_DOUBLE ; + // InternalRos.g:4429:1: ruleDouble0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DOUBLE_0= RULE_DOUBLE ; public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10399,8 +10983,8 @@ public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4182:2: (this_DOUBLE_0= RULE_DOUBLE ) - // InternalRos.g:4183:2: this_DOUBLE_0= RULE_DOUBLE + // InternalRos.g:4435:2: (this_DOUBLE_0= RULE_DOUBLE ) + // InternalRos.g:4436:2: this_DOUBLE_0= RULE_DOUBLE { this_DOUBLE_0=(Token)match(input,RULE_DOUBLE,FOLLOW_2); @@ -10429,7 +11013,7 @@ public final AntlrDatatypeRuleToken ruleDouble0() throws RecognitionException { // $ANTLR start "entryRuleInteger0" - // InternalRos.g:4193:1: entryRuleInteger0 returns [String current=null] : iv_ruleInteger0= ruleInteger0 EOF ; + // InternalRos.g:4446:1: entryRuleInteger0 returns [String current=null] : iv_ruleInteger0= ruleInteger0 EOF ; public final String entryRuleInteger0() throws RecognitionException { String current = null; @@ -10437,8 +11021,8 @@ public final String entryRuleInteger0() throws RecognitionException { try { - // InternalRos.g:4193:48: (iv_ruleInteger0= ruleInteger0 EOF ) - // InternalRos.g:4194:2: iv_ruleInteger0= ruleInteger0 EOF + // InternalRos.g:4446:48: (iv_ruleInteger0= ruleInteger0 EOF ) + // InternalRos.g:4447:2: iv_ruleInteger0= ruleInteger0 EOF { newCompositeNode(grammarAccess.getInteger0Rule()); pushFollow(FOLLOW_1); @@ -10465,7 +11049,7 @@ public final String entryRuleInteger0() throws RecognitionException { // $ANTLR start "ruleInteger0" - // InternalRos.g:4200:1: ruleInteger0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DECINT_0= RULE_DECINT ; + // InternalRos.g:4453:1: ruleInteger0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DECINT_0= RULE_DECINT ; public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10475,8 +11059,8 @@ public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4206:2: (this_DECINT_0= RULE_DECINT ) - // InternalRos.g:4207:2: this_DECINT_0= RULE_DECINT + // InternalRos.g:4459:2: (this_DECINT_0= RULE_DECINT ) + // InternalRos.g:4460:2: this_DECINT_0= RULE_DECINT { this_DECINT_0=(Token)match(input,RULE_DECINT,FOLLOW_2); @@ -10505,7 +11089,7 @@ public final AntlrDatatypeRuleToken ruleInteger0() throws RecognitionException { // $ANTLR start "entryRuleDateTime0" - // InternalRos.g:4217:1: entryRuleDateTime0 returns [String current=null] : iv_ruleDateTime0= ruleDateTime0 EOF ; + // InternalRos.g:4470:1: entryRuleDateTime0 returns [String current=null] : iv_ruleDateTime0= ruleDateTime0 EOF ; public final String entryRuleDateTime0() throws RecognitionException { String current = null; @@ -10513,8 +11097,8 @@ public final String entryRuleDateTime0() throws RecognitionException { try { - // InternalRos.g:4217:49: (iv_ruleDateTime0= ruleDateTime0 EOF ) - // InternalRos.g:4218:2: iv_ruleDateTime0= ruleDateTime0 EOF + // InternalRos.g:4470:49: (iv_ruleDateTime0= ruleDateTime0 EOF ) + // InternalRos.g:4471:2: iv_ruleDateTime0= ruleDateTime0 EOF { newCompositeNode(grammarAccess.getDateTime0Rule()); pushFollow(FOLLOW_1); @@ -10541,7 +11125,7 @@ public final String entryRuleDateTime0() throws RecognitionException { // $ANTLR start "ruleDateTime0" - // InternalRos.g:4224:1: ruleDateTime0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DATE_TIME_0= RULE_DATE_TIME ; + // InternalRos.g:4477:1: ruleDateTime0 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_DATE_TIME_0= RULE_DATE_TIME ; public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10551,8 +11135,8 @@ public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException enterRule(); try { - // InternalRos.g:4230:2: (this_DATE_TIME_0= RULE_DATE_TIME ) - // InternalRos.g:4231:2: this_DATE_TIME_0= RULE_DATE_TIME + // InternalRos.g:4483:2: (this_DATE_TIME_0= RULE_DATE_TIME ) + // InternalRos.g:4484:2: this_DATE_TIME_0= RULE_DATE_TIME { this_DATE_TIME_0=(Token)match(input,RULE_DATE_TIME,FOLLOW_2); @@ -10581,7 +11165,7 @@ public final AntlrDatatypeRuleToken ruleDateTime0() throws RecognitionException // $ANTLR start "entryRuleMessagePart" - // InternalRos.g:4241:1: entryRuleMessagePart returns [EObject current=null] : iv_ruleMessagePart= ruleMessagePart EOF ; + // InternalRos.g:4494:1: entryRuleMessagePart returns [EObject current=null] : iv_ruleMessagePart= ruleMessagePart EOF ; public final EObject entryRuleMessagePart() throws RecognitionException { EObject current = null; @@ -10589,8 +11173,8 @@ public final EObject entryRuleMessagePart() throws RecognitionException { try { - // InternalRos.g:4241:52: (iv_ruleMessagePart= ruleMessagePart EOF ) - // InternalRos.g:4242:2: iv_ruleMessagePart= ruleMessagePart EOF + // InternalRos.g:4494:52: (iv_ruleMessagePart= ruleMessagePart EOF ) + // InternalRos.g:4495:2: iv_ruleMessagePart= ruleMessagePart EOF { newCompositeNode(grammarAccess.getMessagePartRule()); pushFollow(FOLLOW_1); @@ -10617,7 +11201,7 @@ public final EObject entryRuleMessagePart() throws RecognitionException { // $ANTLR start "ruleMessagePart" - // InternalRos.g:4248:1: ruleMessagePart returns [EObject current=null] : ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ; + // InternalRos.g:4501:1: ruleMessagePart returns [EObject current=null] : ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ; public final EObject ruleMessagePart() throws RecognitionException { EObject current = null; @@ -10633,17 +11217,17 @@ public final EObject ruleMessagePart() throws RecognitionException { enterRule(); try { - // InternalRos.g:4254:2: ( ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ) - // InternalRos.g:4255:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) + // InternalRos.g:4507:2: ( ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) ) + // InternalRos.g:4508:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) { - // InternalRos.g:4255:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) - // InternalRos.g:4256:3: ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) + // InternalRos.g:4508:2: ( ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) ) + // InternalRos.g:4509:3: ( (lv_Type_0_0= ruleAbstractType ) ) ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) { - // InternalRos.g:4256:3: ( (lv_Type_0_0= ruleAbstractType ) ) - // InternalRos.g:4257:4: (lv_Type_0_0= ruleAbstractType ) + // InternalRos.g:4509:3: ( (lv_Type_0_0= ruleAbstractType ) ) + // InternalRos.g:4510:4: (lv_Type_0_0= ruleAbstractType ) { - // InternalRos.g:4257:4: (lv_Type_0_0= ruleAbstractType ) - // InternalRos.g:4258:5: lv_Type_0_0= ruleAbstractType + // InternalRos.g:4510:4: (lv_Type_0_0= ruleAbstractType ) + // InternalRos.g:4511:5: lv_Type_0_0= ruleAbstractType { newCompositeNode(grammarAccess.getMessagePartAccess().getTypeAbstractTypeParserRuleCall_0_0()); @@ -10670,51 +11254,51 @@ public final EObject ruleMessagePart() throws RecognitionException { } - // InternalRos.g:4275:3: ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) - // InternalRos.g:4276:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) + // InternalRos.g:4528:3: ( ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) ) + // InternalRos.g:4529:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) { - // InternalRos.g:4276:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) - // InternalRos.g:4277:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) + // InternalRos.g:4529:4: ( (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) ) + // InternalRos.g:4530:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) { - // InternalRos.g:4277:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) - int alt72=3; + // InternalRos.g:4530:5: (lv_Data_1_1= ruleKEYWORD | lv_Data_1_2= RULE_MESSAGE_ASIGMENT | lv_Data_1_3= ruleEString ) + int alt79=3; switch ( input.LA(1) ) { - case 42: - case 44: + case 43: case 45: case 46: - case 48: - case 57: - case 63: - case 72: - case 82: - case 97: + case 47: + case 49: + case 58: + case 64: + case 73: + case 83: case 98: + case 99: { - alt72=1; + alt79=1; } break; case RULE_MESSAGE_ASIGMENT: { - alt72=2; + alt79=2; } break; case RULE_STRING: case RULE_ID: { - alt72=3; + alt79=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 72, 0, input); + new NoViableAltException("", 79, 0, input); throw nvae; } - switch (alt72) { + switch (alt79) { case 1 : - // InternalRos.g:4278:6: lv_Data_1_1= ruleKEYWORD + // InternalRos.g:4531:6: lv_Data_1_1= ruleKEYWORD { newCompositeNode(grammarAccess.getMessagePartAccess().getDataKEYWORDParserRuleCall_1_0_0()); @@ -10739,7 +11323,7 @@ public final EObject ruleMessagePart() throws RecognitionException { } break; case 2 : - // InternalRos.g:4294:6: lv_Data_1_2= RULE_MESSAGE_ASIGMENT + // InternalRos.g:4547:6: lv_Data_1_2= RULE_MESSAGE_ASIGMENT { lv_Data_1_2=(Token)match(input,RULE_MESSAGE_ASIGMENT,FOLLOW_2); @@ -10759,7 +11343,7 @@ public final EObject ruleMessagePart() throws RecognitionException { } break; case 3 : - // InternalRos.g:4309:6: lv_Data_1_3= ruleEString + // InternalRos.g:4562:6: lv_Data_1_3= ruleEString { newCompositeNode(grammarAccess.getMessagePartAccess().getDataEStringParserRuleCall_1_0_2()); @@ -10815,7 +11399,7 @@ public final EObject ruleMessagePart() throws RecognitionException { // $ANTLR start "entryRuleAbstractType" - // InternalRos.g:4331:1: entryRuleAbstractType returns [EObject current=null] : iv_ruleAbstractType= ruleAbstractType EOF ; + // InternalRos.g:4584:1: entryRuleAbstractType returns [EObject current=null] : iv_ruleAbstractType= ruleAbstractType EOF ; public final EObject entryRuleAbstractType() throws RecognitionException { EObject current = null; @@ -10823,8 +11407,8 @@ public final EObject entryRuleAbstractType() throws RecognitionException { try { - // InternalRos.g:4331:53: (iv_ruleAbstractType= ruleAbstractType EOF ) - // InternalRos.g:4332:2: iv_ruleAbstractType= ruleAbstractType EOF + // InternalRos.g:4584:53: (iv_ruleAbstractType= ruleAbstractType EOF ) + // InternalRos.g:4585:2: iv_ruleAbstractType= ruleAbstractType EOF { newCompositeNode(grammarAccess.getAbstractTypeRule()); pushFollow(FOLLOW_1); @@ -10851,7 +11435,7 @@ public final EObject entryRuleAbstractType() throws RecognitionException { // $ANTLR start "ruleAbstractType" - // InternalRos.g:4338:1: ruleAbstractType returns [EObject current=null] : (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ; + // InternalRos.g:4591:1: ruleAbstractType returns [EObject current=null] : (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ; public final EObject ruleAbstractType() throws RecognitionException { EObject current = null; @@ -10922,15 +11506,15 @@ public final EObject ruleAbstractType() throws RecognitionException { enterRule(); try { - // InternalRos.g:4344:2: ( (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ) - // InternalRos.g:4345:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) + // InternalRos.g:4597:2: ( (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) ) + // InternalRos.g:4598:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) { - // InternalRos.g:4345:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) - int alt73=31; - alt73 = dfa73.predict(input); - switch (alt73) { + // InternalRos.g:4598:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef ) + int alt80=31; + alt80 = dfa80.predict(input); + switch (alt80) { case 1 : - // InternalRos.g:4346:3: this_bool_0= rulebool + // InternalRos.g:4599:3: this_bool_0= rulebool { newCompositeNode(grammarAccess.getAbstractTypeAccess().getBoolParserRuleCall_0()); @@ -10948,7 +11532,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 2 : - // InternalRos.g:4355:3: this_int8_1= ruleint8 + // InternalRos.g:4608:3: this_int8_1= ruleint8 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt8ParserRuleCall_1()); @@ -10966,7 +11550,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 3 : - // InternalRos.g:4364:3: this_uint8_2= ruleuint8 + // InternalRos.g:4617:3: this_uint8_2= ruleuint8 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint8ParserRuleCall_2()); @@ -10984,7 +11568,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 4 : - // InternalRos.g:4373:3: this_int16_3= ruleint16 + // InternalRos.g:4626:3: this_int16_3= ruleint16 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt16ParserRuleCall_3()); @@ -11002,7 +11586,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 5 : - // InternalRos.g:4382:3: this_uint16_4= ruleuint16 + // InternalRos.g:4635:3: this_uint16_4= ruleuint16 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint16ParserRuleCall_4()); @@ -11020,7 +11604,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 6 : - // InternalRos.g:4391:3: this_int32_5= ruleint32 + // InternalRos.g:4644:3: this_int32_5= ruleint32 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt32ParserRuleCall_5()); @@ -11038,7 +11622,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 7 : - // InternalRos.g:4400:3: this_uint32_6= ruleuint32 + // InternalRos.g:4653:3: this_uint32_6= ruleuint32 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint32ParserRuleCall_6()); @@ -11056,7 +11640,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 8 : - // InternalRos.g:4409:3: this_int64_7= ruleint64 + // InternalRos.g:4662:3: this_int64_7= ruleint64 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt64ParserRuleCall_7()); @@ -11074,7 +11658,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 9 : - // InternalRos.g:4418:3: this_uint64_8= ruleuint64 + // InternalRos.g:4671:3: this_uint64_8= ruleuint64 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint64ParserRuleCall_8()); @@ -11092,7 +11676,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 10 : - // InternalRos.g:4427:3: this_float32_9= rulefloat32 + // InternalRos.g:4680:3: this_float32_9= rulefloat32 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat32ParserRuleCall_9()); @@ -11110,7 +11694,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 11 : - // InternalRos.g:4436:3: this_float64_10= rulefloat64 + // InternalRos.g:4689:3: this_float64_10= rulefloat64 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat64ParserRuleCall_10()); @@ -11128,7 +11712,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 12 : - // InternalRos.g:4445:3: this_string0_11= rulestring0 + // InternalRos.g:4698:3: this_string0_11= rulestring0 { newCompositeNode(grammarAccess.getAbstractTypeAccess().getString0ParserRuleCall_11()); @@ -11146,7 +11730,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 13 : - // InternalRos.g:4454:3: this_byte_12= rulebyte + // InternalRos.g:4707:3: this_byte_12= rulebyte { newCompositeNode(grammarAccess.getAbstractTypeAccess().getByteParserRuleCall_12()); @@ -11164,7 +11748,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 14 : - // InternalRos.g:4463:3: this_time_13= ruletime + // InternalRos.g:4716:3: this_time_13= ruletime { newCompositeNode(grammarAccess.getAbstractTypeAccess().getTimeParserRuleCall_13()); @@ -11182,7 +11766,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 15 : - // InternalRos.g:4472:3: this_duration_14= ruleduration + // InternalRos.g:4725:3: this_duration_14= ruleduration { newCompositeNode(grammarAccess.getAbstractTypeAccess().getDurationParserRuleCall_14()); @@ -11200,7 +11784,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 16 : - // InternalRos.g:4481:3: this_Header_15= ruleHeader + // InternalRos.g:4734:3: this_Header_15= ruleHeader { newCompositeNode(grammarAccess.getAbstractTypeAccess().getHeaderParserRuleCall_15()); @@ -11218,7 +11802,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 17 : - // InternalRos.g:4490:3: this_boolArray_16= ruleboolArray + // InternalRos.g:4743:3: this_boolArray_16= ruleboolArray { newCompositeNode(grammarAccess.getAbstractTypeAccess().getBoolArrayParserRuleCall_16()); @@ -11236,7 +11820,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 18 : - // InternalRos.g:4499:3: this_int8Array_17= ruleint8Array + // InternalRos.g:4752:3: this_int8Array_17= ruleint8Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt8ArrayParserRuleCall_17()); @@ -11254,7 +11838,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 19 : - // InternalRos.g:4508:3: this_uint8Array_18= ruleuint8Array + // InternalRos.g:4761:3: this_uint8Array_18= ruleuint8Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint8ArrayParserRuleCall_18()); @@ -11272,7 +11856,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 20 : - // InternalRos.g:4517:3: this_int16Array_19= ruleint16Array + // InternalRos.g:4770:3: this_int16Array_19= ruleint16Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt16ArrayParserRuleCall_19()); @@ -11290,7 +11874,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 21 : - // InternalRos.g:4526:3: this_uint16Array_20= ruleuint16Array + // InternalRos.g:4779:3: this_uint16Array_20= ruleuint16Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint16ArrayParserRuleCall_20()); @@ -11308,7 +11892,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 22 : - // InternalRos.g:4535:3: this_int32Array_21= ruleint32Array + // InternalRos.g:4788:3: this_int32Array_21= ruleint32Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt32ArrayParserRuleCall_21()); @@ -11326,7 +11910,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 23 : - // InternalRos.g:4544:3: this_uint32Array_22= ruleuint32Array + // InternalRos.g:4797:3: this_uint32Array_22= ruleuint32Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint32ArrayParserRuleCall_22()); @@ -11344,7 +11928,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 24 : - // InternalRos.g:4553:3: this_int64Array_23= ruleint64Array + // InternalRos.g:4806:3: this_int64Array_23= ruleint64Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getInt64ArrayParserRuleCall_23()); @@ -11362,7 +11946,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 25 : - // InternalRos.g:4562:3: this_uint64Array_24= ruleuint64Array + // InternalRos.g:4815:3: this_uint64Array_24= ruleuint64Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getUint64ArrayParserRuleCall_24()); @@ -11380,7 +11964,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 26 : - // InternalRos.g:4571:3: this_float32Array_25= rulefloat32Array + // InternalRos.g:4824:3: this_float32Array_25= rulefloat32Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat32ArrayParserRuleCall_25()); @@ -11398,7 +11982,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 27 : - // InternalRos.g:4580:3: this_float64Array_26= rulefloat64Array + // InternalRos.g:4833:3: this_float64Array_26= rulefloat64Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getFloat64ArrayParserRuleCall_26()); @@ -11416,7 +12000,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 28 : - // InternalRos.g:4589:3: this_string0Array_27= rulestring0Array + // InternalRos.g:4842:3: this_string0Array_27= rulestring0Array { newCompositeNode(grammarAccess.getAbstractTypeAccess().getString0ArrayParserRuleCall_27()); @@ -11434,7 +12018,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 29 : - // InternalRos.g:4598:3: this_byteArray_28= rulebyteArray + // InternalRos.g:4851:3: this_byteArray_28= rulebyteArray { newCompositeNode(grammarAccess.getAbstractTypeAccess().getByteArrayParserRuleCall_28()); @@ -11452,7 +12036,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 30 : - // InternalRos.g:4607:3: this_TopicSpecRef_29= ruleTopicSpecRef + // InternalRos.g:4860:3: this_TopicSpecRef_29= ruleTopicSpecRef { newCompositeNode(grammarAccess.getAbstractTypeAccess().getTopicSpecRefParserRuleCall_29()); @@ -11470,7 +12054,7 @@ public final EObject ruleAbstractType() throws RecognitionException { } break; case 31 : - // InternalRos.g:4616:3: this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef + // InternalRos.g:4869:3: this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef { newCompositeNode(grammarAccess.getAbstractTypeAccess().getArrayTopicSpecRefParserRuleCall_30()); @@ -11510,7 +12094,7 @@ public final EObject ruleAbstractType() throws RecognitionException { // $ANTLR start "entryRulebool" - // InternalRos.g:4628:1: entryRulebool returns [EObject current=null] : iv_rulebool= rulebool EOF ; + // InternalRos.g:4881:1: entryRulebool returns [EObject current=null] : iv_rulebool= rulebool EOF ; public final EObject entryRulebool() throws RecognitionException { EObject current = null; @@ -11518,8 +12102,8 @@ public final EObject entryRulebool() throws RecognitionException { try { - // InternalRos.g:4628:45: (iv_rulebool= rulebool EOF ) - // InternalRos.g:4629:2: iv_rulebool= rulebool EOF + // InternalRos.g:4881:45: (iv_rulebool= rulebool EOF ) + // InternalRos.g:4882:2: iv_rulebool= rulebool EOF { newCompositeNode(grammarAccess.getBoolRule()); pushFollow(FOLLOW_1); @@ -11546,7 +12130,7 @@ public final EObject entryRulebool() throws RecognitionException { // $ANTLR start "rulebool" - // InternalRos.g:4635:1: rulebool returns [EObject current=null] : ( () otherlv_1= 'bool' ) ; + // InternalRos.g:4888:1: rulebool returns [EObject current=null] : ( () otherlv_1= 'bool' ) ; public final EObject rulebool() throws RecognitionException { EObject current = null; @@ -11556,14 +12140,14 @@ public final EObject rulebool() throws RecognitionException { enterRule(); try { - // InternalRos.g:4641:2: ( ( () otherlv_1= 'bool' ) ) - // InternalRos.g:4642:2: ( () otherlv_1= 'bool' ) + // InternalRos.g:4894:2: ( ( () otherlv_1= 'bool' ) ) + // InternalRos.g:4895:2: ( () otherlv_1= 'bool' ) { - // InternalRos.g:4642:2: ( () otherlv_1= 'bool' ) - // InternalRos.g:4643:3: () otherlv_1= 'bool' + // InternalRos.g:4895:2: ( () otherlv_1= 'bool' ) + // InternalRos.g:4896:3: () otherlv_1= 'bool' { - // InternalRos.g:4643:3: () - // InternalRos.g:4644:4: + // InternalRos.g:4896:3: () + // InternalRos.g:4897:4: { current = forceCreateModelElement( @@ -11573,7 +12157,7 @@ public final EObject rulebool() throws RecognitionException { } - otherlv_1=(Token)match(input,84,FOLLOW_2); + otherlv_1=(Token)match(input,85,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getBoolAccess().getBoolKeyword_1()); @@ -11600,7 +12184,7 @@ public final EObject rulebool() throws RecognitionException { // $ANTLR start "entryRuleint8" - // InternalRos.g:4658:1: entryRuleint8 returns [EObject current=null] : iv_ruleint8= ruleint8 EOF ; + // InternalRos.g:4911:1: entryRuleint8 returns [EObject current=null] : iv_ruleint8= ruleint8 EOF ; public final EObject entryRuleint8() throws RecognitionException { EObject current = null; @@ -11608,8 +12192,8 @@ public final EObject entryRuleint8() throws RecognitionException { try { - // InternalRos.g:4658:45: (iv_ruleint8= ruleint8 EOF ) - // InternalRos.g:4659:2: iv_ruleint8= ruleint8 EOF + // InternalRos.g:4911:45: (iv_ruleint8= ruleint8 EOF ) + // InternalRos.g:4912:2: iv_ruleint8= ruleint8 EOF { newCompositeNode(grammarAccess.getInt8Rule()); pushFollow(FOLLOW_1); @@ -11636,7 +12220,7 @@ public final EObject entryRuleint8() throws RecognitionException { // $ANTLR start "ruleint8" - // InternalRos.g:4665:1: ruleint8 returns [EObject current=null] : ( () otherlv_1= 'int8' ) ; + // InternalRos.g:4918:1: ruleint8 returns [EObject current=null] : ( () otherlv_1= 'int8' ) ; public final EObject ruleint8() throws RecognitionException { EObject current = null; @@ -11646,14 +12230,14 @@ public final EObject ruleint8() throws RecognitionException { enterRule(); try { - // InternalRos.g:4671:2: ( ( () otherlv_1= 'int8' ) ) - // InternalRos.g:4672:2: ( () otherlv_1= 'int8' ) + // InternalRos.g:4924:2: ( ( () otherlv_1= 'int8' ) ) + // InternalRos.g:4925:2: ( () otherlv_1= 'int8' ) { - // InternalRos.g:4672:2: ( () otherlv_1= 'int8' ) - // InternalRos.g:4673:3: () otherlv_1= 'int8' + // InternalRos.g:4925:2: ( () otherlv_1= 'int8' ) + // InternalRos.g:4926:3: () otherlv_1= 'int8' { - // InternalRos.g:4673:3: () - // InternalRos.g:4674:4: + // InternalRos.g:4926:3: () + // InternalRos.g:4927:4: { current = forceCreateModelElement( @@ -11663,7 +12247,7 @@ public final EObject ruleint8() throws RecognitionException { } - otherlv_1=(Token)match(input,85,FOLLOW_2); + otherlv_1=(Token)match(input,86,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt8Access().getInt8Keyword_1()); @@ -11690,7 +12274,7 @@ public final EObject ruleint8() throws RecognitionException { // $ANTLR start "entryRuleuint8" - // InternalRos.g:4688:1: entryRuleuint8 returns [EObject current=null] : iv_ruleuint8= ruleuint8 EOF ; + // InternalRos.g:4941:1: entryRuleuint8 returns [EObject current=null] : iv_ruleuint8= ruleuint8 EOF ; public final EObject entryRuleuint8() throws RecognitionException { EObject current = null; @@ -11698,8 +12282,8 @@ public final EObject entryRuleuint8() throws RecognitionException { try { - // InternalRos.g:4688:46: (iv_ruleuint8= ruleuint8 EOF ) - // InternalRos.g:4689:2: iv_ruleuint8= ruleuint8 EOF + // InternalRos.g:4941:46: (iv_ruleuint8= ruleuint8 EOF ) + // InternalRos.g:4942:2: iv_ruleuint8= ruleuint8 EOF { newCompositeNode(grammarAccess.getUint8Rule()); pushFollow(FOLLOW_1); @@ -11726,7 +12310,7 @@ public final EObject entryRuleuint8() throws RecognitionException { // $ANTLR start "ruleuint8" - // InternalRos.g:4695:1: ruleuint8 returns [EObject current=null] : ( () otherlv_1= 'uint8' ) ; + // InternalRos.g:4948:1: ruleuint8 returns [EObject current=null] : ( () otherlv_1= 'uint8' ) ; public final EObject ruleuint8() throws RecognitionException { EObject current = null; @@ -11736,14 +12320,14 @@ public final EObject ruleuint8() throws RecognitionException { enterRule(); try { - // InternalRos.g:4701:2: ( ( () otherlv_1= 'uint8' ) ) - // InternalRos.g:4702:2: ( () otherlv_1= 'uint8' ) + // InternalRos.g:4954:2: ( ( () otherlv_1= 'uint8' ) ) + // InternalRos.g:4955:2: ( () otherlv_1= 'uint8' ) { - // InternalRos.g:4702:2: ( () otherlv_1= 'uint8' ) - // InternalRos.g:4703:3: () otherlv_1= 'uint8' + // InternalRos.g:4955:2: ( () otherlv_1= 'uint8' ) + // InternalRos.g:4956:3: () otherlv_1= 'uint8' { - // InternalRos.g:4703:3: () - // InternalRos.g:4704:4: + // InternalRos.g:4956:3: () + // InternalRos.g:4957:4: { current = forceCreateModelElement( @@ -11753,7 +12337,7 @@ public final EObject ruleuint8() throws RecognitionException { } - otherlv_1=(Token)match(input,86,FOLLOW_2); + otherlv_1=(Token)match(input,87,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint8Access().getUint8Keyword_1()); @@ -11780,7 +12364,7 @@ public final EObject ruleuint8() throws RecognitionException { // $ANTLR start "entryRuleint16" - // InternalRos.g:4718:1: entryRuleint16 returns [EObject current=null] : iv_ruleint16= ruleint16 EOF ; + // InternalRos.g:4971:1: entryRuleint16 returns [EObject current=null] : iv_ruleint16= ruleint16 EOF ; public final EObject entryRuleint16() throws RecognitionException { EObject current = null; @@ -11788,8 +12372,8 @@ public final EObject entryRuleint16() throws RecognitionException { try { - // InternalRos.g:4718:46: (iv_ruleint16= ruleint16 EOF ) - // InternalRos.g:4719:2: iv_ruleint16= ruleint16 EOF + // InternalRos.g:4971:46: (iv_ruleint16= ruleint16 EOF ) + // InternalRos.g:4972:2: iv_ruleint16= ruleint16 EOF { newCompositeNode(grammarAccess.getInt16Rule()); pushFollow(FOLLOW_1); @@ -11816,7 +12400,7 @@ public final EObject entryRuleint16() throws RecognitionException { // $ANTLR start "ruleint16" - // InternalRos.g:4725:1: ruleint16 returns [EObject current=null] : ( () otherlv_1= 'int16' ) ; + // InternalRos.g:4978:1: ruleint16 returns [EObject current=null] : ( () otherlv_1= 'int16' ) ; public final EObject ruleint16() throws RecognitionException { EObject current = null; @@ -11826,14 +12410,14 @@ public final EObject ruleint16() throws RecognitionException { enterRule(); try { - // InternalRos.g:4731:2: ( ( () otherlv_1= 'int16' ) ) - // InternalRos.g:4732:2: ( () otherlv_1= 'int16' ) + // InternalRos.g:4984:2: ( ( () otherlv_1= 'int16' ) ) + // InternalRos.g:4985:2: ( () otherlv_1= 'int16' ) { - // InternalRos.g:4732:2: ( () otherlv_1= 'int16' ) - // InternalRos.g:4733:3: () otherlv_1= 'int16' + // InternalRos.g:4985:2: ( () otherlv_1= 'int16' ) + // InternalRos.g:4986:3: () otherlv_1= 'int16' { - // InternalRos.g:4733:3: () - // InternalRos.g:4734:4: + // InternalRos.g:4986:3: () + // InternalRos.g:4987:4: { current = forceCreateModelElement( @@ -11843,7 +12427,7 @@ public final EObject ruleint16() throws RecognitionException { } - otherlv_1=(Token)match(input,87,FOLLOW_2); + otherlv_1=(Token)match(input,88,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt16Access().getInt16Keyword_1()); @@ -11870,7 +12454,7 @@ public final EObject ruleint16() throws RecognitionException { // $ANTLR start "entryRuleuint16" - // InternalRos.g:4748:1: entryRuleuint16 returns [EObject current=null] : iv_ruleuint16= ruleuint16 EOF ; + // InternalRos.g:5001:1: entryRuleuint16 returns [EObject current=null] : iv_ruleuint16= ruleuint16 EOF ; public final EObject entryRuleuint16() throws RecognitionException { EObject current = null; @@ -11878,8 +12462,8 @@ public final EObject entryRuleuint16() throws RecognitionException { try { - // InternalRos.g:4748:47: (iv_ruleuint16= ruleuint16 EOF ) - // InternalRos.g:4749:2: iv_ruleuint16= ruleuint16 EOF + // InternalRos.g:5001:47: (iv_ruleuint16= ruleuint16 EOF ) + // InternalRos.g:5002:2: iv_ruleuint16= ruleuint16 EOF { newCompositeNode(grammarAccess.getUint16Rule()); pushFollow(FOLLOW_1); @@ -11906,7 +12490,7 @@ public final EObject entryRuleuint16() throws RecognitionException { // $ANTLR start "ruleuint16" - // InternalRos.g:4755:1: ruleuint16 returns [EObject current=null] : ( () otherlv_1= 'uint16' ) ; + // InternalRos.g:5008:1: ruleuint16 returns [EObject current=null] : ( () otherlv_1= 'uint16' ) ; public final EObject ruleuint16() throws RecognitionException { EObject current = null; @@ -11916,14 +12500,14 @@ public final EObject ruleuint16() throws RecognitionException { enterRule(); try { - // InternalRos.g:4761:2: ( ( () otherlv_1= 'uint16' ) ) - // InternalRos.g:4762:2: ( () otherlv_1= 'uint16' ) + // InternalRos.g:5014:2: ( ( () otherlv_1= 'uint16' ) ) + // InternalRos.g:5015:2: ( () otherlv_1= 'uint16' ) { - // InternalRos.g:4762:2: ( () otherlv_1= 'uint16' ) - // InternalRos.g:4763:3: () otherlv_1= 'uint16' + // InternalRos.g:5015:2: ( () otherlv_1= 'uint16' ) + // InternalRos.g:5016:3: () otherlv_1= 'uint16' { - // InternalRos.g:4763:3: () - // InternalRos.g:4764:4: + // InternalRos.g:5016:3: () + // InternalRos.g:5017:4: { current = forceCreateModelElement( @@ -11933,7 +12517,7 @@ public final EObject ruleuint16() throws RecognitionException { } - otherlv_1=(Token)match(input,88,FOLLOW_2); + otherlv_1=(Token)match(input,89,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint16Access().getUint16Keyword_1()); @@ -11960,7 +12544,7 @@ public final EObject ruleuint16() throws RecognitionException { // $ANTLR start "entryRuleint32" - // InternalRos.g:4778:1: entryRuleint32 returns [EObject current=null] : iv_ruleint32= ruleint32 EOF ; + // InternalRos.g:5031:1: entryRuleint32 returns [EObject current=null] : iv_ruleint32= ruleint32 EOF ; public final EObject entryRuleint32() throws RecognitionException { EObject current = null; @@ -11968,8 +12552,8 @@ public final EObject entryRuleint32() throws RecognitionException { try { - // InternalRos.g:4778:46: (iv_ruleint32= ruleint32 EOF ) - // InternalRos.g:4779:2: iv_ruleint32= ruleint32 EOF + // InternalRos.g:5031:46: (iv_ruleint32= ruleint32 EOF ) + // InternalRos.g:5032:2: iv_ruleint32= ruleint32 EOF { newCompositeNode(grammarAccess.getInt32Rule()); pushFollow(FOLLOW_1); @@ -11996,7 +12580,7 @@ public final EObject entryRuleint32() throws RecognitionException { // $ANTLR start "ruleint32" - // InternalRos.g:4785:1: ruleint32 returns [EObject current=null] : ( () otherlv_1= 'int32' ) ; + // InternalRos.g:5038:1: ruleint32 returns [EObject current=null] : ( () otherlv_1= 'int32' ) ; public final EObject ruleint32() throws RecognitionException { EObject current = null; @@ -12006,14 +12590,14 @@ public final EObject ruleint32() throws RecognitionException { enterRule(); try { - // InternalRos.g:4791:2: ( ( () otherlv_1= 'int32' ) ) - // InternalRos.g:4792:2: ( () otherlv_1= 'int32' ) + // InternalRos.g:5044:2: ( ( () otherlv_1= 'int32' ) ) + // InternalRos.g:5045:2: ( () otherlv_1= 'int32' ) { - // InternalRos.g:4792:2: ( () otherlv_1= 'int32' ) - // InternalRos.g:4793:3: () otherlv_1= 'int32' + // InternalRos.g:5045:2: ( () otherlv_1= 'int32' ) + // InternalRos.g:5046:3: () otherlv_1= 'int32' { - // InternalRos.g:4793:3: () - // InternalRos.g:4794:4: + // InternalRos.g:5046:3: () + // InternalRos.g:5047:4: { current = forceCreateModelElement( @@ -12023,7 +12607,7 @@ public final EObject ruleint32() throws RecognitionException { } - otherlv_1=(Token)match(input,89,FOLLOW_2); + otherlv_1=(Token)match(input,90,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt32Access().getInt32Keyword_1()); @@ -12050,7 +12634,7 @@ public final EObject ruleint32() throws RecognitionException { // $ANTLR start "entryRuleuint32" - // InternalRos.g:4808:1: entryRuleuint32 returns [EObject current=null] : iv_ruleuint32= ruleuint32 EOF ; + // InternalRos.g:5061:1: entryRuleuint32 returns [EObject current=null] : iv_ruleuint32= ruleuint32 EOF ; public final EObject entryRuleuint32() throws RecognitionException { EObject current = null; @@ -12058,8 +12642,8 @@ public final EObject entryRuleuint32() throws RecognitionException { try { - // InternalRos.g:4808:47: (iv_ruleuint32= ruleuint32 EOF ) - // InternalRos.g:4809:2: iv_ruleuint32= ruleuint32 EOF + // InternalRos.g:5061:47: (iv_ruleuint32= ruleuint32 EOF ) + // InternalRos.g:5062:2: iv_ruleuint32= ruleuint32 EOF { newCompositeNode(grammarAccess.getUint32Rule()); pushFollow(FOLLOW_1); @@ -12086,7 +12670,7 @@ public final EObject entryRuleuint32() throws RecognitionException { // $ANTLR start "ruleuint32" - // InternalRos.g:4815:1: ruleuint32 returns [EObject current=null] : ( () otherlv_1= 'uint32' ) ; + // InternalRos.g:5068:1: ruleuint32 returns [EObject current=null] : ( () otherlv_1= 'uint32' ) ; public final EObject ruleuint32() throws RecognitionException { EObject current = null; @@ -12096,14 +12680,14 @@ public final EObject ruleuint32() throws RecognitionException { enterRule(); try { - // InternalRos.g:4821:2: ( ( () otherlv_1= 'uint32' ) ) - // InternalRos.g:4822:2: ( () otherlv_1= 'uint32' ) + // InternalRos.g:5074:2: ( ( () otherlv_1= 'uint32' ) ) + // InternalRos.g:5075:2: ( () otherlv_1= 'uint32' ) { - // InternalRos.g:4822:2: ( () otherlv_1= 'uint32' ) - // InternalRos.g:4823:3: () otherlv_1= 'uint32' + // InternalRos.g:5075:2: ( () otherlv_1= 'uint32' ) + // InternalRos.g:5076:3: () otherlv_1= 'uint32' { - // InternalRos.g:4823:3: () - // InternalRos.g:4824:4: + // InternalRos.g:5076:3: () + // InternalRos.g:5077:4: { current = forceCreateModelElement( @@ -12113,7 +12697,7 @@ public final EObject ruleuint32() throws RecognitionException { } - otherlv_1=(Token)match(input,90,FOLLOW_2); + otherlv_1=(Token)match(input,91,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint32Access().getUint32Keyword_1()); @@ -12140,7 +12724,7 @@ public final EObject ruleuint32() throws RecognitionException { // $ANTLR start "entryRuleint64" - // InternalRos.g:4838:1: entryRuleint64 returns [EObject current=null] : iv_ruleint64= ruleint64 EOF ; + // InternalRos.g:5091:1: entryRuleint64 returns [EObject current=null] : iv_ruleint64= ruleint64 EOF ; public final EObject entryRuleint64() throws RecognitionException { EObject current = null; @@ -12148,8 +12732,8 @@ public final EObject entryRuleint64() throws RecognitionException { try { - // InternalRos.g:4838:46: (iv_ruleint64= ruleint64 EOF ) - // InternalRos.g:4839:2: iv_ruleint64= ruleint64 EOF + // InternalRos.g:5091:46: (iv_ruleint64= ruleint64 EOF ) + // InternalRos.g:5092:2: iv_ruleint64= ruleint64 EOF { newCompositeNode(grammarAccess.getInt64Rule()); pushFollow(FOLLOW_1); @@ -12176,7 +12760,7 @@ public final EObject entryRuleint64() throws RecognitionException { // $ANTLR start "ruleint64" - // InternalRos.g:4845:1: ruleint64 returns [EObject current=null] : ( () otherlv_1= 'int64' ) ; + // InternalRos.g:5098:1: ruleint64 returns [EObject current=null] : ( () otherlv_1= 'int64' ) ; public final EObject ruleint64() throws RecognitionException { EObject current = null; @@ -12186,14 +12770,14 @@ public final EObject ruleint64() throws RecognitionException { enterRule(); try { - // InternalRos.g:4851:2: ( ( () otherlv_1= 'int64' ) ) - // InternalRos.g:4852:2: ( () otherlv_1= 'int64' ) + // InternalRos.g:5104:2: ( ( () otherlv_1= 'int64' ) ) + // InternalRos.g:5105:2: ( () otherlv_1= 'int64' ) { - // InternalRos.g:4852:2: ( () otherlv_1= 'int64' ) - // InternalRos.g:4853:3: () otherlv_1= 'int64' + // InternalRos.g:5105:2: ( () otherlv_1= 'int64' ) + // InternalRos.g:5106:3: () otherlv_1= 'int64' { - // InternalRos.g:4853:3: () - // InternalRos.g:4854:4: + // InternalRos.g:5106:3: () + // InternalRos.g:5107:4: { current = forceCreateModelElement( @@ -12203,7 +12787,7 @@ public final EObject ruleint64() throws RecognitionException { } - otherlv_1=(Token)match(input,91,FOLLOW_2); + otherlv_1=(Token)match(input,92,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt64Access().getInt64Keyword_1()); @@ -12230,7 +12814,7 @@ public final EObject ruleint64() throws RecognitionException { // $ANTLR start "entryRuleuint64" - // InternalRos.g:4868:1: entryRuleuint64 returns [EObject current=null] : iv_ruleuint64= ruleuint64 EOF ; + // InternalRos.g:5121:1: entryRuleuint64 returns [EObject current=null] : iv_ruleuint64= ruleuint64 EOF ; public final EObject entryRuleuint64() throws RecognitionException { EObject current = null; @@ -12238,8 +12822,8 @@ public final EObject entryRuleuint64() throws RecognitionException { try { - // InternalRos.g:4868:47: (iv_ruleuint64= ruleuint64 EOF ) - // InternalRos.g:4869:2: iv_ruleuint64= ruleuint64 EOF + // InternalRos.g:5121:47: (iv_ruleuint64= ruleuint64 EOF ) + // InternalRos.g:5122:2: iv_ruleuint64= ruleuint64 EOF { newCompositeNode(grammarAccess.getUint64Rule()); pushFollow(FOLLOW_1); @@ -12266,7 +12850,7 @@ public final EObject entryRuleuint64() throws RecognitionException { // $ANTLR start "ruleuint64" - // InternalRos.g:4875:1: ruleuint64 returns [EObject current=null] : ( () otherlv_1= 'uint64' ) ; + // InternalRos.g:5128:1: ruleuint64 returns [EObject current=null] : ( () otherlv_1= 'uint64' ) ; public final EObject ruleuint64() throws RecognitionException { EObject current = null; @@ -12276,14 +12860,14 @@ public final EObject ruleuint64() throws RecognitionException { enterRule(); try { - // InternalRos.g:4881:2: ( ( () otherlv_1= 'uint64' ) ) - // InternalRos.g:4882:2: ( () otherlv_1= 'uint64' ) + // InternalRos.g:5134:2: ( ( () otherlv_1= 'uint64' ) ) + // InternalRos.g:5135:2: ( () otherlv_1= 'uint64' ) { - // InternalRos.g:4882:2: ( () otherlv_1= 'uint64' ) - // InternalRos.g:4883:3: () otherlv_1= 'uint64' + // InternalRos.g:5135:2: ( () otherlv_1= 'uint64' ) + // InternalRos.g:5136:3: () otherlv_1= 'uint64' { - // InternalRos.g:4883:3: () - // InternalRos.g:4884:4: + // InternalRos.g:5136:3: () + // InternalRos.g:5137:4: { current = forceCreateModelElement( @@ -12293,7 +12877,7 @@ public final EObject ruleuint64() throws RecognitionException { } - otherlv_1=(Token)match(input,92,FOLLOW_2); + otherlv_1=(Token)match(input,93,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint64Access().getUint64Keyword_1()); @@ -12320,7 +12904,7 @@ public final EObject ruleuint64() throws RecognitionException { // $ANTLR start "entryRulefloat32" - // InternalRos.g:4898:1: entryRulefloat32 returns [EObject current=null] : iv_rulefloat32= rulefloat32 EOF ; + // InternalRos.g:5151:1: entryRulefloat32 returns [EObject current=null] : iv_rulefloat32= rulefloat32 EOF ; public final EObject entryRulefloat32() throws RecognitionException { EObject current = null; @@ -12328,8 +12912,8 @@ public final EObject entryRulefloat32() throws RecognitionException { try { - // InternalRos.g:4898:48: (iv_rulefloat32= rulefloat32 EOF ) - // InternalRos.g:4899:2: iv_rulefloat32= rulefloat32 EOF + // InternalRos.g:5151:48: (iv_rulefloat32= rulefloat32 EOF ) + // InternalRos.g:5152:2: iv_rulefloat32= rulefloat32 EOF { newCompositeNode(grammarAccess.getFloat32Rule()); pushFollow(FOLLOW_1); @@ -12356,7 +12940,7 @@ public final EObject entryRulefloat32() throws RecognitionException { // $ANTLR start "rulefloat32" - // InternalRos.g:4905:1: rulefloat32 returns [EObject current=null] : ( () otherlv_1= 'float32' ) ; + // InternalRos.g:5158:1: rulefloat32 returns [EObject current=null] : ( () otherlv_1= 'float32' ) ; public final EObject rulefloat32() throws RecognitionException { EObject current = null; @@ -12366,14 +12950,14 @@ public final EObject rulefloat32() throws RecognitionException { enterRule(); try { - // InternalRos.g:4911:2: ( ( () otherlv_1= 'float32' ) ) - // InternalRos.g:4912:2: ( () otherlv_1= 'float32' ) + // InternalRos.g:5164:2: ( ( () otherlv_1= 'float32' ) ) + // InternalRos.g:5165:2: ( () otherlv_1= 'float32' ) { - // InternalRos.g:4912:2: ( () otherlv_1= 'float32' ) - // InternalRos.g:4913:3: () otherlv_1= 'float32' + // InternalRos.g:5165:2: ( () otherlv_1= 'float32' ) + // InternalRos.g:5166:3: () otherlv_1= 'float32' { - // InternalRos.g:4913:3: () - // InternalRos.g:4914:4: + // InternalRos.g:5166:3: () + // InternalRos.g:5167:4: { current = forceCreateModelElement( @@ -12383,7 +12967,7 @@ public final EObject rulefloat32() throws RecognitionException { } - otherlv_1=(Token)match(input,93,FOLLOW_2); + otherlv_1=(Token)match(input,94,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getFloat32Access().getFloat32Keyword_1()); @@ -12410,7 +12994,7 @@ public final EObject rulefloat32() throws RecognitionException { // $ANTLR start "entryRulefloat64" - // InternalRos.g:4928:1: entryRulefloat64 returns [EObject current=null] : iv_rulefloat64= rulefloat64 EOF ; + // InternalRos.g:5181:1: entryRulefloat64 returns [EObject current=null] : iv_rulefloat64= rulefloat64 EOF ; public final EObject entryRulefloat64() throws RecognitionException { EObject current = null; @@ -12418,8 +13002,8 @@ public final EObject entryRulefloat64() throws RecognitionException { try { - // InternalRos.g:4928:48: (iv_rulefloat64= rulefloat64 EOF ) - // InternalRos.g:4929:2: iv_rulefloat64= rulefloat64 EOF + // InternalRos.g:5181:48: (iv_rulefloat64= rulefloat64 EOF ) + // InternalRos.g:5182:2: iv_rulefloat64= rulefloat64 EOF { newCompositeNode(grammarAccess.getFloat64Rule()); pushFollow(FOLLOW_1); @@ -12446,7 +13030,7 @@ public final EObject entryRulefloat64() throws RecognitionException { // $ANTLR start "rulefloat64" - // InternalRos.g:4935:1: rulefloat64 returns [EObject current=null] : ( () otherlv_1= 'float64' ) ; + // InternalRos.g:5188:1: rulefloat64 returns [EObject current=null] : ( () otherlv_1= 'float64' ) ; public final EObject rulefloat64() throws RecognitionException { EObject current = null; @@ -12456,14 +13040,14 @@ public final EObject rulefloat64() throws RecognitionException { enterRule(); try { - // InternalRos.g:4941:2: ( ( () otherlv_1= 'float64' ) ) - // InternalRos.g:4942:2: ( () otherlv_1= 'float64' ) + // InternalRos.g:5194:2: ( ( () otherlv_1= 'float64' ) ) + // InternalRos.g:5195:2: ( () otherlv_1= 'float64' ) { - // InternalRos.g:4942:2: ( () otherlv_1= 'float64' ) - // InternalRos.g:4943:3: () otherlv_1= 'float64' + // InternalRos.g:5195:2: ( () otherlv_1= 'float64' ) + // InternalRos.g:5196:3: () otherlv_1= 'float64' { - // InternalRos.g:4943:3: () - // InternalRos.g:4944:4: + // InternalRos.g:5196:3: () + // InternalRos.g:5197:4: { current = forceCreateModelElement( @@ -12473,7 +13057,7 @@ public final EObject rulefloat64() throws RecognitionException { } - otherlv_1=(Token)match(input,94,FOLLOW_2); + otherlv_1=(Token)match(input,95,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getFloat64Access().getFloat64Keyword_1()); @@ -12500,7 +13084,7 @@ public final EObject rulefloat64() throws RecognitionException { // $ANTLR start "entryRulestring0" - // InternalRos.g:4958:1: entryRulestring0 returns [EObject current=null] : iv_rulestring0= rulestring0 EOF ; + // InternalRos.g:5211:1: entryRulestring0 returns [EObject current=null] : iv_rulestring0= rulestring0 EOF ; public final EObject entryRulestring0() throws RecognitionException { EObject current = null; @@ -12508,8 +13092,8 @@ public final EObject entryRulestring0() throws RecognitionException { try { - // InternalRos.g:4958:48: (iv_rulestring0= rulestring0 EOF ) - // InternalRos.g:4959:2: iv_rulestring0= rulestring0 EOF + // InternalRos.g:5211:48: (iv_rulestring0= rulestring0 EOF ) + // InternalRos.g:5212:2: iv_rulestring0= rulestring0 EOF { newCompositeNode(grammarAccess.getString0Rule()); pushFollow(FOLLOW_1); @@ -12536,7 +13120,7 @@ public final EObject entryRulestring0() throws RecognitionException { // $ANTLR start "rulestring0" - // InternalRos.g:4965:1: rulestring0 returns [EObject current=null] : ( () otherlv_1= 'string' ) ; + // InternalRos.g:5218:1: rulestring0 returns [EObject current=null] : ( () otherlv_1= 'string' ) ; public final EObject rulestring0() throws RecognitionException { EObject current = null; @@ -12546,14 +13130,14 @@ public final EObject rulestring0() throws RecognitionException { enterRule(); try { - // InternalRos.g:4971:2: ( ( () otherlv_1= 'string' ) ) - // InternalRos.g:4972:2: ( () otherlv_1= 'string' ) + // InternalRos.g:5224:2: ( ( () otherlv_1= 'string' ) ) + // InternalRos.g:5225:2: ( () otherlv_1= 'string' ) { - // InternalRos.g:4972:2: ( () otherlv_1= 'string' ) - // InternalRos.g:4973:3: () otherlv_1= 'string' + // InternalRos.g:5225:2: ( () otherlv_1= 'string' ) + // InternalRos.g:5226:3: () otherlv_1= 'string' { - // InternalRos.g:4973:3: () - // InternalRos.g:4974:4: + // InternalRos.g:5226:3: () + // InternalRos.g:5227:4: { current = forceCreateModelElement( @@ -12563,7 +13147,7 @@ public final EObject rulestring0() throws RecognitionException { } - otherlv_1=(Token)match(input,95,FOLLOW_2); + otherlv_1=(Token)match(input,96,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getString0Access().getStringKeyword_1()); @@ -12590,7 +13174,7 @@ public final EObject rulestring0() throws RecognitionException { // $ANTLR start "entryRulebyte" - // InternalRos.g:4988:1: entryRulebyte returns [EObject current=null] : iv_rulebyte= rulebyte EOF ; + // InternalRos.g:5241:1: entryRulebyte returns [EObject current=null] : iv_rulebyte= rulebyte EOF ; public final EObject entryRulebyte() throws RecognitionException { EObject current = null; @@ -12598,8 +13182,8 @@ public final EObject entryRulebyte() throws RecognitionException { try { - // InternalRos.g:4988:45: (iv_rulebyte= rulebyte EOF ) - // InternalRos.g:4989:2: iv_rulebyte= rulebyte EOF + // InternalRos.g:5241:45: (iv_rulebyte= rulebyte EOF ) + // InternalRos.g:5242:2: iv_rulebyte= rulebyte EOF { newCompositeNode(grammarAccess.getByteRule()); pushFollow(FOLLOW_1); @@ -12626,7 +13210,7 @@ public final EObject entryRulebyte() throws RecognitionException { // $ANTLR start "rulebyte" - // InternalRos.g:4995:1: rulebyte returns [EObject current=null] : ( () otherlv_1= 'byte' ) ; + // InternalRos.g:5248:1: rulebyte returns [EObject current=null] : ( () otherlv_1= 'byte' ) ; public final EObject rulebyte() throws RecognitionException { EObject current = null; @@ -12636,14 +13220,14 @@ public final EObject rulebyte() throws RecognitionException { enterRule(); try { - // InternalRos.g:5001:2: ( ( () otherlv_1= 'byte' ) ) - // InternalRos.g:5002:2: ( () otherlv_1= 'byte' ) + // InternalRos.g:5254:2: ( ( () otherlv_1= 'byte' ) ) + // InternalRos.g:5255:2: ( () otherlv_1= 'byte' ) { - // InternalRos.g:5002:2: ( () otherlv_1= 'byte' ) - // InternalRos.g:5003:3: () otherlv_1= 'byte' + // InternalRos.g:5255:2: ( () otherlv_1= 'byte' ) + // InternalRos.g:5256:3: () otherlv_1= 'byte' { - // InternalRos.g:5003:3: () - // InternalRos.g:5004:4: + // InternalRos.g:5256:3: () + // InternalRos.g:5257:4: { current = forceCreateModelElement( @@ -12653,7 +13237,7 @@ public final EObject rulebyte() throws RecognitionException { } - otherlv_1=(Token)match(input,96,FOLLOW_2); + otherlv_1=(Token)match(input,97,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getByteAccess().getByteKeyword_1()); @@ -12680,7 +13264,7 @@ public final EObject rulebyte() throws RecognitionException { // $ANTLR start "entryRuletime" - // InternalRos.g:5018:1: entryRuletime returns [EObject current=null] : iv_ruletime= ruletime EOF ; + // InternalRos.g:5271:1: entryRuletime returns [EObject current=null] : iv_ruletime= ruletime EOF ; public final EObject entryRuletime() throws RecognitionException { EObject current = null; @@ -12688,8 +13272,8 @@ public final EObject entryRuletime() throws RecognitionException { try { - // InternalRos.g:5018:45: (iv_ruletime= ruletime EOF ) - // InternalRos.g:5019:2: iv_ruletime= ruletime EOF + // InternalRos.g:5271:45: (iv_ruletime= ruletime EOF ) + // InternalRos.g:5272:2: iv_ruletime= ruletime EOF { newCompositeNode(grammarAccess.getTimeRule()); pushFollow(FOLLOW_1); @@ -12716,7 +13300,7 @@ public final EObject entryRuletime() throws RecognitionException { // $ANTLR start "ruletime" - // InternalRos.g:5025:1: ruletime returns [EObject current=null] : ( () otherlv_1= 'time' ) ; + // InternalRos.g:5278:1: ruletime returns [EObject current=null] : ( () otherlv_1= 'time' ) ; public final EObject ruletime() throws RecognitionException { EObject current = null; @@ -12726,14 +13310,14 @@ public final EObject ruletime() throws RecognitionException { enterRule(); try { - // InternalRos.g:5031:2: ( ( () otherlv_1= 'time' ) ) - // InternalRos.g:5032:2: ( () otherlv_1= 'time' ) + // InternalRos.g:5284:2: ( ( () otherlv_1= 'time' ) ) + // InternalRos.g:5285:2: ( () otherlv_1= 'time' ) { - // InternalRos.g:5032:2: ( () otherlv_1= 'time' ) - // InternalRos.g:5033:3: () otherlv_1= 'time' + // InternalRos.g:5285:2: ( () otherlv_1= 'time' ) + // InternalRos.g:5286:3: () otherlv_1= 'time' { - // InternalRos.g:5033:3: () - // InternalRos.g:5034:4: + // InternalRos.g:5286:3: () + // InternalRos.g:5287:4: { current = forceCreateModelElement( @@ -12743,7 +13327,7 @@ public final EObject ruletime() throws RecognitionException { } - otherlv_1=(Token)match(input,97,FOLLOW_2); + otherlv_1=(Token)match(input,98,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getTimeAccess().getTimeKeyword_1()); @@ -12770,7 +13354,7 @@ public final EObject ruletime() throws RecognitionException { // $ANTLR start "entryRuleduration" - // InternalRos.g:5048:1: entryRuleduration returns [EObject current=null] : iv_ruleduration= ruleduration EOF ; + // InternalRos.g:5301:1: entryRuleduration returns [EObject current=null] : iv_ruleduration= ruleduration EOF ; public final EObject entryRuleduration() throws RecognitionException { EObject current = null; @@ -12778,8 +13362,8 @@ public final EObject entryRuleduration() throws RecognitionException { try { - // InternalRos.g:5048:49: (iv_ruleduration= ruleduration EOF ) - // InternalRos.g:5049:2: iv_ruleduration= ruleduration EOF + // InternalRos.g:5301:49: (iv_ruleduration= ruleduration EOF ) + // InternalRos.g:5302:2: iv_ruleduration= ruleduration EOF { newCompositeNode(grammarAccess.getDurationRule()); pushFollow(FOLLOW_1); @@ -12806,7 +13390,7 @@ public final EObject entryRuleduration() throws RecognitionException { // $ANTLR start "ruleduration" - // InternalRos.g:5055:1: ruleduration returns [EObject current=null] : ( () otherlv_1= 'duration' ) ; + // InternalRos.g:5308:1: ruleduration returns [EObject current=null] : ( () otherlv_1= 'duration' ) ; public final EObject ruleduration() throws RecognitionException { EObject current = null; @@ -12816,14 +13400,14 @@ public final EObject ruleduration() throws RecognitionException { enterRule(); try { - // InternalRos.g:5061:2: ( ( () otherlv_1= 'duration' ) ) - // InternalRos.g:5062:2: ( () otherlv_1= 'duration' ) + // InternalRos.g:5314:2: ( ( () otherlv_1= 'duration' ) ) + // InternalRos.g:5315:2: ( () otherlv_1= 'duration' ) { - // InternalRos.g:5062:2: ( () otherlv_1= 'duration' ) - // InternalRos.g:5063:3: () otherlv_1= 'duration' + // InternalRos.g:5315:2: ( () otherlv_1= 'duration' ) + // InternalRos.g:5316:3: () otherlv_1= 'duration' { - // InternalRos.g:5063:3: () - // InternalRos.g:5064:4: + // InternalRos.g:5316:3: () + // InternalRos.g:5317:4: { current = forceCreateModelElement( @@ -12833,7 +13417,7 @@ public final EObject ruleduration() throws RecognitionException { } - otherlv_1=(Token)match(input,98,FOLLOW_2); + otherlv_1=(Token)match(input,99,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getDurationAccess().getDurationKeyword_1()); @@ -12860,7 +13444,7 @@ public final EObject ruleduration() throws RecognitionException { // $ANTLR start "entryRuleboolArray" - // InternalRos.g:5078:1: entryRuleboolArray returns [EObject current=null] : iv_ruleboolArray= ruleboolArray EOF ; + // InternalRos.g:5331:1: entryRuleboolArray returns [EObject current=null] : iv_ruleboolArray= ruleboolArray EOF ; public final EObject entryRuleboolArray() throws RecognitionException { EObject current = null; @@ -12868,8 +13452,8 @@ public final EObject entryRuleboolArray() throws RecognitionException { try { - // InternalRos.g:5078:50: (iv_ruleboolArray= ruleboolArray EOF ) - // InternalRos.g:5079:2: iv_ruleboolArray= ruleboolArray EOF + // InternalRos.g:5331:50: (iv_ruleboolArray= ruleboolArray EOF ) + // InternalRos.g:5332:2: iv_ruleboolArray= ruleboolArray EOF { newCompositeNode(grammarAccess.getBoolArrayRule()); pushFollow(FOLLOW_1); @@ -12896,7 +13480,7 @@ public final EObject entryRuleboolArray() throws RecognitionException { // $ANTLR start "ruleboolArray" - // InternalRos.g:5085:1: ruleboolArray returns [EObject current=null] : ( () otherlv_1= 'bool[]' ) ; + // InternalRos.g:5338:1: ruleboolArray returns [EObject current=null] : ( () otherlv_1= 'bool[]' ) ; public final EObject ruleboolArray() throws RecognitionException { EObject current = null; @@ -12906,14 +13490,14 @@ public final EObject ruleboolArray() throws RecognitionException { enterRule(); try { - // InternalRos.g:5091:2: ( ( () otherlv_1= 'bool[]' ) ) - // InternalRos.g:5092:2: ( () otherlv_1= 'bool[]' ) + // InternalRos.g:5344:2: ( ( () otherlv_1= 'bool[]' ) ) + // InternalRos.g:5345:2: ( () otherlv_1= 'bool[]' ) { - // InternalRos.g:5092:2: ( () otherlv_1= 'bool[]' ) - // InternalRos.g:5093:3: () otherlv_1= 'bool[]' + // InternalRos.g:5345:2: ( () otherlv_1= 'bool[]' ) + // InternalRos.g:5346:3: () otherlv_1= 'bool[]' { - // InternalRos.g:5093:3: () - // InternalRos.g:5094:4: + // InternalRos.g:5346:3: () + // InternalRos.g:5347:4: { current = forceCreateModelElement( @@ -12923,7 +13507,7 @@ public final EObject ruleboolArray() throws RecognitionException { } - otherlv_1=(Token)match(input,99,FOLLOW_2); + otherlv_1=(Token)match(input,100,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getBoolArrayAccess().getBoolKeyword_1()); @@ -12950,7 +13534,7 @@ public final EObject ruleboolArray() throws RecognitionException { // $ANTLR start "entryRuleint8Array" - // InternalRos.g:5108:1: entryRuleint8Array returns [EObject current=null] : iv_ruleint8Array= ruleint8Array EOF ; + // InternalRos.g:5361:1: entryRuleint8Array returns [EObject current=null] : iv_ruleint8Array= ruleint8Array EOF ; public final EObject entryRuleint8Array() throws RecognitionException { EObject current = null; @@ -12958,8 +13542,8 @@ public final EObject entryRuleint8Array() throws RecognitionException { try { - // InternalRos.g:5108:50: (iv_ruleint8Array= ruleint8Array EOF ) - // InternalRos.g:5109:2: iv_ruleint8Array= ruleint8Array EOF + // InternalRos.g:5361:50: (iv_ruleint8Array= ruleint8Array EOF ) + // InternalRos.g:5362:2: iv_ruleint8Array= ruleint8Array EOF { newCompositeNode(grammarAccess.getInt8ArrayRule()); pushFollow(FOLLOW_1); @@ -12986,7 +13570,7 @@ public final EObject entryRuleint8Array() throws RecognitionException { // $ANTLR start "ruleint8Array" - // InternalRos.g:5115:1: ruleint8Array returns [EObject current=null] : ( () otherlv_1= 'int8[]' ) ; + // InternalRos.g:5368:1: ruleint8Array returns [EObject current=null] : ( () otherlv_1= 'int8[]' ) ; public final EObject ruleint8Array() throws RecognitionException { EObject current = null; @@ -12996,14 +13580,14 @@ public final EObject ruleint8Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5121:2: ( ( () otherlv_1= 'int8[]' ) ) - // InternalRos.g:5122:2: ( () otherlv_1= 'int8[]' ) + // InternalRos.g:5374:2: ( ( () otherlv_1= 'int8[]' ) ) + // InternalRos.g:5375:2: ( () otherlv_1= 'int8[]' ) { - // InternalRos.g:5122:2: ( () otherlv_1= 'int8[]' ) - // InternalRos.g:5123:3: () otherlv_1= 'int8[]' + // InternalRos.g:5375:2: ( () otherlv_1= 'int8[]' ) + // InternalRos.g:5376:3: () otherlv_1= 'int8[]' { - // InternalRos.g:5123:3: () - // InternalRos.g:5124:4: + // InternalRos.g:5376:3: () + // InternalRos.g:5377:4: { current = forceCreateModelElement( @@ -13013,7 +13597,7 @@ public final EObject ruleint8Array() throws RecognitionException { } - otherlv_1=(Token)match(input,100,FOLLOW_2); + otherlv_1=(Token)match(input,101,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt8ArrayAccess().getInt8Keyword_1()); @@ -13040,7 +13624,7 @@ public final EObject ruleint8Array() throws RecognitionException { // $ANTLR start "entryRuleuint8Array" - // InternalRos.g:5138:1: entryRuleuint8Array returns [EObject current=null] : iv_ruleuint8Array= ruleuint8Array EOF ; + // InternalRos.g:5391:1: entryRuleuint8Array returns [EObject current=null] : iv_ruleuint8Array= ruleuint8Array EOF ; public final EObject entryRuleuint8Array() throws RecognitionException { EObject current = null; @@ -13048,8 +13632,8 @@ public final EObject entryRuleuint8Array() throws RecognitionException { try { - // InternalRos.g:5138:51: (iv_ruleuint8Array= ruleuint8Array EOF ) - // InternalRos.g:5139:2: iv_ruleuint8Array= ruleuint8Array EOF + // InternalRos.g:5391:51: (iv_ruleuint8Array= ruleuint8Array EOF ) + // InternalRos.g:5392:2: iv_ruleuint8Array= ruleuint8Array EOF { newCompositeNode(grammarAccess.getUint8ArrayRule()); pushFollow(FOLLOW_1); @@ -13076,7 +13660,7 @@ public final EObject entryRuleuint8Array() throws RecognitionException { // $ANTLR start "ruleuint8Array" - // InternalRos.g:5145:1: ruleuint8Array returns [EObject current=null] : ( () otherlv_1= 'uint8[]' ) ; + // InternalRos.g:5398:1: ruleuint8Array returns [EObject current=null] : ( () otherlv_1= 'uint8[]' ) ; public final EObject ruleuint8Array() throws RecognitionException { EObject current = null; @@ -13086,14 +13670,14 @@ public final EObject ruleuint8Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5151:2: ( ( () otherlv_1= 'uint8[]' ) ) - // InternalRos.g:5152:2: ( () otherlv_1= 'uint8[]' ) + // InternalRos.g:5404:2: ( ( () otherlv_1= 'uint8[]' ) ) + // InternalRos.g:5405:2: ( () otherlv_1= 'uint8[]' ) { - // InternalRos.g:5152:2: ( () otherlv_1= 'uint8[]' ) - // InternalRos.g:5153:3: () otherlv_1= 'uint8[]' + // InternalRos.g:5405:2: ( () otherlv_1= 'uint8[]' ) + // InternalRos.g:5406:3: () otherlv_1= 'uint8[]' { - // InternalRos.g:5153:3: () - // InternalRos.g:5154:4: + // InternalRos.g:5406:3: () + // InternalRos.g:5407:4: { current = forceCreateModelElement( @@ -13103,7 +13687,7 @@ public final EObject ruleuint8Array() throws RecognitionException { } - otherlv_1=(Token)match(input,101,FOLLOW_2); + otherlv_1=(Token)match(input,102,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint8ArrayAccess().getUint8Keyword_1()); @@ -13130,7 +13714,7 @@ public final EObject ruleuint8Array() throws RecognitionException { // $ANTLR start "entryRuleint16Array" - // InternalRos.g:5168:1: entryRuleint16Array returns [EObject current=null] : iv_ruleint16Array= ruleint16Array EOF ; + // InternalRos.g:5421:1: entryRuleint16Array returns [EObject current=null] : iv_ruleint16Array= ruleint16Array EOF ; public final EObject entryRuleint16Array() throws RecognitionException { EObject current = null; @@ -13138,8 +13722,8 @@ public final EObject entryRuleint16Array() throws RecognitionException { try { - // InternalRos.g:5168:51: (iv_ruleint16Array= ruleint16Array EOF ) - // InternalRos.g:5169:2: iv_ruleint16Array= ruleint16Array EOF + // InternalRos.g:5421:51: (iv_ruleint16Array= ruleint16Array EOF ) + // InternalRos.g:5422:2: iv_ruleint16Array= ruleint16Array EOF { newCompositeNode(grammarAccess.getInt16ArrayRule()); pushFollow(FOLLOW_1); @@ -13166,7 +13750,7 @@ public final EObject entryRuleint16Array() throws RecognitionException { // $ANTLR start "ruleint16Array" - // InternalRos.g:5175:1: ruleint16Array returns [EObject current=null] : ( () otherlv_1= 'int16[]' ) ; + // InternalRos.g:5428:1: ruleint16Array returns [EObject current=null] : ( () otherlv_1= 'int16[]' ) ; public final EObject ruleint16Array() throws RecognitionException { EObject current = null; @@ -13176,14 +13760,14 @@ public final EObject ruleint16Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5181:2: ( ( () otherlv_1= 'int16[]' ) ) - // InternalRos.g:5182:2: ( () otherlv_1= 'int16[]' ) + // InternalRos.g:5434:2: ( ( () otherlv_1= 'int16[]' ) ) + // InternalRos.g:5435:2: ( () otherlv_1= 'int16[]' ) { - // InternalRos.g:5182:2: ( () otherlv_1= 'int16[]' ) - // InternalRos.g:5183:3: () otherlv_1= 'int16[]' + // InternalRos.g:5435:2: ( () otherlv_1= 'int16[]' ) + // InternalRos.g:5436:3: () otherlv_1= 'int16[]' { - // InternalRos.g:5183:3: () - // InternalRos.g:5184:4: + // InternalRos.g:5436:3: () + // InternalRos.g:5437:4: { current = forceCreateModelElement( @@ -13193,7 +13777,7 @@ public final EObject ruleint16Array() throws RecognitionException { } - otherlv_1=(Token)match(input,102,FOLLOW_2); + otherlv_1=(Token)match(input,103,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt16ArrayAccess().getInt16Keyword_1()); @@ -13220,7 +13804,7 @@ public final EObject ruleint16Array() throws RecognitionException { // $ANTLR start "entryRuleuint16Array" - // InternalRos.g:5198:1: entryRuleuint16Array returns [EObject current=null] : iv_ruleuint16Array= ruleuint16Array EOF ; + // InternalRos.g:5451:1: entryRuleuint16Array returns [EObject current=null] : iv_ruleuint16Array= ruleuint16Array EOF ; public final EObject entryRuleuint16Array() throws RecognitionException { EObject current = null; @@ -13228,8 +13812,8 @@ public final EObject entryRuleuint16Array() throws RecognitionException { try { - // InternalRos.g:5198:52: (iv_ruleuint16Array= ruleuint16Array EOF ) - // InternalRos.g:5199:2: iv_ruleuint16Array= ruleuint16Array EOF + // InternalRos.g:5451:52: (iv_ruleuint16Array= ruleuint16Array EOF ) + // InternalRos.g:5452:2: iv_ruleuint16Array= ruleuint16Array EOF { newCompositeNode(grammarAccess.getUint16ArrayRule()); pushFollow(FOLLOW_1); @@ -13256,7 +13840,7 @@ public final EObject entryRuleuint16Array() throws RecognitionException { // $ANTLR start "ruleuint16Array" - // InternalRos.g:5205:1: ruleuint16Array returns [EObject current=null] : ( () otherlv_1= 'uint16[]' ) ; + // InternalRos.g:5458:1: ruleuint16Array returns [EObject current=null] : ( () otherlv_1= 'uint16[]' ) ; public final EObject ruleuint16Array() throws RecognitionException { EObject current = null; @@ -13266,14 +13850,14 @@ public final EObject ruleuint16Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5211:2: ( ( () otherlv_1= 'uint16[]' ) ) - // InternalRos.g:5212:2: ( () otherlv_1= 'uint16[]' ) + // InternalRos.g:5464:2: ( ( () otherlv_1= 'uint16[]' ) ) + // InternalRos.g:5465:2: ( () otherlv_1= 'uint16[]' ) { - // InternalRos.g:5212:2: ( () otherlv_1= 'uint16[]' ) - // InternalRos.g:5213:3: () otherlv_1= 'uint16[]' + // InternalRos.g:5465:2: ( () otherlv_1= 'uint16[]' ) + // InternalRos.g:5466:3: () otherlv_1= 'uint16[]' { - // InternalRos.g:5213:3: () - // InternalRos.g:5214:4: + // InternalRos.g:5466:3: () + // InternalRos.g:5467:4: { current = forceCreateModelElement( @@ -13283,7 +13867,7 @@ public final EObject ruleuint16Array() throws RecognitionException { } - otherlv_1=(Token)match(input,103,FOLLOW_2); + otherlv_1=(Token)match(input,104,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint16ArrayAccess().getUint16Keyword_1()); @@ -13310,7 +13894,7 @@ public final EObject ruleuint16Array() throws RecognitionException { // $ANTLR start "entryRuleint32Array" - // InternalRos.g:5228:1: entryRuleint32Array returns [EObject current=null] : iv_ruleint32Array= ruleint32Array EOF ; + // InternalRos.g:5481:1: entryRuleint32Array returns [EObject current=null] : iv_ruleint32Array= ruleint32Array EOF ; public final EObject entryRuleint32Array() throws RecognitionException { EObject current = null; @@ -13318,8 +13902,8 @@ public final EObject entryRuleint32Array() throws RecognitionException { try { - // InternalRos.g:5228:51: (iv_ruleint32Array= ruleint32Array EOF ) - // InternalRos.g:5229:2: iv_ruleint32Array= ruleint32Array EOF + // InternalRos.g:5481:51: (iv_ruleint32Array= ruleint32Array EOF ) + // InternalRos.g:5482:2: iv_ruleint32Array= ruleint32Array EOF { newCompositeNode(grammarAccess.getInt32ArrayRule()); pushFollow(FOLLOW_1); @@ -13346,7 +13930,7 @@ public final EObject entryRuleint32Array() throws RecognitionException { // $ANTLR start "ruleint32Array" - // InternalRos.g:5235:1: ruleint32Array returns [EObject current=null] : ( () otherlv_1= 'int32[]' ) ; + // InternalRos.g:5488:1: ruleint32Array returns [EObject current=null] : ( () otherlv_1= 'int32[]' ) ; public final EObject ruleint32Array() throws RecognitionException { EObject current = null; @@ -13356,14 +13940,14 @@ public final EObject ruleint32Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5241:2: ( ( () otherlv_1= 'int32[]' ) ) - // InternalRos.g:5242:2: ( () otherlv_1= 'int32[]' ) + // InternalRos.g:5494:2: ( ( () otherlv_1= 'int32[]' ) ) + // InternalRos.g:5495:2: ( () otherlv_1= 'int32[]' ) { - // InternalRos.g:5242:2: ( () otherlv_1= 'int32[]' ) - // InternalRos.g:5243:3: () otherlv_1= 'int32[]' + // InternalRos.g:5495:2: ( () otherlv_1= 'int32[]' ) + // InternalRos.g:5496:3: () otherlv_1= 'int32[]' { - // InternalRos.g:5243:3: () - // InternalRos.g:5244:4: + // InternalRos.g:5496:3: () + // InternalRos.g:5497:4: { current = forceCreateModelElement( @@ -13373,7 +13957,7 @@ public final EObject ruleint32Array() throws RecognitionException { } - otherlv_1=(Token)match(input,104,FOLLOW_2); + otherlv_1=(Token)match(input,105,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt32ArrayAccess().getInt32Keyword_1()); @@ -13400,7 +13984,7 @@ public final EObject ruleint32Array() throws RecognitionException { // $ANTLR start "entryRuleuint32Array" - // InternalRos.g:5258:1: entryRuleuint32Array returns [EObject current=null] : iv_ruleuint32Array= ruleuint32Array EOF ; + // InternalRos.g:5511:1: entryRuleuint32Array returns [EObject current=null] : iv_ruleuint32Array= ruleuint32Array EOF ; public final EObject entryRuleuint32Array() throws RecognitionException { EObject current = null; @@ -13408,8 +13992,8 @@ public final EObject entryRuleuint32Array() throws RecognitionException { try { - // InternalRos.g:5258:52: (iv_ruleuint32Array= ruleuint32Array EOF ) - // InternalRos.g:5259:2: iv_ruleuint32Array= ruleuint32Array EOF + // InternalRos.g:5511:52: (iv_ruleuint32Array= ruleuint32Array EOF ) + // InternalRos.g:5512:2: iv_ruleuint32Array= ruleuint32Array EOF { newCompositeNode(grammarAccess.getUint32ArrayRule()); pushFollow(FOLLOW_1); @@ -13436,7 +14020,7 @@ public final EObject entryRuleuint32Array() throws RecognitionException { // $ANTLR start "ruleuint32Array" - // InternalRos.g:5265:1: ruleuint32Array returns [EObject current=null] : ( () otherlv_1= 'uint32[]' ) ; + // InternalRos.g:5518:1: ruleuint32Array returns [EObject current=null] : ( () otherlv_1= 'uint32[]' ) ; public final EObject ruleuint32Array() throws RecognitionException { EObject current = null; @@ -13446,14 +14030,14 @@ public final EObject ruleuint32Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5271:2: ( ( () otherlv_1= 'uint32[]' ) ) - // InternalRos.g:5272:2: ( () otherlv_1= 'uint32[]' ) + // InternalRos.g:5524:2: ( ( () otherlv_1= 'uint32[]' ) ) + // InternalRos.g:5525:2: ( () otherlv_1= 'uint32[]' ) { - // InternalRos.g:5272:2: ( () otherlv_1= 'uint32[]' ) - // InternalRos.g:5273:3: () otherlv_1= 'uint32[]' + // InternalRos.g:5525:2: ( () otherlv_1= 'uint32[]' ) + // InternalRos.g:5526:3: () otherlv_1= 'uint32[]' { - // InternalRos.g:5273:3: () - // InternalRos.g:5274:4: + // InternalRos.g:5526:3: () + // InternalRos.g:5527:4: { current = forceCreateModelElement( @@ -13463,7 +14047,7 @@ public final EObject ruleuint32Array() throws RecognitionException { } - otherlv_1=(Token)match(input,105,FOLLOW_2); + otherlv_1=(Token)match(input,106,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint32ArrayAccess().getUint32Keyword_1()); @@ -13490,7 +14074,7 @@ public final EObject ruleuint32Array() throws RecognitionException { // $ANTLR start "entryRuleint64Array" - // InternalRos.g:5288:1: entryRuleint64Array returns [EObject current=null] : iv_ruleint64Array= ruleint64Array EOF ; + // InternalRos.g:5541:1: entryRuleint64Array returns [EObject current=null] : iv_ruleint64Array= ruleint64Array EOF ; public final EObject entryRuleint64Array() throws RecognitionException { EObject current = null; @@ -13498,8 +14082,8 @@ public final EObject entryRuleint64Array() throws RecognitionException { try { - // InternalRos.g:5288:51: (iv_ruleint64Array= ruleint64Array EOF ) - // InternalRos.g:5289:2: iv_ruleint64Array= ruleint64Array EOF + // InternalRos.g:5541:51: (iv_ruleint64Array= ruleint64Array EOF ) + // InternalRos.g:5542:2: iv_ruleint64Array= ruleint64Array EOF { newCompositeNode(grammarAccess.getInt64ArrayRule()); pushFollow(FOLLOW_1); @@ -13526,7 +14110,7 @@ public final EObject entryRuleint64Array() throws RecognitionException { // $ANTLR start "ruleint64Array" - // InternalRos.g:5295:1: ruleint64Array returns [EObject current=null] : ( () otherlv_1= 'int64[]' ) ; + // InternalRos.g:5548:1: ruleint64Array returns [EObject current=null] : ( () otherlv_1= 'int64[]' ) ; public final EObject ruleint64Array() throws RecognitionException { EObject current = null; @@ -13536,14 +14120,14 @@ public final EObject ruleint64Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5301:2: ( ( () otherlv_1= 'int64[]' ) ) - // InternalRos.g:5302:2: ( () otherlv_1= 'int64[]' ) + // InternalRos.g:5554:2: ( ( () otherlv_1= 'int64[]' ) ) + // InternalRos.g:5555:2: ( () otherlv_1= 'int64[]' ) { - // InternalRos.g:5302:2: ( () otherlv_1= 'int64[]' ) - // InternalRos.g:5303:3: () otherlv_1= 'int64[]' + // InternalRos.g:5555:2: ( () otherlv_1= 'int64[]' ) + // InternalRos.g:5556:3: () otherlv_1= 'int64[]' { - // InternalRos.g:5303:3: () - // InternalRos.g:5304:4: + // InternalRos.g:5556:3: () + // InternalRos.g:5557:4: { current = forceCreateModelElement( @@ -13553,7 +14137,7 @@ public final EObject ruleint64Array() throws RecognitionException { } - otherlv_1=(Token)match(input,106,FOLLOW_2); + otherlv_1=(Token)match(input,107,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getInt64ArrayAccess().getInt64Keyword_1()); @@ -13580,7 +14164,7 @@ public final EObject ruleint64Array() throws RecognitionException { // $ANTLR start "entryRuleuint64Array" - // InternalRos.g:5318:1: entryRuleuint64Array returns [EObject current=null] : iv_ruleuint64Array= ruleuint64Array EOF ; + // InternalRos.g:5571:1: entryRuleuint64Array returns [EObject current=null] : iv_ruleuint64Array= ruleuint64Array EOF ; public final EObject entryRuleuint64Array() throws RecognitionException { EObject current = null; @@ -13588,8 +14172,8 @@ public final EObject entryRuleuint64Array() throws RecognitionException { try { - // InternalRos.g:5318:52: (iv_ruleuint64Array= ruleuint64Array EOF ) - // InternalRos.g:5319:2: iv_ruleuint64Array= ruleuint64Array EOF + // InternalRos.g:5571:52: (iv_ruleuint64Array= ruleuint64Array EOF ) + // InternalRos.g:5572:2: iv_ruleuint64Array= ruleuint64Array EOF { newCompositeNode(grammarAccess.getUint64ArrayRule()); pushFollow(FOLLOW_1); @@ -13616,7 +14200,7 @@ public final EObject entryRuleuint64Array() throws RecognitionException { // $ANTLR start "ruleuint64Array" - // InternalRos.g:5325:1: ruleuint64Array returns [EObject current=null] : ( () otherlv_1= 'uint64[]' ) ; + // InternalRos.g:5578:1: ruleuint64Array returns [EObject current=null] : ( () otherlv_1= 'uint64[]' ) ; public final EObject ruleuint64Array() throws RecognitionException { EObject current = null; @@ -13626,14 +14210,14 @@ public final EObject ruleuint64Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5331:2: ( ( () otherlv_1= 'uint64[]' ) ) - // InternalRos.g:5332:2: ( () otherlv_1= 'uint64[]' ) + // InternalRos.g:5584:2: ( ( () otherlv_1= 'uint64[]' ) ) + // InternalRos.g:5585:2: ( () otherlv_1= 'uint64[]' ) { - // InternalRos.g:5332:2: ( () otherlv_1= 'uint64[]' ) - // InternalRos.g:5333:3: () otherlv_1= 'uint64[]' + // InternalRos.g:5585:2: ( () otherlv_1= 'uint64[]' ) + // InternalRos.g:5586:3: () otherlv_1= 'uint64[]' { - // InternalRos.g:5333:3: () - // InternalRos.g:5334:4: + // InternalRos.g:5586:3: () + // InternalRos.g:5587:4: { current = forceCreateModelElement( @@ -13643,7 +14227,7 @@ public final EObject ruleuint64Array() throws RecognitionException { } - otherlv_1=(Token)match(input,107,FOLLOW_2); + otherlv_1=(Token)match(input,108,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getUint64ArrayAccess().getUint64Keyword_1()); @@ -13670,7 +14254,7 @@ public final EObject ruleuint64Array() throws RecognitionException { // $ANTLR start "entryRulefloat32Array" - // InternalRos.g:5348:1: entryRulefloat32Array returns [EObject current=null] : iv_rulefloat32Array= rulefloat32Array EOF ; + // InternalRos.g:5601:1: entryRulefloat32Array returns [EObject current=null] : iv_rulefloat32Array= rulefloat32Array EOF ; public final EObject entryRulefloat32Array() throws RecognitionException { EObject current = null; @@ -13678,8 +14262,8 @@ public final EObject entryRulefloat32Array() throws RecognitionException { try { - // InternalRos.g:5348:53: (iv_rulefloat32Array= rulefloat32Array EOF ) - // InternalRos.g:5349:2: iv_rulefloat32Array= rulefloat32Array EOF + // InternalRos.g:5601:53: (iv_rulefloat32Array= rulefloat32Array EOF ) + // InternalRos.g:5602:2: iv_rulefloat32Array= rulefloat32Array EOF { newCompositeNode(grammarAccess.getFloat32ArrayRule()); pushFollow(FOLLOW_1); @@ -13706,7 +14290,7 @@ public final EObject entryRulefloat32Array() throws RecognitionException { // $ANTLR start "rulefloat32Array" - // InternalRos.g:5355:1: rulefloat32Array returns [EObject current=null] : ( () otherlv_1= 'float32[]' ) ; + // InternalRos.g:5608:1: rulefloat32Array returns [EObject current=null] : ( () otherlv_1= 'float32[]' ) ; public final EObject rulefloat32Array() throws RecognitionException { EObject current = null; @@ -13716,14 +14300,14 @@ public final EObject rulefloat32Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5361:2: ( ( () otherlv_1= 'float32[]' ) ) - // InternalRos.g:5362:2: ( () otherlv_1= 'float32[]' ) + // InternalRos.g:5614:2: ( ( () otherlv_1= 'float32[]' ) ) + // InternalRos.g:5615:2: ( () otherlv_1= 'float32[]' ) { - // InternalRos.g:5362:2: ( () otherlv_1= 'float32[]' ) - // InternalRos.g:5363:3: () otherlv_1= 'float32[]' + // InternalRos.g:5615:2: ( () otherlv_1= 'float32[]' ) + // InternalRos.g:5616:3: () otherlv_1= 'float32[]' { - // InternalRos.g:5363:3: () - // InternalRos.g:5364:4: + // InternalRos.g:5616:3: () + // InternalRos.g:5617:4: { current = forceCreateModelElement( @@ -13733,7 +14317,7 @@ public final EObject rulefloat32Array() throws RecognitionException { } - otherlv_1=(Token)match(input,108,FOLLOW_2); + otherlv_1=(Token)match(input,109,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getFloat32ArrayAccess().getFloat32Keyword_1()); @@ -13760,7 +14344,7 @@ public final EObject rulefloat32Array() throws RecognitionException { // $ANTLR start "entryRulefloat64Array" - // InternalRos.g:5378:1: entryRulefloat64Array returns [EObject current=null] : iv_rulefloat64Array= rulefloat64Array EOF ; + // InternalRos.g:5631:1: entryRulefloat64Array returns [EObject current=null] : iv_rulefloat64Array= rulefloat64Array EOF ; public final EObject entryRulefloat64Array() throws RecognitionException { EObject current = null; @@ -13768,8 +14352,8 @@ public final EObject entryRulefloat64Array() throws RecognitionException { try { - // InternalRos.g:5378:53: (iv_rulefloat64Array= rulefloat64Array EOF ) - // InternalRos.g:5379:2: iv_rulefloat64Array= rulefloat64Array EOF + // InternalRos.g:5631:53: (iv_rulefloat64Array= rulefloat64Array EOF ) + // InternalRos.g:5632:2: iv_rulefloat64Array= rulefloat64Array EOF { newCompositeNode(grammarAccess.getFloat64ArrayRule()); pushFollow(FOLLOW_1); @@ -13796,7 +14380,7 @@ public final EObject entryRulefloat64Array() throws RecognitionException { // $ANTLR start "rulefloat64Array" - // InternalRos.g:5385:1: rulefloat64Array returns [EObject current=null] : ( () otherlv_1= 'float64[]' ) ; + // InternalRos.g:5638:1: rulefloat64Array returns [EObject current=null] : ( () otherlv_1= 'float64[]' ) ; public final EObject rulefloat64Array() throws RecognitionException { EObject current = null; @@ -13806,14 +14390,14 @@ public final EObject rulefloat64Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5391:2: ( ( () otherlv_1= 'float64[]' ) ) - // InternalRos.g:5392:2: ( () otherlv_1= 'float64[]' ) + // InternalRos.g:5644:2: ( ( () otherlv_1= 'float64[]' ) ) + // InternalRos.g:5645:2: ( () otherlv_1= 'float64[]' ) { - // InternalRos.g:5392:2: ( () otherlv_1= 'float64[]' ) - // InternalRos.g:5393:3: () otherlv_1= 'float64[]' + // InternalRos.g:5645:2: ( () otherlv_1= 'float64[]' ) + // InternalRos.g:5646:3: () otherlv_1= 'float64[]' { - // InternalRos.g:5393:3: () - // InternalRos.g:5394:4: + // InternalRos.g:5646:3: () + // InternalRos.g:5647:4: { current = forceCreateModelElement( @@ -13823,7 +14407,7 @@ public final EObject rulefloat64Array() throws RecognitionException { } - otherlv_1=(Token)match(input,109,FOLLOW_2); + otherlv_1=(Token)match(input,110,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getFloat64ArrayAccess().getFloat64Keyword_1()); @@ -13850,7 +14434,7 @@ public final EObject rulefloat64Array() throws RecognitionException { // $ANTLR start "entryRulestring0Array" - // InternalRos.g:5408:1: entryRulestring0Array returns [EObject current=null] : iv_rulestring0Array= rulestring0Array EOF ; + // InternalRos.g:5661:1: entryRulestring0Array returns [EObject current=null] : iv_rulestring0Array= rulestring0Array EOF ; public final EObject entryRulestring0Array() throws RecognitionException { EObject current = null; @@ -13858,8 +14442,8 @@ public final EObject entryRulestring0Array() throws RecognitionException { try { - // InternalRos.g:5408:53: (iv_rulestring0Array= rulestring0Array EOF ) - // InternalRos.g:5409:2: iv_rulestring0Array= rulestring0Array EOF + // InternalRos.g:5661:53: (iv_rulestring0Array= rulestring0Array EOF ) + // InternalRos.g:5662:2: iv_rulestring0Array= rulestring0Array EOF { newCompositeNode(grammarAccess.getString0ArrayRule()); pushFollow(FOLLOW_1); @@ -13886,7 +14470,7 @@ public final EObject entryRulestring0Array() throws RecognitionException { // $ANTLR start "rulestring0Array" - // InternalRos.g:5415:1: rulestring0Array returns [EObject current=null] : ( () otherlv_1= 'string[]' ) ; + // InternalRos.g:5668:1: rulestring0Array returns [EObject current=null] : ( () otherlv_1= 'string[]' ) ; public final EObject rulestring0Array() throws RecognitionException { EObject current = null; @@ -13896,14 +14480,14 @@ public final EObject rulestring0Array() throws RecognitionException { enterRule(); try { - // InternalRos.g:5421:2: ( ( () otherlv_1= 'string[]' ) ) - // InternalRos.g:5422:2: ( () otherlv_1= 'string[]' ) + // InternalRos.g:5674:2: ( ( () otherlv_1= 'string[]' ) ) + // InternalRos.g:5675:2: ( () otherlv_1= 'string[]' ) { - // InternalRos.g:5422:2: ( () otherlv_1= 'string[]' ) - // InternalRos.g:5423:3: () otherlv_1= 'string[]' + // InternalRos.g:5675:2: ( () otherlv_1= 'string[]' ) + // InternalRos.g:5676:3: () otherlv_1= 'string[]' { - // InternalRos.g:5423:3: () - // InternalRos.g:5424:4: + // InternalRos.g:5676:3: () + // InternalRos.g:5677:4: { current = forceCreateModelElement( @@ -13913,7 +14497,7 @@ public final EObject rulestring0Array() throws RecognitionException { } - otherlv_1=(Token)match(input,110,FOLLOW_2); + otherlv_1=(Token)match(input,111,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getString0ArrayAccess().getStringKeyword_1()); @@ -13940,7 +14524,7 @@ public final EObject rulestring0Array() throws RecognitionException { // $ANTLR start "entryRulebyteArray" - // InternalRos.g:5438:1: entryRulebyteArray returns [EObject current=null] : iv_rulebyteArray= rulebyteArray EOF ; + // InternalRos.g:5691:1: entryRulebyteArray returns [EObject current=null] : iv_rulebyteArray= rulebyteArray EOF ; public final EObject entryRulebyteArray() throws RecognitionException { EObject current = null; @@ -13948,8 +14532,8 @@ public final EObject entryRulebyteArray() throws RecognitionException { try { - // InternalRos.g:5438:50: (iv_rulebyteArray= rulebyteArray EOF ) - // InternalRos.g:5439:2: iv_rulebyteArray= rulebyteArray EOF + // InternalRos.g:5691:50: (iv_rulebyteArray= rulebyteArray EOF ) + // InternalRos.g:5692:2: iv_rulebyteArray= rulebyteArray EOF { newCompositeNode(grammarAccess.getByteArrayRule()); pushFollow(FOLLOW_1); @@ -13976,7 +14560,7 @@ public final EObject entryRulebyteArray() throws RecognitionException { // $ANTLR start "rulebyteArray" - // InternalRos.g:5445:1: rulebyteArray returns [EObject current=null] : ( () otherlv_1= 'byte[]' ) ; + // InternalRos.g:5698:1: rulebyteArray returns [EObject current=null] : ( () otherlv_1= 'byte[]' ) ; public final EObject rulebyteArray() throws RecognitionException { EObject current = null; @@ -13986,14 +14570,14 @@ public final EObject rulebyteArray() throws RecognitionException { enterRule(); try { - // InternalRos.g:5451:2: ( ( () otherlv_1= 'byte[]' ) ) - // InternalRos.g:5452:2: ( () otherlv_1= 'byte[]' ) + // InternalRos.g:5704:2: ( ( () otherlv_1= 'byte[]' ) ) + // InternalRos.g:5705:2: ( () otherlv_1= 'byte[]' ) { - // InternalRos.g:5452:2: ( () otherlv_1= 'byte[]' ) - // InternalRos.g:5453:3: () otherlv_1= 'byte[]' + // InternalRos.g:5705:2: ( () otherlv_1= 'byte[]' ) + // InternalRos.g:5706:3: () otherlv_1= 'byte[]' { - // InternalRos.g:5453:3: () - // InternalRos.g:5454:4: + // InternalRos.g:5706:3: () + // InternalRos.g:5707:4: { current = forceCreateModelElement( @@ -14003,7 +14587,7 @@ public final EObject rulebyteArray() throws RecognitionException { } - otherlv_1=(Token)match(input,111,FOLLOW_2); + otherlv_1=(Token)match(input,112,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getByteArrayAccess().getByteKeyword_1()); @@ -14030,7 +14614,7 @@ public final EObject rulebyteArray() throws RecognitionException { // $ANTLR start "entryRuleHeader" - // InternalRos.g:5468:1: entryRuleHeader returns [EObject current=null] : iv_ruleHeader= ruleHeader EOF ; + // InternalRos.g:5721:1: entryRuleHeader returns [EObject current=null] : iv_ruleHeader= ruleHeader EOF ; public final EObject entryRuleHeader() throws RecognitionException { EObject current = null; @@ -14038,8 +14622,8 @@ public final EObject entryRuleHeader() throws RecognitionException { try { - // InternalRos.g:5468:47: (iv_ruleHeader= ruleHeader EOF ) - // InternalRos.g:5469:2: iv_ruleHeader= ruleHeader EOF + // InternalRos.g:5721:47: (iv_ruleHeader= ruleHeader EOF ) + // InternalRos.g:5722:2: iv_ruleHeader= ruleHeader EOF { newCompositeNode(grammarAccess.getHeaderRule()); pushFollow(FOLLOW_1); @@ -14066,7 +14650,7 @@ public final EObject entryRuleHeader() throws RecognitionException { // $ANTLR start "ruleHeader" - // InternalRos.g:5475:1: ruleHeader returns [EObject current=null] : ( () otherlv_1= 'Header' ) ; + // InternalRos.g:5728:1: ruleHeader returns [EObject current=null] : ( () otherlv_1= 'Header' ) ; public final EObject ruleHeader() throws RecognitionException { EObject current = null; @@ -14076,14 +14660,14 @@ public final EObject ruleHeader() throws RecognitionException { enterRule(); try { - // InternalRos.g:5481:2: ( ( () otherlv_1= 'Header' ) ) - // InternalRos.g:5482:2: ( () otherlv_1= 'Header' ) + // InternalRos.g:5734:2: ( ( () otherlv_1= 'Header' ) ) + // InternalRos.g:5735:2: ( () otherlv_1= 'Header' ) { - // InternalRos.g:5482:2: ( () otherlv_1= 'Header' ) - // InternalRos.g:5483:3: () otherlv_1= 'Header' + // InternalRos.g:5735:2: ( () otherlv_1= 'Header' ) + // InternalRos.g:5736:3: () otherlv_1= 'Header' { - // InternalRos.g:5483:3: () - // InternalRos.g:5484:4: + // InternalRos.g:5736:3: () + // InternalRos.g:5737:4: { current = forceCreateModelElement( @@ -14093,7 +14677,7 @@ public final EObject ruleHeader() throws RecognitionException { } - otherlv_1=(Token)match(input,40,FOLLOW_2); + otherlv_1=(Token)match(input,41,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getHeaderAccess().getHeaderKeyword_1()); @@ -14120,7 +14704,7 @@ public final EObject ruleHeader() throws RecognitionException { // $ANTLR start "entryRuleTopicSpecRef" - // InternalRos.g:5498:1: entryRuleTopicSpecRef returns [EObject current=null] : iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ; + // InternalRos.g:5751:1: entryRuleTopicSpecRef returns [EObject current=null] : iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ; public final EObject entryRuleTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14128,8 +14712,8 @@ public final EObject entryRuleTopicSpecRef() throws RecognitionException { try { - // InternalRos.g:5498:53: (iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ) - // InternalRos.g:5499:2: iv_ruleTopicSpecRef= ruleTopicSpecRef EOF + // InternalRos.g:5751:53: (iv_ruleTopicSpecRef= ruleTopicSpecRef EOF ) + // InternalRos.g:5752:2: iv_ruleTopicSpecRef= ruleTopicSpecRef EOF { newCompositeNode(grammarAccess.getTopicSpecRefRule()); pushFollow(FOLLOW_1); @@ -14156,7 +14740,7 @@ public final EObject entryRuleTopicSpecRef() throws RecognitionException { // $ANTLR start "ruleTopicSpecRef" - // InternalRos.g:5505:1: ruleTopicSpecRef returns [EObject current=null] : ( ( ruleEString ) ) ; + // InternalRos.g:5758:1: ruleTopicSpecRef returns [EObject current=null] : ( ( ruleEString ) ) ; public final EObject ruleTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14164,14 +14748,14 @@ public final EObject ruleTopicSpecRef() throws RecognitionException { enterRule(); try { - // InternalRos.g:5511:2: ( ( ( ruleEString ) ) ) - // InternalRos.g:5512:2: ( ( ruleEString ) ) + // InternalRos.g:5764:2: ( ( ( ruleEString ) ) ) + // InternalRos.g:5765:2: ( ( ruleEString ) ) { - // InternalRos.g:5512:2: ( ( ruleEString ) ) - // InternalRos.g:5513:3: ( ruleEString ) + // InternalRos.g:5765:2: ( ( ruleEString ) ) + // InternalRos.g:5766:3: ( ruleEString ) { - // InternalRos.g:5513:3: ( ruleEString ) - // InternalRos.g:5514:4: ruleEString + // InternalRos.g:5766:3: ( ruleEString ) + // InternalRos.g:5767:4: ruleEString { if (current==null) { @@ -14215,7 +14799,7 @@ public final EObject ruleTopicSpecRef() throws RecognitionException { // $ANTLR start "entryRuleArrayTopicSpecRef" - // InternalRos.g:5531:1: entryRuleArrayTopicSpecRef returns [EObject current=null] : iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ; + // InternalRos.g:5784:1: entryRuleArrayTopicSpecRef returns [EObject current=null] : iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ; public final EObject entryRuleArrayTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14223,8 +14807,8 @@ public final EObject entryRuleArrayTopicSpecRef() throws RecognitionException { try { - // InternalRos.g:5531:58: (iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ) - // InternalRos.g:5532:2: iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF + // InternalRos.g:5784:58: (iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF ) + // InternalRos.g:5785:2: iv_ruleArrayTopicSpecRef= ruleArrayTopicSpecRef EOF { newCompositeNode(grammarAccess.getArrayTopicSpecRefRule()); pushFollow(FOLLOW_1); @@ -14251,7 +14835,7 @@ public final EObject entryRuleArrayTopicSpecRef() throws RecognitionException { // $ANTLR start "ruleArrayTopicSpecRef" - // InternalRos.g:5538:1: ruleArrayTopicSpecRef returns [EObject current=null] : ( ( ( ruleEString ) ) otherlv_1= '[]' ) ; + // InternalRos.g:5791:1: ruleArrayTopicSpecRef returns [EObject current=null] : ( ( ( ruleEString ) ) otherlv_1= '[]' ) ; public final EObject ruleArrayTopicSpecRef() throws RecognitionException { EObject current = null; @@ -14261,17 +14845,17 @@ public final EObject ruleArrayTopicSpecRef() throws RecognitionException { enterRule(); try { - // InternalRos.g:5544:2: ( ( ( ( ruleEString ) ) otherlv_1= '[]' ) ) - // InternalRos.g:5545:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) + // InternalRos.g:5797:2: ( ( ( ( ruleEString ) ) otherlv_1= '[]' ) ) + // InternalRos.g:5798:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) { - // InternalRos.g:5545:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) - // InternalRos.g:5546:3: ( ( ruleEString ) ) otherlv_1= '[]' + // InternalRos.g:5798:2: ( ( ( ruleEString ) ) otherlv_1= '[]' ) + // InternalRos.g:5799:3: ( ( ruleEString ) ) otherlv_1= '[]' { - // InternalRos.g:5546:3: ( ( ruleEString ) ) - // InternalRos.g:5547:4: ( ruleEString ) + // InternalRos.g:5799:3: ( ( ruleEString ) ) + // InternalRos.g:5800:4: ( ruleEString ) { - // InternalRos.g:5547:4: ( ruleEString ) - // InternalRos.g:5548:5: ruleEString + // InternalRos.g:5800:4: ( ruleEString ) + // InternalRos.g:5801:5: ruleEString { if (current==null) { @@ -14295,7 +14879,7 @@ public final EObject ruleArrayTopicSpecRef() throws RecognitionException { } - otherlv_1=(Token)match(input,112,FOLLOW_2); + otherlv_1=(Token)match(input,113,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getArrayTopicSpecRefAccess().getLeftSquareBracketRightSquareBracketKeyword_1()); @@ -14322,7 +14906,7 @@ public final EObject ruleArrayTopicSpecRef() throws RecognitionException { // $ANTLR start "entryRuleKEYWORD" - // InternalRos.g:5570:1: entryRuleKEYWORD returns [String current=null] : iv_ruleKEYWORD= ruleKEYWORD EOF ; + // InternalRos.g:5823:1: entryRuleKEYWORD returns [String current=null] : iv_ruleKEYWORD= ruleKEYWORD EOF ; public final String entryRuleKEYWORD() throws RecognitionException { String current = null; @@ -14330,8 +14914,8 @@ public final String entryRuleKEYWORD() throws RecognitionException { try { - // InternalRos.g:5570:47: (iv_ruleKEYWORD= ruleKEYWORD EOF ) - // InternalRos.g:5571:2: iv_ruleKEYWORD= ruleKEYWORD EOF + // InternalRos.g:5823:47: (iv_ruleKEYWORD= ruleKEYWORD EOF ) + // InternalRos.g:5824:2: iv_ruleKEYWORD= ruleKEYWORD EOF { newCompositeNode(grammarAccess.getKEYWORDRule()); pushFollow(FOLLOW_1); @@ -14358,7 +14942,7 @@ public final String entryRuleKEYWORD() throws RecognitionException { // $ANTLR start "ruleKEYWORD" - // InternalRos.g:5577:1: ruleKEYWORD returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ; + // InternalRos.g:5830:1: ruleKEYWORD returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ; public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -14368,79 +14952,79 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { enterRule(); try { - // InternalRos.g:5583:2: ( (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ) - // InternalRos.g:5584:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) + // InternalRos.g:5836:2: ( (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) ) + // InternalRos.g:5837:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) { - // InternalRos.g:5584:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) - int alt74=11; + // InternalRos.g:5837:2: (kw= 'goal' | kw= 'message' | kw= 'result' | kw= 'feedback' | kw= 'name' | kw= 'value' | kw= 'service' | kw= 'type' | kw= 'action' | kw= 'duration' | kw= 'time' ) + int alt81=11; switch ( input.LA(1) ) { - case 44: + case 45: { - alt74=1; + alt81=1; } break; - case 42: + case 43: { - alt74=2; + alt81=2; } break; - case 45: + case 46: { - alt74=3; + alt81=3; } break; - case 46: + case 47: { - alt74=4; + alt81=4; } break; - case 48: + case 49: { - alt74=5; + alt81=5; } break; - case 82: + case 83: { - alt74=6; + alt81=6; } break; - case 57: + case 58: { - alt74=7; + alt81=7; } break; - case 72: + case 73: { - alt74=8; + alt81=8; } break; - case 63: + case 64: { - alt74=9; + alt81=9; } break; - case 98: + case 99: { - alt74=10; + alt81=10; } break; - case 97: + case 98: { - alt74=11; + alt81=11; } break; default: NoViableAltException nvae = - new NoViableAltException("", 74, 0, input); + new NoViableAltException("", 81, 0, input); throw nvae; } - switch (alt74) { + switch (alt81) { case 1 : - // InternalRos.g:5585:3: kw= 'goal' + // InternalRos.g:5838:3: kw= 'goal' { - kw=(Token)match(input,44,FOLLOW_2); + kw=(Token)match(input,45,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getGoalKeyword_0()); @@ -14449,9 +15033,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 2 : - // InternalRos.g:5591:3: kw= 'message' + // InternalRos.g:5844:3: kw= 'message' { - kw=(Token)match(input,42,FOLLOW_2); + kw=(Token)match(input,43,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getMessageKeyword_1()); @@ -14460,9 +15044,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 3 : - // InternalRos.g:5597:3: kw= 'result' + // InternalRos.g:5850:3: kw= 'result' { - kw=(Token)match(input,45,FOLLOW_2); + kw=(Token)match(input,46,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getResultKeyword_2()); @@ -14471,9 +15055,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 4 : - // InternalRos.g:5603:3: kw= 'feedback' + // InternalRos.g:5856:3: kw= 'feedback' { - kw=(Token)match(input,46,FOLLOW_2); + kw=(Token)match(input,47,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getFeedbackKeyword_3()); @@ -14482,9 +15066,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 5 : - // InternalRos.g:5609:3: kw= 'name' + // InternalRos.g:5862:3: kw= 'name' { - kw=(Token)match(input,48,FOLLOW_2); + kw=(Token)match(input,49,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getNameKeyword_4()); @@ -14493,9 +15077,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 6 : - // InternalRos.g:5615:3: kw= 'value' + // InternalRos.g:5868:3: kw= 'value' { - kw=(Token)match(input,82,FOLLOW_2); + kw=(Token)match(input,83,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getValueKeyword_5()); @@ -14504,9 +15088,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 7 : - // InternalRos.g:5621:3: kw= 'service' + // InternalRos.g:5874:3: kw= 'service' { - kw=(Token)match(input,57,FOLLOW_2); + kw=(Token)match(input,58,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getServiceKeyword_6()); @@ -14515,9 +15099,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 8 : - // InternalRos.g:5627:3: kw= 'type' + // InternalRos.g:5880:3: kw= 'type' { - kw=(Token)match(input,72,FOLLOW_2); + kw=(Token)match(input,73,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getTypeKeyword_7()); @@ -14526,9 +15110,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 9 : - // InternalRos.g:5633:3: kw= 'action' + // InternalRos.g:5886:3: kw= 'action' { - kw=(Token)match(input,63,FOLLOW_2); + kw=(Token)match(input,64,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getActionKeyword_8()); @@ -14537,9 +15121,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 10 : - // InternalRos.g:5639:3: kw= 'duration' + // InternalRos.g:5892:3: kw= 'duration' { - kw=(Token)match(input,98,FOLLOW_2); + kw=(Token)match(input,99,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getDurationKeyword_9()); @@ -14548,9 +15132,9 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { } break; case 11 : - // InternalRos.g:5645:3: kw= 'time' + // InternalRos.g:5898:3: kw= 'time' { - kw=(Token)match(input,97,FOLLOW_2); + kw=(Token)match(input,98,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getKEYWORDAccess().getTimeKeyword_10()); @@ -14582,15 +15166,15 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { // Delegated rules - protected DFA73 dfa73 = new DFA73(this); + protected DFA80 dfa80 = new DFA80(this); static final String dfa_1s = "\42\uffff"; static final String dfa_2s = "\36\uffff\2\41\2\uffff"; static final String dfa_3s = "\1\4\35\uffff\2\4\2\uffff"; - static final String dfa_4s = "\1\157\35\uffff\2\160\2\uffff"; + static final String dfa_4s = "\1\160\35\uffff\2\161\2\uffff"; static final String dfa_5s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\2\uffff\1\37\1\36"; static final String dfa_6s = "\42\uffff}>"; static final String[] dfa_7s = { - "\1\36\1\37\42\uffff\1\20\53\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35", + "\1\36\1\37\43\uffff\1\20\53\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35", "", "", "", @@ -14620,8 +15204,8 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { "", "", "", - "\2\41\6\uffff\1\41\35\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\10\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", - "\2\41\6\uffff\1\41\35\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\10\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", + "\2\41\6\uffff\1\41\36\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\10\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", + "\2\41\6\uffff\1\41\36\uffff\1\41\1\uffff\3\41\1\uffff\1\41\10\uffff\1\41\5\uffff\1\41\10\uffff\1\41\11\uffff\1\41\16\uffff\2\41\15\uffff\1\40", "", "" }; @@ -14634,11 +15218,11 @@ public final AntlrDatatypeRuleToken ruleKEYWORD() throws RecognitionException { static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); - class DFA73 extends DFA { + class DFA80 extends DFA { - public DFA73(BaseRecognizer recognizer) { + public DFA80(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 73; + this.decisionNumber = 80; this.eot = dfa_1; this.eof = dfa_2; this.min = dfa_3; @@ -14648,7 +15232,7 @@ public DFA73(BaseRecognizer recognizer) { this.transition = dfa_7; } public String getDescription() { - return "4345:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef )"; + return "4598:2: (this_bool_0= rulebool | this_int8_1= ruleint8 | this_uint8_2= ruleuint8 | this_int16_3= ruleint16 | this_uint16_4= ruleuint16 | this_int32_5= ruleint32 | this_uint32_6= ruleuint32 | this_int64_7= ruleint64 | this_uint64_8= ruleuint64 | this_float32_9= rulefloat32 | this_float64_10= rulefloat64 | this_string0_11= rulestring0 | this_byte_12= rulebyte | this_time_13= ruletime | this_duration_14= ruleduration | this_Header_15= ruleHeader | this_boolArray_16= ruleboolArray | this_int8Array_17= ruleint8Array | this_uint8Array_18= ruleuint8Array | this_int16Array_19= ruleint16Array | this_uint16Array_20= ruleuint16Array | this_int32Array_21= ruleint32Array | this_uint32Array_22= ruleuint32Array | this_int64Array_23= ruleint64Array | this_uint64Array_24= ruleuint64Array | this_float32Array_25= rulefloat32Array | this_float64Array_26= rulefloat64Array | this_string0Array_27= rulestring0Array | this_byteArray_28= rulebyteArray | this_TopicSpecRef_29= ruleTopicSpecRef | this_ArrayTopicSpecRef_30= ruleArrayTopicSpecRef )"; } } @@ -14656,65 +15240,65 @@ public String getDescription() { public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000430000000L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000001430000000L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000018000000L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000420000000L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000001420000000L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000030L}); public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000002D0000000L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000290000000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000089000000000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000112000000000L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000210000000L}); public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000200000000L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000100000060L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000800010000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0001000010000000L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L}); public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000AD0000000L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000A90000000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000030L,0x0000000000000004L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000006010000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000004010000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000030000000030L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000040010000000L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000700010000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000600010000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000400010000000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000010010000030L,0x0000FFFFFFF00000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0001000000000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x00FE000010000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00FC000010000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0800000000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x00F8000010000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x1000000000000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x00F0000010000000L}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x00E0000010000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x00C0000010000000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0080000010000000L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0400000010000000L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000068L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000020000000000L,0x000000000001EE00L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000030L,0x0000000000000008L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x000000C010000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000008010000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000060000000030L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000080010000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000E00010000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000C00010000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000800010000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000020010000030L,0x0001FFFFFFE00000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x01FC000010000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x01F8000010000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x01F0000010000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x01E0000010000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x01C0000010000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0180000010000000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0100000010000000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0800000010000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000000L,0x00000000000000D0L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000040000000000L,0x000000000003DC00L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000400L}); public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000000200L}); public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000010000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000010000000L,0x0000000000002000L}); public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x00000000040007B0L}); - public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000010000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); - public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x8201740000001030L,0x0000000600040100L}); - public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000010000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0402E80000001030L,0x0000000C00080201L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L}); -} +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java index 1404a603d..cd1aff643 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/serializer/RosSemanticSequencer.java @@ -380,7 +380,13 @@ protected void sequence_ActionSpec(ISerializationContext context, ActionSpec sem * AmentPackage returns AmentPackage * * Constraint: - * (name=RosNames (spec+=SpecBase spec+=SpecBase*)? (artifact+=Artifact artifact+=Artifact*)? (dependency+=Dependency dependency+=Dependency*)?) + * ( + * name=RosNames + * fromGitRepo=EString? + * (dependency+=Dependency dependency+=Dependency*)? + * (spec+=SpecBase spec+=SpecBase*)? + * (artifact+=Artifact artifact+=Artifact*)? + * ) */ protected void sequence_AmentPackage(ISerializationContext context, AmentPackage semanticObject) { genericSequencer.createSequence(context, semanticObject); diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java index e26ba58d2..5a6576027 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java @@ -18,11 +18,11 @@ import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; -import org.eclipse.xtext.service.AbstractElementFinder; +import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; import org.eclipse.xtext.service.GrammarProvider; @Singleton -public class RosGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { +public class RosGrammarAccess extends AbstractGrammarElementFinder { public class PackageSetElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.PackageSet"); @@ -39,19 +39,14 @@ public class PackageSetElements extends AbstractParserRuleElementFinder { private final RuleCall cPackagePackageParserRuleCall_3_1_1_0 = (RuleCall)cPackageAssignment_3_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //PackageSet returns PackageSet: - // {PackageSet} - // 'PackageSet' - // '{' - // (package+=Package ( "," package+=Package)* )? - // '}'; + //PackageSet: + // {PackageSet} + // 'PackageSet' + // '{' (package+=Package ("," package+=Package)*)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{PackageSet} - //'PackageSet' - //'{' - // (package+=Package ( "," package+=Package)* )? - //'}' + //{PackageSet} 'PackageSet' '{' (package+=Package ("," package+=Package)*)? '}' public Group getGroup() { return cGroup; } //{PackageSet} @@ -63,7 +58,7 @@ public class PackageSetElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //(package+=Package ( "," package+=Package)* )? + //(package+=Package ("," package+=Package)*)? public Group getGroup_3() { return cGroup_3; } //package+=Package @@ -72,7 +67,7 @@ public class PackageSetElements extends AbstractParserRuleElementFinder { //Package public RuleCall getPackagePackageParserRuleCall_3_0_0() { return cPackagePackageParserRuleCall_3_0_0; } - //( "," package+=Package)* + //("," package+=Package)* public Group getGroup_3_1() { return cGroup_3_1; } //"," @@ -92,12 +87,13 @@ public class PackageElements extends AbstractParserRuleElementFinder { private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cPackage_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cCatkinPackageParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cAmentPackageParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //Package returns Package: - // Package_Impl | CatkinPackage; + //Package: + // Package_Impl | CatkinPackage | AmentPackage; @Override public ParserRule getRule() { return rule; } - //Package_Impl | CatkinPackage + //Package_Impl | CatkinPackage | AmentPackage public Alternatives getAlternatives() { return cAlternatives; } //Package_Impl @@ -105,6 +101,9 @@ public class PackageElements extends AbstractParserRuleElementFinder { //CatkinPackage public RuleCall getCatkinPackageParserRuleCall_1() { return cCatkinPackageParserRuleCall_1; } + + //AmentPackage + public RuleCall getAmentPackageParserRuleCall_2() { return cAmentPackageParserRuleCall_2; } } public class SpecBaseElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.SpecBase"); @@ -113,8 +112,8 @@ public class SpecBaseElements extends AbstractParserRuleElementFinder { private final RuleCall cTopicSpecParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cActionSpecParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //SpecBase returns SpecBase: - // ServiceSpec | TopicSpec | ActionSpec; + //SpecBase: + // ServiceSpec | TopicSpec | ActionSpec; @Override public ParserRule getRule() { return rule; } //ServiceSpec | TopicSpec | ActionSpec @@ -135,8 +134,8 @@ public class DependencyElements extends AbstractParserRuleElementFinder { private final RuleCall cPackageDependencyParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cExternalDependencyParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //Dependency returns Dependency: - // PackageDependency | ExternalDependency; + //Dependency: + // PackageDependency | ExternalDependency; @Override public ParserRule getRule() { return rule; } //PackageDependency | ExternalDependency @@ -155,8 +154,8 @@ public class NamespaceElements extends AbstractParserRuleElementFinder { private final RuleCall cRelativeNamespace_ImplParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cPrivateNamespaceParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //Namespace returns Namespace: - // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; + //Namespace: + // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; @Override public ParserRule getRule() { return rule; } //GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace @@ -202,25 +201,17 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { private final RuleCall cArtifactArtifactParserRuleCall_6_1_1_0 = (RuleCall)cArtifactAssignment_6_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //Package_Impl returns Package: - // {Package} - // 'Package' - // name=EString - // '{' - // ('FromGitRepo' fromGitRepo=EString)? - // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? - // (artifact+=Artifact ( "," artifact+=Artifact)*)? - // '}'; + //Package_Impl Package: + // {Package} + // 'Package' + // name=EString + // '{' ('FromGitRepo' fromGitRepo=EString)? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact + // ("," artifact+=Artifact)*)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{Package} - //'Package' - //name=EString - //'{' - // ('FromGitRepo' fromGitRepo=EString)? - // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? - // (artifact+=Artifact ( "," artifact+=Artifact)*)? - //'}' + //{Package} 'Package' name=EString '{' ('FromGitRepo' fromGitRepo=EString)? ('Specs' '{' spec+=SpecBase ("," + //spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? '}' public Group getGroup() { return cGroup; } //{Package} @@ -250,7 +241,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //EString public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } - //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + //('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? public Group getGroup_5() { return cGroup_5; } //'Specs' @@ -265,7 +256,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //SpecBase public RuleCall getSpecSpecBaseParserRuleCall_5_2_0() { return cSpecSpecBaseParserRuleCall_5_2_0; } - //( "," spec+=SpecBase)* + //("," spec+=SpecBase)* public Group getGroup_5_3() { return cGroup_5_3; } //"," @@ -280,7 +271,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - //(artifact+=Artifact ( "," artifact+=Artifact)*)? + //(artifact+=Artifact ("," artifact+=Artifact)*)? public Group getGroup_6() { return cGroup_6; } //artifact+=Artifact @@ -289,7 +280,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //Artifact public RuleCall getArtifactArtifactParserRuleCall_6_0_0() { return cArtifactArtifactParserRuleCall_6_0_0; } - //( "," artifact+=Artifact)* + //("," artifact+=Artifact)* public Group getGroup_6_1() { return cGroup_6_1; } //"," @@ -310,8 +301,8 @@ public class EStringElements extends AbstractParserRuleElementFinder { private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //EString returns ecore::EString: - // STRING | ID; + //EString: + // STRING | ID; @Override public ParserRule getRule() { return rule; } //STRING | ID @@ -330,9 +321,8 @@ public class RosNamesElements extends AbstractParserRuleElementFinder { private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final Keyword cNodeKeyword_2 = (Keyword)cAlternatives.eContents().get(2); - //RosNames returns ecore::EString: - // ROS_CONVENTION_A | ID | 'node' - //; + //RosNames: + // ROS_CONVENTION_A | ID | 'node'; @Override public ParserRule getRule() { return rule; } //ROS_CONVENTION_A | ID | 'node' @@ -353,9 +343,8 @@ public class RosParamNamesElements extends AbstractParserRuleElementFinder { private final RuleCall cROS_CONVENTION_PARAMTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //RosParamNames returns ecore::EString: - // ROS_CONVENTION_PARAM | ID - //; + //RosParamNames: + // ROS_CONVENTION_PARAM | ID; @Override public ParserRule getRule() { return rule; } //ROS_CONVENTION_PARAM | ID @@ -379,21 +368,16 @@ public class ArtifactElements extends AbstractParserRuleElementFinder { private final RuleCall cNodeNodeParserRuleCall_4_0 = (RuleCall)cNodeAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //Artifact returns Artifact: - // {Artifact} - // 'Artifact' - // name=RosNames - // '{' - // (node=Node)? - // '}'; + //Artifact: + // {Artifact} + // 'Artifact' + // name=RosNames + // '{' + // node=Node? + // '}'; @Override public ParserRule getRule() { return rule; } - //{Artifact} - //'Artifact' - //name=RosNames - //'{' - // (node=Node)? - //'}' + //{Artifact} 'Artifact' name=RosNames '{' node=Node? '}' public Group getGroup() { return cGroup; } //{Artifact} @@ -411,7 +395,7 @@ public class ArtifactElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - //(node=Node)? + //node=Node? public Assignment getNodeAssignment_4() { return cNodeAssignment_4; } //Node @@ -461,34 +445,191 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { private final RuleCall cArtifactArtifactParserRuleCall_7_1_1_0 = (RuleCall)cArtifactAssignment_7_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); - //CatkinPackage returns CatkinPackage: - // {CatkinPackage} - // 'CatkinPackage' - // name=RosNames - // '{' - // ('FromGitRepo' fromGitRepo=EString)? - // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? - // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? - // (artifact+=Artifact ( "," artifact+=Artifact)*)? - // '}'; + //CatkinPackage: + // {CatkinPackage} + // 'CatkinPackage' + // name=RosNames + // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* + // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? + // '}'; @Override public ParserRule getRule() { return rule; } + //{CatkinPackage} 'CatkinPackage' name=RosNames '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' + //dependency+=Dependency ("," dependency+=Dependency)* '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? + //(artifact+=Artifact ("," artifact+=Artifact)*)? '}' + public Group getGroup() { return cGroup; } + //{CatkinPackage} + public Action getCatkinPackageAction_0() { return cCatkinPackageAction_0; } + //'CatkinPackage' + public Keyword getCatkinPackageKeyword_1() { return cCatkinPackageKeyword_1; } + //name=RosNames + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //RosNames + public RuleCall getNameRosNamesParserRuleCall_2_0() { return cNameRosNamesParserRuleCall_2_0; } + //'{' - // ('FromGitRepo' fromGitRepo=EString)? - // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? - // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? - // (artifact+=Artifact ( "," artifact+=Artifact)*)? + public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } + + //('FromGitRepo' fromGitRepo=EString)? + public Group getGroup_4() { return cGroup_4; } + + //'FromGitRepo' + public Keyword getFromGitRepoKeyword_4_0() { return cFromGitRepoKeyword_4_0; } + + //fromGitRepo=EString + public Assignment getFromGitRepoAssignment_4_1() { return cFromGitRepoAssignment_4_1; } + + //EString + public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } + + //('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* '}')? + public Group getGroup_5() { return cGroup_5; } + + //'Dependencies' + public Keyword getDependenciesKeyword_5_0() { return cDependenciesKeyword_5_0; } + + //'{' + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //dependency+=Dependency + public Assignment getDependencyAssignment_5_2() { return cDependencyAssignment_5_2; } + + //Dependency + public RuleCall getDependencyDependencyParserRuleCall_5_2_0() { return cDependencyDependencyParserRuleCall_5_2_0; } + + //("," dependency+=Dependency)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //dependency+=Dependency + public Assignment getDependencyAssignment_5_3_1() { return cDependencyAssignment_5_3_1; } + + //Dependency + public RuleCall getDependencyDependencyParserRuleCall_5_3_1_0() { return cDependencyDependencyParserRuleCall_5_3_1_0; } + + //'}' + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? + public Group getGroup_6() { return cGroup_6; } + + //'Specs' + public Keyword getSpecsKeyword_6_0() { return cSpecsKeyword_6_0; } + + //'{' + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //spec+=SpecBase + public Assignment getSpecAssignment_6_2() { return cSpecAssignment_6_2; } + + //SpecBase + public RuleCall getSpecSpecBaseParserRuleCall_6_2_0() { return cSpecSpecBaseParserRuleCall_6_2_0; } + + //("," spec+=SpecBase)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //spec+=SpecBase + public Assignment getSpecAssignment_6_3_1() { return cSpecAssignment_6_3_1; } + + //SpecBase + public RuleCall getSpecSpecBaseParserRuleCall_6_3_1_0() { return cSpecSpecBaseParserRuleCall_6_3_1_0; } + //'}' + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //(artifact+=Artifact ("," artifact+=Artifact)*)? + public Group getGroup_7() { return cGroup_7; } + + //artifact+=Artifact + public Assignment getArtifactAssignment_7_0() { return cArtifactAssignment_7_0; } + + //Artifact + public RuleCall getArtifactArtifactParserRuleCall_7_0_0() { return cArtifactArtifactParserRuleCall_7_0_0; } + + //("," artifact+=Artifact)* + public Group getGroup_7_1() { return cGroup_7_1; } + + //"," + public Keyword getCommaKeyword_7_1_0() { return cCommaKeyword_7_1_0; } + + //artifact+=Artifact + public Assignment getArtifactAssignment_7_1_1() { return cArtifactAssignment_7_1_1; } + + //Artifact + public RuleCall getArtifactArtifactParserRuleCall_7_1_1_0() { return cArtifactArtifactParserRuleCall_7_1_1_0; } + + //'}' + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } + } + public class AmentPackageElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.AmentPackage"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cAmentPackageAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cAmentPackageKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameRosNamesParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cFromGitRepoKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cFromGitRepoAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final RuleCall cFromGitRepoEStringParserRuleCall_4_1_0 = (RuleCall)cFromGitRepoAssignment_4_1.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cDependenciesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cDependencyAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cDependencyDependencyParserRuleCall_5_2_0 = (RuleCall)cDependencyAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cDependencyAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cDependencyDependencyParserRuleCall_5_3_1_0 = (RuleCall)cDependencyAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cSpecsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cSpecAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cSpecSpecBaseParserRuleCall_6_2_0 = (RuleCall)cSpecAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cSpecAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cSpecSpecBaseParserRuleCall_6_3_1_0 = (RuleCall)cSpecAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Assignment cArtifactAssignment_7_0 = (Assignment)cGroup_7.eContents().get(0); + private final RuleCall cArtifactArtifactParserRuleCall_7_0_0 = (RuleCall)cArtifactAssignment_7_0.eContents().get(0); + private final Group cGroup_7_1 = (Group)cGroup_7.eContents().get(1); + private final Keyword cCommaKeyword_7_1_0 = (Keyword)cGroup_7_1.eContents().get(0); + private final Assignment cArtifactAssignment_7_1_1 = (Assignment)cGroup_7_1.eContents().get(1); + private final RuleCall cArtifactArtifactParserRuleCall_7_1_1_0 = (RuleCall)cArtifactAssignment_7_1_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //AmentPackage: + // {AmentPackage} + // 'AmentPackage' + // name=RosNames + // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* + // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? + // '}'; + @Override public ParserRule getRule() { return rule; } + + //{AmentPackage} 'AmentPackage' name=RosNames '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' + //dependency+=Dependency ("," dependency+=Dependency)* '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? + //(artifact+=Artifact ("," artifact+=Artifact)*)? '}' public Group getGroup() { return cGroup; } - //{CatkinPackage} - public Action getCatkinPackageAction_0() { return cCatkinPackageAction_0; } + //{AmentPackage} + public Action getAmentPackageAction_0() { return cAmentPackageAction_0; } - //'CatkinPackage' - public Keyword getCatkinPackageKeyword_1() { return cCatkinPackageKeyword_1; } + //'AmentPackage' + public Keyword getAmentPackageKeyword_1() { return cAmentPackageKeyword_1; } //name=RosNames public Assignment getNameAssignment_2() { return cNameAssignment_2; } @@ -511,7 +652,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //EString public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } - //('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + //('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* '}')? public Group getGroup_5() { return cGroup_5; } //'Dependencies' @@ -526,7 +667,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //Dependency public RuleCall getDependencyDependencyParserRuleCall_5_2_0() { return cDependencyDependencyParserRuleCall_5_2_0; } - //( "," dependency+=Dependency)* + //("," dependency+=Dependency)* public Group getGroup_5_3() { return cGroup_5_3; } //"," @@ -541,7 +682,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + //('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? public Group getGroup_6() { return cGroup_6; } //'Specs' @@ -556,7 +697,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //SpecBase public RuleCall getSpecSpecBaseParserRuleCall_6_2_0() { return cSpecSpecBaseParserRuleCall_6_2_0; } - //( "," spec+=SpecBase)* + //("," spec+=SpecBase)* public Group getGroup_6_3() { return cGroup_6_3; } //"," @@ -571,7 +712,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } - //(artifact+=Artifact ( "," artifact+=Artifact)*)? + //(artifact+=Artifact ("," artifact+=Artifact)*)? public Group getGroup_7() { return cGroup_7; } //artifact+=Artifact @@ -580,7 +721,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //Artifact public RuleCall getArtifactArtifactParserRuleCall_7_0_0() { return cArtifactArtifactParserRuleCall_7_0_0; } - //( "," artifact+=Artifact)* + //("," artifact+=Artifact)* public Group getGroup_7_1() { return cGroup_7_1; } //"," @@ -613,23 +754,16 @@ public class ServiceSpecElements extends AbstractParserRuleElementFinder { private final RuleCall cResponseMessageDefinitionParserRuleCall_5_1_0 = (RuleCall)cResponseAssignment_5_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - //ServiceSpec returns ServiceSpec: - // {ServiceSpec} - // 'ServiceSpec' - // name=EString - // '{' - // ('request' request=MessageDefinition)? - // ('response' response=MessageDefinition)? - // '}'; + //ServiceSpec: + // {ServiceSpec} + // 'ServiceSpec' + // name=EString + // '{' ('request' request=MessageDefinition)? ('response' response=MessageDefinition)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{ServiceSpec} - //'ServiceSpec' - //name=EString - //'{' - // ('request' request=MessageDefinition)? - // ('response' response=MessageDefinition)? - //'}' + //{ServiceSpec} 'ServiceSpec' name=EString '{' ('request' request=MessageDefinition)? ('response' + //response=MessageDefinition)? '}' public Group getGroup() { return cGroup; } //{ServiceSpec} @@ -691,21 +825,15 @@ public class TopicSpecElements extends AbstractParserRuleElementFinder { private final RuleCall cMessageMessageDefinitionParserRuleCall_4_1_0 = (RuleCall)cMessageAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //TopicSpec returns TopicSpec: - // {TopicSpec} - // 'TopicSpec' - // name=(EString|'Header'|'String') - // '{' - // ('message' message=MessageDefinition)? - // '}'; + //TopicSpec: + // {TopicSpec} + // 'TopicSpec' + // name=(EString | 'Header' | 'String') + // '{' ('message' message=MessageDefinition)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{TopicSpec} - //'TopicSpec' - //name=(EString|'Header'|'String') - //'{' - // ('message' message=MessageDefinition)? - //'}' + //{TopicSpec} 'TopicSpec' name=(EString | 'Header' | 'String') '{' ('message' message=MessageDefinition)? '}' public Group getGroup() { return cGroup; } //{TopicSpec} @@ -714,10 +842,10 @@ public class TopicSpecElements extends AbstractParserRuleElementFinder { //'TopicSpec' public Keyword getTopicSpecKeyword_1() { return cTopicSpecKeyword_1; } - //name=(EString|'Header'|'String') + //name=(EString | 'Header' | 'String') public Assignment getNameAssignment_2() { return cNameAssignment_2; } - //(EString|'Header'|'String') + //(EString | 'Header' | 'String') public Alternatives getNameAlternatives_2_0() { return cNameAlternatives_2_0; } //EString @@ -769,25 +897,16 @@ public class ActionSpecElements extends AbstractParserRuleElementFinder { private final RuleCall cFeedbackMessageDefinitionParserRuleCall_6_1_0 = (RuleCall)cFeedbackAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ActionSpec returns ActionSpec: - // {ActionSpec} - // 'ActionSpec' - // name=EString - // '{' - // ('goal' goal=MessageDefinition)? - // ('result' result=MessageDefinition)? - // ('feedback' feedback=MessageDefinition)? - // '}'; + //ActionSpec: + // {ActionSpec} + // 'ActionSpec' + // name=EString + // '{' ('goal' goal=MessageDefinition)? ('result' result=MessageDefinition)? ('feedback' feedback=MessageDefinition)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{ActionSpec} - //'ActionSpec' - //name=EString - //'{' - // ('goal' goal=MessageDefinition)? - // ('result' result=MessageDefinition)? - // ('feedback' feedback=MessageDefinition)? - //'}' + //{ActionSpec} 'ActionSpec' name=EString '{' ('goal' goal=MessageDefinition)? ('result' result=MessageDefinition)? + //('feedback' feedback=MessageDefinition)? '}' public Group getGroup() { return cGroup; } //{ActionSpec} @@ -856,17 +975,13 @@ public class MessageDefinitionElements extends AbstractParserRuleElementFinder { private final RuleCall cMessagePartMessagePartParserRuleCall_2_1_0 = (RuleCall)cMessagePartAssignment_2_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - //MessageDefinition returns MessageDefinition: - // {MessageDefinition} - // '{' - // ( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? - // '}'; + //MessageDefinition: + // {MessageDefinition} + // '{' (MessagePart+=MessagePart MessagePart+=MessagePart*)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{MessageDefinition} - //'{' - // ( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? - //'}' + //{MessageDefinition} '{' (MessagePart+=MessagePart MessagePart+=MessagePart*)? '}' public Group getGroup() { return cGroup; } //{MessageDefinition} @@ -875,7 +990,7 @@ public class MessageDefinitionElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } - //( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? + //(MessagePart+=MessagePart MessagePart+=MessagePart*)? public Group getGroup_2() { return cGroup_2; } //MessagePart+=MessagePart @@ -884,7 +999,7 @@ public class MessageDefinitionElements extends AbstractParserRuleElementFinder { //MessagePart public RuleCall getMessagePartMessagePartParserRuleCall_2_0_0() { return cMessagePartMessagePartParserRuleCall_2_0_0; } - //( MessagePart+=MessagePart)* + //MessagePart+=MessagePart* public Assignment getMessagePartAssignment_2_1() { return cMessagePartAssignment_2_1; } //MessagePart @@ -973,31 +1088,24 @@ public class NodeElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); - //Node returns Node: - // 'Node' - // '{' - // 'name' name=RosNames - // ('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? - // ('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? - // ('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? - // ('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? - // ('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? - // ('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? - // ('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? - // '}'; + //Node: + // 'Node' + // '{' + // 'name' name=RosNames ('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* '}')? + // ('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? ('Subscribers' '{' subscriber+=Subscriber + // ("," subscriber+=Subscriber)* '}')? ('ServiceClients' '{' serviceclient+=ServiceClient ("," + // serviceclient+=ServiceClient)* '}')? ('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* + // '}')? ('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? ('Parameters' '{' + // parameter+=Parameter ("," parameter+=Parameter)* '}')? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Node' - //'{' - // 'name' name=RosNames - // ('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? - // ('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? - // ('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? - // ('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? - // ('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? - // ('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? - // ('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? - //'}' + //'Node' '{' 'name' name=RosNames ('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* + //'}')? ('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? ('Subscribers' '{' + //subscriber+=Subscriber ("," subscriber+=Subscriber)* '}')? ('ServiceClients' '{' serviceclient+=ServiceClient ("," + //serviceclient+=ServiceClient)* '}')? ('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* + //'}')? ('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? ('Parameters' '{' + //parameter+=Parameter ("," parameter+=Parameter)* '}')? '}' public Group getGroup() { return cGroup; } //'Node' @@ -1015,7 +1123,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //RosNames public RuleCall getNameRosNamesParserRuleCall_3_0() { return cNameRosNamesParserRuleCall_3_0; } - //('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? + //('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* '}')? public Group getGroup_4() { return cGroup_4; } //'ServiceServers' @@ -1030,7 +1138,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ServiceServer public RuleCall getServiceserverServiceServerParserRuleCall_4_2_0() { return cServiceserverServiceServerParserRuleCall_4_2_0; } - //( "," serviceserver+=ServiceServer)* + //("," serviceserver+=ServiceServer)* public Group getGroup_4_3() { return cGroup_4_3; } //"," @@ -1045,7 +1153,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; } - //('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? + //('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? public Group getGroup_5() { return cGroup_5; } //'Publishers' @@ -1060,7 +1168,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //Publisher public RuleCall getPublisherPublisherParserRuleCall_5_2_0() { return cPublisherPublisherParserRuleCall_5_2_0; } - //( "," publisher+=Publisher)* + //("," publisher+=Publisher)* public Group getGroup_5_3() { return cGroup_5_3; } //"," @@ -1075,7 +1183,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - //('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? + //('Subscribers' '{' subscriber+=Subscriber ("," subscriber+=Subscriber)* '}')? public Group getGroup_6() { return cGroup_6; } //'Subscribers' @@ -1090,7 +1198,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //Subscriber public RuleCall getSubscriberSubscriberParserRuleCall_6_2_0() { return cSubscriberSubscriberParserRuleCall_6_2_0; } - //( "," subscriber+=Subscriber)* + //("," subscriber+=Subscriber)* public Group getGroup_6_3() { return cGroup_6_3; } //"," @@ -1105,7 +1213,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } - //('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? + //('ServiceClients' '{' serviceclient+=ServiceClient ("," serviceclient+=ServiceClient)* '}')? public Group getGroup_7() { return cGroup_7; } //'ServiceClients' @@ -1120,7 +1228,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ServiceClient public RuleCall getServiceclientServiceClientParserRuleCall_7_2_0() { return cServiceclientServiceClientParserRuleCall_7_2_0; } - //( "," serviceclient+=ServiceClient)* + //("," serviceclient+=ServiceClient)* public Group getGroup_7_3() { return cGroup_7_3; } //"," @@ -1135,7 +1243,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } - //('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? + //('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* '}')? public Group getGroup_8() { return cGroup_8; } //'ActionServers' @@ -1150,7 +1258,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ActionServer public RuleCall getActionserverActionServerParserRuleCall_8_2_0() { return cActionserverActionServerParserRuleCall_8_2_0; } - //( "," actionserver+=ActionServer)* + //("," actionserver+=ActionServer)* public Group getGroup_8_3() { return cGroup_8_3; } //"," @@ -1165,7 +1273,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; } - //('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? + //('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? public Group getGroup_9() { return cGroup_9; } //'ActionClients' @@ -1180,7 +1288,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ActionClient public RuleCall getActionclientActionClientParserRuleCall_9_2_0() { return cActionclientActionClientParserRuleCall_9_2_0; } - //( "," actionclient+=ActionClient)* + //("," actionclient+=ActionClient)* public Group getGroup_9_3() { return cGroup_9_3; } //"," @@ -1195,7 +1303,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; } - //('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? + //('Parameters' '{' parameter+=Parameter ("," parameter+=Parameter)* '}')? public Group getGroup_10() { return cGroup_10; } //'Parameters' @@ -1210,7 +1318,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //Parameter public RuleCall getParameterParameterParserRuleCall_10_2_0() { return cParameterParameterParserRuleCall_10_2_0; } - //( "," parameter+=Parameter)* + //("," parameter+=Parameter)* public Group getGroup_10_3() { return cGroup_10_3; } //"," @@ -1246,21 +1354,15 @@ public class ServiceServerElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ServiceServer returns ServiceServer: - // 'ServiceServer' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ServiceServer: + // 'ServiceServer' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ServiceServer' - //'{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] - // ('namespace' namespace=Namespace)? - //'}' + //'ServiceServer' '{' 'name' name=EString 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? '}' public Group getGroup() { return cGroup; } //'ServiceServer' @@ -1323,21 +1425,15 @@ public class PublisherElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //Publisher returns Publisher: - // 'Publisher' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //Publisher: + // 'Publisher' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Publisher' - //'{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] - // ('namespace' namespace=Namespace)? - //'}' + //'Publisher' '{' 'name' name=EString 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? '}' public Group getGroup() { return cGroup; } //'Publisher' @@ -1400,21 +1496,15 @@ public class SubscriberElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //Subscriber returns Subscriber: - // 'Subscriber' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //Subscriber: + // 'Subscriber' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Subscriber' - //'{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] - // ('namespace' namespace=Namespace)? - //'}' + //'Subscriber' '{' 'name' name=EString 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? '}' public Group getGroup() { return cGroup; } //'Subscriber' @@ -1477,21 +1567,15 @@ public class ServiceClientElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ServiceClient returns ServiceClient: - // 'ServiceClient' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ServiceClient: + // 'ServiceClient' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ServiceClient' - //'{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] - // ('namespace' namespace=Namespace)? - //'}' + //'ServiceClient' '{' 'name' name=EString 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? '}' public Group getGroup() { return cGroup; } //'ServiceClient' @@ -1554,21 +1638,15 @@ public class ActionServerElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ActionServer returns ActionServer: - // 'ActionServer' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ActionServer: + // 'ActionServer' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ActionServer' - //'{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] - // ('namespace' namespace=Namespace)? - //'}' + //'ActionServer' '{' 'name' name=EString 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? '}' public Group getGroup() { return cGroup; } //'ActionServer' @@ -1631,21 +1709,15 @@ public class ActionClientElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ActionClient returns ActionClient: - // 'ActionClient' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ActionClient: + // 'ActionClient' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ActionClient' - //'{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] - // ('namespace' namespace=Namespace)? - //'}' + //'ActionClient' '{' 'name' name=EString 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? '}' public Group getGroup() { return cGroup; } //'ActionClient' @@ -1694,8 +1766,8 @@ public class GraphNameElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.GraphName"); private final Keyword cGraphNameKeyword = (Keyword)rule.eContents().get(1); - //GraphName returns GraphName: - // 'GraphName' ; + //GraphName GraphName: + // 'GraphName'; @Override public ParserRule getRule() { return rule; } //'GraphName' @@ -1707,9 +1779,8 @@ public class PackageDependencyElements extends AbstractParserRuleElementFinder { private final CrossReference cPackagePackageCrossReference_0 = (CrossReference)cPackageAssignment.eContents().get(0); private final RuleCall cPackagePackageEStringParserRuleCall_0_1 = (RuleCall)cPackagePackageCrossReference_0.eContents().get(1); - //PackageDependency returns PackageDependency: - // package=[Package|EString] - //; + //PackageDependency: + // package=[Package|EString]; @Override public ParserRule getRule() { return rule; } //package=[Package|EString] @@ -1729,15 +1800,13 @@ public class ExternalDependencyElements extends AbstractParserRuleElementFinder private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); - //ExternalDependency returns ExternalDependency: - // {ExternalDependency} - // 'ExternalDependency' - // name=EString; + //ExternalDependency: + // {ExternalDependency} + // 'ExternalDependency' + // name=EString; @Override public ParserRule getRule() { return rule; } - //{ExternalDependency} - //'ExternalDependency' - //name=EString + //{ExternalDependency} 'ExternalDependency' name=EString public Group getGroup() { return cGroup; } //{ExternalDependency} @@ -1770,19 +1839,14 @@ public class GlobalNamespaceElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //GlobalNamespace returns GlobalNamespace: - // {GlobalNamespace} - // 'GlobalNamespace' - // '{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - // '}'; + //GlobalNamespace: + // {GlobalNamespace} + // 'GlobalNamespace' + // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + // '}'; @Override public ParserRule getRule() { return rule; } - //{GlobalNamespace} - //'GlobalNamespace' - //'{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - //'}' + //{GlobalNamespace} 'GlobalNamespace' '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? '}' public Group getGroup() { return cGroup; } //{GlobalNamespace} @@ -1794,7 +1858,7 @@ public class GlobalNamespaceElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + //('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? public Group getGroup_3() { return cGroup_3; } //'parts' @@ -1809,7 +1873,7 @@ public class GlobalNamespaceElements extends AbstractParserRuleElementFinder { //GraphName public RuleCall getPartsGraphNameParserRuleCall_3_2_0() { return cPartsGraphNameParserRuleCall_3_2_0; } - //( "," parts+=GraphName)* + //("," parts+=GraphName)* public Group getGroup_3_3() { return cGroup_3_3; } //"," @@ -1845,19 +1909,14 @@ public class RelativeNamespace_ImplElements extends AbstractParserRuleElementFin private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //RelativeNamespace_Impl returns RelativeNamespace: - // {RelativeNamespace} - // 'RelativeNamespace' - // '{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - // '}'; + //RelativeNamespace_Impl RelativeNamespace: + // {RelativeNamespace} + // 'RelativeNamespace' + // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + // '}'; @Override public ParserRule getRule() { return rule; } - //{RelativeNamespace} - //'RelativeNamespace' - //'{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - //'}' + //{RelativeNamespace} 'RelativeNamespace' '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? '}' public Group getGroup() { return cGroup; } //{RelativeNamespace} @@ -1869,7 +1928,7 @@ public class RelativeNamespace_ImplElements extends AbstractParserRuleElementFin //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + //('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? public Group getGroup_3() { return cGroup_3; } //'parts' @@ -1884,7 +1943,7 @@ public class RelativeNamespace_ImplElements extends AbstractParserRuleElementFin //GraphName public RuleCall getPartsGraphNameParserRuleCall_3_2_0() { return cPartsGraphNameParserRuleCall_3_2_0; } - //( "," parts+=GraphName)* + //("," parts+=GraphName)* public Group getGroup_3_3() { return cGroup_3_3; } //"," @@ -1920,19 +1979,14 @@ public class PrivateNamespaceElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //PrivateNamespace returns PrivateNamespace: - // {PrivateNamespace} - // 'PrivateNamespace' - // '{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - // '}'; + //PrivateNamespace: + // {PrivateNamespace} + // 'PrivateNamespace' + // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + // '}'; @Override public ParserRule getRule() { return rule; } - //{PrivateNamespace} - //'PrivateNamespace' - //'{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - //'}' + //{PrivateNamespace} 'PrivateNamespace' '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? '}' public Group getGroup() { return cGroup; } //{PrivateNamespace} @@ -1944,7 +1998,7 @@ public class PrivateNamespaceElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + //('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? public Group getGroup_3() { return cGroup_3; } //'parts' @@ -1959,7 +2013,7 @@ public class PrivateNamespaceElements extends AbstractParserRuleElementFinder { //GraphName public RuleCall getPartsGraphNameParserRuleCall_3_2_0() { return cPartsGraphNameParserRuleCall_3_2_0; } - //( "," parts+=GraphName)* + //("," parts+=GraphName)* public Group getGroup_3_3() { return cGroup_3_3; } //"," @@ -1995,21 +2049,15 @@ public class ParameterElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); ////PARAMETERS DEFINITION - //Parameter returns Parameter: - // 'Parameter' - // '{' - // 'name' name=EString - // ('namespace' namespace=Namespace)? - // 'type' type=ParameterType - // '}'; + //Parameter: + // 'Parameter' + // '{' + // 'name' name=EString ('namespace' namespace=Namespace)? + // 'type' type=ParameterType + // '}'; @Override public ParserRule getRule() { return rule; } - //'Parameter' - //'{' - // 'name' name=EString - // ('namespace' namespace=Namespace)? - // 'type' type=ParameterType - //'}' + //'Parameter' '{' 'name' name=EString ('namespace' namespace=Namespace)? 'type' type=ParameterType '}' public Group getGroup() { return cGroup; } //'Parameter' @@ -2063,11 +2111,13 @@ public class ParameterTypeElements extends AbstractParserRuleElementFinder { private final RuleCall cParameterBase64TypeParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); private final RuleCall cParameterArrayTypeParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); - //ParameterType returns ParameterType: - // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | ParameterBooleanType | ParameterBase64Type | ParameterArrayType; + //ParameterType: + // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | + // ParameterBooleanType | ParameterBase64Type | ParameterArrayType; @Override public ParserRule getRule() { return rule; } - //ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | ParameterBooleanType | ParameterBase64Type | ParameterArrayType + //ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | + //ParameterBooleanType | ParameterBase64Type | ParameterArrayType public Alternatives getAlternatives() { return cAlternatives; } //ParameterListType @@ -2105,12 +2155,14 @@ public class ParameterValueElements extends AbstractParserRuleElementFinder { private final RuleCall cParameterListParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cParameterStructParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); - // // | ParameterDateType; - //ParameterValue returns ParameterValue: - // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | ParameterStruct; + //// | ParameterDateType; + //ParameterValue: + // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | + // ParameterStruct; @Override public ParserRule getRule() { return rule; } - //ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | ParameterStruct + //ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | + //ParameterStruct public Alternatives getAlternatives() { return cAlternatives; } //ParameterString @@ -2148,20 +2200,16 @@ public class ParameterListTypeElements extends AbstractParserRuleElementFinder { private final RuleCall cSequenceParameterTypeParserRuleCall_4_1_0 = (RuleCall)cSequenceAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - // // | ParameterDate; - //ParameterListType returns ParameterListType: - // {ParameterListType} - // 'List' - // '{' - // sequence+=ParameterType ( ',' sequence+=ParameterType )* - // '}'; + //// | ParameterDate; + //ParameterListType: + // {ParameterListType} + // 'List' + // '{' + // sequence+=ParameterType (',' sequence+=ParameterType)* + // '}'; @Override public ParserRule getRule() { return rule; } - //{ParameterListType} - //'List' - //'{' - // sequence+=ParameterType ( ',' sequence+=ParameterType )* - //'}' + //{ParameterListType} 'List' '{' sequence+=ParameterType (',' sequence+=ParameterType)* '}' public Group getGroup() { return cGroup; } //{ParameterListType} @@ -2179,7 +2227,7 @@ public class ParameterListTypeElements extends AbstractParserRuleElementFinder { //ParameterType public RuleCall getSequenceParameterTypeParserRuleCall_3_0() { return cSequenceParameterTypeParserRuleCall_3_0; } - //( ',' sequence+=ParameterType )* + //(',' sequence+=ParameterType)* public Group getGroup_4() { return cGroup_4; } //',' @@ -2208,19 +2256,16 @@ public class ParameterStructTypeElements extends AbstractParserRuleElementFinder private final RuleCall cParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0 = (RuleCall)cParameterstructypetmemberAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //ParameterStructType returns ParameterStructType: - // {ParameterStructType} - // 'Struct' - // '{' - // parameterstructypetmember+=ParameterStructTypeMember ( "," parameterstructypetmember+=ParameterStructTypeMember)* - // '}'; + //ParameterStructType: + // {ParameterStructType} + // 'Struct' + // '{' + // parameterstructypetmember+=ParameterStructTypeMember ("," parameterstructypetmember+=ParameterStructTypeMember)* + // '}'; @Override public ParserRule getRule() { return rule; } - //{ParameterStructType} - //'Struct' - //'{' - // parameterstructypetmember+=ParameterStructTypeMember ( "," parameterstructypetmember+=ParameterStructTypeMember)* - //'}' + //{ParameterStructType} 'Struct' '{' parameterstructypetmember+=ParameterStructTypeMember ("," + //parameterstructypetmember+=ParameterStructTypeMember)* '}' public Group getGroup() { return cGroup; } //{ParameterStructType} @@ -2238,7 +2283,7 @@ public class ParameterStructTypeElements extends AbstractParserRuleElementFinder //ParameterStructTypeMember public RuleCall getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0() { return cParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0; } - //( "," parameterstructypetmember+=ParameterStructTypeMember)* + //("," parameterstructypetmember+=ParameterStructTypeMember)* public Group getGroup_4() { return cGroup_4; } //"," @@ -2263,15 +2308,12 @@ public class ParameterIntegerTypeElements extends AbstractParserRuleElementFinde private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterIntegerParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterIntegerType returns ParameterIntegerType: - // {ParameterIntegerType} - // 'Integer' - // ('default' default=ParameterInteger)?; + //ParameterIntegerType: + // {ParameterIntegerType} + // 'Integer' ('default' default=ParameterInteger)?; @Override public ParserRule getRule() { return rule; } - //{ParameterIntegerType} - //'Integer' - //('default' default=ParameterInteger)? + //{ParameterIntegerType} 'Integer' ('default' default=ParameterInteger)? public Group getGroup() { return cGroup; } //{ParameterIntegerType} @@ -2302,15 +2344,12 @@ public class ParameterStringTypeElements extends AbstractParserRuleElementFinder private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterStringParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterStringType returns ParameterStringType: - // {ParameterStringType} - // 'String' - // ('default' default=ParameterString)?; + //ParameterStringType: + // {ParameterStringType} + // 'String' ('default' default=ParameterString)?; @Override public ParserRule getRule() { return rule; } - //{ParameterStringType} - //'String' - //('default' default=ParameterString)? + //{ParameterStringType} 'String' ('default' default=ParameterString)? public Group getGroup() { return cGroup; } //{ParameterStringType} @@ -2341,15 +2380,12 @@ public class ParameterDoubleTypeElements extends AbstractParserRuleElementFinder private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterDoubleParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterDoubleType returns ParameterDoubleType: - // {ParameterDoubleType} - // 'Double' - // ('default' default=ParameterDouble)?; + //ParameterDoubleType: + // {ParameterDoubleType} + // 'Double' ('default' default=ParameterDouble)?; @Override public ParserRule getRule() { return rule; } - //{ParameterDoubleType} - //'Double' - //('default' default=ParameterDouble)? + //{ParameterDoubleType} 'Double' ('default' default=ParameterDouble)? public Group getGroup() { return cGroup; } //{ParameterDoubleType} @@ -2380,15 +2416,12 @@ public class ParameterDateTypeElements extends AbstractParserRuleElementFinder { private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterDateParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterDateType returns ParameterDateType: - // {ParameterDateType} - // 'Date' - // ('default' default=ParameterDate)?; + //ParameterDateType: + // {ParameterDateType} + // 'Date' ('default' default=ParameterDate)?; @Override public ParserRule getRule() { return rule; } - //{ParameterDateType} - //'Date' - //('default' default=ParameterDate)? + //{ParameterDateType} 'Date' ('default' default=ParameterDate)? public Group getGroup() { return cGroup; } //{ParameterDateType} @@ -2419,15 +2452,12 @@ public class ParameterBooleanTypeElements extends AbstractParserRuleElementFinde private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterBooleanParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterBooleanType returns ParameterBooleanType: - // {ParameterBooleanType} - // 'Boolean' - // ('default' default=ParameterBoolean)?; + //ParameterBooleanType: + // {ParameterBooleanType} + // 'Boolean' ('default' default=ParameterBoolean)?; @Override public ParserRule getRule() { return rule; } - //{ParameterBooleanType} - //'Boolean' - //('default' default=ParameterBoolean)? + //{ParameterBooleanType} 'Boolean' ('default' default=ParameterBoolean)? public Group getGroup() { return cGroup; } //{ParameterBooleanType} @@ -2458,15 +2488,12 @@ public class ParameterBase64TypeElements extends AbstractParserRuleElementFinder private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterBase64ParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterBase64Type returns ParameterBase64Type: - // {ParameterBase64Type} - // 'Base64' - // ('default' default=ParameterBase64)?; + //ParameterBase64Type: + // {ParameterBase64Type} + // 'Base64' ('default' default=ParameterBase64)?; @Override public ParserRule getRule() { return rule; } - //{ParameterBase64Type} - //'Base64' - //('default' default=ParameterBase64)? + //{ParameterBase64Type} 'Base64' ('default' default=ParameterBase64)? public Group getGroup() { return cGroup; } //{ParameterBase64Type} @@ -2497,15 +2524,12 @@ public class ParameterAnyTypeElements extends AbstractParserRuleElementFinder { private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterAnyParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterAnyType returns ParameterAnyType: - // {ParameterAnyType} - // 'Any' - // ('default' default=ParameterAny)?; + //ParameterAnyType: + // {ParameterAnyType} + // 'Any' ('default' default=ParameterAny)?; @Override public ParserRule getRule() { return rule; } - //{ParameterAnyType} - //'Any' - //('default' default=ParameterAny)? + //{ParameterAnyType} 'Any' ('default' default=ParameterAny)? public Group getGroup() { return cGroup; } //{ParameterAnyType} @@ -2540,19 +2564,14 @@ public class ParameterArrayTypeElements extends AbstractParserRuleElementFinder private final RuleCall cDefaultParameterListParserRuleCall_4_1_0 = (RuleCall)cDefaultAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //ParameterArrayType returns ParameterArrayType: - // 'Array' - // '{' - // 'type' type=ParameterType - // ('default' default=ParameterList)? - // '}'; + //ParameterArrayType: + // 'Array' + // '{' + // 'type' type=ParameterType ('default' default=ParameterList)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Array' - //'{' - // 'type' type=ParameterType - // ('default' default=ParameterList)? - //'}' + //'Array' '{' 'type' type=ParameterType ('default' default=ParameterList)? '}' public Group getGroup() { return cGroup; } //'Array' @@ -2598,14 +2617,12 @@ public class ParameterListElements extends AbstractParserRuleElementFinder { private final RuleCall cValueParameterValueParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //ParameterList returns ParameterSequence: - // {ParameterSequence} - // '{' value+=ParameterValue ( ',' value+=ParameterValue )* '}' - //; + //ParameterList ParameterSequence: + // {ParameterSequence} + // '{' value+=ParameterValue (',' value+=ParameterValue)* '}'; @Override public ParserRule getRule() { return rule; } - //{ParameterSequence} - // '{' value+=ParameterValue ( ',' value+=ParameterValue )* '}' + //{ParameterSequence} '{' value+=ParameterValue (',' value+=ParameterValue)* '}' public Group getGroup() { return cGroup; } //{ParameterSequence} @@ -2620,7 +2637,7 @@ public class ParameterListElements extends AbstractParserRuleElementFinder { //ParameterValue public RuleCall getValueParameterValueParserRuleCall_2_0() { return cValueParameterValueParserRuleCall_2_0; } - //( ',' value+=ParameterValue )* + //(',' value+=ParameterValue)* public Group getGroup_3() { return cGroup_3; } //',' @@ -2647,19 +2664,14 @@ public class ParameterAnyElements extends AbstractParserRuleElementFinder { private final RuleCall cValueEStringParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //ParameterAny returns ParameterAny: - // {ParameterAny} - // 'ParameterAny' - // '{' - // ('value' value=EString)? - // '}'; + //ParameterAny: + // {ParameterAny} + // 'ParameterAny' + // '{' ('value' value=EString)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{ParameterAny} - //'ParameterAny' - //'{' - // ('value' value=EString)? - //'}' + //{ParameterAny} 'ParameterAny' '{' ('value' value=EString)? '}' public Group getGroup() { return cGroup; } //{ParameterAny} @@ -2691,9 +2703,8 @@ public class ParameterStringElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueEStringParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterString returns ParameterString: - // value=EString - //; + //ParameterString: + // value=EString; @Override public ParserRule getRule() { return rule; } //value=EString @@ -2707,9 +2718,8 @@ public class ParameterBase64Elements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueBase64BinaryParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterBase64 returns ParameterBase64: - // value=Base64Binary - //; + //ParameterBase64: + // value=Base64Binary; @Override public ParserRule getRule() { return rule; } //value=Base64Binary @@ -2723,9 +2733,8 @@ public class ParameterIntegerElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueInteger0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterInteger returns ParameterInteger: - // value=Integer0 - //; + //ParameterInteger: + // value=Integer0; @Override public ParserRule getRule() { return rule; } //value=Integer0 @@ -2739,9 +2748,8 @@ public class ParameterDoubleElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueDouble0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterDouble returns ParameterDouble: - // value=Double0 - //; + //ParameterDouble: + // value=Double0; @Override public ParserRule getRule() { return rule; } //value=Double0 @@ -2755,9 +2763,8 @@ public class ParameterBooleanElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueBoolean0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterBoolean returns ParameterBoolean: - // value=boolean0 - //; + //ParameterBoolean: + // value=boolean0; @Override public ParserRule getRule() { return rule; } //value=boolean0 @@ -2782,20 +2789,17 @@ public class ParameterStructElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_1_2_3 = (Keyword)cGroup_1_2.eContents().get(3); private final Keyword cRightCurlyBracketKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3); - //ParameterStruct returns ParameterStruct: - // {ParameterStruct} - // ('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? - //; + //ParameterStruct: + // {ParameterStruct} ('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')?; @Override public ParserRule getRule() { return rule; } - //{ParameterStruct} - // ('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? + //{ParameterStruct} ('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')? public Group getGroup() { return cGroup; } //{ParameterStruct} public Action getParameterStructAction_0() { return cParameterStructAction_0; } - //('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? + //('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')? public Group getGroup_1() { return cGroup_1; } //'{' @@ -2807,7 +2811,7 @@ public class ParameterStructElements extends AbstractParserRuleElementFinder { //ParameterStructMember public RuleCall getValueParameterStructMemberParserRuleCall_1_1_0() { return cValueParameterStructMemberParserRuleCall_1_1_0; } - //( "," '{' value+=ParameterStructMember '}')* + //("," '{' value+=ParameterStructMember '}')* public Group getGroup_1_2() { return cGroup_1_2; } //"," @@ -2833,9 +2837,8 @@ public class ParameterDateElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueDateTime0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterDate returns ParameterDate: - // value=DateTime0 - // ; + //ParameterDate: + // value=DateTime0; @Override public ParserRule getRule() { return rule; } //value=DateTime0 @@ -2856,19 +2859,15 @@ public class ParameterStructMemberElements extends AbstractParserRuleElementFind private final RuleCall cValueParameterValueParserRuleCall_4_0 = (RuleCall)cValueAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //ParameterStructMember returns ParameterStructMember: - // 'ParameterStructMember' - // name=EString - // '{' - // 'value' value=ParameterValue - // '}'; + //ParameterStructMember: + // 'ParameterStructMember' + // name=EString + // '{' + // 'value' value=ParameterValue + // '}'; @Override public ParserRule getRule() { return rule; } - //'ParameterStructMember' - //name=EString - //'{' - // 'value' value=ParameterValue - //'}' + //'ParameterStructMember' name=EString '{' 'value' value=ParameterValue '}' public Group getGroup() { return cGroup; } //'ParameterStructMember' @@ -2903,14 +2902,12 @@ public class ParameterStructTypeMemberElements extends AbstractParserRuleElement private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cTypeParameterTypeParserRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0); - //ParameterStructTypeMember returns ParameterStructTypeMember: - // name=EString - // type=ParameterType - // ; + //ParameterStructTypeMember: + // name=EString + // type=ParameterType; @Override public ParserRule getRule() { return rule; } - //name=EString - //type=ParameterType + //name=EString type=ParameterType public Group getGroup() { return cGroup; } //name=EString @@ -2929,8 +2926,8 @@ public class Base64BinaryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.Base64Binary"); private final RuleCall cBINARYTerminalRuleCall = (RuleCall)rule.eContents().get(1); - //Base64Binary returns type::Base64Binary: - // BINARY ; + //Base64Binary type::Base64Binary: + // BINARY; @Override public ParserRule getRule() { return rule; } //BINARY @@ -2940,8 +2937,8 @@ public class Boolean0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.boolean0"); private final RuleCall cBOOLEANTerminalRuleCall = (RuleCall)rule.eContents().get(1); - //boolean0 returns type::Boolean: - // BOOLEAN; + //boolean0 type::Boolean: + // BOOLEAN; @Override public ParserRule getRule() { return rule; } //BOOLEAN @@ -2951,8 +2948,8 @@ public class Double0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.Double0"); private final RuleCall cDOUBLETerminalRuleCall = (RuleCall)rule.eContents().get(1); - //Double0 returns type::Double: - // DOUBLE; + //Double0 type::Double: + // DOUBLE; @Override public ParserRule getRule() { return rule; } //DOUBLE @@ -2962,8 +2959,8 @@ public class Integer0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.Integer0"); private final RuleCall cDECINTTerminalRuleCall = (RuleCall)rule.eContents().get(1); - //Integer0 returns type::Int: - // DECINT; + //Integer0 type::Int: + // DECINT; @Override public ParserRule getRule() { return rule; } //DECINT @@ -2973,8 +2970,8 @@ public class DateTime0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.DateTime0"); private final RuleCall cDATE_TIMETerminalRuleCall = (RuleCall)rule.eContents().get(1); - //DateTime0 returns type::DateTime: - // DATE_TIME; + //DateTime0 type::DateTime: + // DATE_TIME; @Override public ParserRule getRule() { return rule; } //DATE_TIME @@ -2992,23 +2989,21 @@ public class MessagePartElements extends AbstractParserRuleElementFinder { private final RuleCall cDataEStringParserRuleCall_1_0_2 = (RuleCall)cDataAlternatives_1_0.eContents().get(2); ////MESSAGE PRIMITIVES DEFINITION - //MessagePart returns primitives::MessagePart: - // Type = AbstractType - // Data =(KEYWORD | MESSAGE_ASIGMENT | EString) - //; + //MessagePart primitives::MessagePart: + // Type=AbstractType + // Data=(KEYWORD | MESSAGE_ASIGMENT | EString); @Override public ParserRule getRule() { return rule; } - //Type = AbstractType - //Data =(KEYWORD | MESSAGE_ASIGMENT | EString) + //Type=AbstractType Data=(KEYWORD | MESSAGE_ASIGMENT | EString) public Group getGroup() { return cGroup; } - //Type = AbstractType + //Type=AbstractType public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } //AbstractType public RuleCall getTypeAbstractTypeParserRuleCall_0_0() { return cTypeAbstractTypeParserRuleCall_0_0; } - //Data =(KEYWORD | MESSAGE_ASIGMENT | EString) + //Data=(KEYWORD | MESSAGE_ASIGMENT | EString) public Assignment getDataAssignment_1() { return cDataAssignment_1; } //(KEYWORD | MESSAGE_ASIGMENT | EString) @@ -3058,15 +3053,15 @@ public class AbstractTypeElements extends AbstractParserRuleElementFinder { private final RuleCall cTopicSpecRefParserRuleCall_29 = (RuleCall)cAlternatives.eContents().get(29); private final RuleCall cArrayTopicSpecRefParserRuleCall_30 = (RuleCall)cAlternatives.eContents().get(30); - //AbstractType returns primitives::AbstractType: - // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | duration | Header | - // boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | - // TopicSpecRef | ArrayTopicSpecRef ; + //AbstractType primitives::AbstractType: + // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | + // duration | Header | boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | + // int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | TopicSpecRef | ArrayTopicSpecRef; @Override public ParserRule getRule() { return rule; } - //bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | duration | Header | - //boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | - //TopicSpecRef | ArrayTopicSpecRef + //bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | + //duration | Header | boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | + //int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | TopicSpecRef | ArrayTopicSpecRef public Alternatives getAlternatives() { return cAlternatives; } //bool @@ -3168,14 +3163,12 @@ public class BoolElements extends AbstractParserRuleElementFinder { private final Action cBoolAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cBoolKeyword_1 = (Keyword)cGroup.eContents().get(1); - //bool returns primitives::bool: - // {primitives::bool} - // 'bool' - // ; + //bool primitives::bool: + // {primitives::bool} + // 'bool'; @Override public ParserRule getRule() { return rule; } - //{primitives::bool} - //'bool' + //{primitives::bool} 'bool' public Group getGroup() { return cGroup; } //{primitives::bool} @@ -3190,14 +3183,12 @@ public class Int8Elements extends AbstractParserRuleElementFinder { private final Action cInt8Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int8 returns primitives::int8: - // {primitives::int8} - // 'int8' - // ; + //int8 primitives::int8: + // {primitives::int8} + // 'int8'; @Override public ParserRule getRule() { return rule; } - //{primitives::int8} - //'int8' + //{primitives::int8} 'int8' public Group getGroup() { return cGroup; } //{primitives::int8} @@ -3212,14 +3203,12 @@ public class Uint8Elements extends AbstractParserRuleElementFinder { private final Action cUint8Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint8 returns primitives::uint8: - // {primitives::uint8} - // 'uint8' - // ; + //uint8 primitives::uint8: + // {primitives::uint8} + // 'uint8'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint8} - //'uint8' + //{primitives::uint8} 'uint8' public Group getGroup() { return cGroup; } //{primitives::uint8} @@ -3234,14 +3223,12 @@ public class Int16Elements extends AbstractParserRuleElementFinder { private final Action cInt16Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int16 returns primitives::int16: - // {primitives::int16} - // 'int16' - // ; + //int16 primitives::int16: + // {primitives::int16} + // 'int16'; @Override public ParserRule getRule() { return rule; } - //{primitives::int16} - //'int16' + //{primitives::int16} 'int16' public Group getGroup() { return cGroup; } //{primitives::int16} @@ -3256,14 +3243,12 @@ public class Uint16Elements extends AbstractParserRuleElementFinder { private final Action cUint16Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint16 returns primitives::uint16: - // {primitives::uint16} - // 'uint16' - // ; + //uint16 primitives::uint16: + // {primitives::uint16} + // 'uint16'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint16} - //'uint16' + //{primitives::uint16} 'uint16' public Group getGroup() { return cGroup; } //{primitives::uint16} @@ -3278,14 +3263,12 @@ public class Int32Elements extends AbstractParserRuleElementFinder { private final Action cInt32Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int32 returns primitives::int32: - // {primitives::int32} - // 'int32' - // ; + //int32 primitives::int32: + // {primitives::int32} + // 'int32'; @Override public ParserRule getRule() { return rule; } - //{primitives::int32} - //'int32' + //{primitives::int32} 'int32' public Group getGroup() { return cGroup; } //{primitives::int32} @@ -3300,14 +3283,12 @@ public class Uint32Elements extends AbstractParserRuleElementFinder { private final Action cUint32Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint32 returns primitives::uint32: - // {primitives::uint32} - // 'uint32' - // ; + //uint32 primitives::uint32: + // {primitives::uint32} + // 'uint32'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint32} - //'uint32' + //{primitives::uint32} 'uint32' public Group getGroup() { return cGroup; } //{primitives::uint32} @@ -3322,14 +3303,12 @@ public class Int64Elements extends AbstractParserRuleElementFinder { private final Action cInt64Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int64 returns primitives::int64: - // {primitives::int64} - // 'int64' - // ; + //int64 primitives::int64: + // {primitives::int64} + // 'int64'; @Override public ParserRule getRule() { return rule; } - //{primitives::int64} - //'int64' + //{primitives::int64} 'int64' public Group getGroup() { return cGroup; } //{primitives::int64} @@ -3344,14 +3323,12 @@ public class Uint64Elements extends AbstractParserRuleElementFinder { private final Action cUint64Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint64 returns primitives::uint64: - // {primitives::uint64} - // 'uint64' - // ; + //uint64 primitives::uint64: + // {primitives::uint64} + // 'uint64'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint64} - //'uint64' + //{primitives::uint64} 'uint64' public Group getGroup() { return cGroup; } //{primitives::uint64} @@ -3366,14 +3343,12 @@ public class Float32Elements extends AbstractParserRuleElementFinder { private final Action cFloat32Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float32 returns primitives::float32: - // {primitives::float32} - // 'float32' - // ; + //float32 primitives::float32: + // {primitives::float32} + // 'float32'; @Override public ParserRule getRule() { return rule; } - //{primitives::float32} - //'float32' + //{primitives::float32} 'float32' public Group getGroup() { return cGroup; } //{primitives::float32} @@ -3388,14 +3363,12 @@ public class Float64Elements extends AbstractParserRuleElementFinder { private final Action cFloat64Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float64 returns primitives::float64: - // {primitives::float64} - // 'float64' - // ; + //float64 primitives::float64: + // {primitives::float64} + // 'float64'; @Override public ParserRule getRule() { return rule; } - //{primitives::float64} - //'float64' + //{primitives::float64} 'float64' public Group getGroup() { return cGroup; } //{primitives::float64} @@ -3410,14 +3383,12 @@ public class String0Elements extends AbstractParserRuleElementFinder { private final Action cStringAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cStringKeyword_1 = (Keyword)cGroup.eContents().get(1); - //string0 returns primitives::string: - // {primitives::string} - // 'string' - // ; + //string0 primitives::string: + // {primitives::string} + // 'string'; @Override public ParserRule getRule() { return rule; } - //{primitives::string} - //'string' + //{primitives::string} 'string' public Group getGroup() { return cGroup; } //{primitives::string} @@ -3432,14 +3403,12 @@ public class ByteElements extends AbstractParserRuleElementFinder { private final Action cByteAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cByteKeyword_1 = (Keyword)cGroup.eContents().get(1); - //byte returns primitives::Byte: - // {primitives::Byte} - // 'byte' - // ; + //byte primitives::Byte: + // {primitives::Byte} + // 'byte'; @Override public ParserRule getRule() { return rule; } - //{primitives::Byte} - //'byte' + //{primitives::Byte} 'byte' public Group getGroup() { return cGroup; } //{primitives::Byte} @@ -3454,14 +3423,12 @@ public class TimeElements extends AbstractParserRuleElementFinder { private final Action cTimeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cTimeKeyword_1 = (Keyword)cGroup.eContents().get(1); - //time returns primitives::time: - // {primitives::time} - // 'time' - // ; + //time primitives::time: + // {primitives::time} + // 'time'; @Override public ParserRule getRule() { return rule; } - //{primitives::time} - //'time' + //{primitives::time} 'time' public Group getGroup() { return cGroup; } //{primitives::time} @@ -3476,14 +3443,12 @@ public class DurationElements extends AbstractParserRuleElementFinder { private final Action cDurationAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cDurationKeyword_1 = (Keyword)cGroup.eContents().get(1); - //duration returns primitives::duration: - // {primitives::duration} - // 'duration' - // ; + //duration primitives::duration: + // {primitives::duration} + // 'duration'; @Override public ParserRule getRule() { return rule; } - //{primitives::duration} - //'duration' + //{primitives::duration} 'duration' public Group getGroup() { return cGroup; } //{primitives::duration} @@ -3498,14 +3463,12 @@ public class BoolArrayElements extends AbstractParserRuleElementFinder { private final Action cBoolArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cBoolKeyword_1 = (Keyword)cGroup.eContents().get(1); - //boolArray returns primitives::boolArray: - // {primitives::boolArray} - // 'bool[]' - // ; + //boolArray primitives::boolArray: + // {primitives::boolArray} + // 'bool[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::boolArray} - //'bool[]' + //{primitives::boolArray} 'bool[]' public Group getGroup() { return cGroup; } //{primitives::boolArray} @@ -3520,14 +3483,12 @@ public class Int8ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt8ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int8Array returns primitives::int8Array: - // {primitives::int8Array} - // 'int8[]' - // ; + //int8Array primitives::int8Array: + // {primitives::int8Array} + // 'int8[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::int8Array} - //'int8[]' + //{primitives::int8Array} 'int8[]' public Group getGroup() { return cGroup; } //{primitives::int8Array} @@ -3542,14 +3503,12 @@ public class Uint8ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint8ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint8Array returns primitives::uint8Array: - // {primitives::uint8Array} - // 'uint8[]' - // ; + //uint8Array primitives::uint8Array: + // {primitives::uint8Array} + // 'uint8[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint8Array} - //'uint8[]' + //{primitives::uint8Array} 'uint8[]' public Group getGroup() { return cGroup; } //{primitives::uint8Array} @@ -3564,14 +3523,12 @@ public class Int16ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt16ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int16Array returns primitives::int16Array: - // {primitives::int16Array} - // 'int16[]' - // ; + //int16Array primitives::int16Array: + // {primitives::int16Array} + // 'int16[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::int16Array} - //'int16[]' + //{primitives::int16Array} 'int16[]' public Group getGroup() { return cGroup; } //{primitives::int16Array} @@ -3586,14 +3543,12 @@ public class Uint16ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint16ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint16Array returns primitives::uint16Array: - // {primitives::uint16Array} - // 'uint16[]' - // ; + //uint16Array primitives::uint16Array: + // {primitives::uint16Array} + // 'uint16[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint16Array} - //'uint16[]' + //{primitives::uint16Array} 'uint16[]' public Group getGroup() { return cGroup; } //{primitives::uint16Array} @@ -3608,14 +3563,12 @@ public class Int32ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt32ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int32Array returns primitives::int32Array: - // {primitives::int32Array} - // 'int32[]' - // ; + //int32Array primitives::int32Array: + // {primitives::int32Array} + // 'int32[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::int32Array} - //'int32[]' + //{primitives::int32Array} 'int32[]' public Group getGroup() { return cGroup; } //{primitives::int32Array} @@ -3630,14 +3583,12 @@ public class Uint32ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint32ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint32Array returns primitives::uint32Array: - // {primitives::uint32Array} - // 'uint32[]' - // ; + //uint32Array primitives::uint32Array: + // {primitives::uint32Array} + // 'uint32[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint32Array} - //'uint32[]' + //{primitives::uint32Array} 'uint32[]' public Group getGroup() { return cGroup; } //{primitives::uint32Array} @@ -3652,14 +3603,12 @@ public class Int64ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt64ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int64Array returns primitives::int64Array: - // {primitives::int64Array} - // 'int64[]' - // ; + //int64Array primitives::int64Array: + // {primitives::int64Array} + // 'int64[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::int64Array} - //'int64[]' + //{primitives::int64Array} 'int64[]' public Group getGroup() { return cGroup; } //{primitives::int64Array} @@ -3674,14 +3623,12 @@ public class Uint64ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint64ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint64Array returns primitives::uint64Array: - // {primitives::uint64Array} - // 'uint64[]' - // ; + //uint64Array primitives::uint64Array: + // {primitives::uint64Array} + // 'uint64[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::uint64Array} - //'uint64[]' + //{primitives::uint64Array} 'uint64[]' public Group getGroup() { return cGroup; } //{primitives::uint64Array} @@ -3696,14 +3643,12 @@ public class Float32ArrayElements extends AbstractParserRuleElementFinder { private final Action cFloat32ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float32Array returns primitives::float32Array: - // {primitives::float32Array} - // 'float32[]' - // ; + //float32Array primitives::float32Array: + // {primitives::float32Array} + // 'float32[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::float32Array} - //'float32[]' + //{primitives::float32Array} 'float32[]' public Group getGroup() { return cGroup; } //{primitives::float32Array} @@ -3718,14 +3663,12 @@ public class Float64ArrayElements extends AbstractParserRuleElementFinder { private final Action cFloat64ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float64Array returns primitives::float64Array: - // {primitives::float64Array} - // 'float64[]' - // ; + //float64Array primitives::float64Array: + // {primitives::float64Array} + // 'float64[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::float64Array} - //'float64[]' + //{primitives::float64Array} 'float64[]' public Group getGroup() { return cGroup; } //{primitives::float64Array} @@ -3740,14 +3683,12 @@ public class String0ArrayElements extends AbstractParserRuleElementFinder { private final Action cStringArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cStringKeyword_1 = (Keyword)cGroup.eContents().get(1); - //string0Array returns primitives::stringArray: - // {primitives::stringArray} - // 'string[]' - // ; + //string0Array primitives::stringArray: + // {primitives::stringArray} + // 'string[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::stringArray} - //'string[]' + //{primitives::stringArray} 'string[]' public Group getGroup() { return cGroup; } //{primitives::stringArray} @@ -3762,14 +3703,12 @@ public class ByteArrayElements extends AbstractParserRuleElementFinder { private final Action cByteArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cByteKeyword_1 = (Keyword)cGroup.eContents().get(1); - //byteArray returns primitives::ByteArray: - // {primitives::ByteArray} - // 'byte[]' - // ; + //byteArray primitives::ByteArray: + // {primitives::ByteArray} + // 'byte[]'; @Override public ParserRule getRule() { return rule; } - //{primitives::ByteArray} - //'byte[]' + //{primitives::ByteArray} 'byte[]' public Group getGroup() { return cGroup; } //{primitives::ByteArray} @@ -3784,14 +3723,12 @@ public class HeaderElements extends AbstractParserRuleElementFinder { private final Action cHeaderAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cHeaderKeyword_1 = (Keyword)cGroup.eContents().get(1); - //Header returns primitives::Header: - // {primitives::Header} - // 'Header' - //; + //Header primitives::Header: + // {primitives::Header} + // 'Header'; @Override public ParserRule getRule() { return rule; } - //{primitives::Header} - //'Header' + //{primitives::Header} 'Header' public Group getGroup() { return cGroup; } //{primitives::Header} @@ -3806,9 +3743,8 @@ public class TopicSpecRefElements extends AbstractParserRuleElementFinder { private final CrossReference cTopicSpecTopicSpecCrossReference_0 = (CrossReference)cTopicSpecAssignment.eContents().get(0); private final RuleCall cTopicSpecTopicSpecEStringParserRuleCall_0_1 = (RuleCall)cTopicSpecTopicSpecCrossReference_0.eContents().get(1); - //TopicSpecRef returns primitives::TopicSpecRef: - // TopicSpec=[TopicSpec|EString] - //; + //TopicSpecRef primitives::TopicSpecRef: + // TopicSpec=[TopicSpec|EString]; @Override public ParserRule getRule() { return rule; } //TopicSpec=[TopicSpec|EString] @@ -3828,12 +3764,11 @@ public class ArrayTopicSpecRefElements extends AbstractParserRuleElementFinder { private final RuleCall cTopicSpecTopicSpecEStringParserRuleCall_0_0_1 = (RuleCall)cTopicSpecTopicSpecCrossReference_0_0.eContents().get(1); private final Keyword cLeftSquareBracketRightSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); - //ArrayTopicSpecRef returns primitives::ArrayTopicSpecRef: - // TopicSpec=[TopicSpec|EString]'[]' - //; + //ArrayTopicSpecRef primitives::ArrayTopicSpecRef: + // TopicSpec=[TopicSpec|EString] '[]'; @Override public ParserRule getRule() { return rule; } - //TopicSpec=[TopicSpec|EString]'[]' + //TopicSpec=[TopicSpec|EString] '[]' public Group getGroup() { return cGroup; } //TopicSpec=[TopicSpec|EString] @@ -3863,7 +3798,8 @@ public class KEYWORDElements extends AbstractParserRuleElementFinder { private final Keyword cDurationKeyword_9 = (Keyword)cAlternatives.eContents().get(9); private final Keyword cTimeKeyword_10 = (Keyword)cAlternatives.eContents().get(10); - //KEYWORD: 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time' ; + //KEYWORD: + // 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time'; @Override public ParserRule getRule() { return rule; } //'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time' @@ -3917,6 +3853,7 @@ public class KEYWORDElements extends AbstractParserRuleElementFinder { private final TerminalRule tROS_CONVENTION_PARAM; private final ArtifactElements pArtifact; private final CatkinPackageElements pCatkinPackage; + private final AmentPackageElements pAmentPackage; private final ServiceSpecElements pServiceSpec; private final TopicSpecElements pTopicSpec; private final ActionSpecElements pActionSpec; @@ -4032,6 +3969,7 @@ public RosGrammarAccess(GrammarProvider grammarProvider, this.tROS_CONVENTION_PARAM = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.ROS_CONVENTION_PARAM"); this.pArtifact = new ArtifactElements(); this.pCatkinPackage = new CatkinPackageElements(); + this.pAmentPackage = new AmentPackageElements(); this.pServiceSpec = new ServiceSpecElements(); this.pTopicSpec = new TopicSpecElements(); this.pActionSpec = new ActionSpecElements(); @@ -4153,12 +4091,11 @@ public TerminalsGrammarAccess getTerminalsGrammarAccess() { } - //PackageSet returns PackageSet: - // {PackageSet} - // 'PackageSet' - // '{' - // (package+=Package ( "," package+=Package)* )? - // '}'; + //PackageSet: + // {PackageSet} + // 'PackageSet' + // '{' (package+=Package ("," package+=Package)*)? + // '}'; public PackageSetElements getPackageSetAccess() { return pPackageSet; } @@ -4167,8 +4104,8 @@ public ParserRule getPackageSetRule() { return getPackageSetAccess().getRule(); } - //Package returns Package: - // Package_Impl | CatkinPackage; + //Package: + // Package_Impl | CatkinPackage | AmentPackage; public PackageElements getPackageAccess() { return pPackage; } @@ -4177,8 +4114,8 @@ public ParserRule getPackageRule() { return getPackageAccess().getRule(); } - //SpecBase returns SpecBase: - // ServiceSpec | TopicSpec | ActionSpec; + //SpecBase: + // ServiceSpec | TopicSpec | ActionSpec; public SpecBaseElements getSpecBaseAccess() { return pSpecBase; } @@ -4187,8 +4124,8 @@ public ParserRule getSpecBaseRule() { return getSpecBaseAccess().getRule(); } - //Dependency returns Dependency: - // PackageDependency | ExternalDependency; + //Dependency: + // PackageDependency | ExternalDependency; public DependencyElements getDependencyAccess() { return pDependency; } @@ -4197,8 +4134,8 @@ public ParserRule getDependencyRule() { return getDependencyAccess().getRule(); } - //Namespace returns Namespace: - // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; + //Namespace: + // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; public NamespaceElements getNamespaceAccess() { return pNamespace; } @@ -4207,15 +4144,13 @@ public ParserRule getNamespaceRule() { return getNamespaceAccess().getRule(); } - //Package_Impl returns Package: - // {Package} - // 'Package' - // name=EString - // '{' - // ('FromGitRepo' fromGitRepo=EString)? - // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? - // (artifact+=Artifact ( "," artifact+=Artifact)*)? - // '}'; + //Package_Impl Package: + // {Package} + // 'Package' + // name=EString + // '{' ('FromGitRepo' fromGitRepo=EString)? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact + // ("," artifact+=Artifact)*)? + // '}'; public Package_ImplElements getPackage_ImplAccess() { return pPackage_Impl; } @@ -4224,8 +4159,8 @@ public ParserRule getPackage_ImplRule() { return getPackage_ImplAccess().getRule(); } - //EString returns ecore::EString: - // STRING | ID; + //EString: + // STRING | ID; public EStringElements getEStringAccess() { return pEString; } @@ -4234,9 +4169,8 @@ public ParserRule getEStringRule() { return getEStringAccess().getRule(); } - //RosNames returns ecore::EString: - // ROS_CONVENTION_A | ID | 'node' - //; + //RosNames: + // ROS_CONVENTION_A | ID | 'node'; public RosNamesElements getRosNamesAccess() { return pRosNames; } @@ -4245,9 +4179,8 @@ public ParserRule getRosNamesRule() { return getRosNamesAccess().getRule(); } - //RosParamNames returns ecore::EString: - // ROS_CONVENTION_PARAM | ID - //; + //RosParamNames: + // ROS_CONVENTION_PARAM | ID; public RosParamNamesElements getRosParamNamesAccess() { return pRosParamNames; } @@ -4257,24 +4190,24 @@ public ParserRule getRosParamNamesRule() { } //terminal ROS_CONVENTION_A: - // ( ('/' ID ) | ( ID '/' ) )* ; + // '/' ID | ID '/'*; public TerminalRule getROS_CONVENTION_ARule() { return tROS_CONVENTION_A; } //terminal ROS_CONVENTION_PARAM: - // ( ('/' STRING ) | ( STRING '/' ) | ('~' STRING ) )* ; + // '/' STRING | STRING '/' | '~' STRING*; public TerminalRule getROS_CONVENTION_PARAMRule() { return tROS_CONVENTION_PARAM; } - //Artifact returns Artifact: - // {Artifact} - // 'Artifact' - // name=RosNames - // '{' - // (node=Node)? - // '}'; + //Artifact: + // {Artifact} + // 'Artifact' + // name=RosNames + // '{' + // node=Node? + // '}'; public ArtifactElements getArtifactAccess() { return pArtifact; } @@ -4283,16 +4216,13 @@ public ParserRule getArtifactRule() { return getArtifactAccess().getRule(); } - //CatkinPackage returns CatkinPackage: - // {CatkinPackage} - // 'CatkinPackage' - // name=RosNames - // '{' - // ('FromGitRepo' fromGitRepo=EString)? - // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? - // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? - // (artifact+=Artifact ( "," artifact+=Artifact)*)? - // '}'; + //CatkinPackage: + // {CatkinPackage} + // 'CatkinPackage' + // name=RosNames + // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* + // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? + // '}'; public CatkinPackageElements getCatkinPackageAccess() { return pCatkinPackage; } @@ -4301,14 +4231,27 @@ public ParserRule getCatkinPackageRule() { return getCatkinPackageAccess().getRule(); } - //ServiceSpec returns ServiceSpec: - // {ServiceSpec} - // 'ServiceSpec' - // name=EString - // '{' - // ('request' request=MessageDefinition)? - // ('response' response=MessageDefinition)? - // '}'; + //AmentPackage: + // {AmentPackage} + // 'AmentPackage' + // name=RosNames + // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* + // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? + // '}'; + public AmentPackageElements getAmentPackageAccess() { + return pAmentPackage; + } + + public ParserRule getAmentPackageRule() { + return getAmentPackageAccess().getRule(); + } + + //ServiceSpec: + // {ServiceSpec} + // 'ServiceSpec' + // name=EString + // '{' ('request' request=MessageDefinition)? ('response' response=MessageDefinition)? + // '}'; public ServiceSpecElements getServiceSpecAccess() { return pServiceSpec; } @@ -4317,13 +4260,12 @@ public ParserRule getServiceSpecRule() { return getServiceSpecAccess().getRule(); } - //TopicSpec returns TopicSpec: - // {TopicSpec} - // 'TopicSpec' - // name=(EString|'Header'|'String') - // '{' - // ('message' message=MessageDefinition)? - // '}'; + //TopicSpec: + // {TopicSpec} + // 'TopicSpec' + // name=(EString | 'Header' | 'String') + // '{' ('message' message=MessageDefinition)? + // '}'; public TopicSpecElements getTopicSpecAccess() { return pTopicSpec; } @@ -4332,15 +4274,12 @@ public ParserRule getTopicSpecRule() { return getTopicSpecAccess().getRule(); } - //ActionSpec returns ActionSpec: - // {ActionSpec} - // 'ActionSpec' - // name=EString - // '{' - // ('goal' goal=MessageDefinition)? - // ('result' result=MessageDefinition)? - // ('feedback' feedback=MessageDefinition)? - // '}'; + //ActionSpec: + // {ActionSpec} + // 'ActionSpec' + // name=EString + // '{' ('goal' goal=MessageDefinition)? ('result' result=MessageDefinition)? ('feedback' feedback=MessageDefinition)? + // '}'; public ActionSpecElements getActionSpecAccess() { return pActionSpec; } @@ -4349,11 +4288,10 @@ public ParserRule getActionSpecRule() { return getActionSpecAccess().getRule(); } - //MessageDefinition returns MessageDefinition: - // {MessageDefinition} - // '{' - // ( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? - // '}'; + //MessageDefinition: + // {MessageDefinition} + // '{' (MessagePart+=MessagePart MessagePart+=MessagePart*)? + // '}'; public MessageDefinitionElements getMessageDefinitionAccess() { return pMessageDefinition; } @@ -4362,18 +4300,16 @@ public ParserRule getMessageDefinitionRule() { return getMessageDefinitionAccess().getRule(); } - //Node returns Node: - // 'Node' - // '{' - // 'name' name=RosNames - // ('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? - // ('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? - // ('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? - // ('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? - // ('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? - // ('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? - // ('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? - // '}'; + //Node: + // 'Node' + // '{' + // 'name' name=RosNames ('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* '}')? + // ('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? ('Subscribers' '{' subscriber+=Subscriber + // ("," subscriber+=Subscriber)* '}')? ('ServiceClients' '{' serviceclient+=ServiceClient ("," + // serviceclient+=ServiceClient)* '}')? ('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* + // '}')? ('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? ('Parameters' '{' + // parameter+=Parameter ("," parameter+=Parameter)* '}')? + // '}'; public NodeElements getNodeAccess() { return pNode; } @@ -4382,13 +4318,12 @@ public ParserRule getNodeRule() { return getNodeAccess().getRule(); } - //ServiceServer returns ServiceServer: - // 'ServiceServer' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ServiceServer: + // 'ServiceServer' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? + // '}'; public ServiceServerElements getServiceServerAccess() { return pServiceServer; } @@ -4397,13 +4332,12 @@ public ParserRule getServiceServerRule() { return getServiceServerAccess().getRule(); } - //Publisher returns Publisher: - // 'Publisher' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //Publisher: + // 'Publisher' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? + // '}'; public PublisherElements getPublisherAccess() { return pPublisher; } @@ -4412,13 +4346,12 @@ public ParserRule getPublisherRule() { return getPublisherAccess().getRule(); } - //Subscriber returns Subscriber: - // 'Subscriber' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //Subscriber: + // 'Subscriber' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? + // '}'; public SubscriberElements getSubscriberAccess() { return pSubscriber; } @@ -4427,13 +4360,12 @@ public ParserRule getSubscriberRule() { return getSubscriberAccess().getRule(); } - //ServiceClient returns ServiceClient: - // 'ServiceClient' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ServiceClient: + // 'ServiceClient' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? + // '}'; public ServiceClientElements getServiceClientAccess() { return pServiceClient; } @@ -4442,13 +4374,12 @@ public ParserRule getServiceClientRule() { return getServiceClientAccess().getRule(); } - //ActionServer returns ActionServer: - // 'ActionServer' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ActionServer: + // 'ActionServer' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? + // '}'; public ActionServerElements getActionServerAccess() { return pActionServer; } @@ -4457,13 +4388,12 @@ public ParserRule getActionServerRule() { return getActionServerAccess().getRule(); } - //ActionClient returns ActionClient: - // 'ActionClient' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] - // ('namespace' namespace=Namespace)? - // '}'; + //ActionClient: + // 'ActionClient' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? + // '}'; public ActionClientElements getActionClientAccess() { return pActionClient; } @@ -4472,8 +4402,8 @@ public ParserRule getActionClientRule() { return getActionClientAccess().getRule(); } - //GraphName returns GraphName: - // 'GraphName' ; + //GraphName GraphName: + // 'GraphName'; public GraphNameElements getGraphNameAccess() { return pGraphName; } @@ -4482,9 +4412,8 @@ public ParserRule getGraphNameRule() { return getGraphNameAccess().getRule(); } - //PackageDependency returns PackageDependency: - // package=[Package|EString] - //; + //PackageDependency: + // package=[Package|EString]; public PackageDependencyElements getPackageDependencyAccess() { return pPackageDependency; } @@ -4493,10 +4422,10 @@ public ParserRule getPackageDependencyRule() { return getPackageDependencyAccess().getRule(); } - //ExternalDependency returns ExternalDependency: - // {ExternalDependency} - // 'ExternalDependency' - // name=EString; + //ExternalDependency: + // {ExternalDependency} + // 'ExternalDependency' + // name=EString; public ExternalDependencyElements getExternalDependencyAccess() { return pExternalDependency; } @@ -4505,12 +4434,11 @@ public ParserRule getExternalDependencyRule() { return getExternalDependencyAccess().getRule(); } - //GlobalNamespace returns GlobalNamespace: - // {GlobalNamespace} - // 'GlobalNamespace' - // '{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - // '}'; + //GlobalNamespace: + // {GlobalNamespace} + // 'GlobalNamespace' + // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + // '}'; public GlobalNamespaceElements getGlobalNamespaceAccess() { return pGlobalNamespace; } @@ -4519,12 +4447,11 @@ public ParserRule getGlobalNamespaceRule() { return getGlobalNamespaceAccess().getRule(); } - //RelativeNamespace_Impl returns RelativeNamespace: - // {RelativeNamespace} - // 'RelativeNamespace' - // '{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - // '}'; + //RelativeNamespace_Impl RelativeNamespace: + // {RelativeNamespace} + // 'RelativeNamespace' + // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + // '}'; public RelativeNamespace_ImplElements getRelativeNamespace_ImplAccess() { return pRelativeNamespace_Impl; } @@ -4533,12 +4460,11 @@ public ParserRule getRelativeNamespace_ImplRule() { return getRelativeNamespace_ImplAccess().getRule(); } - //PrivateNamespace returns PrivateNamespace: - // {PrivateNamespace} - // 'PrivateNamespace' - // '{' - // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? - // '}'; + //PrivateNamespace: + // {PrivateNamespace} + // 'PrivateNamespace' + // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + // '}'; public PrivateNamespaceElements getPrivateNamespaceAccess() { return pPrivateNamespace; } @@ -4548,13 +4474,12 @@ public ParserRule getPrivateNamespaceRule() { } ////PARAMETERS DEFINITION - //Parameter returns Parameter: - // 'Parameter' - // '{' - // 'name' name=EString - // ('namespace' namespace=Namespace)? - // 'type' type=ParameterType - // '}'; + //Parameter: + // 'Parameter' + // '{' + // 'name' name=EString ('namespace' namespace=Namespace)? + // 'type' type=ParameterType + // '}'; public ParameterElements getParameterAccess() { return pParameter; } @@ -4563,8 +4488,9 @@ public ParserRule getParameterRule() { return getParameterAccess().getRule(); } - //ParameterType returns ParameterType: - // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | ParameterBooleanType | ParameterBase64Type | ParameterArrayType; + //ParameterType: + // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | + // ParameterBooleanType | ParameterBase64Type | ParameterArrayType; public ParameterTypeElements getParameterTypeAccess() { return pParameterType; } @@ -4573,9 +4499,10 @@ public ParserRule getParameterTypeRule() { return getParameterTypeAccess().getRule(); } - // // | ParameterDateType; - //ParameterValue returns ParameterValue: - // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | ParameterStruct; + //// | ParameterDateType; + //ParameterValue: + // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | + // ParameterStruct; public ParameterValueElements getParameterValueAccess() { return pParameterValue; } @@ -4584,13 +4511,13 @@ public ParserRule getParameterValueRule() { return getParameterValueAccess().getRule(); } - // // | ParameterDate; - //ParameterListType returns ParameterListType: - // {ParameterListType} - // 'List' - // '{' - // sequence+=ParameterType ( ',' sequence+=ParameterType )* - // '}'; + //// | ParameterDate; + //ParameterListType: + // {ParameterListType} + // 'List' + // '{' + // sequence+=ParameterType (',' sequence+=ParameterType)* + // '}'; public ParameterListTypeElements getParameterListTypeAccess() { return pParameterListType; } @@ -4599,12 +4526,12 @@ public ParserRule getParameterListTypeRule() { return getParameterListTypeAccess().getRule(); } - //ParameterStructType returns ParameterStructType: - // {ParameterStructType} - // 'Struct' - // '{' - // parameterstructypetmember+=ParameterStructTypeMember ( "," parameterstructypetmember+=ParameterStructTypeMember)* - // '}'; + //ParameterStructType: + // {ParameterStructType} + // 'Struct' + // '{' + // parameterstructypetmember+=ParameterStructTypeMember ("," parameterstructypetmember+=ParameterStructTypeMember)* + // '}'; public ParameterStructTypeElements getParameterStructTypeAccess() { return pParameterStructType; } @@ -4613,10 +4540,9 @@ public ParserRule getParameterStructTypeRule() { return getParameterStructTypeAccess().getRule(); } - //ParameterIntegerType returns ParameterIntegerType: - // {ParameterIntegerType} - // 'Integer' - // ('default' default=ParameterInteger)?; + //ParameterIntegerType: + // {ParameterIntegerType} + // 'Integer' ('default' default=ParameterInteger)?; public ParameterIntegerTypeElements getParameterIntegerTypeAccess() { return pParameterIntegerType; } @@ -4625,10 +4551,9 @@ public ParserRule getParameterIntegerTypeRule() { return getParameterIntegerTypeAccess().getRule(); } - //ParameterStringType returns ParameterStringType: - // {ParameterStringType} - // 'String' - // ('default' default=ParameterString)?; + //ParameterStringType: + // {ParameterStringType} + // 'String' ('default' default=ParameterString)?; public ParameterStringTypeElements getParameterStringTypeAccess() { return pParameterStringType; } @@ -4637,10 +4562,9 @@ public ParserRule getParameterStringTypeRule() { return getParameterStringTypeAccess().getRule(); } - //ParameterDoubleType returns ParameterDoubleType: - // {ParameterDoubleType} - // 'Double' - // ('default' default=ParameterDouble)?; + //ParameterDoubleType: + // {ParameterDoubleType} + // 'Double' ('default' default=ParameterDouble)?; public ParameterDoubleTypeElements getParameterDoubleTypeAccess() { return pParameterDoubleType; } @@ -4649,10 +4573,9 @@ public ParserRule getParameterDoubleTypeRule() { return getParameterDoubleTypeAccess().getRule(); } - //ParameterDateType returns ParameterDateType: - // {ParameterDateType} - // 'Date' - // ('default' default=ParameterDate)?; + //ParameterDateType: + // {ParameterDateType} + // 'Date' ('default' default=ParameterDate)?; public ParameterDateTypeElements getParameterDateTypeAccess() { return pParameterDateType; } @@ -4661,10 +4584,9 @@ public ParserRule getParameterDateTypeRule() { return getParameterDateTypeAccess().getRule(); } - //ParameterBooleanType returns ParameterBooleanType: - // {ParameterBooleanType} - // 'Boolean' - // ('default' default=ParameterBoolean)?; + //ParameterBooleanType: + // {ParameterBooleanType} + // 'Boolean' ('default' default=ParameterBoolean)?; public ParameterBooleanTypeElements getParameterBooleanTypeAccess() { return pParameterBooleanType; } @@ -4673,10 +4595,9 @@ public ParserRule getParameterBooleanTypeRule() { return getParameterBooleanTypeAccess().getRule(); } - //ParameterBase64Type returns ParameterBase64Type: - // {ParameterBase64Type} - // 'Base64' - // ('default' default=ParameterBase64)?; + //ParameterBase64Type: + // {ParameterBase64Type} + // 'Base64' ('default' default=ParameterBase64)?; public ParameterBase64TypeElements getParameterBase64TypeAccess() { return pParameterBase64Type; } @@ -4685,10 +4606,9 @@ public ParserRule getParameterBase64TypeRule() { return getParameterBase64TypeAccess().getRule(); } - //ParameterAnyType returns ParameterAnyType: - // {ParameterAnyType} - // 'Any' - // ('default' default=ParameterAny)?; + //ParameterAnyType: + // {ParameterAnyType} + // 'Any' ('default' default=ParameterAny)?; public ParameterAnyTypeElements getParameterAnyTypeAccess() { return pParameterAnyType; } @@ -4697,12 +4617,11 @@ public ParserRule getParameterAnyTypeRule() { return getParameterAnyTypeAccess().getRule(); } - //ParameterArrayType returns ParameterArrayType: - // 'Array' - // '{' - // 'type' type=ParameterType - // ('default' default=ParameterList)? - // '}'; + //ParameterArrayType: + // 'Array' + // '{' + // 'type' type=ParameterType ('default' default=ParameterList)? + // '}'; public ParameterArrayTypeElements getParameterArrayTypeAccess() { return pParameterArrayType; } @@ -4711,10 +4630,9 @@ public ParserRule getParameterArrayTypeRule() { return getParameterArrayTypeAccess().getRule(); } - //ParameterList returns ParameterSequence: - // {ParameterSequence} - // '{' value+=ParameterValue ( ',' value+=ParameterValue )* '}' - //; + //ParameterList ParameterSequence: + // {ParameterSequence} + // '{' value+=ParameterValue (',' value+=ParameterValue)* '}'; public ParameterListElements getParameterListAccess() { return pParameterList; } @@ -4723,12 +4641,11 @@ public ParserRule getParameterListRule() { return getParameterListAccess().getRule(); } - //ParameterAny returns ParameterAny: - // {ParameterAny} - // 'ParameterAny' - // '{' - // ('value' value=EString)? - // '}'; + //ParameterAny: + // {ParameterAny} + // 'ParameterAny' + // '{' ('value' value=EString)? + // '}'; public ParameterAnyElements getParameterAnyAccess() { return pParameterAny; } @@ -4737,9 +4654,8 @@ public ParserRule getParameterAnyRule() { return getParameterAnyAccess().getRule(); } - //ParameterString returns ParameterString: - // value=EString - //; + //ParameterString: + // value=EString; public ParameterStringElements getParameterStringAccess() { return pParameterString; } @@ -4748,9 +4664,8 @@ public ParserRule getParameterStringRule() { return getParameterStringAccess().getRule(); } - //ParameterBase64 returns ParameterBase64: - // value=Base64Binary - //; + //ParameterBase64: + // value=Base64Binary; public ParameterBase64Elements getParameterBase64Access() { return pParameterBase64; } @@ -4759,9 +4674,8 @@ public ParserRule getParameterBase64Rule() { return getParameterBase64Access().getRule(); } - //ParameterInteger returns ParameterInteger: - // value=Integer0 - //; + //ParameterInteger: + // value=Integer0; public ParameterIntegerElements getParameterIntegerAccess() { return pParameterInteger; } @@ -4770,9 +4684,8 @@ public ParserRule getParameterIntegerRule() { return getParameterIntegerAccess().getRule(); } - //ParameterDouble returns ParameterDouble: - // value=Double0 - //; + //ParameterDouble: + // value=Double0; public ParameterDoubleElements getParameterDoubleAccess() { return pParameterDouble; } @@ -4781,9 +4694,8 @@ public ParserRule getParameterDoubleRule() { return getParameterDoubleAccess().getRule(); } - //ParameterBoolean returns ParameterBoolean: - // value=boolean0 - //; + //ParameterBoolean: + // value=boolean0; public ParameterBooleanElements getParameterBooleanAccess() { return pParameterBoolean; } @@ -4792,10 +4704,8 @@ public ParserRule getParameterBooleanRule() { return getParameterBooleanAccess().getRule(); } - //ParameterStruct returns ParameterStruct: - // {ParameterStruct} - // ('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? - //; + //ParameterStruct: + // {ParameterStruct} ('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')?; public ParameterStructElements getParameterStructAccess() { return pParameterStruct; } @@ -4804,9 +4714,8 @@ public ParserRule getParameterStructRule() { return getParameterStructAccess().getRule(); } - //ParameterDate returns ParameterDate: - // value=DateTime0 - // ; + //ParameterDate: + // value=DateTime0; public ParameterDateElements getParameterDateAccess() { return pParameterDate; } @@ -4815,12 +4724,12 @@ public ParserRule getParameterDateRule() { return getParameterDateAccess().getRule(); } - //ParameterStructMember returns ParameterStructMember: - // 'ParameterStructMember' - // name=EString - // '{' - // 'value' value=ParameterValue - // '}'; + //ParameterStructMember: + // 'ParameterStructMember' + // name=EString + // '{' + // 'value' value=ParameterValue + // '}'; public ParameterStructMemberElements getParameterStructMemberAccess() { return pParameterStructMember; } @@ -4829,10 +4738,9 @@ public ParserRule getParameterStructMemberRule() { return getParameterStructMemberAccess().getRule(); } - //ParameterStructTypeMember returns ParameterStructTypeMember: - // name=EString - // type=ParameterType - // ; + //ParameterStructTypeMember: + // name=EString + // type=ParameterType; public ParameterStructTypeMemberElements getParameterStructTypeMemberAccess() { return pParameterStructTypeMember; } @@ -4841,65 +4749,74 @@ public ParserRule getParameterStructTypeMemberRule() { return getParameterStructTypeMemberAccess().getRule(); } - ////PARAMETERS PRIMITIVES TYPES - //terminal fragment DIGIT: '0'..'9'; + //terminal fragment DIGIT: + // '0'..'9'; public TerminalRule getDIGITRule() { return tDIGIT; } - //terminal BINARY: ('0b'|'0B')('0'|'1')+; + //terminal BINARY: + // ('0b' | '0B') ('0' | '1')+; public TerminalRule getBINARYRule() { return tBINARY; } - //terminal BOOLEAN: 'true'|'false'; + //terminal BOOLEAN: + // 'true' | 'false'; public TerminalRule getBOOLEANRule() { return tBOOLEAN; } - //terminal DOUBLE returns ecore::EDouble: DECINT (('.' DIGIT*) | (('.' DIGIT*)? ('E'|'e') ('-'|'+')? DECINT)); + //terminal DOUBLE returns ecore::EDouble: + // DECINT ('.' DIGIT* | ('.' DIGIT*)? ('E' | 'e') ('-' | '+')? DECINT); public TerminalRule getDOUBLERule() { return tDOUBLE; } - // // Use terminal to avoid 'e' turning into a keyword - //terminal DECINT: '0' | ('1'..'9' DIGIT*) | ('-''0'..'9' DIGIT*) ; + //terminal DECINT: + // '0' | '1'..'9' DIGIT* | '-' '0'..'9' DIGIT*; public TerminalRule getDECINTRule() { return tDECINT; } - //terminal DAY:'1'..'9' | '1'..'3' '0'..'9'; + //terminal DAY: + // '1'..'9' | '1'..'3' '0'..'9'; public TerminalRule getDAYRule() { return tDAY; } - //terminal MONTH:'1'..'9' | '1' '0'..'2'; + //terminal MONTH: + // '1'..'9' | '1' '0'..'2'; public TerminalRule getMONTHRule() { return tMONTH; } - //terminal YEAR:'0'..'2' '0'..'9' '0'..'9' '0'..'9'; + //terminal YEAR: + // '0'..'2' '0'..'9' '0'..'9' '0'..'9'; public TerminalRule getYEARRule() { return tYEAR; } - //terminal HOUR: ('0'..'1')('0'..'9') | ('2')('0'..'3'); + //terminal HOUR: + // '0'..'1' '0'..'9' | '2' '0'..'3'; public TerminalRule getHOURRule() { return tHOUR; } - //terminal MIN_SEC:('0'..'5')('0'..'9'); + //terminal MIN_SEC: + // '0'..'5' '0'..'9'; public TerminalRule getMIN_SECRule() { return tMIN_SEC; } - //terminal DATE_TIME: YEAR'-'MONTH'-'DAY'T'HOUR':'MIN_SEC':'MIN_SEC; + //terminal DATE_TIME: + // YEAR '-' MONTH '-' DAY 'T' HOUR ':' MIN_SEC ':' MIN_SEC; public TerminalRule getDATE_TIMERule() { return tDATE_TIME; } - //Base64Binary returns type::Base64Binary: - // BINARY ; + //Base64Binary type::Base64Binary: + // BINARY; public Base64BinaryElements getBase64BinaryAccess() { return pBase64Binary; } @@ -4908,8 +4825,8 @@ public ParserRule getBase64BinaryRule() { return getBase64BinaryAccess().getRule(); } - //boolean0 returns type::Boolean: - // BOOLEAN; + //boolean0 type::Boolean: + // BOOLEAN; public Boolean0Elements getBoolean0Access() { return pBoolean0; } @@ -4918,8 +4835,8 @@ public ParserRule getBoolean0Rule() { return getBoolean0Access().getRule(); } - //Double0 returns type::Double: - // DOUBLE; + //Double0 type::Double: + // DOUBLE; public Double0Elements getDouble0Access() { return pDouble0; } @@ -4928,8 +4845,8 @@ public ParserRule getDouble0Rule() { return getDouble0Access().getRule(); } - //Integer0 returns type::Int: - // DECINT; + //Integer0 type::Int: + // DECINT; public Integer0Elements getInteger0Access() { return pInteger0; } @@ -4938,8 +4855,8 @@ public ParserRule getInteger0Rule() { return getInteger0Access().getRule(); } - //DateTime0 returns type::DateTime: - // DATE_TIME; + //DateTime0 type::DateTime: + // DATE_TIME; public DateTime0Elements getDateTime0Access() { return pDateTime0; } @@ -4949,10 +4866,9 @@ public ParserRule getDateTime0Rule() { } ////MESSAGE PRIMITIVES DEFINITION - //MessagePart returns primitives::MessagePart: - // Type = AbstractType - // Data =(KEYWORD | MESSAGE_ASIGMENT | EString) - //; + //MessagePart primitives::MessagePart: + // Type=AbstractType + // Data=(KEYWORD | MESSAGE_ASIGMENT | EString); public MessagePartElements getMessagePartAccess() { return pMessagePart; } @@ -4962,16 +4878,15 @@ public ParserRule getMessagePartRule() { } //terminal MESSAGE_ASIGMENT: - // ((ID|STRING)'='(ID|STRING|INT|'-'INT)) - //; + // (ID | STRING) '=' (ID | STRING | INT | '-' INT); public TerminalRule getMESSAGE_ASIGMENTRule() { return tMESSAGE_ASIGMENT; } - //AbstractType returns primitives::AbstractType: - // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | duration | Header | - // boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | - // TopicSpecRef | ArrayTopicSpecRef ; + //AbstractType primitives::AbstractType: + // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | + // duration | Header | boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | + // int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | TopicSpecRef | ArrayTopicSpecRef; public AbstractTypeElements getAbstractTypeAccess() { return pAbstractType; } @@ -4980,10 +4895,9 @@ public ParserRule getAbstractTypeRule() { return getAbstractTypeAccess().getRule(); } - //bool returns primitives::bool: - // {primitives::bool} - // 'bool' - // ; + //bool primitives::bool: + // {primitives::bool} + // 'bool'; public BoolElements getBoolAccess() { return pBool; } @@ -4992,10 +4906,9 @@ public ParserRule getBoolRule() { return getBoolAccess().getRule(); } - //int8 returns primitives::int8: - // {primitives::int8} - // 'int8' - // ; + //int8 primitives::int8: + // {primitives::int8} + // 'int8'; public Int8Elements getInt8Access() { return pInt8; } @@ -5004,10 +4917,9 @@ public ParserRule getInt8Rule() { return getInt8Access().getRule(); } - //uint8 returns primitives::uint8: - // {primitives::uint8} - // 'uint8' - // ; + //uint8 primitives::uint8: + // {primitives::uint8} + // 'uint8'; public Uint8Elements getUint8Access() { return pUint8; } @@ -5016,10 +4928,9 @@ public ParserRule getUint8Rule() { return getUint8Access().getRule(); } - //int16 returns primitives::int16: - // {primitives::int16} - // 'int16' - // ; + //int16 primitives::int16: + // {primitives::int16} + // 'int16'; public Int16Elements getInt16Access() { return pInt16; } @@ -5028,10 +4939,9 @@ public ParserRule getInt16Rule() { return getInt16Access().getRule(); } - //uint16 returns primitives::uint16: - // {primitives::uint16} - // 'uint16' - // ; + //uint16 primitives::uint16: + // {primitives::uint16} + // 'uint16'; public Uint16Elements getUint16Access() { return pUint16; } @@ -5040,10 +4950,9 @@ public ParserRule getUint16Rule() { return getUint16Access().getRule(); } - //int32 returns primitives::int32: - // {primitives::int32} - // 'int32' - // ; + //int32 primitives::int32: + // {primitives::int32} + // 'int32'; public Int32Elements getInt32Access() { return pInt32; } @@ -5052,10 +4961,9 @@ public ParserRule getInt32Rule() { return getInt32Access().getRule(); } - //uint32 returns primitives::uint32: - // {primitives::uint32} - // 'uint32' - // ; + //uint32 primitives::uint32: + // {primitives::uint32} + // 'uint32'; public Uint32Elements getUint32Access() { return pUint32; } @@ -5064,10 +4972,9 @@ public ParserRule getUint32Rule() { return getUint32Access().getRule(); } - //int64 returns primitives::int64: - // {primitives::int64} - // 'int64' - // ; + //int64 primitives::int64: + // {primitives::int64} + // 'int64'; public Int64Elements getInt64Access() { return pInt64; } @@ -5076,10 +4983,9 @@ public ParserRule getInt64Rule() { return getInt64Access().getRule(); } - //uint64 returns primitives::uint64: - // {primitives::uint64} - // 'uint64' - // ; + //uint64 primitives::uint64: + // {primitives::uint64} + // 'uint64'; public Uint64Elements getUint64Access() { return pUint64; } @@ -5088,10 +4994,9 @@ public ParserRule getUint64Rule() { return getUint64Access().getRule(); } - //float32 returns primitives::float32: - // {primitives::float32} - // 'float32' - // ; + //float32 primitives::float32: + // {primitives::float32} + // 'float32'; public Float32Elements getFloat32Access() { return pFloat32; } @@ -5100,10 +5005,9 @@ public ParserRule getFloat32Rule() { return getFloat32Access().getRule(); } - //float64 returns primitives::float64: - // {primitives::float64} - // 'float64' - // ; + //float64 primitives::float64: + // {primitives::float64} + // 'float64'; public Float64Elements getFloat64Access() { return pFloat64; } @@ -5112,10 +5016,9 @@ public ParserRule getFloat64Rule() { return getFloat64Access().getRule(); } - //string0 returns primitives::string: - // {primitives::string} - // 'string' - // ; + //string0 primitives::string: + // {primitives::string} + // 'string'; public String0Elements getString0Access() { return pString0; } @@ -5124,10 +5027,9 @@ public ParserRule getString0Rule() { return getString0Access().getRule(); } - //byte returns primitives::Byte: - // {primitives::Byte} - // 'byte' - // ; + //byte primitives::Byte: + // {primitives::Byte} + // 'byte'; public ByteElements getByteAccess() { return pByte; } @@ -5136,10 +5038,9 @@ public ParserRule getByteRule() { return getByteAccess().getRule(); } - //time returns primitives::time: - // {primitives::time} - // 'time' - // ; + //time primitives::time: + // {primitives::time} + // 'time'; public TimeElements getTimeAccess() { return pTime; } @@ -5148,10 +5049,9 @@ public ParserRule getTimeRule() { return getTimeAccess().getRule(); } - //duration returns primitives::duration: - // {primitives::duration} - // 'duration' - // ; + //duration primitives::duration: + // {primitives::duration} + // 'duration'; public DurationElements getDurationAccess() { return pDuration; } @@ -5160,10 +5060,9 @@ public ParserRule getDurationRule() { return getDurationAccess().getRule(); } - //boolArray returns primitives::boolArray: - // {primitives::boolArray} - // 'bool[]' - // ; + //boolArray primitives::boolArray: + // {primitives::boolArray} + // 'bool[]'; public BoolArrayElements getBoolArrayAccess() { return pBoolArray; } @@ -5172,10 +5071,9 @@ public ParserRule getBoolArrayRule() { return getBoolArrayAccess().getRule(); } - //int8Array returns primitives::int8Array: - // {primitives::int8Array} - // 'int8[]' - // ; + //int8Array primitives::int8Array: + // {primitives::int8Array} + // 'int8[]'; public Int8ArrayElements getInt8ArrayAccess() { return pInt8Array; } @@ -5184,10 +5082,9 @@ public ParserRule getInt8ArrayRule() { return getInt8ArrayAccess().getRule(); } - //uint8Array returns primitives::uint8Array: - // {primitives::uint8Array} - // 'uint8[]' - // ; + //uint8Array primitives::uint8Array: + // {primitives::uint8Array} + // 'uint8[]'; public Uint8ArrayElements getUint8ArrayAccess() { return pUint8Array; } @@ -5196,10 +5093,9 @@ public ParserRule getUint8ArrayRule() { return getUint8ArrayAccess().getRule(); } - //int16Array returns primitives::int16Array: - // {primitives::int16Array} - // 'int16[]' - // ; + //int16Array primitives::int16Array: + // {primitives::int16Array} + // 'int16[]'; public Int16ArrayElements getInt16ArrayAccess() { return pInt16Array; } @@ -5208,10 +5104,9 @@ public ParserRule getInt16ArrayRule() { return getInt16ArrayAccess().getRule(); } - //uint16Array returns primitives::uint16Array: - // {primitives::uint16Array} - // 'uint16[]' - // ; + //uint16Array primitives::uint16Array: + // {primitives::uint16Array} + // 'uint16[]'; public Uint16ArrayElements getUint16ArrayAccess() { return pUint16Array; } @@ -5220,10 +5115,9 @@ public ParserRule getUint16ArrayRule() { return getUint16ArrayAccess().getRule(); } - //int32Array returns primitives::int32Array: - // {primitives::int32Array} - // 'int32[]' - // ; + //int32Array primitives::int32Array: + // {primitives::int32Array} + // 'int32[]'; public Int32ArrayElements getInt32ArrayAccess() { return pInt32Array; } @@ -5232,10 +5126,9 @@ public ParserRule getInt32ArrayRule() { return getInt32ArrayAccess().getRule(); } - //uint32Array returns primitives::uint32Array: - // {primitives::uint32Array} - // 'uint32[]' - // ; + //uint32Array primitives::uint32Array: + // {primitives::uint32Array} + // 'uint32[]'; public Uint32ArrayElements getUint32ArrayAccess() { return pUint32Array; } @@ -5244,10 +5137,9 @@ public ParserRule getUint32ArrayRule() { return getUint32ArrayAccess().getRule(); } - //int64Array returns primitives::int64Array: - // {primitives::int64Array} - // 'int64[]' - // ; + //int64Array primitives::int64Array: + // {primitives::int64Array} + // 'int64[]'; public Int64ArrayElements getInt64ArrayAccess() { return pInt64Array; } @@ -5256,10 +5148,9 @@ public ParserRule getInt64ArrayRule() { return getInt64ArrayAccess().getRule(); } - //uint64Array returns primitives::uint64Array: - // {primitives::uint64Array} - // 'uint64[]' - // ; + //uint64Array primitives::uint64Array: + // {primitives::uint64Array} + // 'uint64[]'; public Uint64ArrayElements getUint64ArrayAccess() { return pUint64Array; } @@ -5268,10 +5159,9 @@ public ParserRule getUint64ArrayRule() { return getUint64ArrayAccess().getRule(); } - //float32Array returns primitives::float32Array: - // {primitives::float32Array} - // 'float32[]' - // ; + //float32Array primitives::float32Array: + // {primitives::float32Array} + // 'float32[]'; public Float32ArrayElements getFloat32ArrayAccess() { return pFloat32Array; } @@ -5280,10 +5170,9 @@ public ParserRule getFloat32ArrayRule() { return getFloat32ArrayAccess().getRule(); } - //float64Array returns primitives::float64Array: - // {primitives::float64Array} - // 'float64[]' - // ; + //float64Array primitives::float64Array: + // {primitives::float64Array} + // 'float64[]'; public Float64ArrayElements getFloat64ArrayAccess() { return pFloat64Array; } @@ -5292,10 +5181,9 @@ public ParserRule getFloat64ArrayRule() { return getFloat64ArrayAccess().getRule(); } - //string0Array returns primitives::stringArray: - // {primitives::stringArray} - // 'string[]' - // ; + //string0Array primitives::stringArray: + // {primitives::stringArray} + // 'string[]'; public String0ArrayElements getString0ArrayAccess() { return pString0Array; } @@ -5304,10 +5192,9 @@ public ParserRule getString0ArrayRule() { return getString0ArrayAccess().getRule(); } - //byteArray returns primitives::ByteArray: - // {primitives::ByteArray} - // 'byte[]' - // ; + //byteArray primitives::ByteArray: + // {primitives::ByteArray} + // 'byte[]'; public ByteArrayElements getByteArrayAccess() { return pByteArray; } @@ -5316,10 +5203,9 @@ public ParserRule getByteArrayRule() { return getByteArrayAccess().getRule(); } - //Header returns primitives::Header: - // {primitives::Header} - // 'Header' - //; + //Header primitives::Header: + // {primitives::Header} + // 'Header'; public HeaderElements getHeaderAccess() { return pHeader; } @@ -5328,9 +5214,8 @@ public ParserRule getHeaderRule() { return getHeaderAccess().getRule(); } - //TopicSpecRef returns primitives::TopicSpecRef: - // TopicSpec=[TopicSpec|EString] - //; + //TopicSpecRef primitives::TopicSpecRef: + // TopicSpec=[TopicSpec|EString]; public TopicSpecRefElements getTopicSpecRefAccess() { return pTopicSpecRef; } @@ -5339,9 +5224,8 @@ public ParserRule getTopicSpecRefRule() { return getTopicSpecRefAccess().getRule(); } - //ArrayTopicSpecRef returns primitives::ArrayTopicSpecRef: - // TopicSpec=[TopicSpec|EString]'[]' - //; + //ArrayTopicSpecRef primitives::ArrayTopicSpecRef: + // TopicSpec=[TopicSpec|EString] '[]'; public ArrayTopicSpecRefElements getArrayTopicSpecRefAccess() { return pArrayTopicSpecRef; } @@ -5350,7 +5234,8 @@ public ParserRule getArrayTopicSpecRefRule() { return getArrayTopicSpecRefAccess().getRule(); } - //KEYWORD: 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time' ; + //KEYWORD: + // 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time'; public KEYWORDElements getKEYWORDAccess() { return pKEYWORD; } @@ -5359,40 +5244,45 @@ public ParserRule getKEYWORDRule() { return getKEYWORDAccess().getRule(); } - //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + //terminal ID: + // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; public TerminalRule getIDRule() { return gaTerminals.getIDRule(); } - //terminal INT returns ecore::EInt: ('0'..'9')+; + //terminal INT returns ecore::EInt: + // '0'..'9'+; public TerminalRule getINTRule() { return gaTerminals.getINTRule(); } //terminal STRING: - // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' | - // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'" - // ; + // '"' ('\\' . | !('\\' | '"'))* '"' | + // "'" ('\\' . | !('\\' | "'"))* "'"; public TerminalRule getSTRINGRule() { return gaTerminals.getSTRINGRule(); } - //terminal ML_COMMENT : '/*' -> '*/'; + //terminal ML_COMMENT: + // '/*'->'*/'; public TerminalRule getML_COMMENTRule() { return gaTerminals.getML_COMMENTRule(); } - //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; + //terminal SL_COMMENT: + // '//' !('\n' | '\r')* ('\r'? '\n')?; public TerminalRule getSL_COMMENTRule() { return gaTerminals.getSL_COMMENTRule(); } - //terminal WS : (' '|'\t'|'\r'|'\n')+; + //terminal WS: + // ' ' | '\t' | '\r' | '\n'+; public TerminalRule getWSRule() { return gaTerminals.getWSRule(); } - //terminal ANY_OTHER: .; + //terminal ANY_OTHER: + // .; public TerminalRule getANY_OTHERRule() { return gaTerminals.getANY_OTHERRule(); } diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext index 93c18fded..3d2a0d86e 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext @@ -79,9 +79,10 @@ AmentPackage returns AmentPackage: 'AmentPackage' name=RosNames '{' + ('FromGitRepo' fromGitRepo=EString)? + ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? (artifact+=Artifact ( "," artifact+=Artifact)*)? - ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? '}'; ServiceSpec returns ServiceSpec: diff --git a/plugins/de.fraunhofer.ipa.ros/model/ros.ecore b/plugins/de.fraunhofer.ipa.ros/model/ros.ecore index 7cb6223f4..5ae5caf01 100644 --- a/plugins/de.fraunhofer.ipa.ros/model/ros.ecore +++ b/plugins/de.fraunhofer.ipa.ros/model/ros.ecore @@ -208,8 +208,5 @@ - - - + diff --git a/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel b/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel index 5bf109720..ac6b9c122 100644 --- a/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel +++ b/plugins/de.fraunhofer.ipa.ros/model/ros.genmodel @@ -161,9 +161,7 @@ - - - + diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java b/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java index eb5cbc3b7..5b8170e9c 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java @@ -2,35 +2,16 @@ */ package ros; -import org.eclipse.emf.common.util.EList; - /** * * A representation of the model object 'Ament Package'. * * - *

    - * The following features are supported: - *

    - *
      - *
    • {@link ros.AmentPackage#getDependency Dependency}
    • - *
    * * @see ros.RosPackage#getAmentPackage() * @model * @generated */ public interface AmentPackage extends ros.Package { - /** - * Returns the value of the 'Dependency' containment reference list. - * The list contents are of type {@link ros.Dependency}. - * - * - * @return the value of the 'Dependency' containment reference list. - * @see ros.RosPackage#getAmentPackage_Dependency() - * @model containment="true" - * @generated - */ - EList getDependency(); } // AmentPackage diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java b/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java index 32303edc8..567ce77ca 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/RosPackage.java @@ -2302,6 +2302,15 @@ public interface RosPackage extends EPackage { */ int AMENT_PACKAGE__ARTIFACT = PACKAGE__ARTIFACT; + /** + * The feature id for the 'From Git Repo' attribute. + * + * + * @generated + * @ordered + */ + int AMENT_PACKAGE__FROM_GIT_REPO = PACKAGE__FROM_GIT_REPO; + /** * The feature id for the 'Dependency' containment reference list. * @@ -2309,7 +2318,7 @@ public interface RosPackage extends EPackage { * @generated * @ordered */ - int AMENT_PACKAGE__DEPENDENCY = PACKAGE_FEATURE_COUNT + 0; + int AMENT_PACKAGE__DEPENDENCY = PACKAGE__DEPENDENCY; /** * The number of structural features of the 'Ament Package' class. @@ -2318,7 +2327,7 @@ public interface RosPackage extends EPackage { * @generated * @ordered */ - int AMENT_PACKAGE_FEATURE_COUNT = PACKAGE_FEATURE_COUNT + 1; + int AMENT_PACKAGE_FEATURE_COUNT = PACKAGE_FEATURE_COUNT + 0; /** * The number of operations of the 'Ament Package' class. @@ -3545,17 +3554,6 @@ public interface RosPackage extends EPackage { */ EClass getAmentPackage(); - /** - * Returns the meta object for the containment reference list '{@link ros.AmentPackage#getDependency Dependency}'. - * - * - * @return the meta object for the containment reference list 'Dependency'. - * @see ros.AmentPackage#getDependency() - * @see #getAmentPackage() - * @generated - */ - EReference getAmentPackage_Dependency(); - /** * Returns the meta object for data type '{@link java.lang.String Graph Name}'. * @@ -4600,14 +4598,6 @@ interface Literals { */ EClass AMENT_PACKAGE = eINSTANCE.getAmentPackage(); - /** - * The meta object literal for the 'Dependency' containment reference list feature. - * - * - * @generated - */ - EReference AMENT_PACKAGE__DEPENDENCY = eINSTANCE.getAmentPackage_Dependency(); - /** * The meta object literal for the 'Graph Name' data type. * diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java index 8d06b8e30..812a575bc 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java @@ -2,46 +2,18 @@ */ package ros.impl; -import java.util.Collection; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - import ros.AmentPackage; -import ros.Dependency; import ros.RosPackage; /** * * An implementation of the model object 'Ament Package'. * - *

    - * The following features are implemented: - *

    - *
      - *
    • {@link ros.impl.AmentPackageImpl#getDependency Dependency}
    • - *
    * * @generated */ public class AmentPackageImpl extends PackageImpl implements AmentPackage { - /** - * The cached value of the '{@link #getDependency() Dependency}' containment reference list. - * - * - * @see #getDependency() - * @generated - * @ordered - */ - protected EList dependency; - /** * * @@ -61,91 +33,4 @@ protected EClass eStaticClass() { return RosPackage.Literals.AMENT_PACKAGE; } - /** - * - * - * @generated - */ - @Override - public EList getDependency() { - if (dependency == null) { - dependency = new EObjectContainmentEList(Dependency.class, this, RosPackage.AMENT_PACKAGE__DEPENDENCY); - } - return dependency; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case RosPackage.AMENT_PACKAGE__DEPENDENCY: - return ((InternalEList)getDependency()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case RosPackage.AMENT_PACKAGE__DEPENDENCY: - return getDependency(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case RosPackage.AMENT_PACKAGE__DEPENDENCY: - getDependency().clear(); - getDependency().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case RosPackage.AMENT_PACKAGE__DEPENDENCY: - getDependency().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case RosPackage.AMENT_PACKAGE__DEPENDENCY: - return dependency != null && !dependency.isEmpty(); - } - return super.eIsSet(featureID); - } - } //AmentPackageImpl diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java index f1c15354f..15186a9c6 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java @@ -1632,16 +1632,6 @@ public EClass getAmentPackage() { return amentPackageEClass; } - /** - * - * - * @generated - */ - @Override - public EReference getAmentPackage_Dependency() { - return (EReference)amentPackageEClass.getEStructuralFeatures().get(0); - } - /** * * @@ -1843,7 +1833,6 @@ public void createPackageContents() { createEAttribute(parameterDateEClass, PARAMETER_DATE__VALUE); amentPackageEClass = createEClass(AMENT_PACKAGE); - createEReference(amentPackageEClass, AMENT_PACKAGE__DEPENDENCY); // Create data types graphNameEDataType = createEDataType(GRAPH_NAME); @@ -2081,7 +2070,6 @@ public void initializePackageContents() { initEAttribute(getParameterDate_Value(), theXMLTypePackage.getDateTime(), "value", null, 1, 1, ParameterDate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(amentPackageEClass, AmentPackage.class, "AmentPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getAmentPackage_Dependency(), this.getDependency(), null, "dependency", null, 0, -1, AmentPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize data types initEDataType(graphNameEDataType, String.class, "GraphName", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); From 074b74a0794f6ce91b65758a39c1deff12ce3451 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Fri, 1 Oct 2021 16:16:24 +0200 Subject: [PATCH 21/48] Support use branch name for gitrepo in rosinstall --- .../rossystem/deployment/RosInstallCompiler.xtend | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend index da2790d5d..1a840adf1 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend @@ -19,13 +19,21 @@ class RosInstallCompiler { List PkgsList List ComponentsList GeneratorHelpers generator_helper = new GeneratorHelpers() - + + def create_repo_link (String repo)''' +«IF repo.indexOf(":", repo.indexOf(":") + 1) > 1» +- git: {local-name: «repo.substring(0,repo.lastIndexOf(':')).substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: «repo.substring(0,repo.lastIndexOf(':'))», version: «repo.substring(repo.lastIndexOf(':') + 1)»} +«ELSE» +- git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: «repo»} +«ENDIF» + ''' + def compile_toRosInstall (RosSystem system,ComponentStack stack) '''«generator_helper.init_pkg()» «IF stack===null»«FOR repo:system.listOfRepos» -- git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: '«repo»'} +«create_repo_link(repo)» «ENDFOR» «ELSE»«FOR repo:stack.listOfRepos» -- git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: '«repo»'} +«create_repo_link(repo)» «ENDFOR» «ENDIF» ''' From 5709e5d6f87aea3f8e9a996b8d65e155b2aa0fa3 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Mon, 4 Oct 2021 14:04:25 +0200 Subject: [PATCH 22/48] Auto-regenerate the java associated to the Xtext implementation using the latest version from eclipse and the modeling packages --- .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 4 +- .../META-INF/MANIFEST.MF | 6 +- .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 4 +- .../META-INF/MANIFEST.MF | 6 +- .../ipa/ros/services/RosGrammarAccess.java | 1989 ++++++++++------- 7 files changed, 1161 insertions(+), 852 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF index 5268df940..52003305e 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Require-Bundle: de.fraunhofer.ipa.componentInterface.xtext, de.fraunhofer.ipa.componentInterface, org.eclipse.xtext.ide, org.eclipse.xtext.xbase.ide, - org.antlr.runtime + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.componentInterface.ide.contentassist.antlr, de.fraunhofer.ipa.componentInterface.ide.contentassist.antlr.internal diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF index a8caea44d..597a76f67 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF @@ -15,8 +15,8 @@ Require-Bundle: de.fraunhofer.ipa.componentInterface.xtext, org.eclipse.ui, org.eclipse.compare, org.eclipse.xtext.builder, - org.eclipse.xtend.lib, - org.eclipse.xtext.xbase.lib, + org.eclipse.xtend.lib;bundle-version="2.14.0", + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", org.eclipse.ui.editors Import-Package: org.apache.log4j, org.eclipse.xtext.generator diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF index 462127c15..cc50e2547 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF @@ -9,10 +9,10 @@ Require-Bundle: de.fraunhofer.ipa.componentInterface, org.eclipse.xtext, org.eclipse.xtext.xbase, org.eclipse.equinox.common, - org.eclipse.xtext.xbase.lib, - org.antlr.runtime, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.xtext.util, - org.eclipse.xtend.lib + org.eclipse.xtend.lib;bundle-version="2.14.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.componentInterface, de.fraunhofer.ipa.componentInterface.parser.antlr.internal, diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF index 1e29c80b5..ede53fea9 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Require-Bundle: de.fraunhofer.ipa.ros.xtext, de.fraunhofer.ipa.ros, org.eclipse.xtext.ide, org.eclipse.xtext.xbase.ide, - org.antlr.runtime + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.ros.ide.contentassist.antlr.internal, de.fraunhofer.ipa.ros.ide.contentassist.antlr diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF index 199ca10ea..172c0eae5 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF @@ -16,8 +16,8 @@ Require-Bundle: de.fraunhofer.ipa.ros.xtext, org.eclipse.ui, org.eclipse.compare, org.eclipse.xtext.builder, - org.eclipse.xtend.lib, - org.eclipse.xtext.xbase.lib + org.eclipse.xtend.lib;bundle-version="2.14.0", + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0" Import-Package: org.apache.log4j Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.ros.ui.contentassist, diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF index db55455a8..521872529 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF @@ -9,10 +9,10 @@ Require-Bundle: de.fraunhofer.ipa.ros, org.eclipse.xtext, org.eclipse.xtext.xbase, org.eclipse.equinox.common, - org.eclipse.xtext.xbase.lib, - org.antlr.runtime, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.xtext.util, - org.eclipse.xtend.lib + org.eclipse.xtend.lib;bundle-version="2.14.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.ros.formatting2, de.fraunhofer.ipa.ros, diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java index 5a6576027..e5a1f9323 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src-gen/de/fraunhofer/ipa/ros/services/RosGrammarAccess.java @@ -18,11 +18,11 @@ import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; -import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; +import org.eclipse.xtext.service.AbstractElementFinder; import org.eclipse.xtext.service.GrammarProvider; @Singleton -public class RosGrammarAccess extends AbstractGrammarElementFinder { +public class RosGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { public class PackageSetElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.PackageSet"); @@ -39,14 +39,19 @@ public class PackageSetElements extends AbstractParserRuleElementFinder { private final RuleCall cPackagePackageParserRuleCall_3_1_1_0 = (RuleCall)cPackageAssignment_3_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //PackageSet: - // {PackageSet} - // 'PackageSet' - // '{' (package+=Package ("," package+=Package)*)? - // '}'; + //PackageSet returns PackageSet: + // {PackageSet} + // 'PackageSet' + // '{' + // (package+=Package ( "," package+=Package)* )? + // '}'; @Override public ParserRule getRule() { return rule; } - //{PackageSet} 'PackageSet' '{' (package+=Package ("," package+=Package)*)? '}' + //{PackageSet} + //'PackageSet' + //'{' + // (package+=Package ( "," package+=Package)* )? + //'}' public Group getGroup() { return cGroup; } //{PackageSet} @@ -58,7 +63,7 @@ public class PackageSetElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //(package+=Package ("," package+=Package)*)? + //(package+=Package ( "," package+=Package)* )? public Group getGroup_3() { return cGroup_3; } //package+=Package @@ -67,7 +72,7 @@ public class PackageSetElements extends AbstractParserRuleElementFinder { //Package public RuleCall getPackagePackageParserRuleCall_3_0_0() { return cPackagePackageParserRuleCall_3_0_0; } - //("," package+=Package)* + //( "," package+=Package)* public Group getGroup_3_1() { return cGroup_3_1; } //"," @@ -89,8 +94,8 @@ public class PackageElements extends AbstractParserRuleElementFinder { private final RuleCall cCatkinPackageParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cAmentPackageParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //Package: - // Package_Impl | CatkinPackage | AmentPackage; + //Package returns Package: + // Package_Impl | CatkinPackage | AmentPackage; @Override public ParserRule getRule() { return rule; } //Package_Impl | CatkinPackage | AmentPackage @@ -112,8 +117,8 @@ public class SpecBaseElements extends AbstractParserRuleElementFinder { private final RuleCall cTopicSpecParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cActionSpecParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //SpecBase: - // ServiceSpec | TopicSpec | ActionSpec; + //SpecBase returns SpecBase: + // ServiceSpec | TopicSpec | ActionSpec; @Override public ParserRule getRule() { return rule; } //ServiceSpec | TopicSpec | ActionSpec @@ -134,8 +139,8 @@ public class DependencyElements extends AbstractParserRuleElementFinder { private final RuleCall cPackageDependencyParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cExternalDependencyParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //Dependency: - // PackageDependency | ExternalDependency; + //Dependency returns Dependency: + // PackageDependency | ExternalDependency; @Override public ParserRule getRule() { return rule; } //PackageDependency | ExternalDependency @@ -154,8 +159,8 @@ public class NamespaceElements extends AbstractParserRuleElementFinder { private final RuleCall cRelativeNamespace_ImplParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cPrivateNamespaceParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //Namespace: - // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; + //Namespace returns Namespace: + // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; @Override public ParserRule getRule() { return rule; } //GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace @@ -201,17 +206,25 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { private final RuleCall cArtifactArtifactParserRuleCall_6_1_1_0 = (RuleCall)cArtifactAssignment_6_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //Package_Impl Package: - // {Package} - // 'Package' - // name=EString - // '{' ('FromGitRepo' fromGitRepo=EString)? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact - // ("," artifact+=Artifact)*)? - // '}'; + //Package_Impl returns Package: + // {Package} + // 'Package' + // name=EString + // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{Package} 'Package' name=EString '{' ('FromGitRepo' fromGitRepo=EString)? ('Specs' '{' spec+=SpecBase ("," - //spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? '}' + //{Package} + //'Package' + //name=EString + //'{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + //'}' public Group getGroup() { return cGroup; } //{Package} @@ -241,7 +254,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //EString public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } - //('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? + //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? public Group getGroup_5() { return cGroup_5; } //'Specs' @@ -256,7 +269,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //SpecBase public RuleCall getSpecSpecBaseParserRuleCall_5_2_0() { return cSpecSpecBaseParserRuleCall_5_2_0; } - //("," spec+=SpecBase)* + //( "," spec+=SpecBase)* public Group getGroup_5_3() { return cGroup_5_3; } //"," @@ -271,7 +284,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - //(artifact+=Artifact ("," artifact+=Artifact)*)? + //(artifact+=Artifact ( "," artifact+=Artifact)*)? public Group getGroup_6() { return cGroup_6; } //artifact+=Artifact @@ -280,7 +293,7 @@ public class Package_ImplElements extends AbstractParserRuleElementFinder { //Artifact public RuleCall getArtifactArtifactParserRuleCall_6_0_0() { return cArtifactArtifactParserRuleCall_6_0_0; } - //("," artifact+=Artifact)* + //( "," artifact+=Artifact)* public Group getGroup_6_1() { return cGroup_6_1; } //"," @@ -301,8 +314,8 @@ public class EStringElements extends AbstractParserRuleElementFinder { private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //EString: - // STRING | ID; + //EString returns ecore::EString: + // STRING | ID; @Override public ParserRule getRule() { return rule; } //STRING | ID @@ -321,8 +334,9 @@ public class RosNamesElements extends AbstractParserRuleElementFinder { private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final Keyword cNodeKeyword_2 = (Keyword)cAlternatives.eContents().get(2); - //RosNames: - // ROS_CONVENTION_A | ID | 'node'; + //RosNames returns ecore::EString: + // ROS_CONVENTION_A | ID | 'node' + //; @Override public ParserRule getRule() { return rule; } //ROS_CONVENTION_A | ID | 'node' @@ -343,8 +357,9 @@ public class RosParamNamesElements extends AbstractParserRuleElementFinder { private final RuleCall cROS_CONVENTION_PARAMTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //RosParamNames: - // ROS_CONVENTION_PARAM | ID; + //RosParamNames returns ecore::EString: + // ROS_CONVENTION_PARAM | ID + //; @Override public ParserRule getRule() { return rule; } //ROS_CONVENTION_PARAM | ID @@ -368,16 +383,21 @@ public class ArtifactElements extends AbstractParserRuleElementFinder { private final RuleCall cNodeNodeParserRuleCall_4_0 = (RuleCall)cNodeAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //Artifact: - // {Artifact} - // 'Artifact' - // name=RosNames - // '{' - // node=Node? - // '}'; + //Artifact returns Artifact: + // {Artifact} + // 'Artifact' + // name=RosNames + // '{' + // (node=Node)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{Artifact} 'Artifact' name=RosNames '{' node=Node? '}' + //{Artifact} + //'Artifact' + //name=RosNames + //'{' + // (node=Node)? + //'}' public Group getGroup() { return cGroup; } //{Artifact} @@ -395,7 +415,7 @@ public class ArtifactElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - //node=Node? + //(node=Node)? public Assignment getNodeAssignment_4() { return cNodeAssignment_4; } //Node @@ -445,18 +465,27 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { private final RuleCall cArtifactArtifactParserRuleCall_7_1_1_0 = (RuleCall)cArtifactAssignment_7_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); - //CatkinPackage: - // {CatkinPackage} - // 'CatkinPackage' - // name=RosNames - // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* - // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? - // '}'; + //CatkinPackage returns CatkinPackage: + // {CatkinPackage} + // 'CatkinPackage' + // name=RosNames + // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{CatkinPackage} 'CatkinPackage' name=RosNames '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' - //dependency+=Dependency ("," dependency+=Dependency)* '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? - //(artifact+=Artifact ("," artifact+=Artifact)*)? '}' + //{CatkinPackage} + //'CatkinPackage' + //name=RosNames + //'{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + //'}' public Group getGroup() { return cGroup; } //{CatkinPackage} @@ -486,7 +515,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //EString public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } - //('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* '}')? + //('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? public Group getGroup_5() { return cGroup_5; } //'Dependencies' @@ -501,7 +530,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //Dependency public RuleCall getDependencyDependencyParserRuleCall_5_2_0() { return cDependencyDependencyParserRuleCall_5_2_0; } - //("," dependency+=Dependency)* + //( "," dependency+=Dependency)* public Group getGroup_5_3() { return cGroup_5_3; } //"," @@ -516,7 +545,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - //('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? + //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? public Group getGroup_6() { return cGroup_6; } //'Specs' @@ -531,7 +560,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //SpecBase public RuleCall getSpecSpecBaseParserRuleCall_6_2_0() { return cSpecSpecBaseParserRuleCall_6_2_0; } - //("," spec+=SpecBase)* + //( "," spec+=SpecBase)* public Group getGroup_6_3() { return cGroup_6_3; } //"," @@ -546,7 +575,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } - //(artifact+=Artifact ("," artifact+=Artifact)*)? + //(artifact+=Artifact ( "," artifact+=Artifact)*)? public Group getGroup_7() { return cGroup_7; } //artifact+=Artifact @@ -555,7 +584,7 @@ public class CatkinPackageElements extends AbstractParserRuleElementFinder { //Artifact public RuleCall getArtifactArtifactParserRuleCall_7_0_0() { return cArtifactArtifactParserRuleCall_7_0_0; } - //("," artifact+=Artifact)* + //( "," artifact+=Artifact)* public Group getGroup_7_1() { return cGroup_7_1; } //"," @@ -611,18 +640,27 @@ public class AmentPackageElements extends AbstractParserRuleElementFinder { private final RuleCall cArtifactArtifactParserRuleCall_7_1_1_0 = (RuleCall)cArtifactAssignment_7_1_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); - //AmentPackage: - // {AmentPackage} - // 'AmentPackage' - // name=RosNames - // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* - // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? - // '}'; + //AmentPackage returns AmentPackage: + // {AmentPackage} + // 'AmentPackage' + // name=RosNames + // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{AmentPackage} 'AmentPackage' name=RosNames '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' - //dependency+=Dependency ("," dependency+=Dependency)* '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? - //(artifact+=Artifact ("," artifact+=Artifact)*)? '}' + //{AmentPackage} + //'AmentPackage' + //name=RosNames + //'{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + //'}' public Group getGroup() { return cGroup; } //{AmentPackage} @@ -652,7 +690,7 @@ public class AmentPackageElements extends AbstractParserRuleElementFinder { //EString public RuleCall getFromGitRepoEStringParserRuleCall_4_1_0() { return cFromGitRepoEStringParserRuleCall_4_1_0; } - //('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* '}')? + //('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? public Group getGroup_5() { return cGroup_5; } //'Dependencies' @@ -667,7 +705,7 @@ public class AmentPackageElements extends AbstractParserRuleElementFinder { //Dependency public RuleCall getDependencyDependencyParserRuleCall_5_2_0() { return cDependencyDependencyParserRuleCall_5_2_0; } - //("," dependency+=Dependency)* + //( "," dependency+=Dependency)* public Group getGroup_5_3() { return cGroup_5_3; } //"," @@ -682,7 +720,7 @@ public class AmentPackageElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - //('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? + //('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? public Group getGroup_6() { return cGroup_6; } //'Specs' @@ -697,7 +735,7 @@ public class AmentPackageElements extends AbstractParserRuleElementFinder { //SpecBase public RuleCall getSpecSpecBaseParserRuleCall_6_2_0() { return cSpecSpecBaseParserRuleCall_6_2_0; } - //("," spec+=SpecBase)* + //( "," spec+=SpecBase)* public Group getGroup_6_3() { return cGroup_6_3; } //"," @@ -712,7 +750,7 @@ public class AmentPackageElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } - //(artifact+=Artifact ("," artifact+=Artifact)*)? + //(artifact+=Artifact ( "," artifact+=Artifact)*)? public Group getGroup_7() { return cGroup_7; } //artifact+=Artifact @@ -721,7 +759,7 @@ public class AmentPackageElements extends AbstractParserRuleElementFinder { //Artifact public RuleCall getArtifactArtifactParserRuleCall_7_0_0() { return cArtifactArtifactParserRuleCall_7_0_0; } - //("," artifact+=Artifact)* + //( "," artifact+=Artifact)* public Group getGroup_7_1() { return cGroup_7_1; } //"," @@ -754,16 +792,23 @@ public class ServiceSpecElements extends AbstractParserRuleElementFinder { private final RuleCall cResponseMessageDefinitionParserRuleCall_5_1_0 = (RuleCall)cResponseAssignment_5_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - //ServiceSpec: - // {ServiceSpec} - // 'ServiceSpec' - // name=EString - // '{' ('request' request=MessageDefinition)? ('response' response=MessageDefinition)? - // '}'; + //ServiceSpec returns ServiceSpec: + // {ServiceSpec} + // 'ServiceSpec' + // name=EString + // '{' + // ('request' request=MessageDefinition)? + // ('response' response=MessageDefinition)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{ServiceSpec} 'ServiceSpec' name=EString '{' ('request' request=MessageDefinition)? ('response' - //response=MessageDefinition)? '}' + //{ServiceSpec} + //'ServiceSpec' + //name=EString + //'{' + // ('request' request=MessageDefinition)? + // ('response' response=MessageDefinition)? + //'}' public Group getGroup() { return cGroup; } //{ServiceSpec} @@ -825,15 +870,21 @@ public class TopicSpecElements extends AbstractParserRuleElementFinder { private final RuleCall cMessageMessageDefinitionParserRuleCall_4_1_0 = (RuleCall)cMessageAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //TopicSpec: - // {TopicSpec} - // 'TopicSpec' - // name=(EString | 'Header' | 'String') - // '{' ('message' message=MessageDefinition)? - // '}'; + //TopicSpec returns TopicSpec: + // {TopicSpec} + // 'TopicSpec' + // name=(EString|'Header'|'String') + // '{' + // ('message' message=MessageDefinition)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{TopicSpec} 'TopicSpec' name=(EString | 'Header' | 'String') '{' ('message' message=MessageDefinition)? '}' + //{TopicSpec} + //'TopicSpec' + //name=(EString|'Header'|'String') + //'{' + // ('message' message=MessageDefinition)? + //'}' public Group getGroup() { return cGroup; } //{TopicSpec} @@ -842,10 +893,10 @@ public class TopicSpecElements extends AbstractParserRuleElementFinder { //'TopicSpec' public Keyword getTopicSpecKeyword_1() { return cTopicSpecKeyword_1; } - //name=(EString | 'Header' | 'String') + //name=(EString|'Header'|'String') public Assignment getNameAssignment_2() { return cNameAssignment_2; } - //(EString | 'Header' | 'String') + //(EString|'Header'|'String') public Alternatives getNameAlternatives_2_0() { return cNameAlternatives_2_0; } //EString @@ -897,16 +948,25 @@ public class ActionSpecElements extends AbstractParserRuleElementFinder { private final RuleCall cFeedbackMessageDefinitionParserRuleCall_6_1_0 = (RuleCall)cFeedbackAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ActionSpec: - // {ActionSpec} - // 'ActionSpec' - // name=EString - // '{' ('goal' goal=MessageDefinition)? ('result' result=MessageDefinition)? ('feedback' feedback=MessageDefinition)? - // '}'; + //ActionSpec returns ActionSpec: + // {ActionSpec} + // 'ActionSpec' + // name=EString + // '{' + // ('goal' goal=MessageDefinition)? + // ('result' result=MessageDefinition)? + // ('feedback' feedback=MessageDefinition)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{ActionSpec} 'ActionSpec' name=EString '{' ('goal' goal=MessageDefinition)? ('result' result=MessageDefinition)? - //('feedback' feedback=MessageDefinition)? '}' + //{ActionSpec} + //'ActionSpec' + //name=EString + //'{' + // ('goal' goal=MessageDefinition)? + // ('result' result=MessageDefinition)? + // ('feedback' feedback=MessageDefinition)? + //'}' public Group getGroup() { return cGroup; } //{ActionSpec} @@ -975,13 +1035,17 @@ public class MessageDefinitionElements extends AbstractParserRuleElementFinder { private final RuleCall cMessagePartMessagePartParserRuleCall_2_1_0 = (RuleCall)cMessagePartAssignment_2_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - //MessageDefinition: - // {MessageDefinition} - // '{' (MessagePart+=MessagePart MessagePart+=MessagePart*)? - // '}'; + //MessageDefinition returns MessageDefinition: + // {MessageDefinition} + // '{' + // ( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? + // '}'; @Override public ParserRule getRule() { return rule; } - //{MessageDefinition} '{' (MessagePart+=MessagePart MessagePart+=MessagePart*)? '}' + //{MessageDefinition} + //'{' + // ( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? + //'}' public Group getGroup() { return cGroup; } //{MessageDefinition} @@ -990,7 +1054,7 @@ public class MessageDefinitionElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } - //(MessagePart+=MessagePart MessagePart+=MessagePart*)? + //( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? public Group getGroup_2() { return cGroup_2; } //MessagePart+=MessagePart @@ -999,7 +1063,7 @@ public class MessageDefinitionElements extends AbstractParserRuleElementFinder { //MessagePart public RuleCall getMessagePartMessagePartParserRuleCall_2_0_0() { return cMessagePartMessagePartParserRuleCall_2_0_0; } - //MessagePart+=MessagePart* + //( MessagePart+=MessagePart)* public Assignment getMessagePartAssignment_2_1() { return cMessagePartAssignment_2_1; } //MessagePart @@ -1088,24 +1152,31 @@ public class NodeElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); - //Node: - // 'Node' - // '{' - // 'name' name=RosNames ('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* '}')? - // ('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? ('Subscribers' '{' subscriber+=Subscriber - // ("," subscriber+=Subscriber)* '}')? ('ServiceClients' '{' serviceclient+=ServiceClient ("," - // serviceclient+=ServiceClient)* '}')? ('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* - // '}')? ('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? ('Parameters' '{' - // parameter+=Parameter ("," parameter+=Parameter)* '}')? - // '}'; + //Node returns Node: + // 'Node' + // '{' + // 'name' name=RosNames + // ('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? + // ('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? + // ('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? + // ('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? + // ('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? + // ('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? + // ('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Node' '{' 'name' name=RosNames ('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* - //'}')? ('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? ('Subscribers' '{' - //subscriber+=Subscriber ("," subscriber+=Subscriber)* '}')? ('ServiceClients' '{' serviceclient+=ServiceClient ("," - //serviceclient+=ServiceClient)* '}')? ('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* - //'}')? ('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? ('Parameters' '{' - //parameter+=Parameter ("," parameter+=Parameter)* '}')? '}' + //'Node' + //'{' + // 'name' name=RosNames + // ('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? + // ('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? + // ('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? + // ('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? + // ('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? + // ('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? + // ('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? + //'}' public Group getGroup() { return cGroup; } //'Node' @@ -1123,7 +1194,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //RosNames public RuleCall getNameRosNamesParserRuleCall_3_0() { return cNameRosNamesParserRuleCall_3_0; } - //('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* '}')? + //('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? public Group getGroup_4() { return cGroup_4; } //'ServiceServers' @@ -1138,7 +1209,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ServiceServer public RuleCall getServiceserverServiceServerParserRuleCall_4_2_0() { return cServiceserverServiceServerParserRuleCall_4_2_0; } - //("," serviceserver+=ServiceServer)* + //( "," serviceserver+=ServiceServer)* public Group getGroup_4_3() { return cGroup_4_3; } //"," @@ -1153,7 +1224,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; } - //('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? + //('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? public Group getGroup_5() { return cGroup_5; } //'Publishers' @@ -1168,7 +1239,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //Publisher public RuleCall getPublisherPublisherParserRuleCall_5_2_0() { return cPublisherPublisherParserRuleCall_5_2_0; } - //("," publisher+=Publisher)* + //( "," publisher+=Publisher)* public Group getGroup_5_3() { return cGroup_5_3; } //"," @@ -1183,7 +1254,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - //('Subscribers' '{' subscriber+=Subscriber ("," subscriber+=Subscriber)* '}')? + //('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? public Group getGroup_6() { return cGroup_6; } //'Subscribers' @@ -1198,7 +1269,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //Subscriber public RuleCall getSubscriberSubscriberParserRuleCall_6_2_0() { return cSubscriberSubscriberParserRuleCall_6_2_0; } - //("," subscriber+=Subscriber)* + //( "," subscriber+=Subscriber)* public Group getGroup_6_3() { return cGroup_6_3; } //"," @@ -1213,7 +1284,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } - //('ServiceClients' '{' serviceclient+=ServiceClient ("," serviceclient+=ServiceClient)* '}')? + //('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? public Group getGroup_7() { return cGroup_7; } //'ServiceClients' @@ -1228,7 +1299,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ServiceClient public RuleCall getServiceclientServiceClientParserRuleCall_7_2_0() { return cServiceclientServiceClientParserRuleCall_7_2_0; } - //("," serviceclient+=ServiceClient)* + //( "," serviceclient+=ServiceClient)* public Group getGroup_7_3() { return cGroup_7_3; } //"," @@ -1243,7 +1314,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } - //('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* '}')? + //('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? public Group getGroup_8() { return cGroup_8; } //'ActionServers' @@ -1258,7 +1329,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ActionServer public RuleCall getActionserverActionServerParserRuleCall_8_2_0() { return cActionserverActionServerParserRuleCall_8_2_0; } - //("," actionserver+=ActionServer)* + //( "," actionserver+=ActionServer)* public Group getGroup_8_3() { return cGroup_8_3; } //"," @@ -1273,7 +1344,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; } - //('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? + //('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? public Group getGroup_9() { return cGroup_9; } //'ActionClients' @@ -1288,7 +1359,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //ActionClient public RuleCall getActionclientActionClientParserRuleCall_9_2_0() { return cActionclientActionClientParserRuleCall_9_2_0; } - //("," actionclient+=ActionClient)* + //( "," actionclient+=ActionClient)* public Group getGroup_9_3() { return cGroup_9_3; } //"," @@ -1303,7 +1374,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //'}' public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; } - //('Parameters' '{' parameter+=Parameter ("," parameter+=Parameter)* '}')? + //('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? public Group getGroup_10() { return cGroup_10; } //'Parameters' @@ -1318,7 +1389,7 @@ public class NodeElements extends AbstractParserRuleElementFinder { //Parameter public RuleCall getParameterParameterParserRuleCall_10_2_0() { return cParameterParameterParserRuleCall_10_2_0; } - //("," parameter+=Parameter)* + //( "," parameter+=Parameter)* public Group getGroup_10_3() { return cGroup_10_3; } //"," @@ -1354,15 +1425,21 @@ public class ServiceServerElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ServiceServer: - // 'ServiceServer' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ServiceServer returns ServiceServer: + // 'ServiceServer' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ServiceServer' '{' 'name' name=EString 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? '}' + //'ServiceServer' + //'{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] + // ('namespace' namespace=Namespace)? + //'}' public Group getGroup() { return cGroup; } //'ServiceServer' @@ -1425,15 +1502,21 @@ public class PublisherElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //Publisher: - // 'Publisher' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //Publisher returns Publisher: + // 'Publisher' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Publisher' '{' 'name' name=EString 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? '}' + //'Publisher' + //'{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] + // ('namespace' namespace=Namespace)? + //'}' public Group getGroup() { return cGroup; } //'Publisher' @@ -1496,15 +1579,21 @@ public class SubscriberElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //Subscriber: - // 'Subscriber' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //Subscriber returns Subscriber: + // 'Subscriber' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Subscriber' '{' 'name' name=EString 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? '}' + //'Subscriber' + //'{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] + // ('namespace' namespace=Namespace)? + //'}' public Group getGroup() { return cGroup; } //'Subscriber' @@ -1567,15 +1656,21 @@ public class ServiceClientElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ServiceClient: - // 'ServiceClient' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ServiceClient returns ServiceClient: + // 'ServiceClient' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ServiceClient' '{' 'name' name=EString 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? '}' + //'ServiceClient' + //'{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] + // ('namespace' namespace=Namespace)? + //'}' public Group getGroup() { return cGroup; } //'ServiceClient' @@ -1638,15 +1733,21 @@ public class ActionServerElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ActionServer: - // 'ActionServer' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ActionServer returns ActionServer: + // 'ActionServer' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ActionServer' '{' 'name' name=EString 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? '}' + //'ActionServer' + //'{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] + // ('namespace' namespace=Namespace)? + //'}' public Group getGroup() { return cGroup; } //'ActionServer' @@ -1709,15 +1810,21 @@ public class ActionClientElements extends AbstractParserRuleElementFinder { private final RuleCall cNamespaceNamespaceParserRuleCall_6_1_0 = (RuleCall)cNamespaceAssignment_6_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - //ActionClient: - // 'ActionClient' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ActionClient returns ActionClient: + // 'ActionClient' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'ActionClient' '{' 'name' name=EString 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? '}' + //'ActionClient' + //'{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] + // ('namespace' namespace=Namespace)? + //'}' public Group getGroup() { return cGroup; } //'ActionClient' @@ -1766,8 +1873,8 @@ public class GraphNameElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.GraphName"); private final Keyword cGraphNameKeyword = (Keyword)rule.eContents().get(1); - //GraphName GraphName: - // 'GraphName'; + //GraphName returns GraphName: + // 'GraphName' ; @Override public ParserRule getRule() { return rule; } //'GraphName' @@ -1779,8 +1886,9 @@ public class PackageDependencyElements extends AbstractParserRuleElementFinder { private final CrossReference cPackagePackageCrossReference_0 = (CrossReference)cPackageAssignment.eContents().get(0); private final RuleCall cPackagePackageEStringParserRuleCall_0_1 = (RuleCall)cPackagePackageCrossReference_0.eContents().get(1); - //PackageDependency: - // package=[Package|EString]; + //PackageDependency returns PackageDependency: + // package=[Package|EString] + //; @Override public ParserRule getRule() { return rule; } //package=[Package|EString] @@ -1800,13 +1908,15 @@ public class ExternalDependencyElements extends AbstractParserRuleElementFinder private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameEStringParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); - //ExternalDependency: - // {ExternalDependency} - // 'ExternalDependency' - // name=EString; + //ExternalDependency returns ExternalDependency: + // {ExternalDependency} + // 'ExternalDependency' + // name=EString; @Override public ParserRule getRule() { return rule; } - //{ExternalDependency} 'ExternalDependency' name=EString + //{ExternalDependency} + //'ExternalDependency' + //name=EString public Group getGroup() { return cGroup; } //{ExternalDependency} @@ -1839,14 +1949,19 @@ public class GlobalNamespaceElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //GlobalNamespace: - // {GlobalNamespace} - // 'GlobalNamespace' - // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? - // '}'; + //GlobalNamespace returns GlobalNamespace: + // {GlobalNamespace} + // 'GlobalNamespace' + // '{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + // '}'; @Override public ParserRule getRule() { return rule; } - //{GlobalNamespace} 'GlobalNamespace' '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? '}' + //{GlobalNamespace} + //'GlobalNamespace' + //'{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + //'}' public Group getGroup() { return cGroup; } //{GlobalNamespace} @@ -1858,7 +1973,7 @@ public class GlobalNamespaceElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + //('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? public Group getGroup_3() { return cGroup_3; } //'parts' @@ -1873,7 +1988,7 @@ public class GlobalNamespaceElements extends AbstractParserRuleElementFinder { //GraphName public RuleCall getPartsGraphNameParserRuleCall_3_2_0() { return cPartsGraphNameParserRuleCall_3_2_0; } - //("," parts+=GraphName)* + //( "," parts+=GraphName)* public Group getGroup_3_3() { return cGroup_3_3; } //"," @@ -1909,14 +2024,19 @@ public class RelativeNamespace_ImplElements extends AbstractParserRuleElementFin private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //RelativeNamespace_Impl RelativeNamespace: - // {RelativeNamespace} - // 'RelativeNamespace' - // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? - // '}'; + //RelativeNamespace_Impl returns RelativeNamespace: + // {RelativeNamespace} + // 'RelativeNamespace' + // '{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + // '}'; @Override public ParserRule getRule() { return rule; } - //{RelativeNamespace} 'RelativeNamespace' '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? '}' + //{RelativeNamespace} + //'RelativeNamespace' + //'{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + //'}' public Group getGroup() { return cGroup; } //{RelativeNamespace} @@ -1928,7 +2048,7 @@ public class RelativeNamespace_ImplElements extends AbstractParserRuleElementFin //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + //('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? public Group getGroup_3() { return cGroup_3; } //'parts' @@ -1943,7 +2063,7 @@ public class RelativeNamespace_ImplElements extends AbstractParserRuleElementFin //GraphName public RuleCall getPartsGraphNameParserRuleCall_3_2_0() { return cPartsGraphNameParserRuleCall_3_2_0; } - //("," parts+=GraphName)* + //( "," parts+=GraphName)* public Group getGroup_3_3() { return cGroup_3_3; } //"," @@ -1979,14 +2099,19 @@ public class PrivateNamespaceElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //PrivateNamespace: - // {PrivateNamespace} - // 'PrivateNamespace' - // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? - // '}'; + //PrivateNamespace returns PrivateNamespace: + // {PrivateNamespace} + // 'PrivateNamespace' + // '{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + // '}'; @Override public ParserRule getRule() { return rule; } - //{PrivateNamespace} 'PrivateNamespace' '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? '}' + //{PrivateNamespace} + //'PrivateNamespace' + //'{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + //'}' public Group getGroup() { return cGroup; } //{PrivateNamespace} @@ -1998,7 +2123,7 @@ public class PrivateNamespaceElements extends AbstractParserRuleElementFinder { //'{' public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - //('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? + //('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? public Group getGroup_3() { return cGroup_3; } //'parts' @@ -2013,7 +2138,7 @@ public class PrivateNamespaceElements extends AbstractParserRuleElementFinder { //GraphName public RuleCall getPartsGraphNameParserRuleCall_3_2_0() { return cPartsGraphNameParserRuleCall_3_2_0; } - //("," parts+=GraphName)* + //( "," parts+=GraphName)* public Group getGroup_3_3() { return cGroup_3_3; } //"," @@ -2049,15 +2174,21 @@ public class ParameterElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); ////PARAMETERS DEFINITION - //Parameter: - // 'Parameter' - // '{' - // 'name' name=EString ('namespace' namespace=Namespace)? - // 'type' type=ParameterType - // '}'; + //Parameter returns Parameter: + // 'Parameter' + // '{' + // 'name' name=EString + // ('namespace' namespace=Namespace)? + // 'type' type=ParameterType + // '}'; @Override public ParserRule getRule() { return rule; } - //'Parameter' '{' 'name' name=EString ('namespace' namespace=Namespace)? 'type' type=ParameterType '}' + //'Parameter' + //'{' + // 'name' name=EString + // ('namespace' namespace=Namespace)? + // 'type' type=ParameterType + //'}' public Group getGroup() { return cGroup; } //'Parameter' @@ -2111,13 +2242,11 @@ public class ParameterTypeElements extends AbstractParserRuleElementFinder { private final RuleCall cParameterBase64TypeParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); private final RuleCall cParameterArrayTypeParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); - //ParameterType: - // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | - // ParameterBooleanType | ParameterBase64Type | ParameterArrayType; + //ParameterType returns ParameterType: + // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | ParameterBooleanType | ParameterBase64Type | ParameterArrayType; @Override public ParserRule getRule() { return rule; } - //ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | - //ParameterBooleanType | ParameterBase64Type | ParameterArrayType + //ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | ParameterBooleanType | ParameterBase64Type | ParameterArrayType public Alternatives getAlternatives() { return cAlternatives; } //ParameterListType @@ -2155,14 +2284,12 @@ public class ParameterValueElements extends AbstractParserRuleElementFinder { private final RuleCall cParameterListParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cParameterStructParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); - //// | ParameterDateType; - //ParameterValue: - // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | - // ParameterStruct; + // // | ParameterDateType; + //ParameterValue returns ParameterValue: + // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | ParameterStruct; @Override public ParserRule getRule() { return rule; } - //ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | - //ParameterStruct + //ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | ParameterStruct public Alternatives getAlternatives() { return cAlternatives; } //ParameterString @@ -2200,16 +2327,20 @@ public class ParameterListTypeElements extends AbstractParserRuleElementFinder { private final RuleCall cSequenceParameterTypeParserRuleCall_4_1_0 = (RuleCall)cSequenceAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //// | ParameterDate; - //ParameterListType: - // {ParameterListType} - // 'List' - // '{' - // sequence+=ParameterType (',' sequence+=ParameterType)* - // '}'; + // // | ParameterDate; + //ParameterListType returns ParameterListType: + // {ParameterListType} + // 'List' + // '{' + // sequence+=ParameterType ( ',' sequence+=ParameterType )* + // '}'; @Override public ParserRule getRule() { return rule; } - //{ParameterListType} 'List' '{' sequence+=ParameterType (',' sequence+=ParameterType)* '}' + //{ParameterListType} + //'List' + //'{' + // sequence+=ParameterType ( ',' sequence+=ParameterType )* + //'}' public Group getGroup() { return cGroup; } //{ParameterListType} @@ -2227,7 +2358,7 @@ public class ParameterListTypeElements extends AbstractParserRuleElementFinder { //ParameterType public RuleCall getSequenceParameterTypeParserRuleCall_3_0() { return cSequenceParameterTypeParserRuleCall_3_0; } - //(',' sequence+=ParameterType)* + //( ',' sequence+=ParameterType )* public Group getGroup_4() { return cGroup_4; } //',' @@ -2256,16 +2387,19 @@ public class ParameterStructTypeElements extends AbstractParserRuleElementFinder private final RuleCall cParameterstructypetmemberParameterStructTypeMemberParserRuleCall_4_1_0 = (RuleCall)cParameterstructypetmemberAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //ParameterStructType: - // {ParameterStructType} - // 'Struct' - // '{' - // parameterstructypetmember+=ParameterStructTypeMember ("," parameterstructypetmember+=ParameterStructTypeMember)* - // '}'; + //ParameterStructType returns ParameterStructType: + // {ParameterStructType} + // 'Struct' + // '{' + // parameterstructypetmember+=ParameterStructTypeMember ( "," parameterstructypetmember+=ParameterStructTypeMember)* + // '}'; @Override public ParserRule getRule() { return rule; } - //{ParameterStructType} 'Struct' '{' parameterstructypetmember+=ParameterStructTypeMember ("," - //parameterstructypetmember+=ParameterStructTypeMember)* '}' + //{ParameterStructType} + //'Struct' + //'{' + // parameterstructypetmember+=ParameterStructTypeMember ( "," parameterstructypetmember+=ParameterStructTypeMember)* + //'}' public Group getGroup() { return cGroup; } //{ParameterStructType} @@ -2283,7 +2417,7 @@ public class ParameterStructTypeElements extends AbstractParserRuleElementFinder //ParameterStructTypeMember public RuleCall getParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0() { return cParameterstructypetmemberParameterStructTypeMemberParserRuleCall_3_0; } - //("," parameterstructypetmember+=ParameterStructTypeMember)* + //( "," parameterstructypetmember+=ParameterStructTypeMember)* public Group getGroup_4() { return cGroup_4; } //"," @@ -2308,12 +2442,15 @@ public class ParameterIntegerTypeElements extends AbstractParserRuleElementFinde private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterIntegerParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterIntegerType: - // {ParameterIntegerType} - // 'Integer' ('default' default=ParameterInteger)?; + //ParameterIntegerType returns ParameterIntegerType: + // {ParameterIntegerType} + // 'Integer' + // ('default' default=ParameterInteger)?; @Override public ParserRule getRule() { return rule; } - //{ParameterIntegerType} 'Integer' ('default' default=ParameterInteger)? + //{ParameterIntegerType} + //'Integer' + //('default' default=ParameterInteger)? public Group getGroup() { return cGroup; } //{ParameterIntegerType} @@ -2344,12 +2481,15 @@ public class ParameterStringTypeElements extends AbstractParserRuleElementFinder private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterStringParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterStringType: - // {ParameterStringType} - // 'String' ('default' default=ParameterString)?; + //ParameterStringType returns ParameterStringType: + // {ParameterStringType} + // 'String' + // ('default' default=ParameterString)?; @Override public ParserRule getRule() { return rule; } - //{ParameterStringType} 'String' ('default' default=ParameterString)? + //{ParameterStringType} + //'String' + //('default' default=ParameterString)? public Group getGroup() { return cGroup; } //{ParameterStringType} @@ -2380,12 +2520,15 @@ public class ParameterDoubleTypeElements extends AbstractParserRuleElementFinder private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterDoubleParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterDoubleType: - // {ParameterDoubleType} - // 'Double' ('default' default=ParameterDouble)?; + //ParameterDoubleType returns ParameterDoubleType: + // {ParameterDoubleType} + // 'Double' + // ('default' default=ParameterDouble)?; @Override public ParserRule getRule() { return rule; } - //{ParameterDoubleType} 'Double' ('default' default=ParameterDouble)? + //{ParameterDoubleType} + //'Double' + //('default' default=ParameterDouble)? public Group getGroup() { return cGroup; } //{ParameterDoubleType} @@ -2416,12 +2559,15 @@ public class ParameterDateTypeElements extends AbstractParserRuleElementFinder { private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterDateParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterDateType: - // {ParameterDateType} - // 'Date' ('default' default=ParameterDate)?; + //ParameterDateType returns ParameterDateType: + // {ParameterDateType} + // 'Date' + // ('default' default=ParameterDate)?; @Override public ParserRule getRule() { return rule; } - //{ParameterDateType} 'Date' ('default' default=ParameterDate)? + //{ParameterDateType} + //'Date' + //('default' default=ParameterDate)? public Group getGroup() { return cGroup; } //{ParameterDateType} @@ -2452,12 +2598,15 @@ public class ParameterBooleanTypeElements extends AbstractParserRuleElementFinde private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterBooleanParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterBooleanType: - // {ParameterBooleanType} - // 'Boolean' ('default' default=ParameterBoolean)?; + //ParameterBooleanType returns ParameterBooleanType: + // {ParameterBooleanType} + // 'Boolean' + // ('default' default=ParameterBoolean)?; @Override public ParserRule getRule() { return rule; } - //{ParameterBooleanType} 'Boolean' ('default' default=ParameterBoolean)? + //{ParameterBooleanType} + //'Boolean' + //('default' default=ParameterBoolean)? public Group getGroup() { return cGroup; } //{ParameterBooleanType} @@ -2488,12 +2637,15 @@ public class ParameterBase64TypeElements extends AbstractParserRuleElementFinder private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterBase64ParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterBase64Type: - // {ParameterBase64Type} - // 'Base64' ('default' default=ParameterBase64)?; + //ParameterBase64Type returns ParameterBase64Type: + // {ParameterBase64Type} + // 'Base64' + // ('default' default=ParameterBase64)?; @Override public ParserRule getRule() { return rule; } - //{ParameterBase64Type} 'Base64' ('default' default=ParameterBase64)? + //{ParameterBase64Type} + //'Base64' + //('default' default=ParameterBase64)? public Group getGroup() { return cGroup; } //{ParameterBase64Type} @@ -2524,12 +2676,15 @@ public class ParameterAnyTypeElements extends AbstractParserRuleElementFinder { private final Assignment cDefaultAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cDefaultParameterAnyParserRuleCall_2_1_0 = (RuleCall)cDefaultAssignment_2_1.eContents().get(0); - //ParameterAnyType: - // {ParameterAnyType} - // 'Any' ('default' default=ParameterAny)?; + //ParameterAnyType returns ParameterAnyType: + // {ParameterAnyType} + // 'Any' + // ('default' default=ParameterAny)?; @Override public ParserRule getRule() { return rule; } - //{ParameterAnyType} 'Any' ('default' default=ParameterAny)? + //{ParameterAnyType} + //'Any' + //('default' default=ParameterAny)? public Group getGroup() { return cGroup; } //{ParameterAnyType} @@ -2564,14 +2719,19 @@ public class ParameterArrayTypeElements extends AbstractParserRuleElementFinder private final RuleCall cDefaultParameterListParserRuleCall_4_1_0 = (RuleCall)cDefaultAssignment_4_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //ParameterArrayType: - // 'Array' - // '{' - // 'type' type=ParameterType ('default' default=ParameterList)? - // '}'; + //ParameterArrayType returns ParameterArrayType: + // 'Array' + // '{' + // 'type' type=ParameterType + // ('default' default=ParameterList)? + // '}'; @Override public ParserRule getRule() { return rule; } - //'Array' '{' 'type' type=ParameterType ('default' default=ParameterList)? '}' + //'Array' + //'{' + // 'type' type=ParameterType + // ('default' default=ParameterList)? + //'}' public Group getGroup() { return cGroup; } //'Array' @@ -2617,12 +2777,14 @@ public class ParameterListElements extends AbstractParserRuleElementFinder { private final RuleCall cValueParameterValueParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //ParameterList ParameterSequence: - // {ParameterSequence} - // '{' value+=ParameterValue (',' value+=ParameterValue)* '}'; + //ParameterList returns ParameterSequence: + // {ParameterSequence} + // '{' value+=ParameterValue ( ',' value+=ParameterValue )* '}' + //; @Override public ParserRule getRule() { return rule; } - //{ParameterSequence} '{' value+=ParameterValue (',' value+=ParameterValue)* '}' + //{ParameterSequence} + // '{' value+=ParameterValue ( ',' value+=ParameterValue )* '}' public Group getGroup() { return cGroup; } //{ParameterSequence} @@ -2637,7 +2799,7 @@ public class ParameterListElements extends AbstractParserRuleElementFinder { //ParameterValue public RuleCall getValueParameterValueParserRuleCall_2_0() { return cValueParameterValueParserRuleCall_2_0; } - //(',' value+=ParameterValue)* + //( ',' value+=ParameterValue )* public Group getGroup_3() { return cGroup_3; } //',' @@ -2664,14 +2826,19 @@ public class ParameterAnyElements extends AbstractParserRuleElementFinder { private final RuleCall cValueEStringParserRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - //ParameterAny: - // {ParameterAny} - // 'ParameterAny' - // '{' ('value' value=EString)? - // '}'; + //ParameterAny returns ParameterAny: + // {ParameterAny} + // 'ParameterAny' + // '{' + // ('value' value=EString)? + // '}'; @Override public ParserRule getRule() { return rule; } - //{ParameterAny} 'ParameterAny' '{' ('value' value=EString)? '}' + //{ParameterAny} + //'ParameterAny' + //'{' + // ('value' value=EString)? + //'}' public Group getGroup() { return cGroup; } //{ParameterAny} @@ -2703,8 +2870,9 @@ public class ParameterStringElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueEStringParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterString: - // value=EString; + //ParameterString returns ParameterString: + // value=EString + //; @Override public ParserRule getRule() { return rule; } //value=EString @@ -2718,8 +2886,9 @@ public class ParameterBase64Elements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueBase64BinaryParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterBase64: - // value=Base64Binary; + //ParameterBase64 returns ParameterBase64: + // value=Base64Binary + //; @Override public ParserRule getRule() { return rule; } //value=Base64Binary @@ -2733,8 +2902,9 @@ public class ParameterIntegerElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueInteger0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterInteger: - // value=Integer0; + //ParameterInteger returns ParameterInteger: + // value=Integer0 + //; @Override public ParserRule getRule() { return rule; } //value=Integer0 @@ -2748,8 +2918,9 @@ public class ParameterDoubleElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueDouble0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterDouble: - // value=Double0; + //ParameterDouble returns ParameterDouble: + // value=Double0 + //; @Override public ParserRule getRule() { return rule; } //value=Double0 @@ -2763,8 +2934,9 @@ public class ParameterBooleanElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueBoolean0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterBoolean: - // value=boolean0; + //ParameterBoolean returns ParameterBoolean: + // value=boolean0 + //; @Override public ParserRule getRule() { return rule; } //value=boolean0 @@ -2789,17 +2961,20 @@ public class ParameterStructElements extends AbstractParserRuleElementFinder { private final Keyword cRightCurlyBracketKeyword_1_2_3 = (Keyword)cGroup_1_2.eContents().get(3); private final Keyword cRightCurlyBracketKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3); - //ParameterStruct: - // {ParameterStruct} ('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')?; + //ParameterStruct returns ParameterStruct: + // {ParameterStruct} + // ('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? + //; @Override public ParserRule getRule() { return rule; } - //{ParameterStruct} ('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')? + //{ParameterStruct} + // ('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? public Group getGroup() { return cGroup; } //{ParameterStruct} public Action getParameterStructAction_0() { return cParameterStructAction_0; } - //('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')? + //('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? public Group getGroup_1() { return cGroup_1; } //'{' @@ -2811,7 +2986,7 @@ public class ParameterStructElements extends AbstractParserRuleElementFinder { //ParameterStructMember public RuleCall getValueParameterStructMemberParserRuleCall_1_1_0() { return cValueParameterStructMemberParserRuleCall_1_1_0; } - //("," '{' value+=ParameterStructMember '}')* + //( "," '{' value+=ParameterStructMember '}')* public Group getGroup_1_2() { return cGroup_1_2; } //"," @@ -2837,8 +3012,9 @@ public class ParameterDateElements extends AbstractParserRuleElementFinder { private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueDateTime0ParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //ParameterDate: - // value=DateTime0; + //ParameterDate returns ParameterDate: + // value=DateTime0 + // ; @Override public ParserRule getRule() { return rule; } //value=DateTime0 @@ -2859,15 +3035,19 @@ public class ParameterStructMemberElements extends AbstractParserRuleElementFind private final RuleCall cValueParameterValueParserRuleCall_4_0 = (RuleCall)cValueAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //ParameterStructMember: - // 'ParameterStructMember' - // name=EString - // '{' - // 'value' value=ParameterValue - // '}'; + //ParameterStructMember returns ParameterStructMember: + // 'ParameterStructMember' + // name=EString + // '{' + // 'value' value=ParameterValue + // '}'; @Override public ParserRule getRule() { return rule; } - //'ParameterStructMember' name=EString '{' 'value' value=ParameterValue '}' + //'ParameterStructMember' + //name=EString + //'{' + // 'value' value=ParameterValue + //'}' public Group getGroup() { return cGroup; } //'ParameterStructMember' @@ -2902,12 +3082,14 @@ public class ParameterStructTypeMemberElements extends AbstractParserRuleElement private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cTypeParameterTypeParserRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0); - //ParameterStructTypeMember: - // name=EString - // type=ParameterType; + //ParameterStructTypeMember returns ParameterStructTypeMember: + // name=EString + // type=ParameterType + // ; @Override public ParserRule getRule() { return rule; } - //name=EString type=ParameterType + //name=EString + //type=ParameterType public Group getGroup() { return cGroup; } //name=EString @@ -2926,8 +3108,8 @@ public class Base64BinaryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.Base64Binary"); private final RuleCall cBINARYTerminalRuleCall = (RuleCall)rule.eContents().get(1); - //Base64Binary type::Base64Binary: - // BINARY; + //Base64Binary returns type::Base64Binary: + // BINARY ; @Override public ParserRule getRule() { return rule; } //BINARY @@ -2937,8 +3119,8 @@ public class Boolean0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.boolean0"); private final RuleCall cBOOLEANTerminalRuleCall = (RuleCall)rule.eContents().get(1); - //boolean0 type::Boolean: - // BOOLEAN; + //boolean0 returns type::Boolean: + // BOOLEAN; @Override public ParserRule getRule() { return rule; } //BOOLEAN @@ -2948,8 +3130,8 @@ public class Double0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.Double0"); private final RuleCall cDOUBLETerminalRuleCall = (RuleCall)rule.eContents().get(1); - //Double0 type::Double: - // DOUBLE; + //Double0 returns type::Double: + // DOUBLE; @Override public ParserRule getRule() { return rule; } //DOUBLE @@ -2959,8 +3141,8 @@ public class Integer0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.Integer0"); private final RuleCall cDECINTTerminalRuleCall = (RuleCall)rule.eContents().get(1); - //Integer0 type::Int: - // DECINT; + //Integer0 returns type::Int: + // DECINT; @Override public ParserRule getRule() { return rule; } //DECINT @@ -2970,8 +3152,8 @@ public class DateTime0Elements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.fraunhofer.ipa.ros.Ros.DateTime0"); private final RuleCall cDATE_TIMETerminalRuleCall = (RuleCall)rule.eContents().get(1); - //DateTime0 type::DateTime: - // DATE_TIME; + //DateTime0 returns type::DateTime: + // DATE_TIME; @Override public ParserRule getRule() { return rule; } //DATE_TIME @@ -2989,21 +3171,23 @@ public class MessagePartElements extends AbstractParserRuleElementFinder { private final RuleCall cDataEStringParserRuleCall_1_0_2 = (RuleCall)cDataAlternatives_1_0.eContents().get(2); ////MESSAGE PRIMITIVES DEFINITION - //MessagePart primitives::MessagePart: - // Type=AbstractType - // Data=(KEYWORD | MESSAGE_ASIGMENT | EString); + //MessagePart returns primitives::MessagePart: + // Type = AbstractType + // Data =(KEYWORD | MESSAGE_ASIGMENT | EString) + //; @Override public ParserRule getRule() { return rule; } - //Type=AbstractType Data=(KEYWORD | MESSAGE_ASIGMENT | EString) + //Type = AbstractType + //Data =(KEYWORD | MESSAGE_ASIGMENT | EString) public Group getGroup() { return cGroup; } - //Type=AbstractType + //Type = AbstractType public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } //AbstractType public RuleCall getTypeAbstractTypeParserRuleCall_0_0() { return cTypeAbstractTypeParserRuleCall_0_0; } - //Data=(KEYWORD | MESSAGE_ASIGMENT | EString) + //Data =(KEYWORD | MESSAGE_ASIGMENT | EString) public Assignment getDataAssignment_1() { return cDataAssignment_1; } //(KEYWORD | MESSAGE_ASIGMENT | EString) @@ -3053,15 +3237,15 @@ public class AbstractTypeElements extends AbstractParserRuleElementFinder { private final RuleCall cTopicSpecRefParserRuleCall_29 = (RuleCall)cAlternatives.eContents().get(29); private final RuleCall cArrayTopicSpecRefParserRuleCall_30 = (RuleCall)cAlternatives.eContents().get(30); - //AbstractType primitives::AbstractType: - // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | - // duration | Header | boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | - // int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | TopicSpecRef | ArrayTopicSpecRef; + //AbstractType returns primitives::AbstractType: + // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | duration | Header | + // boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | + // TopicSpecRef | ArrayTopicSpecRef ; @Override public ParserRule getRule() { return rule; } - //bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | - //duration | Header | boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | - //int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | TopicSpecRef | ArrayTopicSpecRef + //bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | duration | Header | + //boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | + //TopicSpecRef | ArrayTopicSpecRef public Alternatives getAlternatives() { return cAlternatives; } //bool @@ -3163,12 +3347,14 @@ public class BoolElements extends AbstractParserRuleElementFinder { private final Action cBoolAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cBoolKeyword_1 = (Keyword)cGroup.eContents().get(1); - //bool primitives::bool: - // {primitives::bool} - // 'bool'; + //bool returns primitives::bool: + // {primitives::bool} + // 'bool' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::bool} 'bool' + //{primitives::bool} + //'bool' public Group getGroup() { return cGroup; } //{primitives::bool} @@ -3183,12 +3369,14 @@ public class Int8Elements extends AbstractParserRuleElementFinder { private final Action cInt8Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int8 primitives::int8: - // {primitives::int8} - // 'int8'; + //int8 returns primitives::int8: + // {primitives::int8} + // 'int8' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int8} 'int8' + //{primitives::int8} + //'int8' public Group getGroup() { return cGroup; } //{primitives::int8} @@ -3203,12 +3391,14 @@ public class Uint8Elements extends AbstractParserRuleElementFinder { private final Action cUint8Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint8 primitives::uint8: - // {primitives::uint8} - // 'uint8'; + //uint8 returns primitives::uint8: + // {primitives::uint8} + // 'uint8' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint8} 'uint8' + //{primitives::uint8} + //'uint8' public Group getGroup() { return cGroup; } //{primitives::uint8} @@ -3223,12 +3413,14 @@ public class Int16Elements extends AbstractParserRuleElementFinder { private final Action cInt16Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int16 primitives::int16: - // {primitives::int16} - // 'int16'; + //int16 returns primitives::int16: + // {primitives::int16} + // 'int16' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int16} 'int16' + //{primitives::int16} + //'int16' public Group getGroup() { return cGroup; } //{primitives::int16} @@ -3243,12 +3435,14 @@ public class Uint16Elements extends AbstractParserRuleElementFinder { private final Action cUint16Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint16 primitives::uint16: - // {primitives::uint16} - // 'uint16'; + //uint16 returns primitives::uint16: + // {primitives::uint16} + // 'uint16' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint16} 'uint16' + //{primitives::uint16} + //'uint16' public Group getGroup() { return cGroup; } //{primitives::uint16} @@ -3263,12 +3457,14 @@ public class Int32Elements extends AbstractParserRuleElementFinder { private final Action cInt32Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int32 primitives::int32: - // {primitives::int32} - // 'int32'; + //int32 returns primitives::int32: + // {primitives::int32} + // 'int32' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int32} 'int32' + //{primitives::int32} + //'int32' public Group getGroup() { return cGroup; } //{primitives::int32} @@ -3283,12 +3479,14 @@ public class Uint32Elements extends AbstractParserRuleElementFinder { private final Action cUint32Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint32 primitives::uint32: - // {primitives::uint32} - // 'uint32'; + //uint32 returns primitives::uint32: + // {primitives::uint32} + // 'uint32' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint32} 'uint32' + //{primitives::uint32} + //'uint32' public Group getGroup() { return cGroup; } //{primitives::uint32} @@ -3303,12 +3501,14 @@ public class Int64Elements extends AbstractParserRuleElementFinder { private final Action cInt64Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int64 primitives::int64: - // {primitives::int64} - // 'int64'; + //int64 returns primitives::int64: + // {primitives::int64} + // 'int64' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int64} 'int64' + //{primitives::int64} + //'int64' public Group getGroup() { return cGroup; } //{primitives::int64} @@ -3323,12 +3523,14 @@ public class Uint64Elements extends AbstractParserRuleElementFinder { private final Action cUint64Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint64 primitives::uint64: - // {primitives::uint64} - // 'uint64'; + //uint64 returns primitives::uint64: + // {primitives::uint64} + // 'uint64' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint64} 'uint64' + //{primitives::uint64} + //'uint64' public Group getGroup() { return cGroup; } //{primitives::uint64} @@ -3343,12 +3545,14 @@ public class Float32Elements extends AbstractParserRuleElementFinder { private final Action cFloat32Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float32 primitives::float32: - // {primitives::float32} - // 'float32'; + //float32 returns primitives::float32: + // {primitives::float32} + // 'float32' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::float32} 'float32' + //{primitives::float32} + //'float32' public Group getGroup() { return cGroup; } //{primitives::float32} @@ -3363,12 +3567,14 @@ public class Float64Elements extends AbstractParserRuleElementFinder { private final Action cFloat64Action_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float64 primitives::float64: - // {primitives::float64} - // 'float64'; + //float64 returns primitives::float64: + // {primitives::float64} + // 'float64' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::float64} 'float64' + //{primitives::float64} + //'float64' public Group getGroup() { return cGroup; } //{primitives::float64} @@ -3383,12 +3589,14 @@ public class String0Elements extends AbstractParserRuleElementFinder { private final Action cStringAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cStringKeyword_1 = (Keyword)cGroup.eContents().get(1); - //string0 primitives::string: - // {primitives::string} - // 'string'; + //string0 returns primitives::string: + // {primitives::string} + // 'string' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::string} 'string' + //{primitives::string} + //'string' public Group getGroup() { return cGroup; } //{primitives::string} @@ -3403,12 +3611,14 @@ public class ByteElements extends AbstractParserRuleElementFinder { private final Action cByteAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cByteKeyword_1 = (Keyword)cGroup.eContents().get(1); - //byte primitives::Byte: - // {primitives::Byte} - // 'byte'; + //byte returns primitives::Byte: + // {primitives::Byte} + // 'byte' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::Byte} 'byte' + //{primitives::Byte} + //'byte' public Group getGroup() { return cGroup; } //{primitives::Byte} @@ -3423,12 +3633,14 @@ public class TimeElements extends AbstractParserRuleElementFinder { private final Action cTimeAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cTimeKeyword_1 = (Keyword)cGroup.eContents().get(1); - //time primitives::time: - // {primitives::time} - // 'time'; + //time returns primitives::time: + // {primitives::time} + // 'time' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::time} 'time' + //{primitives::time} + //'time' public Group getGroup() { return cGroup; } //{primitives::time} @@ -3443,12 +3655,14 @@ public class DurationElements extends AbstractParserRuleElementFinder { private final Action cDurationAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cDurationKeyword_1 = (Keyword)cGroup.eContents().get(1); - //duration primitives::duration: - // {primitives::duration} - // 'duration'; + //duration returns primitives::duration: + // {primitives::duration} + // 'duration' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::duration} 'duration' + //{primitives::duration} + //'duration' public Group getGroup() { return cGroup; } //{primitives::duration} @@ -3463,12 +3677,14 @@ public class BoolArrayElements extends AbstractParserRuleElementFinder { private final Action cBoolArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cBoolKeyword_1 = (Keyword)cGroup.eContents().get(1); - //boolArray primitives::boolArray: - // {primitives::boolArray} - // 'bool[]'; + //boolArray returns primitives::boolArray: + // {primitives::boolArray} + // 'bool[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::boolArray} 'bool[]' + //{primitives::boolArray} + //'bool[]' public Group getGroup() { return cGroup; } //{primitives::boolArray} @@ -3483,12 +3699,14 @@ public class Int8ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt8ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int8Array primitives::int8Array: - // {primitives::int8Array} - // 'int8[]'; + //int8Array returns primitives::int8Array: + // {primitives::int8Array} + // 'int8[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int8Array} 'int8[]' + //{primitives::int8Array} + //'int8[]' public Group getGroup() { return cGroup; } //{primitives::int8Array} @@ -3503,12 +3721,14 @@ public class Uint8ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint8ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint8Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint8Array primitives::uint8Array: - // {primitives::uint8Array} - // 'uint8[]'; + //uint8Array returns primitives::uint8Array: + // {primitives::uint8Array} + // 'uint8[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint8Array} 'uint8[]' + //{primitives::uint8Array} + //'uint8[]' public Group getGroup() { return cGroup; } //{primitives::uint8Array} @@ -3523,12 +3743,14 @@ public class Int16ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt16ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int16Array primitives::int16Array: - // {primitives::int16Array} - // 'int16[]'; + //int16Array returns primitives::int16Array: + // {primitives::int16Array} + // 'int16[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int16Array} 'int16[]' + //{primitives::int16Array} + //'int16[]' public Group getGroup() { return cGroup; } //{primitives::int16Array} @@ -3543,12 +3765,14 @@ public class Uint16ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint16ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint16Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint16Array primitives::uint16Array: - // {primitives::uint16Array} - // 'uint16[]'; + //uint16Array returns primitives::uint16Array: + // {primitives::uint16Array} + // 'uint16[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint16Array} 'uint16[]' + //{primitives::uint16Array} + //'uint16[]' public Group getGroup() { return cGroup; } //{primitives::uint16Array} @@ -3563,12 +3787,14 @@ public class Int32ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt32ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int32Array primitives::int32Array: - // {primitives::int32Array} - // 'int32[]'; + //int32Array returns primitives::int32Array: + // {primitives::int32Array} + // 'int32[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int32Array} 'int32[]' + //{primitives::int32Array} + //'int32[]' public Group getGroup() { return cGroup; } //{primitives::int32Array} @@ -3583,12 +3809,14 @@ public class Uint32ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint32ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint32Array primitives::uint32Array: - // {primitives::uint32Array} - // 'uint32[]'; + //uint32Array returns primitives::uint32Array: + // {primitives::uint32Array} + // 'uint32[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint32Array} 'uint32[]' + //{primitives::uint32Array} + //'uint32[]' public Group getGroup() { return cGroup; } //{primitives::uint32Array} @@ -3603,12 +3831,14 @@ public class Int64ArrayElements extends AbstractParserRuleElementFinder { private final Action cInt64ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInt64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //int64Array primitives::int64Array: - // {primitives::int64Array} - // 'int64[]'; + //int64Array returns primitives::int64Array: + // {primitives::int64Array} + // 'int64[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::int64Array} 'int64[]' + //{primitives::int64Array} + //'int64[]' public Group getGroup() { return cGroup; } //{primitives::int64Array} @@ -3623,12 +3853,14 @@ public class Uint64ArrayElements extends AbstractParserRuleElementFinder { private final Action cUint64ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cUint64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //uint64Array primitives::uint64Array: - // {primitives::uint64Array} - // 'uint64[]'; + //uint64Array returns primitives::uint64Array: + // {primitives::uint64Array} + // 'uint64[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::uint64Array} 'uint64[]' + //{primitives::uint64Array} + //'uint64[]' public Group getGroup() { return cGroup; } //{primitives::uint64Array} @@ -3643,12 +3875,14 @@ public class Float32ArrayElements extends AbstractParserRuleElementFinder { private final Action cFloat32ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat32Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float32Array primitives::float32Array: - // {primitives::float32Array} - // 'float32[]'; + //float32Array returns primitives::float32Array: + // {primitives::float32Array} + // 'float32[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::float32Array} 'float32[]' + //{primitives::float32Array} + //'float32[]' public Group getGroup() { return cGroup; } //{primitives::float32Array} @@ -3663,12 +3897,14 @@ public class Float64ArrayElements extends AbstractParserRuleElementFinder { private final Action cFloat64ArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cFloat64Keyword_1 = (Keyword)cGroup.eContents().get(1); - //float64Array primitives::float64Array: - // {primitives::float64Array} - // 'float64[]'; + //float64Array returns primitives::float64Array: + // {primitives::float64Array} + // 'float64[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::float64Array} 'float64[]' + //{primitives::float64Array} + //'float64[]' public Group getGroup() { return cGroup; } //{primitives::float64Array} @@ -3683,12 +3919,14 @@ public class String0ArrayElements extends AbstractParserRuleElementFinder { private final Action cStringArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cStringKeyword_1 = (Keyword)cGroup.eContents().get(1); - //string0Array primitives::stringArray: - // {primitives::stringArray} - // 'string[]'; + //string0Array returns primitives::stringArray: + // {primitives::stringArray} + // 'string[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::stringArray} 'string[]' + //{primitives::stringArray} + //'string[]' public Group getGroup() { return cGroup; } //{primitives::stringArray} @@ -3703,12 +3941,14 @@ public class ByteArrayElements extends AbstractParserRuleElementFinder { private final Action cByteArrayAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cByteKeyword_1 = (Keyword)cGroup.eContents().get(1); - //byteArray primitives::ByteArray: - // {primitives::ByteArray} - // 'byte[]'; + //byteArray returns primitives::ByteArray: + // {primitives::ByteArray} + // 'byte[]' + // ; @Override public ParserRule getRule() { return rule; } - //{primitives::ByteArray} 'byte[]' + //{primitives::ByteArray} + //'byte[]' public Group getGroup() { return cGroup; } //{primitives::ByteArray} @@ -3723,12 +3963,14 @@ public class HeaderElements extends AbstractParserRuleElementFinder { private final Action cHeaderAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cHeaderKeyword_1 = (Keyword)cGroup.eContents().get(1); - //Header primitives::Header: - // {primitives::Header} - // 'Header'; + //Header returns primitives::Header: + // {primitives::Header} + // 'Header' + //; @Override public ParserRule getRule() { return rule; } - //{primitives::Header} 'Header' + //{primitives::Header} + //'Header' public Group getGroup() { return cGroup; } //{primitives::Header} @@ -3743,8 +3985,9 @@ public class TopicSpecRefElements extends AbstractParserRuleElementFinder { private final CrossReference cTopicSpecTopicSpecCrossReference_0 = (CrossReference)cTopicSpecAssignment.eContents().get(0); private final RuleCall cTopicSpecTopicSpecEStringParserRuleCall_0_1 = (RuleCall)cTopicSpecTopicSpecCrossReference_0.eContents().get(1); - //TopicSpecRef primitives::TopicSpecRef: - // TopicSpec=[TopicSpec|EString]; + //TopicSpecRef returns primitives::TopicSpecRef: + // TopicSpec=[TopicSpec|EString] + //; @Override public ParserRule getRule() { return rule; } //TopicSpec=[TopicSpec|EString] @@ -3764,11 +4007,12 @@ public class ArrayTopicSpecRefElements extends AbstractParserRuleElementFinder { private final RuleCall cTopicSpecTopicSpecEStringParserRuleCall_0_0_1 = (RuleCall)cTopicSpecTopicSpecCrossReference_0_0.eContents().get(1); private final Keyword cLeftSquareBracketRightSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); - //ArrayTopicSpecRef primitives::ArrayTopicSpecRef: - // TopicSpec=[TopicSpec|EString] '[]'; + //ArrayTopicSpecRef returns primitives::ArrayTopicSpecRef: + // TopicSpec=[TopicSpec|EString]'[]' + //; @Override public ParserRule getRule() { return rule; } - //TopicSpec=[TopicSpec|EString] '[]' + //TopicSpec=[TopicSpec|EString]'[]' public Group getGroup() { return cGroup; } //TopicSpec=[TopicSpec|EString] @@ -3798,8 +4042,7 @@ public class KEYWORDElements extends AbstractParserRuleElementFinder { private final Keyword cDurationKeyword_9 = (Keyword)cAlternatives.eContents().get(9); private final Keyword cTimeKeyword_10 = (Keyword)cAlternatives.eContents().get(10); - //KEYWORD: - // 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time'; + //KEYWORD: 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time' ; @Override public ParserRule getRule() { return rule; } //'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time' @@ -4091,11 +4334,12 @@ public TerminalsGrammarAccess getTerminalsGrammarAccess() { } - //PackageSet: - // {PackageSet} - // 'PackageSet' - // '{' (package+=Package ("," package+=Package)*)? - // '}'; + //PackageSet returns PackageSet: + // {PackageSet} + // 'PackageSet' + // '{' + // (package+=Package ( "," package+=Package)* )? + // '}'; public PackageSetElements getPackageSetAccess() { return pPackageSet; } @@ -4104,8 +4348,8 @@ public ParserRule getPackageSetRule() { return getPackageSetAccess().getRule(); } - //Package: - // Package_Impl | CatkinPackage | AmentPackage; + //Package returns Package: + // Package_Impl | CatkinPackage | AmentPackage; public PackageElements getPackageAccess() { return pPackage; } @@ -4114,8 +4358,8 @@ public ParserRule getPackageRule() { return getPackageAccess().getRule(); } - //SpecBase: - // ServiceSpec | TopicSpec | ActionSpec; + //SpecBase returns SpecBase: + // ServiceSpec | TopicSpec | ActionSpec; public SpecBaseElements getSpecBaseAccess() { return pSpecBase; } @@ -4124,8 +4368,8 @@ public ParserRule getSpecBaseRule() { return getSpecBaseAccess().getRule(); } - //Dependency: - // PackageDependency | ExternalDependency; + //Dependency returns Dependency: + // PackageDependency | ExternalDependency; public DependencyElements getDependencyAccess() { return pDependency; } @@ -4134,8 +4378,8 @@ public ParserRule getDependencyRule() { return getDependencyAccess().getRule(); } - //Namespace: - // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; + //Namespace returns Namespace: + // GlobalNamespace | RelativeNamespace_Impl | PrivateNamespace; public NamespaceElements getNamespaceAccess() { return pNamespace; } @@ -4144,13 +4388,15 @@ public ParserRule getNamespaceRule() { return getNamespaceAccess().getRule(); } - //Package_Impl Package: - // {Package} - // 'Package' - // name=EString - // '{' ('FromGitRepo' fromGitRepo=EString)? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact - // ("," artifact+=Artifact)*)? - // '}'; + //Package_Impl returns Package: + // {Package} + // 'Package' + // name=EString + // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + // '}'; public Package_ImplElements getPackage_ImplAccess() { return pPackage_Impl; } @@ -4159,8 +4405,8 @@ public ParserRule getPackage_ImplRule() { return getPackage_ImplAccess().getRule(); } - //EString: - // STRING | ID; + //EString returns ecore::EString: + // STRING | ID; public EStringElements getEStringAccess() { return pEString; } @@ -4169,8 +4415,9 @@ public ParserRule getEStringRule() { return getEStringAccess().getRule(); } - //RosNames: - // ROS_CONVENTION_A | ID | 'node'; + //RosNames returns ecore::EString: + // ROS_CONVENTION_A | ID | 'node' + //; public RosNamesElements getRosNamesAccess() { return pRosNames; } @@ -4179,8 +4426,9 @@ public ParserRule getRosNamesRule() { return getRosNamesAccess().getRule(); } - //RosParamNames: - // ROS_CONVENTION_PARAM | ID; + //RosParamNames returns ecore::EString: + // ROS_CONVENTION_PARAM | ID + //; public RosParamNamesElements getRosParamNamesAccess() { return pRosParamNames; } @@ -4190,24 +4438,24 @@ public ParserRule getRosParamNamesRule() { } //terminal ROS_CONVENTION_A: - // '/' ID | ID '/'*; + // ( ('/' ID ) | ( ID '/' ) )* ; public TerminalRule getROS_CONVENTION_ARule() { return tROS_CONVENTION_A; } //terminal ROS_CONVENTION_PARAM: - // '/' STRING | STRING '/' | '~' STRING*; + // ( ('/' STRING ) | ( STRING '/' ) | ('~' STRING ) )* ; public TerminalRule getROS_CONVENTION_PARAMRule() { return tROS_CONVENTION_PARAM; } - //Artifact: - // {Artifact} - // 'Artifact' - // name=RosNames - // '{' - // node=Node? - // '}'; + //Artifact returns Artifact: + // {Artifact} + // 'Artifact' + // name=RosNames + // '{' + // (node=Node)? + // '}'; public ArtifactElements getArtifactAccess() { return pArtifact; } @@ -4216,13 +4464,16 @@ public ParserRule getArtifactRule() { return getArtifactAccess().getRule(); } - //CatkinPackage: - // {CatkinPackage} - // 'CatkinPackage' - // name=RosNames - // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* - // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? - // '}'; + //CatkinPackage returns CatkinPackage: + // {CatkinPackage} + // 'CatkinPackage' + // name=RosNames + // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + // '}'; public CatkinPackageElements getCatkinPackageAccess() { return pCatkinPackage; } @@ -4231,13 +4482,16 @@ public ParserRule getCatkinPackageRule() { return getCatkinPackageAccess().getRule(); } - //AmentPackage: - // {AmentPackage} - // 'AmentPackage' - // name=RosNames - // '{' ('FromGitRepo' fromGitRepo=EString)? ('Dependencies' '{' dependency+=Dependency ("," dependency+=Dependency)* - // '}')? ('Specs' '{' spec+=SpecBase ("," spec+=SpecBase)* '}')? (artifact+=Artifact ("," artifact+=Artifact)*)? - // '}'; + //AmentPackage returns AmentPackage: + // {AmentPackage} + // 'AmentPackage' + // name=RosNames + // '{' + // ('FromGitRepo' fromGitRepo=EString)? + // ('Dependencies' '{' dependency+=Dependency ( "," dependency+=Dependency)* '}' )? + // ('Specs' '{' spec+=SpecBase ( "," spec+=SpecBase)* '}')? + // (artifact+=Artifact ( "," artifact+=Artifact)*)? + // '}'; public AmentPackageElements getAmentPackageAccess() { return pAmentPackage; } @@ -4246,12 +4500,14 @@ public ParserRule getAmentPackageRule() { return getAmentPackageAccess().getRule(); } - //ServiceSpec: - // {ServiceSpec} - // 'ServiceSpec' - // name=EString - // '{' ('request' request=MessageDefinition)? ('response' response=MessageDefinition)? - // '}'; + //ServiceSpec returns ServiceSpec: + // {ServiceSpec} + // 'ServiceSpec' + // name=EString + // '{' + // ('request' request=MessageDefinition)? + // ('response' response=MessageDefinition)? + // '}'; public ServiceSpecElements getServiceSpecAccess() { return pServiceSpec; } @@ -4260,12 +4516,13 @@ public ParserRule getServiceSpecRule() { return getServiceSpecAccess().getRule(); } - //TopicSpec: - // {TopicSpec} - // 'TopicSpec' - // name=(EString | 'Header' | 'String') - // '{' ('message' message=MessageDefinition)? - // '}'; + //TopicSpec returns TopicSpec: + // {TopicSpec} + // 'TopicSpec' + // name=(EString|'Header'|'String') + // '{' + // ('message' message=MessageDefinition)? + // '}'; public TopicSpecElements getTopicSpecAccess() { return pTopicSpec; } @@ -4274,12 +4531,15 @@ public ParserRule getTopicSpecRule() { return getTopicSpecAccess().getRule(); } - //ActionSpec: - // {ActionSpec} - // 'ActionSpec' - // name=EString - // '{' ('goal' goal=MessageDefinition)? ('result' result=MessageDefinition)? ('feedback' feedback=MessageDefinition)? - // '}'; + //ActionSpec returns ActionSpec: + // {ActionSpec} + // 'ActionSpec' + // name=EString + // '{' + // ('goal' goal=MessageDefinition)? + // ('result' result=MessageDefinition)? + // ('feedback' feedback=MessageDefinition)? + // '}'; public ActionSpecElements getActionSpecAccess() { return pActionSpec; } @@ -4288,10 +4548,11 @@ public ParserRule getActionSpecRule() { return getActionSpecAccess().getRule(); } - //MessageDefinition: - // {MessageDefinition} - // '{' (MessagePart+=MessagePart MessagePart+=MessagePart*)? - // '}'; + //MessageDefinition returns MessageDefinition: + // {MessageDefinition} + // '{' + // ( MessagePart+=MessagePart ( MessagePart+=MessagePart)* )? + // '}'; public MessageDefinitionElements getMessageDefinitionAccess() { return pMessageDefinition; } @@ -4300,16 +4561,18 @@ public ParserRule getMessageDefinitionRule() { return getMessageDefinitionAccess().getRule(); } - //Node: - // 'Node' - // '{' - // 'name' name=RosNames ('ServiceServers' '{' serviceserver+=ServiceServer ("," serviceserver+=ServiceServer)* '}')? - // ('Publishers' '{' publisher+=Publisher ("," publisher+=Publisher)* '}')? ('Subscribers' '{' subscriber+=Subscriber - // ("," subscriber+=Subscriber)* '}')? ('ServiceClients' '{' serviceclient+=ServiceClient ("," - // serviceclient+=ServiceClient)* '}')? ('ActionServers' '{' actionserver+=ActionServer ("," actionserver+=ActionServer)* - // '}')? ('ActionClients' '{' actionclient+=ActionClient ("," actionclient+=ActionClient)* '}')? ('Parameters' '{' - // parameter+=Parameter ("," parameter+=Parameter)* '}')? - // '}'; + //Node returns Node: + // 'Node' + // '{' + // 'name' name=RosNames + // ('ServiceServers' '{' serviceserver+=ServiceServer ( "," serviceserver+=ServiceServer)* '}')? + // ('Publishers' '{' publisher+=Publisher ( "," publisher+=Publisher)* '}')? + // ('Subscribers' '{' subscriber+=Subscriber ( "," subscriber+=Subscriber)* '}')? + // ('ServiceClients' '{' serviceclient+=ServiceClient ( "," serviceclient+=ServiceClient)* '}')? + // ('ActionServers' '{' actionserver+=ActionServer ( "," actionserver+=ActionServer)* '}')? + // ('ActionClients' '{' actionclient+=ActionClient ( "," actionclient+=ActionClient)* '}' )? + // ('Parameters' '{' parameter+=Parameter ( "," parameter+=Parameter)* '}' )? + // '}'; public NodeElements getNodeAccess() { return pNode; } @@ -4318,12 +4581,13 @@ public ParserRule getNodeRule() { return getNodeAccess().getRule(); } - //ServiceServer: - // 'ServiceServer' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ServiceServer returns ServiceServer: + // 'ServiceServer' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; public ServiceServerElements getServiceServerAccess() { return pServiceServer; } @@ -4332,12 +4596,13 @@ public ParserRule getServiceServerRule() { return getServiceServerAccess().getRule(); } - //Publisher: - // 'Publisher' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //Publisher returns Publisher: + // 'Publisher' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; public PublisherElements getPublisherAccess() { return pPublisher; } @@ -4346,12 +4611,13 @@ public ParserRule getPublisherRule() { return getPublisherAccess().getRule(); } - //Subscriber: - // 'Subscriber' - // '{' - // 'name' name=EString - // 'message' message=[TopicSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //Subscriber returns Subscriber: + // 'Subscriber' + // '{' + // 'name' name=EString + // 'message' message=[TopicSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; public SubscriberElements getSubscriberAccess() { return pSubscriber; } @@ -4360,12 +4626,13 @@ public ParserRule getSubscriberRule() { return getSubscriberAccess().getRule(); } - //ServiceClient: - // 'ServiceClient' - // '{' - // 'name' name=EString - // 'service' service=[ServiceSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ServiceClient returns ServiceClient: + // 'ServiceClient' + // '{' + // 'name' name=EString + // 'service' service=[ServiceSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; public ServiceClientElements getServiceClientAccess() { return pServiceClient; } @@ -4374,12 +4641,13 @@ public ParserRule getServiceClientRule() { return getServiceClientAccess().getRule(); } - //ActionServer: - // 'ActionServer' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ActionServer returns ActionServer: + // 'ActionServer' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; public ActionServerElements getActionServerAccess() { return pActionServer; } @@ -4388,12 +4656,13 @@ public ParserRule getActionServerRule() { return getActionServerAccess().getRule(); } - //ActionClient: - // 'ActionClient' - // '{' - // 'name' name=EString - // 'action' action=[ActionSpec|EString] ('namespace' namespace=Namespace)? - // '}'; + //ActionClient returns ActionClient: + // 'ActionClient' + // '{' + // 'name' name=EString + // 'action' action=[ActionSpec|EString] + // ('namespace' namespace=Namespace)? + // '}'; public ActionClientElements getActionClientAccess() { return pActionClient; } @@ -4402,8 +4671,8 @@ public ParserRule getActionClientRule() { return getActionClientAccess().getRule(); } - //GraphName GraphName: - // 'GraphName'; + //GraphName returns GraphName: + // 'GraphName' ; public GraphNameElements getGraphNameAccess() { return pGraphName; } @@ -4412,8 +4681,9 @@ public ParserRule getGraphNameRule() { return getGraphNameAccess().getRule(); } - //PackageDependency: - // package=[Package|EString]; + //PackageDependency returns PackageDependency: + // package=[Package|EString] + //; public PackageDependencyElements getPackageDependencyAccess() { return pPackageDependency; } @@ -4422,10 +4692,10 @@ public ParserRule getPackageDependencyRule() { return getPackageDependencyAccess().getRule(); } - //ExternalDependency: - // {ExternalDependency} - // 'ExternalDependency' - // name=EString; + //ExternalDependency returns ExternalDependency: + // {ExternalDependency} + // 'ExternalDependency' + // name=EString; public ExternalDependencyElements getExternalDependencyAccess() { return pExternalDependency; } @@ -4434,11 +4704,12 @@ public ParserRule getExternalDependencyRule() { return getExternalDependencyAccess().getRule(); } - //GlobalNamespace: - // {GlobalNamespace} - // 'GlobalNamespace' - // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? - // '}'; + //GlobalNamespace returns GlobalNamespace: + // {GlobalNamespace} + // 'GlobalNamespace' + // '{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + // '}'; public GlobalNamespaceElements getGlobalNamespaceAccess() { return pGlobalNamespace; } @@ -4447,11 +4718,12 @@ public ParserRule getGlobalNamespaceRule() { return getGlobalNamespaceAccess().getRule(); } - //RelativeNamespace_Impl RelativeNamespace: - // {RelativeNamespace} - // 'RelativeNamespace' - // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? - // '}'; + //RelativeNamespace_Impl returns RelativeNamespace: + // {RelativeNamespace} + // 'RelativeNamespace' + // '{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + // '}'; public RelativeNamespace_ImplElements getRelativeNamespace_ImplAccess() { return pRelativeNamespace_Impl; } @@ -4460,11 +4732,12 @@ public ParserRule getRelativeNamespace_ImplRule() { return getRelativeNamespace_ImplAccess().getRule(); } - //PrivateNamespace: - // {PrivateNamespace} - // 'PrivateNamespace' - // '{' ('parts' '{' parts+=GraphName ("," parts+=GraphName)* '}')? - // '}'; + //PrivateNamespace returns PrivateNamespace: + // {PrivateNamespace} + // 'PrivateNamespace' + // '{' + // ('parts' '{' parts+=GraphName ( "," parts+=GraphName)* '}' )? + // '}'; public PrivateNamespaceElements getPrivateNamespaceAccess() { return pPrivateNamespace; } @@ -4474,12 +4747,13 @@ public ParserRule getPrivateNamespaceRule() { } ////PARAMETERS DEFINITION - //Parameter: - // 'Parameter' - // '{' - // 'name' name=EString ('namespace' namespace=Namespace)? - // 'type' type=ParameterType - // '}'; + //Parameter returns Parameter: + // 'Parameter' + // '{' + // 'name' name=EString + // ('namespace' namespace=Namespace)? + // 'type' type=ParameterType + // '}'; public ParameterElements getParameterAccess() { return pParameter; } @@ -4488,9 +4762,8 @@ public ParserRule getParameterRule() { return getParameterAccess().getRule(); } - //ParameterType: - // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | - // ParameterBooleanType | ParameterBase64Type | ParameterArrayType; + //ParameterType returns ParameterType: + // ParameterListType | ParameterStructType | ParameterIntegerType | ParameterStringType | ParameterDoubleType | ParameterBooleanType | ParameterBase64Type | ParameterArrayType; public ParameterTypeElements getParameterTypeAccess() { return pParameterType; } @@ -4499,10 +4772,9 @@ public ParserRule getParameterTypeRule() { return getParameterTypeAccess().getRule(); } - //// | ParameterDateType; - //ParameterValue: - // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | - // ParameterStruct; + // // | ParameterDateType; + //ParameterValue returns ParameterValue: + // ParameterString | ParameterBase64 | ParameterInteger | ParameterDouble | ParameterBoolean | ParameterList | ParameterStruct; public ParameterValueElements getParameterValueAccess() { return pParameterValue; } @@ -4511,13 +4783,13 @@ public ParserRule getParameterValueRule() { return getParameterValueAccess().getRule(); } - //// | ParameterDate; - //ParameterListType: - // {ParameterListType} - // 'List' - // '{' - // sequence+=ParameterType (',' sequence+=ParameterType)* - // '}'; + // // | ParameterDate; + //ParameterListType returns ParameterListType: + // {ParameterListType} + // 'List' + // '{' + // sequence+=ParameterType ( ',' sequence+=ParameterType )* + // '}'; public ParameterListTypeElements getParameterListTypeAccess() { return pParameterListType; } @@ -4526,12 +4798,12 @@ public ParserRule getParameterListTypeRule() { return getParameterListTypeAccess().getRule(); } - //ParameterStructType: - // {ParameterStructType} - // 'Struct' - // '{' - // parameterstructypetmember+=ParameterStructTypeMember ("," parameterstructypetmember+=ParameterStructTypeMember)* - // '}'; + //ParameterStructType returns ParameterStructType: + // {ParameterStructType} + // 'Struct' + // '{' + // parameterstructypetmember+=ParameterStructTypeMember ( "," parameterstructypetmember+=ParameterStructTypeMember)* + // '}'; public ParameterStructTypeElements getParameterStructTypeAccess() { return pParameterStructType; } @@ -4540,9 +4812,10 @@ public ParserRule getParameterStructTypeRule() { return getParameterStructTypeAccess().getRule(); } - //ParameterIntegerType: - // {ParameterIntegerType} - // 'Integer' ('default' default=ParameterInteger)?; + //ParameterIntegerType returns ParameterIntegerType: + // {ParameterIntegerType} + // 'Integer' + // ('default' default=ParameterInteger)?; public ParameterIntegerTypeElements getParameterIntegerTypeAccess() { return pParameterIntegerType; } @@ -4551,9 +4824,10 @@ public ParserRule getParameterIntegerTypeRule() { return getParameterIntegerTypeAccess().getRule(); } - //ParameterStringType: - // {ParameterStringType} - // 'String' ('default' default=ParameterString)?; + //ParameterStringType returns ParameterStringType: + // {ParameterStringType} + // 'String' + // ('default' default=ParameterString)?; public ParameterStringTypeElements getParameterStringTypeAccess() { return pParameterStringType; } @@ -4562,9 +4836,10 @@ public ParserRule getParameterStringTypeRule() { return getParameterStringTypeAccess().getRule(); } - //ParameterDoubleType: - // {ParameterDoubleType} - // 'Double' ('default' default=ParameterDouble)?; + //ParameterDoubleType returns ParameterDoubleType: + // {ParameterDoubleType} + // 'Double' + // ('default' default=ParameterDouble)?; public ParameterDoubleTypeElements getParameterDoubleTypeAccess() { return pParameterDoubleType; } @@ -4573,9 +4848,10 @@ public ParserRule getParameterDoubleTypeRule() { return getParameterDoubleTypeAccess().getRule(); } - //ParameterDateType: - // {ParameterDateType} - // 'Date' ('default' default=ParameterDate)?; + //ParameterDateType returns ParameterDateType: + // {ParameterDateType} + // 'Date' + // ('default' default=ParameterDate)?; public ParameterDateTypeElements getParameterDateTypeAccess() { return pParameterDateType; } @@ -4584,9 +4860,10 @@ public ParserRule getParameterDateTypeRule() { return getParameterDateTypeAccess().getRule(); } - //ParameterBooleanType: - // {ParameterBooleanType} - // 'Boolean' ('default' default=ParameterBoolean)?; + //ParameterBooleanType returns ParameterBooleanType: + // {ParameterBooleanType} + // 'Boolean' + // ('default' default=ParameterBoolean)?; public ParameterBooleanTypeElements getParameterBooleanTypeAccess() { return pParameterBooleanType; } @@ -4595,9 +4872,10 @@ public ParserRule getParameterBooleanTypeRule() { return getParameterBooleanTypeAccess().getRule(); } - //ParameterBase64Type: - // {ParameterBase64Type} - // 'Base64' ('default' default=ParameterBase64)?; + //ParameterBase64Type returns ParameterBase64Type: + // {ParameterBase64Type} + // 'Base64' + // ('default' default=ParameterBase64)?; public ParameterBase64TypeElements getParameterBase64TypeAccess() { return pParameterBase64Type; } @@ -4606,9 +4884,10 @@ public ParserRule getParameterBase64TypeRule() { return getParameterBase64TypeAccess().getRule(); } - //ParameterAnyType: - // {ParameterAnyType} - // 'Any' ('default' default=ParameterAny)?; + //ParameterAnyType returns ParameterAnyType: + // {ParameterAnyType} + // 'Any' + // ('default' default=ParameterAny)?; public ParameterAnyTypeElements getParameterAnyTypeAccess() { return pParameterAnyType; } @@ -4617,11 +4896,12 @@ public ParserRule getParameterAnyTypeRule() { return getParameterAnyTypeAccess().getRule(); } - //ParameterArrayType: - // 'Array' - // '{' - // 'type' type=ParameterType ('default' default=ParameterList)? - // '}'; + //ParameterArrayType returns ParameterArrayType: + // 'Array' + // '{' + // 'type' type=ParameterType + // ('default' default=ParameterList)? + // '}'; public ParameterArrayTypeElements getParameterArrayTypeAccess() { return pParameterArrayType; } @@ -4630,9 +4910,10 @@ public ParserRule getParameterArrayTypeRule() { return getParameterArrayTypeAccess().getRule(); } - //ParameterList ParameterSequence: - // {ParameterSequence} - // '{' value+=ParameterValue (',' value+=ParameterValue)* '}'; + //ParameterList returns ParameterSequence: + // {ParameterSequence} + // '{' value+=ParameterValue ( ',' value+=ParameterValue )* '}' + //; public ParameterListElements getParameterListAccess() { return pParameterList; } @@ -4641,11 +4922,12 @@ public ParserRule getParameterListRule() { return getParameterListAccess().getRule(); } - //ParameterAny: - // {ParameterAny} - // 'ParameterAny' - // '{' ('value' value=EString)? - // '}'; + //ParameterAny returns ParameterAny: + // {ParameterAny} + // 'ParameterAny' + // '{' + // ('value' value=EString)? + // '}'; public ParameterAnyElements getParameterAnyAccess() { return pParameterAny; } @@ -4654,8 +4936,9 @@ public ParserRule getParameterAnyRule() { return getParameterAnyAccess().getRule(); } - //ParameterString: - // value=EString; + //ParameterString returns ParameterString: + // value=EString + //; public ParameterStringElements getParameterStringAccess() { return pParameterString; } @@ -4664,8 +4947,9 @@ public ParserRule getParameterStringRule() { return getParameterStringAccess().getRule(); } - //ParameterBase64: - // value=Base64Binary; + //ParameterBase64 returns ParameterBase64: + // value=Base64Binary + //; public ParameterBase64Elements getParameterBase64Access() { return pParameterBase64; } @@ -4674,8 +4958,9 @@ public ParserRule getParameterBase64Rule() { return getParameterBase64Access().getRule(); } - //ParameterInteger: - // value=Integer0; + //ParameterInteger returns ParameterInteger: + // value=Integer0 + //; public ParameterIntegerElements getParameterIntegerAccess() { return pParameterInteger; } @@ -4684,8 +4969,9 @@ public ParserRule getParameterIntegerRule() { return getParameterIntegerAccess().getRule(); } - //ParameterDouble: - // value=Double0; + //ParameterDouble returns ParameterDouble: + // value=Double0 + //; public ParameterDoubleElements getParameterDoubleAccess() { return pParameterDouble; } @@ -4694,8 +4980,9 @@ public ParserRule getParameterDoubleRule() { return getParameterDoubleAccess().getRule(); } - //ParameterBoolean: - // value=boolean0; + //ParameterBoolean returns ParameterBoolean: + // value=boolean0 + //; public ParameterBooleanElements getParameterBooleanAccess() { return pParameterBoolean; } @@ -4704,8 +4991,10 @@ public ParserRule getParameterBooleanRule() { return getParameterBooleanAccess().getRule(); } - //ParameterStruct: - // {ParameterStruct} ('{' value+=ParameterStructMember ("," '{' value+=ParameterStructMember '}')* '}')?; + //ParameterStruct returns ParameterStruct: + // {ParameterStruct} + // ('{' value+=ParameterStructMember ( "," '{' value+=ParameterStructMember '}')* '}' )? + //; public ParameterStructElements getParameterStructAccess() { return pParameterStruct; } @@ -4714,8 +5003,9 @@ public ParserRule getParameterStructRule() { return getParameterStructAccess().getRule(); } - //ParameterDate: - // value=DateTime0; + //ParameterDate returns ParameterDate: + // value=DateTime0 + // ; public ParameterDateElements getParameterDateAccess() { return pParameterDate; } @@ -4724,12 +5014,12 @@ public ParserRule getParameterDateRule() { return getParameterDateAccess().getRule(); } - //ParameterStructMember: - // 'ParameterStructMember' - // name=EString - // '{' - // 'value' value=ParameterValue - // '}'; + //ParameterStructMember returns ParameterStructMember: + // 'ParameterStructMember' + // name=EString + // '{' + // 'value' value=ParameterValue + // '}'; public ParameterStructMemberElements getParameterStructMemberAccess() { return pParameterStructMember; } @@ -4738,9 +5028,10 @@ public ParserRule getParameterStructMemberRule() { return getParameterStructMemberAccess().getRule(); } - //ParameterStructTypeMember: - // name=EString - // type=ParameterType; + //ParameterStructTypeMember returns ParameterStructTypeMember: + // name=EString + // type=ParameterType + // ; public ParameterStructTypeMemberElements getParameterStructTypeMemberAccess() { return pParameterStructTypeMember; } @@ -4749,74 +5040,65 @@ public ParserRule getParameterStructTypeMemberRule() { return getParameterStructTypeMemberAccess().getRule(); } - //terminal fragment DIGIT: - // '0'..'9'; + ////PARAMETERS PRIMITIVES TYPES + //terminal fragment DIGIT: '0'..'9'; public TerminalRule getDIGITRule() { return tDIGIT; } - //terminal BINARY: - // ('0b' | '0B') ('0' | '1')+; + //terminal BINARY: ('0b'|'0B')('0'|'1')+; public TerminalRule getBINARYRule() { return tBINARY; } - //terminal BOOLEAN: - // 'true' | 'false'; + //terminal BOOLEAN: 'true'|'false'; public TerminalRule getBOOLEANRule() { return tBOOLEAN; } - //terminal DOUBLE returns ecore::EDouble: - // DECINT ('.' DIGIT* | ('.' DIGIT*)? ('E' | 'e') ('-' | '+')? DECINT); + //terminal DOUBLE returns ecore::EDouble: DECINT (('.' DIGIT*) | (('.' DIGIT*)? ('E'|'e') ('-'|'+')? DECINT)); public TerminalRule getDOUBLERule() { return tDOUBLE; } - //terminal DECINT: - // '0' | '1'..'9' DIGIT* | '-' '0'..'9' DIGIT*; + // // Use terminal to avoid 'e' turning into a keyword + //terminal DECINT: '0' | ('1'..'9' DIGIT*) | ('-''0'..'9' DIGIT*) ; public TerminalRule getDECINTRule() { return tDECINT; } - //terminal DAY: - // '1'..'9' | '1'..'3' '0'..'9'; + //terminal DAY:'1'..'9' | '1'..'3' '0'..'9'; public TerminalRule getDAYRule() { return tDAY; } - //terminal MONTH: - // '1'..'9' | '1' '0'..'2'; + //terminal MONTH:'1'..'9' | '1' '0'..'2'; public TerminalRule getMONTHRule() { return tMONTH; } - //terminal YEAR: - // '0'..'2' '0'..'9' '0'..'9' '0'..'9'; + //terminal YEAR:'0'..'2' '0'..'9' '0'..'9' '0'..'9'; public TerminalRule getYEARRule() { return tYEAR; } - //terminal HOUR: - // '0'..'1' '0'..'9' | '2' '0'..'3'; + //terminal HOUR: ('0'..'1')('0'..'9') | ('2')('0'..'3'); public TerminalRule getHOURRule() { return tHOUR; } - //terminal MIN_SEC: - // '0'..'5' '0'..'9'; + //terminal MIN_SEC:('0'..'5')('0'..'9'); public TerminalRule getMIN_SECRule() { return tMIN_SEC; } - //terminal DATE_TIME: - // YEAR '-' MONTH '-' DAY 'T' HOUR ':' MIN_SEC ':' MIN_SEC; + //terminal DATE_TIME: YEAR'-'MONTH'-'DAY'T'HOUR':'MIN_SEC':'MIN_SEC; public TerminalRule getDATE_TIMERule() { return tDATE_TIME; } - //Base64Binary type::Base64Binary: - // BINARY; + //Base64Binary returns type::Base64Binary: + // BINARY ; public Base64BinaryElements getBase64BinaryAccess() { return pBase64Binary; } @@ -4825,8 +5107,8 @@ public ParserRule getBase64BinaryRule() { return getBase64BinaryAccess().getRule(); } - //boolean0 type::Boolean: - // BOOLEAN; + //boolean0 returns type::Boolean: + // BOOLEAN; public Boolean0Elements getBoolean0Access() { return pBoolean0; } @@ -4835,8 +5117,8 @@ public ParserRule getBoolean0Rule() { return getBoolean0Access().getRule(); } - //Double0 type::Double: - // DOUBLE; + //Double0 returns type::Double: + // DOUBLE; public Double0Elements getDouble0Access() { return pDouble0; } @@ -4845,8 +5127,8 @@ public ParserRule getDouble0Rule() { return getDouble0Access().getRule(); } - //Integer0 type::Int: - // DECINT; + //Integer0 returns type::Int: + // DECINT; public Integer0Elements getInteger0Access() { return pInteger0; } @@ -4855,8 +5137,8 @@ public ParserRule getInteger0Rule() { return getInteger0Access().getRule(); } - //DateTime0 type::DateTime: - // DATE_TIME; + //DateTime0 returns type::DateTime: + // DATE_TIME; public DateTime0Elements getDateTime0Access() { return pDateTime0; } @@ -4866,9 +5148,10 @@ public ParserRule getDateTime0Rule() { } ////MESSAGE PRIMITIVES DEFINITION - //MessagePart primitives::MessagePart: - // Type=AbstractType - // Data=(KEYWORD | MESSAGE_ASIGMENT | EString); + //MessagePart returns primitives::MessagePart: + // Type = AbstractType + // Data =(KEYWORD | MESSAGE_ASIGMENT | EString) + //; public MessagePartElements getMessagePartAccess() { return pMessagePart; } @@ -4878,15 +5161,16 @@ public ParserRule getMessagePartRule() { } //terminal MESSAGE_ASIGMENT: - // (ID | STRING) '=' (ID | STRING | INT | '-' INT); + // ((ID|STRING)'='(ID|STRING|INT|'-'INT)) + //; public TerminalRule getMESSAGE_ASIGMENTRule() { return tMESSAGE_ASIGMENT; } - //AbstractType primitives::AbstractType: - // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | - // duration | Header | boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | - // int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | TopicSpecRef | ArrayTopicSpecRef; + //AbstractType returns primitives::AbstractType: + // bool | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | float32 | float64 | string0 | byte | time | duration | Header | + // boolArray | int8Array | uint8Array | int16Array | uint16Array | int32Array | uint32Array | int64Array | uint64Array | float32Array | float64Array | string0Array | byteArray | + // TopicSpecRef | ArrayTopicSpecRef ; public AbstractTypeElements getAbstractTypeAccess() { return pAbstractType; } @@ -4895,9 +5179,10 @@ public ParserRule getAbstractTypeRule() { return getAbstractTypeAccess().getRule(); } - //bool primitives::bool: - // {primitives::bool} - // 'bool'; + //bool returns primitives::bool: + // {primitives::bool} + // 'bool' + // ; public BoolElements getBoolAccess() { return pBool; } @@ -4906,9 +5191,10 @@ public ParserRule getBoolRule() { return getBoolAccess().getRule(); } - //int8 primitives::int8: - // {primitives::int8} - // 'int8'; + //int8 returns primitives::int8: + // {primitives::int8} + // 'int8' + // ; public Int8Elements getInt8Access() { return pInt8; } @@ -4917,9 +5203,10 @@ public ParserRule getInt8Rule() { return getInt8Access().getRule(); } - //uint8 primitives::uint8: - // {primitives::uint8} - // 'uint8'; + //uint8 returns primitives::uint8: + // {primitives::uint8} + // 'uint8' + // ; public Uint8Elements getUint8Access() { return pUint8; } @@ -4928,9 +5215,10 @@ public ParserRule getUint8Rule() { return getUint8Access().getRule(); } - //int16 primitives::int16: - // {primitives::int16} - // 'int16'; + //int16 returns primitives::int16: + // {primitives::int16} + // 'int16' + // ; public Int16Elements getInt16Access() { return pInt16; } @@ -4939,9 +5227,10 @@ public ParserRule getInt16Rule() { return getInt16Access().getRule(); } - //uint16 primitives::uint16: - // {primitives::uint16} - // 'uint16'; + //uint16 returns primitives::uint16: + // {primitives::uint16} + // 'uint16' + // ; public Uint16Elements getUint16Access() { return pUint16; } @@ -4950,9 +5239,10 @@ public ParserRule getUint16Rule() { return getUint16Access().getRule(); } - //int32 primitives::int32: - // {primitives::int32} - // 'int32'; + //int32 returns primitives::int32: + // {primitives::int32} + // 'int32' + // ; public Int32Elements getInt32Access() { return pInt32; } @@ -4961,9 +5251,10 @@ public ParserRule getInt32Rule() { return getInt32Access().getRule(); } - //uint32 primitives::uint32: - // {primitives::uint32} - // 'uint32'; + //uint32 returns primitives::uint32: + // {primitives::uint32} + // 'uint32' + // ; public Uint32Elements getUint32Access() { return pUint32; } @@ -4972,9 +5263,10 @@ public ParserRule getUint32Rule() { return getUint32Access().getRule(); } - //int64 primitives::int64: - // {primitives::int64} - // 'int64'; + //int64 returns primitives::int64: + // {primitives::int64} + // 'int64' + // ; public Int64Elements getInt64Access() { return pInt64; } @@ -4983,9 +5275,10 @@ public ParserRule getInt64Rule() { return getInt64Access().getRule(); } - //uint64 primitives::uint64: - // {primitives::uint64} - // 'uint64'; + //uint64 returns primitives::uint64: + // {primitives::uint64} + // 'uint64' + // ; public Uint64Elements getUint64Access() { return pUint64; } @@ -4994,9 +5287,10 @@ public ParserRule getUint64Rule() { return getUint64Access().getRule(); } - //float32 primitives::float32: - // {primitives::float32} - // 'float32'; + //float32 returns primitives::float32: + // {primitives::float32} + // 'float32' + // ; public Float32Elements getFloat32Access() { return pFloat32; } @@ -5005,9 +5299,10 @@ public ParserRule getFloat32Rule() { return getFloat32Access().getRule(); } - //float64 primitives::float64: - // {primitives::float64} - // 'float64'; + //float64 returns primitives::float64: + // {primitives::float64} + // 'float64' + // ; public Float64Elements getFloat64Access() { return pFloat64; } @@ -5016,9 +5311,10 @@ public ParserRule getFloat64Rule() { return getFloat64Access().getRule(); } - //string0 primitives::string: - // {primitives::string} - // 'string'; + //string0 returns primitives::string: + // {primitives::string} + // 'string' + // ; public String0Elements getString0Access() { return pString0; } @@ -5027,9 +5323,10 @@ public ParserRule getString0Rule() { return getString0Access().getRule(); } - //byte primitives::Byte: - // {primitives::Byte} - // 'byte'; + //byte returns primitives::Byte: + // {primitives::Byte} + // 'byte' + // ; public ByteElements getByteAccess() { return pByte; } @@ -5038,9 +5335,10 @@ public ParserRule getByteRule() { return getByteAccess().getRule(); } - //time primitives::time: - // {primitives::time} - // 'time'; + //time returns primitives::time: + // {primitives::time} + // 'time' + // ; public TimeElements getTimeAccess() { return pTime; } @@ -5049,9 +5347,10 @@ public ParserRule getTimeRule() { return getTimeAccess().getRule(); } - //duration primitives::duration: - // {primitives::duration} - // 'duration'; + //duration returns primitives::duration: + // {primitives::duration} + // 'duration' + // ; public DurationElements getDurationAccess() { return pDuration; } @@ -5060,9 +5359,10 @@ public ParserRule getDurationRule() { return getDurationAccess().getRule(); } - //boolArray primitives::boolArray: - // {primitives::boolArray} - // 'bool[]'; + //boolArray returns primitives::boolArray: + // {primitives::boolArray} + // 'bool[]' + // ; public BoolArrayElements getBoolArrayAccess() { return pBoolArray; } @@ -5071,9 +5371,10 @@ public ParserRule getBoolArrayRule() { return getBoolArrayAccess().getRule(); } - //int8Array primitives::int8Array: - // {primitives::int8Array} - // 'int8[]'; + //int8Array returns primitives::int8Array: + // {primitives::int8Array} + // 'int8[]' + // ; public Int8ArrayElements getInt8ArrayAccess() { return pInt8Array; } @@ -5082,9 +5383,10 @@ public ParserRule getInt8ArrayRule() { return getInt8ArrayAccess().getRule(); } - //uint8Array primitives::uint8Array: - // {primitives::uint8Array} - // 'uint8[]'; + //uint8Array returns primitives::uint8Array: + // {primitives::uint8Array} + // 'uint8[]' + // ; public Uint8ArrayElements getUint8ArrayAccess() { return pUint8Array; } @@ -5093,9 +5395,10 @@ public ParserRule getUint8ArrayRule() { return getUint8ArrayAccess().getRule(); } - //int16Array primitives::int16Array: - // {primitives::int16Array} - // 'int16[]'; + //int16Array returns primitives::int16Array: + // {primitives::int16Array} + // 'int16[]' + // ; public Int16ArrayElements getInt16ArrayAccess() { return pInt16Array; } @@ -5104,9 +5407,10 @@ public ParserRule getInt16ArrayRule() { return getInt16ArrayAccess().getRule(); } - //uint16Array primitives::uint16Array: - // {primitives::uint16Array} - // 'uint16[]'; + //uint16Array returns primitives::uint16Array: + // {primitives::uint16Array} + // 'uint16[]' + // ; public Uint16ArrayElements getUint16ArrayAccess() { return pUint16Array; } @@ -5115,9 +5419,10 @@ public ParserRule getUint16ArrayRule() { return getUint16ArrayAccess().getRule(); } - //int32Array primitives::int32Array: - // {primitives::int32Array} - // 'int32[]'; + //int32Array returns primitives::int32Array: + // {primitives::int32Array} + // 'int32[]' + // ; public Int32ArrayElements getInt32ArrayAccess() { return pInt32Array; } @@ -5126,9 +5431,10 @@ public ParserRule getInt32ArrayRule() { return getInt32ArrayAccess().getRule(); } - //uint32Array primitives::uint32Array: - // {primitives::uint32Array} - // 'uint32[]'; + //uint32Array returns primitives::uint32Array: + // {primitives::uint32Array} + // 'uint32[]' + // ; public Uint32ArrayElements getUint32ArrayAccess() { return pUint32Array; } @@ -5137,9 +5443,10 @@ public ParserRule getUint32ArrayRule() { return getUint32ArrayAccess().getRule(); } - //int64Array primitives::int64Array: - // {primitives::int64Array} - // 'int64[]'; + //int64Array returns primitives::int64Array: + // {primitives::int64Array} + // 'int64[]' + // ; public Int64ArrayElements getInt64ArrayAccess() { return pInt64Array; } @@ -5148,9 +5455,10 @@ public ParserRule getInt64ArrayRule() { return getInt64ArrayAccess().getRule(); } - //uint64Array primitives::uint64Array: - // {primitives::uint64Array} - // 'uint64[]'; + //uint64Array returns primitives::uint64Array: + // {primitives::uint64Array} + // 'uint64[]' + // ; public Uint64ArrayElements getUint64ArrayAccess() { return pUint64Array; } @@ -5159,9 +5467,10 @@ public ParserRule getUint64ArrayRule() { return getUint64ArrayAccess().getRule(); } - //float32Array primitives::float32Array: - // {primitives::float32Array} - // 'float32[]'; + //float32Array returns primitives::float32Array: + // {primitives::float32Array} + // 'float32[]' + // ; public Float32ArrayElements getFloat32ArrayAccess() { return pFloat32Array; } @@ -5170,9 +5479,10 @@ public ParserRule getFloat32ArrayRule() { return getFloat32ArrayAccess().getRule(); } - //float64Array primitives::float64Array: - // {primitives::float64Array} - // 'float64[]'; + //float64Array returns primitives::float64Array: + // {primitives::float64Array} + // 'float64[]' + // ; public Float64ArrayElements getFloat64ArrayAccess() { return pFloat64Array; } @@ -5181,9 +5491,10 @@ public ParserRule getFloat64ArrayRule() { return getFloat64ArrayAccess().getRule(); } - //string0Array primitives::stringArray: - // {primitives::stringArray} - // 'string[]'; + //string0Array returns primitives::stringArray: + // {primitives::stringArray} + // 'string[]' + // ; public String0ArrayElements getString0ArrayAccess() { return pString0Array; } @@ -5192,9 +5503,10 @@ public ParserRule getString0ArrayRule() { return getString0ArrayAccess().getRule(); } - //byteArray primitives::ByteArray: - // {primitives::ByteArray} - // 'byte[]'; + //byteArray returns primitives::ByteArray: + // {primitives::ByteArray} + // 'byte[]' + // ; public ByteArrayElements getByteArrayAccess() { return pByteArray; } @@ -5203,9 +5515,10 @@ public ParserRule getByteArrayRule() { return getByteArrayAccess().getRule(); } - //Header primitives::Header: - // {primitives::Header} - // 'Header'; + //Header returns primitives::Header: + // {primitives::Header} + // 'Header' + //; public HeaderElements getHeaderAccess() { return pHeader; } @@ -5214,8 +5527,9 @@ public ParserRule getHeaderRule() { return getHeaderAccess().getRule(); } - //TopicSpecRef primitives::TopicSpecRef: - // TopicSpec=[TopicSpec|EString]; + //TopicSpecRef returns primitives::TopicSpecRef: + // TopicSpec=[TopicSpec|EString] + //; public TopicSpecRefElements getTopicSpecRefAccess() { return pTopicSpecRef; } @@ -5224,8 +5538,9 @@ public ParserRule getTopicSpecRefRule() { return getTopicSpecRefAccess().getRule(); } - //ArrayTopicSpecRef primitives::ArrayTopicSpecRef: - // TopicSpec=[TopicSpec|EString] '[]'; + //ArrayTopicSpecRef returns primitives::ArrayTopicSpecRef: + // TopicSpec=[TopicSpec|EString]'[]' + //; public ArrayTopicSpecRefElements getArrayTopicSpecRefAccess() { return pArrayTopicSpecRef; } @@ -5234,8 +5549,7 @@ public ParserRule getArrayTopicSpecRefRule() { return getArrayTopicSpecRefAccess().getRule(); } - //KEYWORD: - // 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time'; + //KEYWORD: 'goal' | 'message' | 'result' | 'feedback' | 'name' | 'value' | 'service' | 'type' | 'action' | 'duration' | 'time' ; public KEYWORDElements getKEYWORDAccess() { return pKEYWORD; } @@ -5244,45 +5558,40 @@ public ParserRule getKEYWORDRule() { return getKEYWORDAccess().getRule(); } - //terminal ID: - // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; + //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; public TerminalRule getIDRule() { return gaTerminals.getIDRule(); } - //terminal INT returns ecore::EInt: - // '0'..'9'+; + //terminal INT returns ecore::EInt: ('0'..'9')+; public TerminalRule getINTRule() { return gaTerminals.getINTRule(); } //terminal STRING: - // '"' ('\\' . | !('\\' | '"'))* '"' | - // "'" ('\\' . | !('\\' | "'"))* "'"; + // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' | + // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'" + // ; public TerminalRule getSTRINGRule() { return gaTerminals.getSTRINGRule(); } - //terminal ML_COMMENT: - // '/*'->'*/'; + //terminal ML_COMMENT : '/*' -> '*/'; public TerminalRule getML_COMMENTRule() { return gaTerminals.getML_COMMENTRule(); } - //terminal SL_COMMENT: - // '//' !('\n' | '\r')* ('\r'? '\n')?; + //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; public TerminalRule getSL_COMMENTRule() { return gaTerminals.getSL_COMMENTRule(); } - //terminal WS: - // ' ' | '\t' | '\r' | '\n'+; + //terminal WS : (' '|'\t'|'\r'|'\n')+; public TerminalRule getWSRule() { return gaTerminals.getWSRule(); } - //terminal ANY_OTHER: - // .; + //terminal ANY_OTHER: .; public TerminalRule getANY_OTHERRule() { return gaTerminals.getANY_OTHERRule(); } From b7b9080ae5661f2887bf55b50139a72f8825e54e Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Mon, 4 Oct 2021 14:01:38 +0200 Subject: [PATCH 23/48] Auto-regenerate the java associated to the ecore models implementation using the latest version from eclipse and the modeling packages --- .../PrimitivesItemProviderAdapterFactory.java | 5 ++++ .../provider/AmentPackageItemProvider.java | 2 ++ .../PrimitivesActionBarContributor.java | 2 ++ .../presentation/PrimitivesEditor.java | 25 +++++++++++++++++++ .../presentation/PrimitivesModelWizard.java | 4 +++ .../presentation/RosActionBarContributor.java | 2 ++ .../src/ros/presentation/RosEditor.java | 25 +++++++++++++++++++ .../src/ros/presentation/RosModelWizard.java | 3 +++ .../src/ros/AmentPackage.java | 2 +- .../src/ros/impl/AmentPackageImpl.java | 1 + .../src/ros/impl/NodeImpl.java | 1 + .../RossystemItemProviderAdapterFactory.java | 6 +++++ .../RossystemActionBarContributor.java | 2 ++ .../presentation/RossystemEditor.java | 25 +++++++++++++++++++ .../presentation/RossystemModelWizard.java | 3 +++ .../rossystem/impl/ActionConnectionImpl.java | 6 +++++ .../rossystem/impl/RossystemFactoryImpl.java | 7 ++++++ .../rossystem/impl/ServiceConnectionImpl.java | 3 +++ .../rossystem/impl/TopicConnectionImpl.java | 4 +++ 19 files changed, 127 insertions(+), 1 deletion(-) diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/primitives/provider/PrimitivesItemProviderAdapterFactory.java b/plugins/de.fraunhofer.ipa.ros.edit/src/primitives/provider/PrimitivesItemProviderAdapterFactory.java index fc4becb7d..9ad3bf88c 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/src/primitives/provider/PrimitivesItemProviderAdapterFactory.java +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/primitives/provider/PrimitivesItemProviderAdapterFactory.java @@ -812,6 +812,7 @@ public Adapter createMessagePartAdapter() { * * @generated */ + @Override public ComposeableAdapterFactory getRootAdapterFactory() { return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); } @@ -822,6 +823,7 @@ public ComposeableAdapterFactory getRootAdapterFactory() { * * @generated */ + @Override public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { this.parentAdapterFactory = parentAdapterFactory; } @@ -870,6 +872,7 @@ public Object adapt(Object object, Object type) { * * @generated */ + @Override public void addListener(INotifyChangedListener notifyChangedListener) { changeNotifier.addListener(notifyChangedListener); } @@ -880,6 +883,7 @@ public void addListener(INotifyChangedListener notifyChangedListener) { * * @generated */ + @Override public void removeListener(INotifyChangedListener notifyChangedListener) { changeNotifier.removeListener(notifyChangedListener); } @@ -890,6 +894,7 @@ public void removeListener(INotifyChangedListener notifyChangedListener) { * * @generated */ + @Override public void fireNotifyChanged(Notification notification) { changeNotifier.fireNotifyChanged(notification); diff --git a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java index 2d1ffbed6..7134aac7d 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java +++ b/plugins/de.fraunhofer.ipa.ros.edit/src/ros/provider/AmentPackageItemProvider.java @@ -8,7 +8,9 @@ import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; + import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + import ros.AmentPackage; /** diff --git a/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesActionBarContributor.java b/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesActionBarContributor.java index f4410d043..e2871eafd 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesActionBarContributor.java +++ b/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesActionBarContributor.java @@ -202,6 +202,7 @@ public void contributeToMenu(IMenuManager menuManager) { // submenuManager.addMenuListener (new IMenuListener() { + @Override public void menuAboutToShow(IMenuManager menuManager) { menuManager.updateAll(true); } @@ -249,6 +250,7 @@ public void setActiveEditor(IEditorPart part) { * * @generated */ + @Override public void selectionChanged(SelectionChangedEvent event) { // Remove any menu items for old selection. // diff --git a/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesEditor.java b/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesEditor.java index a54ae9499..f3db36771 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesEditor.java +++ b/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesEditor.java @@ -329,6 +329,7 @@ public class PrimitivesEditor */ protected IPartListener partListener = new IPartListener() { + @Override public void partActivated(IWorkbenchPart p) { if (p instanceof ContentOutline) { if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) { @@ -347,15 +348,19 @@ else if (p == PrimitivesEditor.this) { handleActivate(); } } + @Override public void partBroughtToTop(IWorkbenchPart p) { // Ignore. } + @Override public void partClosed(IWorkbenchPart p) { // Ignore. } + @Override public void partDeactivated(IWorkbenchPart p) { // Ignore. } + @Override public void partOpened(IWorkbenchPart p) { // Ignore. } @@ -441,6 +446,7 @@ protected void dispatchUpdateProblemIndication() { dispatching = true; getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { dispatching = false; updateProblemIndication(); @@ -470,6 +476,7 @@ protected void unsetTarget(Resource target) { */ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() { + @Override public void resourceChanged(IResourceChangeEvent event) { IResourceDelta delta = event.getDelta(); try { @@ -478,6 +485,7 @@ class ResourceDeltaVisitor implements IResourceDeltaVisitor { protected Collection changedResources = new ArrayList(); protected Collection removedResources = new ArrayList(); + @Override public boolean visit(IResourceDelta delta) { if (delta.getResource().getType() == IResource.FILE) { if (delta.getKind() == IResourceDelta.REMOVED || @@ -513,6 +521,7 @@ public Collection getRemovedResources() { if (!visitor.getRemovedResources().isEmpty()) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { removedResources.addAll(visitor.getRemovedResources()); if (!isDirty()) { @@ -525,6 +534,7 @@ public void run() { if (!visitor.getChangedResources().isEmpty()) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { changedResources.addAll(visitor.getChangedResources()); if (getSite().getPage().getActiveEditor() == PrimitivesEditor.this) { @@ -716,9 +726,11 @@ protected void initializeEditingDomain() { // commandStack.addCommandStackListener (new CommandStackListener() { + @Override public void commandStackChanged(final EventObject event) { getContainer().getDisplay().asyncExec (new Runnable() { + @Override public void run() { firePropertyChange(IEditorPart.PROP_DIRTY); @@ -771,6 +783,7 @@ public void setSelectionToViewer(Collection collection) { if (theSelection != null && !theSelection.isEmpty()) { Runnable runnable = new Runnable() { + @Override public void run() { // Try to select the items in the current content viewer of the editor. // @@ -791,6 +804,7 @@ public void run() { * * @generated */ + @Override public EditingDomain getEditingDomain() { return editingDomain; } @@ -887,6 +901,7 @@ public void setCurrentViewer(Viewer viewer) { new ISelectionChangedListener() { // This just notifies those things that are affected by the section. // + @Override public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { setSelection(selectionChangedEvent.getSelection()); } @@ -921,6 +936,7 @@ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { * * @generated */ + @Override public Viewer getViewer() { return currentViewer; } @@ -1226,6 +1242,7 @@ public void requestActivation() { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { if (!getContainer().isDisposed()) { setActivePage(0); @@ -1252,6 +1269,7 @@ public void controlResized(ControlEvent event) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { updateProblemIndication(); } @@ -1388,6 +1406,7 @@ public void setActionBars(IActionBars actionBars) { (new ISelectionChangedListener() { // This ensures that we handle selections correctly. // + @Override public void selectionChanged(SelectionChangedEvent event) { handleContentOutlineSelection(event.getSelection()); } @@ -1612,6 +1631,7 @@ protected void doSaveAs(URI uri, IEditorInput editorInput) { * * @generated */ + @Override public void gotoMarker(IMarker marker) { List targetObjects = markerHelper.getTargetObjects(editingDomain, marker); if (!targetObjects.isEmpty()) { @@ -1656,6 +1676,7 @@ public void setFocus() { * * @generated */ + @Override public void addSelectionChangedListener(ISelectionChangedListener listener) { selectionChangedListeners.add(listener); } @@ -1666,6 +1687,7 @@ public void addSelectionChangedListener(ISelectionChangedListener listener) { * * @generated */ + @Override public void removeSelectionChangedListener(ISelectionChangedListener listener) { selectionChangedListeners.remove(listener); } @@ -1676,6 +1698,7 @@ public void removeSelectionChangedListener(ISelectionChangedListener listener) { * * @generated */ + @Override public ISelection getSelection() { return editorSelection; } @@ -1687,6 +1710,7 @@ public ISelection getSelection() { * * @generated */ + @Override public void setSelection(ISelection selection) { editorSelection = selection; @@ -1756,6 +1780,7 @@ private static String getString(String key, Object s1) { * * @generated */ + @Override public void menuAboutToShow(IMenuManager menuManager) { ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); } diff --git a/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesModelWizard.java b/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesModelWizard.java index 7d9ee10fa..1955870a1 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesModelWizard.java +++ b/plugins/de.fraunhofer.ipa.ros.editor/src/primitives/presentation/PrimitivesModelWizard.java @@ -174,6 +174,7 @@ public class PrimitivesModelWizard extends Wizard implements INewWizard { * * @generated */ + @Override public void init(IWorkbench workbench, IStructuredSelection selection) { this.workbench = workbench; this.selection = selection; @@ -280,6 +281,7 @@ protected void execute(IProgressMonitor progressMonitor) { final ISelection targetSelection = new StructuredSelection(modelFile); getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { ((ISetSelectionTarget)activePart).selectReveal(targetSelection); } @@ -396,6 +398,7 @@ public PrimitivesModelWizardInitialObjectCreationPage(String pageId) { * * @generated */ + @Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); { GridLayout layout = new GridLayout(); @@ -470,6 +473,7 @@ public void createControl(Composite parent) { */ protected ModifyListener validator = new ModifyListener() { + @Override public void modifyText(ModifyEvent e) { setPageComplete(validatePage()); } diff --git a/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosActionBarContributor.java b/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosActionBarContributor.java index 10addfa89..cb6296b47 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosActionBarContributor.java +++ b/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosActionBarContributor.java @@ -200,6 +200,7 @@ public void contributeToMenu(IMenuManager menuManager) { // submenuManager.addMenuListener (new IMenuListener() { + @Override public void menuAboutToShow(IMenuManager menuManager) { menuManager.updateAll(true); } @@ -247,6 +248,7 @@ public void setActiveEditor(IEditorPart part) { * * @generated */ + @Override public void selectionChanged(SelectionChangedEvent event) { // Remove any menu items for old selection. // diff --git a/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosEditor.java b/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosEditor.java index f455538f3..7befb11bf 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosEditor.java +++ b/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosEditor.java @@ -326,6 +326,7 @@ public class RosEditor */ protected IPartListener partListener = new IPartListener() { + @Override public void partActivated(IWorkbenchPart p) { if (p instanceof ContentOutline) { if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) { @@ -344,15 +345,19 @@ else if (p == RosEditor.this) { handleActivate(); } } + @Override public void partBroughtToTop(IWorkbenchPart p) { // Ignore. } + @Override public void partClosed(IWorkbenchPart p) { // Ignore. } + @Override public void partDeactivated(IWorkbenchPart p) { // Ignore. } + @Override public void partOpened(IWorkbenchPart p) { // Ignore. } @@ -438,6 +443,7 @@ protected void dispatchUpdateProblemIndication() { dispatching = true; getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { dispatching = false; updateProblemIndication(); @@ -467,6 +473,7 @@ protected void unsetTarget(Resource target) { */ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() { + @Override public void resourceChanged(IResourceChangeEvent event) { IResourceDelta delta = event.getDelta(); try { @@ -475,6 +482,7 @@ class ResourceDeltaVisitor implements IResourceDeltaVisitor { protected Collection changedResources = new ArrayList(); protected Collection removedResources = new ArrayList(); + @Override public boolean visit(IResourceDelta delta) { if (delta.getResource().getType() == IResource.FILE) { if (delta.getKind() == IResourceDelta.REMOVED || @@ -510,6 +518,7 @@ public Collection getRemovedResources() { if (!visitor.getRemovedResources().isEmpty()) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { removedResources.addAll(visitor.getRemovedResources()); if (!isDirty()) { @@ -522,6 +531,7 @@ public void run() { if (!visitor.getChangedResources().isEmpty()) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { changedResources.addAll(visitor.getChangedResources()); if (getSite().getPage().getActiveEditor() == RosEditor.this) { @@ -713,9 +723,11 @@ protected void initializeEditingDomain() { // commandStack.addCommandStackListener (new CommandStackListener() { + @Override public void commandStackChanged(final EventObject event) { getContainer().getDisplay().asyncExec (new Runnable() { + @Override public void run() { firePropertyChange(IEditorPart.PROP_DIRTY); @@ -768,6 +780,7 @@ public void setSelectionToViewer(Collection collection) { if (theSelection != null && !theSelection.isEmpty()) { Runnable runnable = new Runnable() { + @Override public void run() { // Try to select the items in the current content viewer of the editor. // @@ -788,6 +801,7 @@ public void run() { * * @generated */ + @Override public EditingDomain getEditingDomain() { return editingDomain; } @@ -884,6 +898,7 @@ public void setCurrentViewer(Viewer viewer) { new ISelectionChangedListener() { // This just notifies those things that are affected by the section. // + @Override public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { setSelection(selectionChangedEvent.getSelection()); } @@ -918,6 +933,7 @@ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { * * @generated */ + @Override public Viewer getViewer() { return currentViewer; } @@ -1223,6 +1239,7 @@ public void requestActivation() { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { if (!getContainer().isDisposed()) { setActivePage(0); @@ -1249,6 +1266,7 @@ public void controlResized(ControlEvent event) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { updateProblemIndication(); } @@ -1385,6 +1403,7 @@ public void setActionBars(IActionBars actionBars) { (new ISelectionChangedListener() { // This ensures that we handle selections correctly. // + @Override public void selectionChanged(SelectionChangedEvent event) { handleContentOutlineSelection(event.getSelection()); } @@ -1609,6 +1628,7 @@ protected void doSaveAs(URI uri, IEditorInput editorInput) { * * @generated */ + @Override public void gotoMarker(IMarker marker) { List targetObjects = markerHelper.getTargetObjects(editingDomain, marker); if (!targetObjects.isEmpty()) { @@ -1653,6 +1673,7 @@ public void setFocus() { * * @generated */ + @Override public void addSelectionChangedListener(ISelectionChangedListener listener) { selectionChangedListeners.add(listener); } @@ -1663,6 +1684,7 @@ public void addSelectionChangedListener(ISelectionChangedListener listener) { * * @generated */ + @Override public void removeSelectionChangedListener(ISelectionChangedListener listener) { selectionChangedListeners.remove(listener); } @@ -1673,6 +1695,7 @@ public void removeSelectionChangedListener(ISelectionChangedListener listener) { * * @generated */ + @Override public ISelection getSelection() { return editorSelection; } @@ -1684,6 +1707,7 @@ public ISelection getSelection() { * * @generated */ + @Override public void setSelection(ISelection selection) { editorSelection = selection; @@ -1753,6 +1777,7 @@ private static String getString(String key, Object s1) { * * @generated */ + @Override public void menuAboutToShow(IMenuManager menuManager) { ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); } diff --git a/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosModelWizard.java b/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosModelWizard.java index 951bef285..ff2c6c577 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosModelWizard.java +++ b/plugins/de.fraunhofer.ipa.ros.editor/src/ros/presentation/RosModelWizard.java @@ -152,6 +152,7 @@ public class RosModelWizard extends Wizard implements INewWizard { * * @generated */ + @Override public void init(IWorkbench workbench, IStructuredSelection selection) { this.workbench = workbench; this.selection = selection; @@ -379,6 +380,7 @@ public RosModelWizardInitialObjectCreationPage(String pageId) { * * @generated */ + @Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); { GridLayout layout = new GridLayout(); @@ -453,6 +455,7 @@ public void createControl(Composite parent) { */ protected ModifyListener validator = new ModifyListener() { + @Override public void modifyText(ModifyEvent e) { setPageComplete(validatePage()); } diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java b/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java index 5b8170e9c..5e68afe3f 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/AmentPackage.java @@ -2,6 +2,7 @@ */ package ros; + /** * * A representation of the model object 'Ament Package'. @@ -13,5 +14,4 @@ * @generated */ public interface AmentPackage extends ros.Package { - } // AmentPackage diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java index 812a575bc..285692d3f 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/AmentPackageImpl.java @@ -3,6 +3,7 @@ package ros.impl; import org.eclipse.emf.ecore.EClass; + import ros.AmentPackage; import ros.RosPackage; diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java index 60dd27f29..f9105b0cc 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java @@ -153,6 +153,7 @@ protected NodeImpl() { * * @generated */ + @Override protected EClass eStaticClass() { return RosPackage.Literals.NODE; } diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java index ba3487bb4..afa5fb4ab 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/src/rossystem/provider/RossystemItemProviderAdapterFactory.java @@ -215,6 +215,7 @@ public Adapter createActionConnectionAdapter() { * * @generated */ + @Override public ComposeableAdapterFactory getRootAdapterFactory() { return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); } @@ -225,6 +226,7 @@ public ComposeableAdapterFactory getRootAdapterFactory() { * * @generated */ + @Override public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { this.parentAdapterFactory = parentAdapterFactory; } @@ -273,6 +275,7 @@ public Object adapt(Object object, Object type) { * * @generated */ + @Override public void addListener(INotifyChangedListener notifyChangedListener) { changeNotifier.addListener(notifyChangedListener); } @@ -283,6 +286,7 @@ public void addListener(INotifyChangedListener notifyChangedListener) { * * @generated */ + @Override public void removeListener(INotifyChangedListener notifyChangedListener) { changeNotifier.removeListener(notifyChangedListener); } @@ -293,6 +297,7 @@ public void removeListener(INotifyChangedListener notifyChangedListener) { * * @generated */ + @Override public void fireNotifyChanged(Notification notification) { changeNotifier.fireNotifyChanged(notification); @@ -307,6 +312,7 @@ public void fireNotifyChanged(Notification notification) { * * @generated */ + @Override public void dispose() { if (rosSystemItemProvider != null) rosSystemItemProvider.dispose(); if (componentStackItemProvider != null) componentStackItemProvider.dispose(); diff --git a/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemActionBarContributor.java b/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemActionBarContributor.java index e471b97d7..5e5f0ecd7 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemActionBarContributor.java +++ b/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemActionBarContributor.java @@ -200,6 +200,7 @@ public void contributeToMenu(IMenuManager menuManager) { // submenuManager.addMenuListener (new IMenuListener() { + @Override public void menuAboutToShow(IMenuManager menuManager) { menuManager.updateAll(true); } @@ -247,6 +248,7 @@ public void setActiveEditor(IEditorPart part) { * * @generated */ + @Override public void selectionChanged(SelectionChangedEvent event) { // Remove any menu items for old selection. // diff --git a/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemEditor.java b/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemEditor.java index 999eeee04..dfd94fbce 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemEditor.java +++ b/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemEditor.java @@ -328,6 +328,7 @@ public class RossystemEditor */ protected IPartListener partListener = new IPartListener() { + @Override public void partActivated(IWorkbenchPart p) { if (p instanceof ContentOutline) { if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) { @@ -346,15 +347,19 @@ else if (p == RossystemEditor.this) { handleActivate(); } } + @Override public void partBroughtToTop(IWorkbenchPart p) { // Ignore. } + @Override public void partClosed(IWorkbenchPart p) { // Ignore. } + @Override public void partDeactivated(IWorkbenchPart p) { // Ignore. } + @Override public void partOpened(IWorkbenchPart p) { // Ignore. } @@ -440,6 +445,7 @@ protected void dispatchUpdateProblemIndication() { dispatching = true; getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { dispatching = false; updateProblemIndication(); @@ -469,6 +475,7 @@ protected void unsetTarget(Resource target) { */ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() { + @Override public void resourceChanged(IResourceChangeEvent event) { IResourceDelta delta = event.getDelta(); try { @@ -477,6 +484,7 @@ class ResourceDeltaVisitor implements IResourceDeltaVisitor { protected Collection changedResources = new ArrayList(); protected Collection removedResources = new ArrayList(); + @Override public boolean visit(IResourceDelta delta) { if (delta.getResource().getType() == IResource.FILE) { if (delta.getKind() == IResourceDelta.REMOVED || @@ -512,6 +520,7 @@ public Collection getRemovedResources() { if (!visitor.getRemovedResources().isEmpty()) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { removedResources.addAll(visitor.getRemovedResources()); if (!isDirty()) { @@ -524,6 +533,7 @@ public void run() { if (!visitor.getChangedResources().isEmpty()) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { changedResources.addAll(visitor.getChangedResources()); if (getSite().getPage().getActiveEditor() == RossystemEditor.this) { @@ -717,9 +727,11 @@ protected void initializeEditingDomain() { // commandStack.addCommandStackListener (new CommandStackListener() { + @Override public void commandStackChanged(final EventObject event) { getContainer().getDisplay().asyncExec (new Runnable() { + @Override public void run() { firePropertyChange(IEditorPart.PROP_DIRTY); @@ -772,6 +784,7 @@ public void setSelectionToViewer(Collection collection) { if (theSelection != null && !theSelection.isEmpty()) { Runnable runnable = new Runnable() { + @Override public void run() { // Try to select the items in the current content viewer of the editor. // @@ -792,6 +805,7 @@ public void run() { * * @generated */ + @Override public EditingDomain getEditingDomain() { return editingDomain; } @@ -888,6 +902,7 @@ public void setCurrentViewer(Viewer viewer) { new ISelectionChangedListener() { // This just notifies those things that are affected by the section. // + @Override public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { setSelection(selectionChangedEvent.getSelection()); } @@ -922,6 +937,7 @@ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { * * @generated */ + @Override public Viewer getViewer() { return currentViewer; } @@ -1227,6 +1243,7 @@ public void requestActivation() { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { if (!getContainer().isDisposed()) { setActivePage(0); @@ -1253,6 +1270,7 @@ public void controlResized(ControlEvent event) { getSite().getShell().getDisplay().asyncExec (new Runnable() { + @Override public void run() { updateProblemIndication(); } @@ -1389,6 +1407,7 @@ public void setActionBars(IActionBars actionBars) { (new ISelectionChangedListener() { // This ensures that we handle selections correctly. // + @Override public void selectionChanged(SelectionChangedEvent event) { handleContentOutlineSelection(event.getSelection()); } @@ -1613,6 +1632,7 @@ protected void doSaveAs(URI uri, IEditorInput editorInput) { * * @generated */ + @Override public void gotoMarker(IMarker marker) { List targetObjects = markerHelper.getTargetObjects(editingDomain, marker); if (!targetObjects.isEmpty()) { @@ -1657,6 +1677,7 @@ public void setFocus() { * * @generated */ + @Override public void addSelectionChangedListener(ISelectionChangedListener listener) { selectionChangedListeners.add(listener); } @@ -1667,6 +1688,7 @@ public void addSelectionChangedListener(ISelectionChangedListener listener) { * * @generated */ + @Override public void removeSelectionChangedListener(ISelectionChangedListener listener) { selectionChangedListeners.remove(listener); } @@ -1677,6 +1699,7 @@ public void removeSelectionChangedListener(ISelectionChangedListener listener) { * * @generated */ + @Override public ISelection getSelection() { return editorSelection; } @@ -1688,6 +1711,7 @@ public ISelection getSelection() { * * @generated */ + @Override public void setSelection(ISelection selection) { editorSelection = selection; @@ -1757,6 +1781,7 @@ private static String getString(String key, Object s1) { * * @generated */ + @Override public void menuAboutToShow(IMenuManager menuManager) { ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); } diff --git a/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemModelWizard.java b/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemModelWizard.java index d7fc0d792..87b91c62a 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemModelWizard.java +++ b/plugins/de.fraunhofer.ipa.rossystem.editor/src/rossystem/presentation/RossystemModelWizard.java @@ -156,6 +156,7 @@ public class RossystemModelWizard extends Wizard implements INewWizard { * * @generated */ + @Override public void init(IWorkbench workbench, IStructuredSelection selection) { this.workbench = workbench; this.selection = selection; @@ -572,6 +573,7 @@ public RossystemModelWizardInitialObjectCreationPage(String pageId) { * * @generated */ + @Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); { GridLayout layout = new GridLayout(); @@ -646,6 +648,7 @@ public void createControl(Composite parent) { */ protected ModifyListener validator = new ModifyListener() { + @Override public void modifyText(ModifyEvent e) { setPageComplete(validatePage()); } diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ActionConnectionImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ActionConnectionImpl.java index 50eddc4f8..0c92cd36e 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ActionConnectionImpl.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ActionConnectionImpl.java @@ -93,6 +93,7 @@ protected EClass eStaticClass() { * * @generated */ + @Override public RosActionServer getFrom() { if (from != null && from.eIsProxy()) { InternalEObject oldFrom = (InternalEObject)from; @@ -119,6 +120,7 @@ public RosActionServer basicGetFrom() { * * @generated */ + @Override public void setFrom(RosActionServer newFrom) { RosActionServer oldFrom = from; from = newFrom; @@ -131,6 +133,7 @@ public void setFrom(RosActionServer newFrom) { * * @generated */ + @Override public RosActionClient getTo() { if (to != null && to.eIsProxy()) { InternalEObject oldTo = (InternalEObject)to; @@ -157,6 +160,7 @@ public RosActionClient basicGetTo() { * * @generated */ + @Override public void setTo(RosActionClient newTo) { RosActionClient oldTo = to; to = newTo; @@ -169,6 +173,7 @@ public void setTo(RosActionClient newTo) { * * @generated */ + @Override public String getActionName() { return actionName; } @@ -178,6 +183,7 @@ public String getActionName() { * * @generated */ + @Override public void setActionName(String newActionName) { String oldActionName = actionName; actionName = newActionName; diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java index e60ca5d91..53c101578 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/RossystemFactoryImpl.java @@ -72,6 +72,7 @@ public EObject create(EClass eClass) { * * @generated */ + @Override public RosSystem createRosSystem() { RosSystemImpl rosSystem = new RosSystemImpl(); return rosSystem; @@ -82,6 +83,7 @@ public RosSystem createRosSystem() { * * @generated */ + @Override public ComponentStack createComponentStack() { ComponentStackImpl componentStack = new ComponentStackImpl(); return componentStack; @@ -92,6 +94,7 @@ public ComponentStack createComponentStack() { * * @generated */ + @Override public QualityAttribute createQualityAttribute() { QualityAttributeImpl qualityAttribute = new QualityAttributeImpl(); return qualityAttribute; @@ -102,6 +105,7 @@ public QualityAttribute createQualityAttribute() { * * @generated */ + @Override public TopicConnection createTopicConnection() { TopicConnectionImpl topicConnection = new TopicConnectionImpl(); return topicConnection; @@ -112,6 +116,7 @@ public TopicConnection createTopicConnection() { * * @generated */ + @Override public ServiceConnection createServiceConnection() { ServiceConnectionImpl serviceConnection = new ServiceConnectionImpl(); return serviceConnection; @@ -122,6 +127,7 @@ public ServiceConnection createServiceConnection() { * * @generated */ + @Override public ActionConnection createActionConnection() { ActionConnectionImpl actionConnection = new ActionConnectionImpl(); return actionConnection; @@ -132,6 +138,7 @@ public ActionConnection createActionConnection() { * * @generated */ + @Override public RossystemPackage getRossystemPackage() { return (RossystemPackage)getEPackage(); } diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ServiceConnectionImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ServiceConnectionImpl.java index 69da6f93e..1315e6c39 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ServiceConnectionImpl.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/ServiceConnectionImpl.java @@ -137,6 +137,7 @@ public RosServiceClient basicGetTo() { * * @generated */ + @Override public void setTo(RosServiceClient newTo) { RosServiceClient oldTo = to; to = newTo; @@ -149,6 +150,7 @@ public void setTo(RosServiceClient newTo) { * * @generated */ + @Override public String getServiceName() { return serviceName; } @@ -158,6 +160,7 @@ public String getServiceName() { * * @generated */ + @Override public void setServiceName(String newServiceName) { String oldServiceName = serviceName; serviceName = newServiceName; diff --git a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/TopicConnectionImpl.java b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/TopicConnectionImpl.java index d9879e23f..2b66e5f7e 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/TopicConnectionImpl.java +++ b/plugins/de.fraunhofer.ipa.rossystem/src/rossystem/impl/TopicConnectionImpl.java @@ -95,6 +95,7 @@ protected EClass eStaticClass() { * * @generated */ + @Override public EList getFrom() { if (from == null) { from = new EObjectResolvingEList(RosPublisher.class, this, RossystemPackage.TOPIC_CONNECTION__FROM); @@ -107,6 +108,7 @@ public EList getFrom() { * * @generated */ + @Override public EList getTo() { if (to == null) { to = new EObjectResolvingEList(RosSubscriber.class, this, RossystemPackage.TOPIC_CONNECTION__TO); @@ -119,6 +121,7 @@ public EList getTo() { * * @generated */ + @Override public String getTopicName() { return topicName; } @@ -128,6 +131,7 @@ public String getTopicName() { * * @generated */ + @Override public void setTopicName(String newTopicName) { String oldTopicName = topicName; topicName = newTopicName; From cc994e1d43889d9f157843da6f11fc4bac6d4117 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Fri, 1 Oct 2021 12:15:23 +0200 Subject: [PATCH 24/48] [Release preparation] Update installer setup to take the latest eclipse version --- EclipseInstaller/ROSModel.setup | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/EclipseInstaller/ROSModel.setup b/EclipseInstaller/ROSModel.setup index 0da242d38..9def71e6d 100644 --- a/EclipseInstaller/ROSModel.setup +++ b/EclipseInstaller/ROSModel.setup @@ -50,7 +50,7 @@ @@ -58,8 +58,6 @@ name="org.eclipse.xtext.sdk.feature.group"/> - + name="2021-12"> + url="https://download.eclipse.org/releases/2021-12"/> From a9e9d14b47163327730f1dda4196e044dd33bc42 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Mon, 4 Oct 2021 14:37:18 +0200 Subject: [PATCH 25/48] [Release preparation] update MANIFEST versions --- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.ros.edit/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.ros.editor/pom.xml | 2 +- .../de.fraunhofer.ipa.ros.feature/feature.xml | 50 +++++++++---------- plugins/de.fraunhofer.ipa.ros.feature/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- plugins/de.fraunhofer.ipa.ros.parent/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.ros.plugin/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.ros.sirius/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../de.fraunhofer.ipa.ros.xtext.ide/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../de.fraunhofer.ipa.ros.xtext.tests/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../de.fraunhofer.ipa.ros.xtext.ui/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.ros.xtext/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.ros/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../de.fraunhofer.ipa.rossystem.edit/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../de.fraunhofer.ipa.rossystem.xtext/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.rossystem/pom.xml | 2 +- 57 files changed, 81 insertions(+), 81 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.componentInterface.edit/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.edit/META-INF/MANIFEST.MF index 06458a328..a15555166 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.edit/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.edit/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.componentInterface.edit;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.componentInterface.edit -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Activator: componentInterface.provider.ComponentInterfaceEditPlugin$Implementation Bundle-Vendor: %providerName diff --git a/plugins/de.fraunhofer.ipa.componentInterface.edit/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface.edit/pom.xml index 70d98d80c..00f7f0582 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.edit/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface.edit/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.componentInterface.edit diff --git a/plugins/de.fraunhofer.ipa.componentInterface.editor/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.editor/META-INF/MANIFEST.MF index 18270dbfe..25d9cb800 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.editor/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.editor/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.componentInterface.editor;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.componentInterface.editor -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Activator: componentInterface.presentation.ComponentInterfaceEditorPlugin$Implementation Bundle-Vendor: %providerName diff --git a/plugins/de.fraunhofer.ipa.componentInterface.editor/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface.editor/pom.xml index e0cc904f0..bc8c59a3a 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.editor/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface.editor/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.componentInterface.editor diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF index 52003305e..b9a0158fc 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.componentInterface.xtext.ide Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.componentInterface.xtext.ide; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.componentInterface.xtext, diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml index 874a21c0a..c013cb21d 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.componentInterface.xtext.ide diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/META-INF/MANIFEST.MF index 320a21c3a..edb6d712b 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: de.fraunhofer.ipa.componentInterface.xtext.tests Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.componentInterface.xtext.tests Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.componentInterface.xtext.tests; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.componentInterface.xtext, diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/pom.xml index cac911882..1b1a9efab 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.tests/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.componentInterface.xtext.tests diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF index 597a76f67..10ae836af 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.componentInterface.xtext.ui Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.componentInterface.xtext.ui; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.componentInterface.xtext, diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/pom.xml index 4ee18ee00..5b97f2c79 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ui/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.componentInterface.xtext.ui diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF index cc50e2547..b518d7d49 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.componentInterface.xtext Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.componentInterface.xtext; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.componentInterface, diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface.xtext/pom.xml index e9ee3529c..dd1a6402b 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.componentInterface.xtext diff --git a/plugins/de.fraunhofer.ipa.componentInterface/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface/META-INF/MANIFEST.MF index eafec70a6..713383a64 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.componentInterface;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.componentInterface -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/de.fraunhofer.ipa.componentInterface/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface/pom.xml index 22a373d53..b30c76ca8 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.componentInterface diff --git a/plugins/de.fraunhofer.ipa.ros.edit/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.edit/META-INF/MANIFEST.MF index 13d5a7505..e57e61501 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.edit/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.ros.edit;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.ros.edit -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Activator: ros.provider.RosEditPlugin$Implementation Bundle-Vendor: %providerName diff --git a/plugins/de.fraunhofer.ipa.ros.edit/pom.xml b/plugins/de.fraunhofer.ipa.ros.edit/pom.xml index 316f3a8b5..5f6c07346 100644 --- a/plugins/de.fraunhofer.ipa.ros.edit/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.edit/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.edit diff --git a/plugins/de.fraunhofer.ipa.ros.editor/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.editor/META-INF/MANIFEST.MF index 869ace1c9..fd2e80a6a 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.editor/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.ros.editor;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.ros.editor -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Activator: ros.presentation.RosEditorPlugin$Implementation Bundle-Vendor: %providerName diff --git a/plugins/de.fraunhofer.ipa.ros.editor/pom.xml b/plugins/de.fraunhofer.ipa.ros.editor/pom.xml index 29e19c353..21541698b 100644 --- a/plugins/de.fraunhofer.ipa.ros.editor/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.editor/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.editor diff --git a/plugins/de.fraunhofer.ipa.ros.feature/feature.xml b/plugins/de.fraunhofer.ipa.ros.feature/feature.xml index 0c8f71924..310b5daa6 100644 --- a/plugins/de.fraunhofer.ipa.ros.feature/feature.xml +++ b/plugins/de.fraunhofer.ipa.ros.feature/feature.xml @@ -2,7 +2,7 @@ @@ -117,168 +117,168 @@ POSSIBILITY OF SUCH DAMAGE. id="de.fraunhofer.ipa.rossystem" download-size="0" install-size="0" - version="1.5.0.qualifier" + version="2.0.0.qualifier" unpack="false"/> diff --git a/plugins/de.fraunhofer.ipa.ros.feature/pom.xml b/plugins/de.fraunhofer.ipa.ros.feature/pom.xml index 45c183e8e..ef0becbd3 100644 --- a/plugins/de.fraunhofer.ipa.ros.feature/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.feature/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.feature diff --git a/plugins/de.fraunhofer.ipa.ros.model.spec.check/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.model.spec.check/META-INF/MANIFEST.MF index 22f19132f..516cc81b7 100644 --- a/plugins/de.fraunhofer.ipa.ros.model.spec.check/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.model.spec.check/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Check Bundle-SymbolicName: de.fraunhofer.ipa.ros.model.spec.check;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Automatic-Module-Name: de.fraunhofer.ipa.ros.model.spec.check Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: org.eclipse.core.commands, diff --git a/plugins/de.fraunhofer.ipa.ros.model.spec.check/pom.xml b/plugins/de.fraunhofer.ipa.ros.model.spec.check/pom.xml index 1a7f359da..f4cc4a3e4 100644 --- a/plugins/de.fraunhofer.ipa.ros.model.spec.check/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.model.spec.check/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.model.spec.check diff --git a/plugins/de.fraunhofer.ipa.ros.observer.generator/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.observer.generator/META-INF/MANIFEST.MF index b12774422..2899df06e 100644 --- a/plugins/de.fraunhofer.ipa.ros.observer.generator/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.observer.generator/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.ros.observer.generator Bundle-SymbolicName: de.fraunhofer.ipa.ros.observer.generator;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: javax.inject;version="1.0.0", org.eclipse.ui.handlers, diff --git a/plugins/de.fraunhofer.ipa.ros.observer.generator/pom.xml b/plugins/de.fraunhofer.ipa.ros.observer.generator/pom.xml index 0d0ec7c93..c2d258ddc 100644 --- a/plugins/de.fraunhofer.ipa.ros.observer.generator/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.observer.generator/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.observer.generator diff --git a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml index 5e1bb6457..193ec6e1c 100644 --- a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 de.fraunhofer.ipa.ros - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT de.fraunhofer.ipa.ros.parent pom diff --git a/plugins/de.fraunhofer.ipa.ros.plugin/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.plugin/META-INF/MANIFEST.MF index 8bda65d23..d31f78d53 100644 --- a/plugins/de.fraunhofer.ipa.ros.plugin/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.plugin/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Plugin Bundle-SymbolicName: de.fraunhofer.ipa.ros.plugin;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-Vendor: Fraunhofer IPA Require-Bundle: org.eclipse.ui, org.eclipse.ui.navigator, diff --git a/plugins/de.fraunhofer.ipa.ros.plugin/pom.xml b/plugins/de.fraunhofer.ipa.ros.plugin/pom.xml index 5dc626b08..db4644b61 100644 --- a/plugins/de.fraunhofer.ipa.ros.plugin/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.plugin/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.plugin diff --git a/plugins/de.fraunhofer.ipa.ros.sirius/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.sirius/META-INF/MANIFEST.MF index 7522f8b5c..3b64722dd 100644 --- a/plugins/de.fraunhofer.ipa.ros.sirius/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.sirius/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.ros.sirius;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-Activator: de.fraunhofer.ipa.ros.sirius.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/de.fraunhofer.ipa.ros.sirius/pom.xml b/plugins/de.fraunhofer.ipa.ros.sirius/pom.xml index 0bb266870..a32cf1464 100644 --- a/plugins/de.fraunhofer.ipa.ros.sirius/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.sirius/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.sirius diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF index ede53fea9..dd6eba63f 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.ros.xtext.ide Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.ros.xtext.ide; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.ros.xtext, diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml b/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml index d850c03c9..5a6c4171a 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.xtext.ide diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.tests/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext.tests/META-INF/MANIFEST.MF index d969a4f10..b066cc2d1 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.tests/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext.tests/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: de.fraunhofer.ipa.ros.xtext.tests Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.ros.xtext.tests Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.ros.xtext.tests; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.ros.xtext, diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.tests/pom.xml b/plugins/de.fraunhofer.ipa.ros.xtext.tests/pom.xml index 2de53059b..7af3bba2f 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.tests/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.xtext.tests/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.xtext.tests diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF index 172c0eae5..0f1bca1c6 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.ros.xtext.ui Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.ros.xtext.ui; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.ros.xtext, diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ui/pom.xml b/plugins/de.fraunhofer.ipa.ros.xtext.ui/pom.xml index 96f34745d..cde3ee1de 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ui/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ui/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.xtext.ui diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF index 521872529..3bdee2b42 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.ros.xtext Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.ros.xtext; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.ros, diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/pom.xml b/plugins/de.fraunhofer.ipa.ros.xtext/pom.xml index 697b77aa1..013402a10 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.xtext/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros.xtext diff --git a/plugins/de.fraunhofer.ipa.ros/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros/META-INF/MANIFEST.MF index d035b22e4..fba128c65 100644 --- a/plugins/de.fraunhofer.ipa.ros/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.ros;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.ros -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/de.fraunhofer.ipa.ros/pom.xml b/plugins/de.fraunhofer.ipa.ros/pom.xml index 672baacd3..fc02637f2 100644 --- a/plugins/de.fraunhofer.ipa.ros/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.ros diff --git a/plugins/de.fraunhofer.ipa.roscode.generator/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.roscode.generator/META-INF/MANIFEST.MF index faaf774b6..01badcbb0 100644 --- a/plugins/de.fraunhofer.ipa.roscode.generator/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.roscode.generator/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.seronet_projekt.componentGateway.generator Bundle-SymbolicName: de.fraunhofer.ipa.roscode.generator;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-Vendor: SeRoNet (www.seronet-projekt.de) Export-Package: de.fraunhofer.ipa.roscode.generator Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/plugins/de.fraunhofer.ipa.roscode.generator/pom.xml b/plugins/de.fraunhofer.ipa.roscode.generator/pom.xml index 9a1f37b1a..bf60bf567 100644 --- a/plugins/de.fraunhofer.ipa.roscode.generator/pom.xml +++ b/plugins/de.fraunhofer.ipa.roscode.generator/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.roscode.generator diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.edit/META-INF/MANIFEST.MF index a9b9cc8b4..db63b7b7b 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.edit/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.edit;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.rossystem.edit -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Activator: rossystem.provider.RossystemEditPlugin$Implementation Bundle-Vendor: %providerName diff --git a/plugins/de.fraunhofer.ipa.rossystem.edit/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.edit/pom.xml index abf3ccaa1..74fb19745 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.edit/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.edit/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.edit diff --git a/plugins/de.fraunhofer.ipa.rossystem.editor/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.editor/META-INF/MANIFEST.MF index c429d8f26..d7fbf13e8 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.editor/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.editor/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.editor;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.rossystem.editor -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Activator: rossystem.presentation.RossystemEditorPlugin$Implementation Bundle-Vendor: %providerName diff --git a/plugins/de.fraunhofer.ipa.rossystem.editor/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.editor/pom.xml index b1789b735..1a00ad8bf 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.editor/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.editor/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.editor diff --git a/plugins/de.fraunhofer.ipa.rossystem.model.combination/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.model.combination/META-INF/MANIFEST.MF index 12603c25b..77528908c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.model.combination/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.model.combination/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Check Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.model.combination;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Automatic-Module-Name: de.fraunhofer.ipa.rossystem.model.combination Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: componentInterface.presentation, diff --git a/plugins/de.fraunhofer.ipa.rossystem.model.combination/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.model.combination/pom.xml index 0dac1f3fb..ee56b7816 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.model.combination/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.model.combination/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.model.combination diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF index ba456a1bd..140e8a440 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.rossystem.xtext.ide Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.xtext.ide; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.rossystem.xtext, diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml index 59a6036ab..60d073a4e 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.xtext.ide diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/META-INF/MANIFEST.MF index 558924c36..6a46e4a44 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: de.fraunhofer.ipa.rossystem.xtext.tests Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.rossystem.xtext.tests Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.xtext.tests; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.rossystem.xtext, diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/pom.xml index 6bc5f979c..31c3e9a8d 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.tests/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.xtext.tests diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/META-INF/MANIFEST.MF index 30de16596..4fb86836a 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.rossystem.xtext.ui Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.xtext.ui; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.rossystem.xtext, diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/pom.xml index 02bc1045b..d950a5127 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ui/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.xtext.ui diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.xtext/META-INF/MANIFEST.MF index 047598675..d5de93ef7 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.rossystem.xtext Bundle-Vendor: Fraunhofer IPA -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.xtext; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: de.fraunhofer.ipa.rossystem, diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext/pom.xml index 5f245d61a..ed64f626f 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/pom.xml @@ -5,7 +5,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.xtext diff --git a/plugins/de.fraunhofer.ipa.rossystem/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem/META-INF/MANIFEST.MF index a680fe135..9f2a9240d 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.fraunhofer.ipa.rossystem;singleton:=true Automatic-Module-Name: de.fraunhofer.ipa.rossystem -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/de.fraunhofer.ipa.rossystem/pom.xml b/plugins/de.fraunhofer.ipa.rossystem/pom.xml index 264c534df..562f40a7c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem From 9198d01cb8f74158ecdcb6f77f7f7407fe55469a Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Mon, 4 Oct 2021 15:12:26 +0200 Subject: [PATCH 26/48] Add the plugin de.fraunhofer.ipa.rossystem.deployment to the deployable feature --- plugins/de.fraunhofer.ipa.ros.feature/feature.xml | 7 +++++++ plugins/de.fraunhofer.ipa.ros.parent/pom.xml | 1 + .../META-INF/MANIFEST.MF | 2 +- plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.ros.feature/feature.xml b/plugins/de.fraunhofer.ipa.ros.feature/feature.xml index 310b5daa6..1b380bc0f 100644 --- a/plugins/de.fraunhofer.ipa.ros.feature/feature.xml +++ b/plugins/de.fraunhofer.ipa.ros.feature/feature.xml @@ -281,4 +281,11 @@ POSSIBILITY OF SUCH DAMAGE. version="2.0.0.qualifier" unpack="false"/> + + diff --git a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml index 193ec6e1c..0b8397748 100644 --- a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml @@ -45,6 +45,7 @@ ../de.fraunhofer.ipa.rossystem.edit ../de.fraunhofer.ipa.rossystem.editor ../de.fraunhofer.ipa.rossystem.xtext.tests + ../de.fraunhofer.ipa.rossystem.deployment ../de.fraunhofer.ipa.ros.plugin ../de.fraunhofer.ipa.ros.sirius diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF index 994aeb249..6a189c239 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.fraunhofer.ipa.rossystem.deployment Bundle-SymbolicName: de.fraunhofer.ipa.rossystem.deployment;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 2.0.0.qualifier Export-Package: de.fraunhofer.ipa.rossystem.deployment Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: javax.inject;version="1.0.0", diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml index 492d82d22..951ddd370 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/pom.xml @@ -4,7 +4,7 @@ de.fraunhofer.ipa.ros de.fraunhofer.ipa.ros.parent - 1.5.0-SNAPSHOT + 2.0.0-SNAPSHOT ../de.fraunhofer.ipa.ros.parent/pom.xml de.fraunhofer.ipa.rossystem.deployment From 9bd1f49de89a3f6bb15f92e6afa50dd141ee2869 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Thu, 7 Oct 2021 14:26:19 +0200 Subject: [PATCH 27/48] Get ros distro from gui, pass it to dockerfile, compose, workflow generator --- .../DeploymentArtifactsGenerator.xtend | 49 +++++++++++++------ .../deployment/DockerComposeCompiler.xtend | 8 ++- .../deployment/DockerContainerCompiler.xtend | 25 +++++----- .../deployment/GenerationHandler.java | 37 +++++++++++++- .../deployment/GitActionCompiler.xtend | 4 +- 5 files changed, 90 insertions(+), 33 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend index 4f7cdf223..54f346409 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend @@ -12,10 +12,12 @@ import de.fraunhofer.ipa.rossystem.deployment.DockerComposeCompiler import de.fraunhofer.ipa.rossystem.deployment.DockerContainerCompiler import de.fraunhofer.ipa.rossystem.deployment.GitActionCompiler import rossystem.RosSystem; +import java.util.HashMap +import java.util.Map class CustomOutputProvider implements IOutputConfigurationProvider { public final static String DEFAULT_OUTPUT = "DEFAULT_OUTPUT" - + override Set getOutputConfigurations() { var OutputConfiguration default_config = new OutputConfiguration(DEFAULT_OUTPUT) @@ -31,7 +33,7 @@ class CustomOutputProvider implements IOutputConfigurationProvider { /** * Generates code from your model files on save. - * + * * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation */ class DeploymentArtifactsGenerator extends AbstractGenerator { @@ -40,33 +42,50 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { RosInstallCompiler rosintall_compiler = new RosInstallCompiler() DockerComposeCompiler dockercompose_compiler = new DockerComposeCompiler() GitActionCompiler gitaction_compiler = new GitActionCompiler() + - + String ros_distro + Integer ros_version + String system_prefix + String stack_prefix + def get_ros_distro(String distro) { + ros_distro = distro + } + def get_ros_version(Integer version){ + ros_version = version + } + + def create_system_prefix(RosSystem system){ + if (ros_version == 2) { + return system.getName().toLowerCase + "_ros2" + }else{ + return system.getName().toLowerCase + } + } override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { // ROS1 package for (system : resource.allContents.toIterable.filter(RosSystem)){ + system_prefix = create_system_prefix(system) if (system.componentStack.size==0){ - fsa.generateFile(system.getName().toLowerCase+"/Dockerfile",docker_compiler.compile_toDockerContainer(system, null)) - fsa.generateFile(system.getName().toLowerCase+"/extra_layer/" + system.getName().toLowerCase + ".rosinstall",rosintall_compiler.compile_toRosInstall(system,null)) - fsa.generateFile(system.getName().toLowerCase+"/extra_layer/Dockerfile",docker_compiler.compile_toDockerImageExtraLayer(system, null)) + fsa.generateFile(system_prefix +"/Dockerfile",docker_compiler.compile_toDockerContainer(system, null, ros_distro, ros_version)) + fsa.generateFile(system_prefix +"/extra_layer/" + system.getName().toLowerCase + ".rosinstall",rosintall_compiler.compile_toRosInstall(system,null)) + fsa.generateFile(system_prefix +"/extra_layer/Dockerfile",docker_compiler.compile_toDockerImageExtraLayer(system, null,ros_distro, ros_version)) } else { for (stack : system.componentStack){ - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "Dockerfile"),docker_compiler.compile_toDockerContainer(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", stack.name.toLowerCase+".rosinstall"),rosintall_compiler.compile_toRosInstall(system,stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack)) + stack_prefix = String.join("/", system_prefix, system.name.toLowerCase+'_'+stack.name.toLowerCase) + fsa.generateFile(String.join("/", stack_prefix, "Dockerfile"),docker_compiler.compile_toDockerContainer(system, stack, ros_distro, ros_version)) + fsa.generateFile(String.join("/", stack_prefix, "extra_layer", stack.name.toLowerCase+".rosinstall"),rosintall_compiler.compile_toRosInstall(system,stack)) + fsa.generateFile(String.join("/", stack_prefix, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack, ros_distro, ros_version)) } } - fsa.generateFile(String.join("/", system.getName().toLowerCase, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system)) + fsa.generateFile(String.join("/", system_prefix, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system, ros_distro, ros_version)) } // git action workflow for (system : resource.allContents.toIterable.filter(RosSystem)){ - fsa.generateFile(String.join("/", system.getName().toLowerCase, system.getName().toLowerCase + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system)) + fsa.generateFile(String.join("/", system_prefix, system.getName().toLowerCase + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system, ros_version)) } - + } } - - - diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend index df9d224a5..0966c81af 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend @@ -7,7 +7,8 @@ class DockerComposeCompiler { GeneratorHelpers generator_helper = new GeneratorHelpers() - def compile_toDockerCompose(RosSystem system) '''«generator_helper.init_pkg()» + def compile_toDockerCompose(RosSystem system, String ros_distro, Integer ros_version) '''«generator_helper.init_pkg()» +«IF ros_version == 1» version: "3.3" networks: ros: @@ -15,7 +16,7 @@ networks: services: ros-master: - image: ros:melodic-ros-core + image: ros:«ros_distro»-ros-core command: stdbuf -o L roscore networks: - ros @@ -46,6 +47,9 @@ services: «ENDFOR» «ENDIF» +«ELSE» +Todo: complete docker compose file for ros2 +«ENDIF» ''' } \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend index 2d5c0c069..c48912e40 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend @@ -6,21 +6,24 @@ import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers class DockerContainerCompiler { GeneratorHelpers generator_helper = new GeneratorHelpers() - - def compile_toDockerContainer(RosSystem system, ComponentStack stack) '''«generator_helper.init_pkg()» + + def dockerfile_header(Integer ros_version) ''' # syntax=docker/dockerfile:experimental ARG SUFFIX= -ARG BUILDER_SUFFIX=:melodic -ARG PREFIX= +ARG BUILDER_SUFFIX=:ros«ros_version» +ARG PREFIX= + ''' + def compile_toDockerContainer(RosSystem system, ComponentStack stack, String ros_distro, Integer ros_version) '''«generator_helper.init_pkg()» +«dockerfile_header(ros_version)» «IF stack===null» «IF generator_helper.listOfRepos(system).isEmpty()» -FROM ros:melodic-ros-core as base +FROM ros:«ros_distro»-ros-core as base «ELSE» FROM ${PREFIX}extra_layer_«system.name.toLowerCase»${SUFFIX} as base «ENDIF» «ELSE» «IF generator_helper.listOfRepos(stack).isEmpty()» -FROM ros:melodic-ros-core as base +FROM ros:«ros_distro»-ros-core as base «ELSE» FROM ${PREFIX}extra_layer_«stack.name.toLowerCase»${SUFFIX} as base «ENDIF» @@ -63,14 +66,10 @@ FROM deploy as launch «IF stack===null»CMD ["roslaunch", "«system.name»", "«system.name».launch"]«ELSE»CMD ["roslaunch", "«system.name.toLowerCase»_«stack.name.toLowerCase»", "«stack.name.toLowerCase».launch"]«ENDIF» ''' - def compile_toDockerImageExtraLayer(RosSystem system, ComponentStack stack) '''«generator_helper.init_pkg()» + def compile_toDockerImageExtraLayer(RosSystem system, ComponentStack stack, String ros_distro, Integer ros_version) '''«generator_helper.init_pkg()» «IF (stack===null && !generator_helper.listOfRepos(system).isEmpty()) || (stack !==null && !generator_helper.listOfRepos(stack).isEmpty()) » -# syntax=docker/dockerfile:experimental -ARG SUFFIX= -ARG PREFIX= -«««Todo: get distro from model -ARG BUILDER_SUFFIX=:melodic -FROM ros:melodic-ros-core as base +«dockerfile_header(ros_version)» +FROM ros:«ros_distro»-ros-core as base FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder FROM base as pre_build diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java index b45fdf13a..d3b392286 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -1,6 +1,7 @@ package de.fraunhofer.ipa.rossystem.deployment; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.eclipse.core.commands.AbstractHandler; @@ -11,10 +12,15 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.dialogs.ElementListSelectionDialog; import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2; import org.eclipse.xtext.generator.GeneratorContext; @@ -68,13 +74,42 @@ public Object execute(ExecutionEvent event) throws ExecutionException { ResourceSet rs = resourceSetProvider.get(project); Resource r = rs.getResource(uri, true); + Display display = Display.getDefault(); + Shell shell = display.getActiveShell(); + + Map result = select_ros_distro(shell, project); + DeploymentArtifactsGenerator generator = new DeploymentArtifactsGenerator(); + String distro = result.keySet().stream().findFirst().get(); + generator.get_ros_distro(distro); + generator.get_ros_version(result.get(distro)); + + // Todo: check if package type maps to the select version generator.doGenerate(r, fsa, new GeneratorContext()); - } } return null; } + + private Map select_ros_distro(Shell shell, IProject project) { + Map ros_distro_map = new HashMap() {{ + put("melodic", 1); + put("noetic", 1); + put("foxy", 2); + }}; + + ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new LabelProvider()); + dialog.setElements(ros_distro_map.keySet().toArray()); + dialog.setTitle("Select a ROS Distro"); + dialog.setMultipleSelection(false); + dialog.open(); + + Map result = new HashMap() {{ + put(dialog.getResult()[0].toString(), ros_distro_map.get(dialog.getResult()[0])); + }}; + return result; + } + @Override public boolean isEnabled() { diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend index 51686277a..3c18c9719 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend @@ -91,7 +91,7 @@ class GitActionCompiler { «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "builder", "type=ref,event=branch")» «ENDIF» ''' - def compile_toGitAction(RosSystem system) '''«generator_helper.init_pkg()» + def compile_toGitAction(RosSystem system, Integer ros_version) '''«generator_helper.init_pkg()» name: «system.name.toLowerCase» on: push: @@ -101,7 +101,7 @@ env: PREFIX: "${{ secrets.DOCKER_USERNAME }}/" SUFFIX: "" ««« Todo: get distro from model - BUILDER_SUFFIX: melodic + BUILDER_SUFFIX: ros«ros_version» jobs: «build_layer()» «IF system.getComponentStack().isEmpty()» From b1c2dc514fc7e6020a11388aa023859f4639cf76 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Thu, 7 Oct 2021 19:42:10 +0200 Subject: [PATCH 28/48] Choose port from rosparameter, pass value to docker compose file --- .../DeploymentArtifactsGenerator.xtend | 24 +++- .../deployment/DockerComposeCompiler.xtend | 25 +++- .../deployment/GenerationHandler.java | 123 +++++++++++++++--- 3 files changed, 139 insertions(+), 33 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend index 54f346409..9b8fa821f 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend @@ -14,6 +14,8 @@ import de.fraunhofer.ipa.rossystem.deployment.GitActionCompiler import rossystem.RosSystem; import java.util.HashMap import java.util.Map +import java.util.List +import componentInterface.RosParameter class CustomOutputProvider implements IOutputConfigurationProvider { public final static String DEFAULT_OUTPUT = "DEFAULT_OUTPUT" @@ -42,19 +44,21 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { RosInstallCompiler rosintall_compiler = new RosInstallCompiler() DockerComposeCompiler dockercompose_compiler = new DockerComposeCompiler() GitActionCompiler gitaction_compiler = new GitActionCompiler() - + String ros_distro Integer ros_version - String system_prefix + String system_prefix String stack_prefix + Map> device_map = new HashMap> + def get_ros_distro(String distro) { ros_distro = distro - } + } def get_ros_version(Integer version){ ros_version = version } - + def create_system_prefix(RosSystem system){ if (ros_version == 2) { return system.getName().toLowerCase + "_ros2" @@ -62,6 +66,16 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { return system.getName().toLowerCase } } + def get_portt_list(Map> ports_map){ + for (key: ports_map.keySet()){ + val values = newArrayList() + for (k: ports_map.get(key).keySet()){ + values.add(ports_map.get(key).get(k)) + } + device_map.put(key, values); + } + } + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { // ROS1 package for (system : resource.allContents.toIterable.filter(RosSystem)){ @@ -78,7 +92,7 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { fsa.generateFile(String.join("/", stack_prefix, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack, ros_distro, ros_version)) } } - fsa.generateFile(String.join("/", system_prefix, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system, ros_distro, ros_version)) + fsa.generateFile(String.join("/", system_prefix, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system, ros_distro, ros_version, device_map)) } // git action workflow diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend index 0966c81af..a2df50e07 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend @@ -2,18 +2,27 @@ package de.fraunhofer.ipa.rossystem.deployment import rossystem.RosSystem import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers +import java.util.Map +import java.util.List class DockerComposeCompiler { - - GeneratorHelpers generator_helper = new GeneratorHelpers() - - def compile_toDockerCompose(RosSystem system, String ros_distro, Integer ros_version) '''«generator_helper.init_pkg()» + + GeneratorHelpers generator_helper = new GeneratorHelpers() + +def create_devices(List ports)''' +«IF ports.size() > 0» +devices: +«FOR p: ports» +«" "»- "«p»:«p»" +«ENDFOR» +«ENDIF» +''' + def compile_toDockerCompose(RosSystem system, String ros_distro, Integer ros_version, Map> device_map) '''«generator_helper.init_pkg()» «IF ros_version == 1» version: "3.3" networks: ros: driver: bridge - services: ros-master: image: ros:«ros_distro»-ros-core @@ -31,6 +40,7 @@ services: - "ROS_HOSTNAME=«system.name.toLowerCase»" networks: - ros + «create_devices(device_map.get(system.name))» command: stdbuf -o L roslaunch «system.name.toLowerCase» «system.name.toLowerCase».launch --wait «ELSE» «FOR stack:system.componentStack» @@ -43,8 +53,9 @@ services: - "ROS_HOSTNAME=«stack.name.toLowerCase»" networks: - ros + «create_devices(device_map.get(stack.name))» command: stdbuf -o L roslaunch «system.name.toLowerCase»_«stack.name.toLowerCase» «stack.name.toLowerCase».launch --wait - + «ENDFOR» «ENDIF» «ELSE» @@ -52,4 +63,4 @@ Todo: complete docker compose file for ros2 «ENDIF» ''' -} \ No newline at end of file +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java index d3b392286..df97a4b42 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -1,5 +1,6 @@ package de.fraunhofer.ipa.rossystem.deployment; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -11,10 +12,12 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.emf.common.util.BasicEList; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.LabelProvider; @@ -32,17 +35,19 @@ import com.google.inject.Inject; import com.google.inject.Provider; -import de.fraunhofer.ipa.rossystem.deployment.CustomOutputProvider; -import de.fraunhofer.ipa.rossystem.deployment.DeploymentArtifactsGenerator; +import componentInterface.ComponentInterface; +import componentInterface.RosParameter; +import rossystem.ComponentStack; +import rossystem.RosSystem; public class GenerationHandler extends AbstractHandler implements IHandler { - + @Inject private Provider fileAccessProvider; - + @Inject IResourceDescriptions resourceDescriptions; - + @Inject IResourceSetProvider resourceSetProvider; @@ -56,7 +61,7 @@ static Map getOutputConfigurationsAsMap(IOutputConf @Override public Object execute(ExecutionEvent event) throws ExecutionException { - + ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; @@ -64,53 +69,129 @@ public Object execute(ExecutionEvent event) throws ExecutionException { if (firstElement instanceof IFile) { IFile file = (IFile) firstElement; IProject project = file.getProject(); - + final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get(); fsa.setProject(project); fsa.setOutputConfigurations(getOutputConfigurationsAsMap(new CustomOutputProvider())); - fsa.setMonitor(new NullProgressMonitor()); - + fsa.setMonitor(new NullProgressMonitor()); + URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true); ResourceSet rs = resourceSetProvider.get(project); Resource r = rs.getResource(uri, true); - + RosSystem system = (RosSystem)r.getContents().get(0); + Display display = Display.getDefault(); Shell shell = display.getActiveShell(); - + Map result = select_ros_distro(shell, project); - + DeploymentArtifactsGenerator generator = new DeploymentArtifactsGenerator(); String distro = result.keySet().stream().findFirst().get(); generator.get_ros_distro(distro); generator.get_ros_version(result.get(distro)); - - // Todo: check if package type maps to the select version + + Map> sys_param_port = set_ports_from_parameters(shell, system); + generator.get_portt_list(sys_param_port); + // Todo: check if package type maps to the select version generator.doGenerate(r, fsa, new GeneratorContext()); } } return null; } - + private Map select_ros_distro(Shell shell, IProject project) { Map ros_distro_map = new HashMap() {{ put("melodic", 1); put("noetic", 1); put("foxy", 2); - }}; - + }}; + ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new LabelProvider()); dialog.setElements(ros_distro_map.keySet().toArray()); dialog.setTitle("Select a ROS Distro"); dialog.setMultipleSelection(false); dialog.open(); - + Map result = new HashMap() {{ put(dialog.getResult()[0].toString(), ros_distro_map.get(dialog.getResult()[0])); - }}; + }}; return result; } - + private Map> set_ports_from_parameters(Shell shell, RosSystem system) { + Map> sys_param_portvalue_map=new HashMap<>(); + EList roscomponents = new BasicEList(); + EList stacks = system.getComponentStack(); + String label = system.getName(); + if (stacks.size() == 0) { + roscomponents = system.getRosComponent(); + sys_param_portvalue_map.put(system.getName(), get_component_port_value(shell, roscomponents, label)); + }else { + for (ComponentStack stack: stacks) { + label = stack.getName(); + roscomponents = stack.getRosComponent(); + sys_param_portvalue_map.put(stack.getName(), get_component_port_value(shell, roscomponents, label)); + } + } + + return sys_param_portvalue_map; + } + + private Mapget_component_port_value(Shell shell, EList roscomponents, String label) { + Map param_portvalue_map=new HashMap<>(); + Map param_name_map = new HashMap(); + List param_names = new ArrayList(); + for (RosParameter param : get_all_ros_params(roscomponents)) { + param_names.add(param.getName()); + param_name_map.put(param.getName(), param); + } + + if (param_names.size() > 0) { + String empty_msg = "No parameters for setting ports"; + param_names.add(empty_msg); + param_name_map.put(empty_msg, null); + ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new LabelProvider()); + dialog.setElements(param_names.toArray()); + dialog.setTitle(String.format("%s: Select parameters for setting ports", label)); + dialog.setMultipleSelection(true); + dialog.open(); + + for(Object param_name : dialog.getResult()) { + if(param_name_map.get(param_name.toString()) != null) { + String raw_value = param_name_map.get(param_name.toString()).getValue().toString().replace(" ", ""); + String value = raw_value.substring(raw_value.lastIndexOf(":")+1, raw_value.lastIndexOf(")")); + InputDialog dialog_set_port = new InputDialog(shell, + String.format("Check ports' values in %s", label), + String.format("The value of %s: ", param_name.toString()), + value, + null); + dialog_set_port.open(); + param_portvalue_map.put(param_name_map.get(param_name.toString()), value); + } + } + } + return param_portvalue_map; + } + + private EList get_all_ros_params(EList roscomponents) { + EList all_ros_params = new BasicEList(); + for (int i=0; i component_params = get_ros_component_params(roscomponents.get(i)); + for (int j= 0;j get_ros_component_params(ComponentInterface componentInterface_model){ + List ros_component_params = new ArrayList(); + for (RosParameter ros_param: componentInterface_model.getRosparameter()) { + ros_component_params.add(ros_param); + } + return ros_component_params; + } + @Override public boolean isEnabled() { return true; From f5113abcfdd06b0fbb12a7c272f02775514d1ce0 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Thu, 28 Oct 2021 12:44:26 +0200 Subject: [PATCH 29/48] give help information when the value of a parameter is not set --- .../DeploymentArtifactsGenerator.xtend | 12 +++++-- .../deployment/GenerationHandler.java | 33 +++++++++++++------ 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend index 9b8fa821f..832af512f 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend @@ -70,14 +70,20 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { for (key: ports_map.keySet()){ val values = newArrayList() for (k: ports_map.get(key).keySet()){ + val v = ports_map.get(key).get(k); values.add(ports_map.get(key).get(k)) } device_map.put(key, values); } } - + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { // ROS1 package + device_map.keySet().forEach[String key| + if (device_map.get(key).contains(null)) { + throw new IllegalArgumentException("Values of some device ports are not defined.") + } + ] for (system : resource.allContents.toIterable.filter(RosSystem)){ system_prefix = create_system_prefix(system) if (system.componentStack.size==0){ @@ -90,8 +96,9 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { fsa.generateFile(String.join("/", stack_prefix, "Dockerfile"),docker_compiler.compile_toDockerContainer(system, stack, ros_distro, ros_version)) fsa.generateFile(String.join("/", stack_prefix, "extra_layer", stack.name.toLowerCase+".rosinstall"),rosintall_compiler.compile_toRosInstall(system,stack)) fsa.generateFile(String.join("/", stack_prefix, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack, ros_distro, ros_version)) + } } - } + fsa.generateFile(String.join("/", system_prefix, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system, ros_distro, ros_version, device_map)) } @@ -99,7 +106,6 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { for (system : resource.allContents.toIterable.filter(RosSystem)){ fsa.generateFile(String.join("/", system_prefix, system.getName().toLowerCase + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system, ros_version)) } - } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java index df97a4b42..ec090b81a 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -157,16 +157,29 @@ private Map> set_ports_from_parameters(Shell s dialog.open(); for(Object param_name : dialog.getResult()) { - if(param_name_map.get(param_name.toString()) != null) { - String raw_value = param_name_map.get(param_name.toString()).getValue().toString().replace(" ", ""); - String value = raw_value.substring(raw_value.lastIndexOf(":")+1, raw_value.lastIndexOf(")")); - InputDialog dialog_set_port = new InputDialog(shell, - String.format("Check ports' values in %s", label), - String.format("The value of %s: ", param_name.toString()), - value, - null); - dialog_set_port.open(); - param_portvalue_map.put(param_name_map.get(param_name.toString()), value); + RosParameter tmp_value = param_name_map.get(param_name.toString()); + if(tmp_value != null) { + if(tmp_value.getValue() != null) { + String raw_value = tmp_value.getValue().toString().replace(" ", ""); + String value = raw_value.substring(raw_value.lastIndexOf(":")+1, raw_value.lastIndexOf(")")); + InputDialog dialog_set_port = new InputDialog(shell, + String.format("Check ports' values in %s", label), + String.format("The value of %s: ", param_name.toString()), + value, + null); + dialog_set_port.open(); + param_portvalue_map.put(tmp_value, value); + } + else { + String value = "Null. Didn't find value for this parameter. Please set a value."; + InputDialog dialog_set_port = new InputDialog(shell, + String.format("Check ports' values in %s", label), + String.format("The value of %s: ", param_name.toString()), + value, + null); + dialog_set_port.open(); + param_portvalue_map.put(tmp_value, null); + } } } } From 688f3b8fd067f711eb5382eec421001dd83b202b Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Wed, 3 Nov 2021 11:23:37 +0100 Subject: [PATCH 30/48] open a error dialog in case the deployment code can't be generated --- .../ipa/rossystem/deployment/GenerationHandler.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java index ec090b81a..0a525208c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -18,6 +18,7 @@ import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.jface.dialogs.InputDialog; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.LabelProvider; @@ -171,13 +172,10 @@ private Map> set_ports_from_parameters(Shell s param_portvalue_map.put(tmp_value, value); } else { - String value = "Null. Didn't find value for this parameter. Please set a value."; - InputDialog dialog_set_port = new InputDialog(shell, - String.format("Check ports' values in %s", label), - String.format("The value of %s: ", param_name.toString()), - value, - null); - dialog_set_port.open(); + String value = "Deployment Artifacts couldn't be generated. The selected parameter ("+param_name.toString()+") doesn't have a value set, please define it on the rossystem file and try again."; + MessageDialog error_dialog = new MessageDialog(shell, "ERROR", null, + value, MessageDialog.ERROR, new String[] { "Cancel" }, 0); + error_dialog.open(); param_portvalue_map.put(tmp_value, null); } } From 755bdbcd7130388dda7ad41d7fe096f6e309bd75 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Wed, 3 Nov 2021 14:44:07 +0100 Subject: [PATCH 31/48] Change InputDialog to MessageDialog for checking value of ports --- .../ipa/rossystem/deployment/GenerationHandler.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java index 0a525208c..dcb908437 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -163,12 +163,9 @@ private Map> set_ports_from_parameters(Shell s if(tmp_value.getValue() != null) { String raw_value = tmp_value.getValue().toString().replace(" ", ""); String value = raw_value.substring(raw_value.lastIndexOf(":")+1, raw_value.lastIndexOf(")")); - InputDialog dialog_set_port = new InputDialog(shell, - String.format("Check ports' values in %s", label), - String.format("The value of %s: ", param_name.toString()), - value, - null); - dialog_set_port.open(); + MessageDialog dialog_check_port = new MessageDialog(shell, String.format("Check ports' values in %s", label), null, + String.format("The value of \"%s\" is \"%s\"", param_name.toString(), value), MessageDialog.INFORMATION, new String[] { "OK" }, 0); + dialog_check_port.open(); param_portvalue_map.put(tmp_value, value); } else { From 05e1e8657980b27f2bd8c0e44b6db56b3e880d7d Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Thu, 4 Nov 2021 10:58:32 +0100 Subject: [PATCH 32/48] Allow the skip of the step to select devide ports to be configured --- .../deployment/GenerationHandler.java | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java index dcb908437..221a47a0c 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -154,26 +154,29 @@ private Map> set_ports_from_parameters(Shell s ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new LabelProvider()); dialog.setElements(param_names.toArray()); dialog.setTitle(String.format("%s: Select parameters for setting ports", label)); + dialog.setMessage("If your robot setup has devices connected through ports that have to be configure, please select their parameters. Otherwise, press cancel "); dialog.setMultipleSelection(true); dialog.open(); - for(Object param_name : dialog.getResult()) { - RosParameter tmp_value = param_name_map.get(param_name.toString()); - if(tmp_value != null) { - if(tmp_value.getValue() != null) { - String raw_value = tmp_value.getValue().toString().replace(" ", ""); - String value = raw_value.substring(raw_value.lastIndexOf(":")+1, raw_value.lastIndexOf(")")); - MessageDialog dialog_check_port = new MessageDialog(shell, String.format("Check ports' values in %s", label), null, - String.format("The value of \"%s\" is \"%s\"", param_name.toString(), value), MessageDialog.INFORMATION, new String[] { "OK" }, 0); - dialog_check_port.open(); - param_portvalue_map.put(tmp_value, value); - } - else { - String value = "Deployment Artifacts couldn't be generated. The selected parameter ("+param_name.toString()+") doesn't have a value set, please define it on the rossystem file and try again."; - MessageDialog error_dialog = new MessageDialog(shell, "ERROR", null, - value, MessageDialog.ERROR, new String[] { "Cancel" }, 0); - error_dialog.open(); - param_portvalue_map.put(tmp_value, null); + if(dialog.getResult() != null) { + for(Object param_name : dialog.getResult()) { + RosParameter tmp_value = param_name_map.get(param_name.toString()); + if(tmp_value != null) { + if(tmp_value.getValue() != null) { + String raw_value = tmp_value.getValue().toString().replace(" ", ""); + String value = raw_value.substring(raw_value.lastIndexOf(":")+1, raw_value.lastIndexOf(")")); + MessageDialog dialog_check_port = new MessageDialog(shell, String.format("Check ports' values in %s", label), null, + String.format("The value of \"%s\" is \"%s\"", param_name.toString(), value), MessageDialog.INFORMATION, new String[] { "OK" }, 0); + dialog_check_port.open(); + param_portvalue_map.put(tmp_value, value); + } + else { + String value = "Deployment Artifacts couldn't be generated. The selected parameter ("+param_name.toString()+") doesn't have a value set, please define it on the rossystem file and try again."; + MessageDialog error_dialog = new MessageDialog(shell, "ERROR", null, + value, MessageDialog.ERROR, new String[] { "Cancel" }, 0); + error_dialog.open(); + param_portvalue_map.put(tmp_value, null); + } } } } From 069539b0312d521c8afe874d15e34e6592bea69b Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Wed, 10 Nov 2021 10:28:00 +0100 Subject: [PATCH 33/48] remove empty_msg for skipping setting ports --- .../fraunhofer/ipa/rossystem/deployment/GenerationHandler.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java index 221a47a0c..ad2eda7c7 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GenerationHandler.java @@ -148,9 +148,6 @@ private Map> set_ports_from_parameters(Shell s } if (param_names.size() > 0) { - String empty_msg = "No parameters for setting ports"; - param_names.add(empty_msg); - param_name_map.put(empty_msg, null); ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new LabelProvider()); dialog.setElements(param_names.toArray()); dialog.setTitle(String.format("%s: Select parameters for setting ports", label)); From 4a6c5a8acfeb0474c04cbe2a460443dad01d0c5d Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Fri, 12 Nov 2021 11:06:51 +0100 Subject: [PATCH 34/48] fix the extension of the launch files generated for ROS2 systems --- .../ipa/rossystem/generator/RosSystemGenerator.xtend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index 559c9c54f..212fe1c1e 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -98,7 +98,7 @@ class RosSystemGenerator extends AbstractGenerator { if (Ros2Components.size()>0){ fsa.generateFile(system.getName().toLowerCase+"_ros2/package.xml",compile_package_xml_format3 (system, null)) fsa.generateFile(system.getName().toLowerCase+"_ros2/CMakeLists.txt",compile_CMakeLists_ROS2(system, null)) - fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch",compile_toROS2launch(system, null).toString().replace("\t"," ")) + fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch.py",compile_toROS2launch(system, null).toString().replace("\t"," ")) fsa.generateFile(system.getName().toLowerCase+"_ros2/setup.py",system.compile_setup_py) fsa.generateFile(system.getName().toLowerCase+"_ros2/resource/" + system.getName().toLowerCase, "") fsa.generateFile(system.getName().toLowerCase+"_ros2/" + system.getName().toLowerCase + "/__init__.py", "") @@ -115,7 +115,7 @@ class RosSystemGenerator extends AbstractGenerator { if (!Collections.disjoint(stack.rosComponent, Ros2Components)) { fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format3(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS2(system, stack)) - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch"), compile_toROS2launch(system, stack).toString().replace("\t"," ")) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch.py"), compile_toROS2launch(system, stack).toString().replace("\t"," ")) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "setup.py"),system.compile_setup_py) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "resource/" + system.name.toLowerCase+'_'+stack.name.toLowerCase.toLowerCase), "") fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "/__init__.py"), "") From 3fa15906f866a9e69e238a5d6ac6b57b7c8a9075 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Fri, 12 Nov 2021 11:11:51 +0100 Subject: [PATCH 35/48] Fix: update the setup.py generator for ROS2 to support component stacks, the package of the name was not corresponding to the one set for package.xml --- .../ipa/rossystem/generator/RosSystemGenerator.xtend | 4 ++-- .../fraunhofer/ipa/rossystem/generator/SetupPyCompiler.xtend | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index 212fe1c1e..e2bf29917 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -99,7 +99,7 @@ class RosSystemGenerator extends AbstractGenerator { fsa.generateFile(system.getName().toLowerCase+"_ros2/package.xml",compile_package_xml_format3 (system, null)) fsa.generateFile(system.getName().toLowerCase+"_ros2/CMakeLists.txt",compile_CMakeLists_ROS2(system, null)) fsa.generateFile(system.getName().toLowerCase+"_ros2/launch/"+system.getName()+".launch.py",compile_toROS2launch(system, null).toString().replace("\t"," ")) - fsa.generateFile(system.getName().toLowerCase+"_ros2/setup.py",system.compile_setup_py) + fsa.generateFile(system.getName().toLowerCase+"_ros2/setup.py",compile_setup_py(system, null)) fsa.generateFile(system.getName().toLowerCase+"_ros2/resource/" + system.getName().toLowerCase, "") fsa.generateFile(system.getName().toLowerCase+"_ros2/" + system.getName().toLowerCase + "/__init__.py", "") } @@ -116,7 +116,7 @@ class RosSystemGenerator extends AbstractGenerator { fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "package.xml"),compile_package_xml_format3(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "CMakeLists.txt"),compile_CMakeLists_ROS2(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch.py"), compile_toROS2launch(system, stack).toString().replace("\t"," ")) - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "setup.py"),system.compile_setup_py) + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "setup.py"),compile_setup_py(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "resource/" + system.name.toLowerCase+'_'+stack.name.toLowerCase.toLowerCase), "") fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "/__init__.py"), "") } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/SetupPyCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/SetupPyCompiler.xtend index 069581892..f58f0b042 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/SetupPyCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/SetupPyCompiler.xtend @@ -2,18 +2,19 @@ package de.fraunhofer.ipa.rossystem.generator import rossystem.RosSystem import com.google.inject.Inject +import rossystem.ComponentStack class SetupPyCompile{ @Inject extension GeneratorHelpers - def compile_setup_py(RosSystem system) '''«init_pkg()» + def compile_setup_py(RosSystem system,ComponentStack stack) '''«init_pkg()» import os from glob import glob from setuptools import setup -PACKAGE_NAME = '«system.name.toLowerCase»' +PACKAGE_NAME = '«IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF»' setup( name=PACKAGE_NAME, From ed02714fcd0f39b2892b8ece544776c98ebc1338 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Thu, 18 Nov 2021 10:25:01 +0100 Subject: [PATCH 36/48] fix path to __init__.py file for ROS2 launch packages --- .../fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index e2bf29917..aa5af9918 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -118,7 +118,7 @@ class RosSystemGenerator extends AbstractGenerator { fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "launch", stack.getName()+".launch.py"), compile_toROS2launch(system, stack).toString().replace("\t"," ")) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "setup.py"),compile_setup_py(system, stack)) fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "resource/" + system.name.toLowerCase+'_'+stack.name.toLowerCase.toLowerCase), "") - fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, "/__init__.py"), "") + fsa.generateFile(String.join("/", system.getName().toLowerCase+"_ros2", system.name.toLowerCase+'_'+stack.name.toLowerCase, system.name.toLowerCase+'_'+stack.name.toLowerCase, "__init__.py"), "") } } From 7ffbf696e9858e5fca3094afefb3ef9b3a254562 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Thu, 28 Oct 2021 12:53:32 +0200 Subject: [PATCH 37/48] Create docker-compose.yml for ros2 application --- .../deployment/DockerComposeCompiler.xtend | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend index a2df50e07..e16ceef8f 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend @@ -9,6 +9,15 @@ class DockerComposeCompiler { GeneratorHelpers generator_helper = new GeneratorHelpers() +def get_name(String prefix, String ros_distro) { + if(ros_distro=="foxy") { + return prefix + "_ros2" + } + else{ + return prefix + ros_distro + } + } + def create_devices(List ports)''' «IF ports.size() > 0» devices: @@ -59,8 +68,22 @@ services: «ENDFOR» «ENDIF» «ELSE» -Todo: complete docker compose file for ros2 -«ENDIF» +version: "3.3" +services: +«IF system.getComponentStack().isEmpty()» +«" "»«system.name.toLowerCase»: + image: "«get_name(system.name.toLowerCase, ros_distro)»:latest" + «create_devices(device_map.get(system.name))» + command: stdbuf -o L ros2 launch «system.name.toLowerCase» «system.name.toLowerCase».launch.py +«ELSE» +«FOR stack:system.componentStack» +«" "»«system.name.toLowerCase»_«stack.name.toLowerCase»: + image: "«get_name(system.name.toLowerCase, ros_distro)»_«stack.name.toLowerCase»:latest" + «create_devices(device_map.get(stack.name))» + command: stdbuf -o L ros2 launch «system.name.toLowerCase»_«stack.name.toLowerCase» «stack.name.toLowerCase».launch.py +«ENDFOR» +«ENDIF» +«ENDIF» ''' } From 0c60f0d04f71d36934dbfe3aee23451ede419745 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Fri, 12 Nov 2021 18:53:43 +0100 Subject: [PATCH 38/48] Fix docker tag name --- .../deployment/GitActionCompiler.xtend | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend index 3c18c9719..61d0d65c2 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend @@ -38,6 +38,10 @@ class GitActionCompiler { key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- + - + name: Get Branch + id: extract_branch + run: echo ::set-output name=branch::$(echo ${GITHUB_REF#refs/heads/} | sed 's/[^a-zA-Z0-9-]/-/g') - name: Docker meta id: docker_meta @@ -46,11 +50,7 @@ class GitActionCompiler { images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} tags: | «tag» - type=raw,value=latest - - - name: Get Branch - id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF} | cut -d'/' -f3) + type=raw,value=latest - name: Build and Push Docker Image uses: docker/build-push-action@v2 @@ -75,20 +75,20 @@ class GitActionCompiler { «default_part("builder", "./builder", null, "type=raw,value=${{ env.BUILDER_SUFFIX }}")» ''' def extra_layer(String name, String path)''' - «default_part("extra_layer_"+name, String.join("/", ".",path,"extra_layer"), "builder", "type=ref,event=branch")» + «default_part("extra_layer_"+name, String.join("/", ".",path,"extra_layer"), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» ''' def system_layer(String sys_name, Boolean need_extra)''' «IF need_extra» - «default_part(sys_name, "./"+sys_name, "extra_layer_"+sys_name, "type=ref,event=branch")» + «default_part(sys_name, "./"+sys_name, "extra_layer_"+sys_name, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ELSE» - «default_part(sys_name, "./"+sys_name, "builder", "type=ref,event=branch")» + «default_part(sys_name, "./"+sys_name, null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ENDIF» ''' def stack_layer(String sys_name, String stack_name, Boolean need_extra)''' «IF need_extra» - «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "extra_layer_"+stack_name, "type=ref,event=branch")» + «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "extra_layer_"+stack_name, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ELSE» - «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "builder", "type=ref,event=branch")» + «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ENDIF» ''' def compile_toGitAction(RosSystem system, Integer ros_version) '''«generator_helper.init_pkg()» @@ -103,7 +103,6 @@ env: ««« Todo: get distro from model BUILDER_SUFFIX: ros«ros_version» jobs: - «build_layer()» «IF system.getComponentStack().isEmpty()» «IF !generator_helper.listOfRepos(system).isEmpty()» «extra_layer(system.name.toLowerCase, system.name.toLowerCase)» From f93d9a0f44ee48c7e6ec66eba71b7e22c1e86b4e Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Fri, 12 Nov 2021 22:02:09 +0100 Subject: [PATCH 39/48] Add "_ros2" as extension for deploy package in foxy version --- .../DeploymentArtifactsGenerator.xtend | 2 +- .../deployment/DockerContainerCompiler.xtend | 26 ++++++++++--- .../deployment/GitActionCompiler.xtend | 37 ++++++++++++------- 3 files changed, 44 insertions(+), 21 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend index 832af512f..ed6a3b30e 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend @@ -104,7 +104,7 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { // git action workflow for (system : resource.allContents.toIterable.filter(RosSystem)){ - fsa.generateFile(String.join("/", system_prefix, system.getName().toLowerCase + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system, ros_version)) + fsa.generateFile(String.join("/", system_prefix, system_prefix + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system, ros_version, ros_distro)) } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend index c48912e40..8eb8556ca 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend @@ -6,12 +6,20 @@ import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers class DockerContainerCompiler { GeneratorHelpers generator_helper = new GeneratorHelpers() - + + def get_name(String prefix, String ros_distro) { + if(ros_distro=="foxy") { + return prefix + "_ros2" + } + else{ + return prefix + ros_distro + } + } def dockerfile_header(Integer ros_version) ''' # syntax=docker/dockerfile:experimental ARG SUFFIX= ARG BUILDER_SUFFIX=:ros«ros_version» -ARG PREFIX= +ARG PREFIX= ''' def compile_toDockerContainer(RosSystem system, ComponentStack stack, String ros_distro, Integer ros_version) '''«generator_helper.init_pkg()» «dockerfile_header(ros_version)» @@ -19,21 +27,22 @@ ARG PREFIX= «IF generator_helper.listOfRepos(system).isEmpty()» FROM ros:«ros_distro»-ros-core as base «ELSE» -FROM ${PREFIX}extra_layer_«system.name.toLowerCase»${SUFFIX} as base +FROM ${PREFIX}extra_layer_«get_name(system.name.toLowerCase, ros_distro)»${SUFFIX} as base «ENDIF» «ELSE» «IF generator_helper.listOfRepos(stack).isEmpty()» FROM ros:«ros_distro»-ros-core as base «ELSE» -FROM ${PREFIX}extra_layer_«stack.name.toLowerCase»${SUFFIX} as base +FROM ${PREFIX}extra_layer_«get_name(stack.name.toLowerCase, ros_distro)»${SUFFIX} as base «ENDIF» «ENDIF» FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder FROM base as build -COPY . /root/ws/src/«IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF»/ +COPY . /root/ws/src/«IF stack===null»«system.name.toLowerCase»«ELSE»«system.name.toLowerCase»_«stack.name.toLowerCase»«ENDIF»«IF ros_version===2»_ros2«ENDIF»/ RUN --mount=type=bind,from=builder,target=/builder \ apt-get update -qq && \ + «IF ros_version===2»/builder/workspace.bash builder_setup && \«ENDIF» /builder/workspace.bash build_workspace /root/ws && \ rm -rf /var/lib/apt/lists/* @@ -63,7 +72,11 @@ RUN --mount=type=bind,from=builder,target=/builder --mount=type=bind,target=/roo COPY --from=install /opt/ros/$ROS_DISTRO /opt/ros/$ROS_DISTRO FROM deploy as launch +«IF ros_version==1» «IF stack===null»CMD ["roslaunch", "«system.name»", "«system.name».launch"]«ELSE»CMD ["roslaunch", "«system.name.toLowerCase»_«stack.name.toLowerCase»", "«stack.name.toLowerCase».launch"]«ENDIF» +«ELSE» +«IF stack===null»CMD ["ros2", "launch", "«system.name.toLowerCase»", "«system.name.toLowerCase».launch.py"]«ELSE»CMD ["ros2", "launch", "«system.name.toLowerCase»_«stack.name.toLowerCase»", "«stack.name.toLowerCase».launch.py"]«ENDIF» +«ENDIF» ''' def compile_toDockerImageExtraLayer(RosSystem system, ComponentStack stack, String ros_distro, Integer ros_version) '''«generator_helper.init_pkg()» @@ -76,6 +89,7 @@ FROM base as pre_build COPY * /root/ws/src/ RUN --mount=type=bind,from=builder,target=/builder \ apt-get update -qq && \ + «IF ros_version===2»/builder/workspace.bash builder_setup && \«ENDIF» /builder/workspace.bash update_list /root/ws && \ rm -rf /var/lib/apt/lists/* @@ -103,7 +117,7 @@ RUN --mount=type=bind,from=builder,target=/builder \ /builder/workspace.bash install_depends /root/ws && \ rm -rf /var/lib/apt/lists/* -FROM pre_build as deploy +FROM build as deploy RUN --mount=type=bind,from=builder,target=/builder \ --mount=type=bind,target=/root/ws,from=install,source=/root/ws \ apt-get update -qq && \ diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend index 61d0d65c2..4c6eec2f4 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend @@ -7,6 +7,15 @@ class GitActionCompiler { GeneratorHelpers generator_helper = new GeneratorHelpers() + def get_name(String prefix, String ros_distro) { + if(ros_distro=="foxy") { + return prefix + "_ros2" + } + else{ + return prefix + ros_distro + } + } + def default_part(String layer, String context_path, String needed_layer, String tag)''' «layer»: runs-on: ubuntu-latest @@ -41,7 +50,7 @@ class GitActionCompiler { - name: Get Branch id: extract_branch - run: echo ::set-output name=branch::$(echo ${GITHUB_REF#refs/heads/} | sed 's/[^a-zA-Z0-9-]/-/g') + run: echo ::set-output name=branch::$(echo ${GITHUB_REF#refs/heads/} | sed 's/[^a-zA-Z0-9-]/_/g') - name: Docker meta id: docker_meta @@ -50,7 +59,7 @@ class GitActionCompiler { images: ${{ secrets.DOCKER_USERNAME }}/${{ github.job }} tags: | «tag» - type=raw,value=latest + type=raw,value=latest - name: Build and Push Docker Image uses: docker/build-push-action@v2 @@ -84,19 +93,19 @@ class GitActionCompiler { «default_part(sys_name, "./"+sys_name, null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ENDIF» ''' - def stack_layer(String sys_name, String stack_name, Boolean need_extra)''' + def stack_layer(String sys_name, String stack_name, String ros_distro, Boolean need_extra)''' «IF need_extra» - «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), "extra_layer_"+stack_name, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» + «default_part(get_name(sys_name, ros_distro)+"_"+stack_name, String.join("/", ".",get_name(sys_name, ros_distro), sys_name+"_"+stack_name), "extra_layer_"+get_name(stack_name, ros_distro), "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ELSE» - «default_part(sys_name+"_"+stack_name, String.join("/", ".",sys_name, sys_name+"_"+stack_name), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» + «default_part(get_name(sys_name, ros_distro)+"_"+stack_name, String.join("/", ".",get_name(sys_name, ros_distro), sys_name+"_"+stack_name), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ENDIF» ''' - def compile_toGitAction(RosSystem system, Integer ros_version) '''«generator_helper.init_pkg()» -name: «system.name.toLowerCase» + def compile_toGitAction(RosSystem system, Integer ros_version, String ros_distro) '''«generator_helper.init_pkg()» +name: «get_name(system.name.toLowerCase, ros_distro)» on: push: paths: - - '«system.name.toLowerCase»/**' + - '«get_name(system.name.toLowerCase, ros_distro)»/**' env: PREFIX: "${{ secrets.DOCKER_USERNAME }}/" SUFFIX: "" @@ -105,16 +114,16 @@ env: jobs: «IF system.getComponentStack().isEmpty()» «IF !generator_helper.listOfRepos(system).isEmpty()» - «extra_layer(system.name.toLowerCase, system.name.toLowerCase)» - «system_layer(system.name.toLowerCase, true)» + «extra_layer(get_name(system.name.toLowerCase, ros_distro), get_name(system.name.toLowerCase, ros_distro))» + «system_layer(get_name(system.name.toLowerCase, ros_distro), true)» «ELSE» - «system_layer(system.name.toLowerCase, false)» + «system_layer(get_name(system.name.toLowerCase, ros_distro), false)» «ENDIF» «ELSE»«FOR stack : system.getComponentStack()»«IF !generator_helper.listOfRepos(stack).isEmpty()» - «extra_layer(stack.name.toLowerCase, String.join("/", system.name.toLowerCase, system.name.toLowerCase + "_" + stack.name.toLowerCase))» - «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, true)» + «extra_layer(get_name(stack.name.toLowerCase, ros_distro), String.join("/", get_name(system.name.toLowerCase, ros_distro), system.name.toLowerCase + "_" + stack.name.toLowerCase))» + «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, ros_distro, true)» «ELSE» - «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, false)» + «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, ros_distro, false)» «ENDIF» «ENDFOR» «ENDIF» From d51325b7d2fadd778ba887e508e86c5f6583456d Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Fri, 19 Nov 2021 13:48:26 +0100 Subject: [PATCH 40/48] fix naming for path, image, folder --- .../DeploymentArtifactsGenerator.xtend | 27 ++++++------ .../deployment/DeploymentHelpers.xtend | 19 ++++++++ .../deployment/DockerComposeCompiler.xtend | 29 +++++------- .../deployment/DockerContainerCompiler.xtend | 18 +++----- .../deployment/GitActionCompiler.xtend | 44 +++++++++---------- 5 files changed, 68 insertions(+), 69 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend index ed6a3b30e..66ade27c4 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentArtifactsGenerator.xtend @@ -11,6 +11,7 @@ import de.fraunhofer.ipa.rossystem.deployment.RosInstallCompiler import de.fraunhofer.ipa.rossystem.deployment.DockerComposeCompiler import de.fraunhofer.ipa.rossystem.deployment.DockerContainerCompiler import de.fraunhofer.ipa.rossystem.deployment.GitActionCompiler +import de.fraunhofer.ipa.rossystem.deployment.DeploymentHelpers import rossystem.RosSystem; import java.util.HashMap import java.util.Map @@ -44,12 +45,12 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { RosInstallCompiler rosintall_compiler = new RosInstallCompiler() DockerComposeCompiler dockercompose_compiler = new DockerComposeCompiler() GitActionCompiler gitaction_compiler = new GitActionCompiler() - + + DeploymentHelpers generator_helper = new DeploymentHelpers() String ros_distro + String system_folder_prefix Integer ros_version - String system_prefix - String stack_prefix Map> device_map = new HashMap> def get_ros_distro(String distro) { @@ -85,26 +86,26 @@ class DeploymentArtifactsGenerator extends AbstractGenerator { } ] for (system : resource.allContents.toIterable.filter(RosSystem)){ - system_prefix = create_system_prefix(system) + system_folder_prefix = create_system_prefix(system) if (system.componentStack.size==0){ - fsa.generateFile(system_prefix +"/Dockerfile",docker_compiler.compile_toDockerContainer(system, null, ros_distro, ros_version)) - fsa.generateFile(system_prefix +"/extra_layer/" + system.getName().toLowerCase + ".rosinstall",rosintall_compiler.compile_toRosInstall(system,null)) - fsa.generateFile(system_prefix +"/extra_layer/Dockerfile",docker_compiler.compile_toDockerImageExtraLayer(system, null,ros_distro, ros_version)) + fsa.generateFile(system_folder_prefix +"/Dockerfile",docker_compiler.compile_toDockerContainer(system, null, ros_distro, ros_version)) + fsa.generateFile(system_folder_prefix +"/extra_layer/" + system.getName().toLowerCase + ".rosinstall",rosintall_compiler.compile_toRosInstall(system,null)) + fsa.generateFile(system_folder_prefix +"/extra_layer/Dockerfile",docker_compiler.compile_toDockerImageExtraLayer(system, null,ros_distro, ros_version)) } else { for (stack : system.componentStack){ - stack_prefix = String.join("/", system_prefix, system.name.toLowerCase+'_'+stack.name.toLowerCase) - fsa.generateFile(String.join("/", stack_prefix, "Dockerfile"),docker_compiler.compile_toDockerContainer(system, stack, ros_distro, ros_version)) - fsa.generateFile(String.join("/", stack_prefix, "extra_layer", stack.name.toLowerCase+".rosinstall"),rosintall_compiler.compile_toRosInstall(system,stack)) - fsa.generateFile(String.join("/", stack_prefix, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack, ros_distro, ros_version)) + val stack_folder_prefix = String.join("/", system_folder_prefix, system.name.toLowerCase+'_'+stack.name.toLowerCase) + fsa.generateFile(String.join("/", stack_folder_prefix, "Dockerfile"),docker_compiler.compile_toDockerContainer(system, stack, ros_distro, ros_version)) + fsa.generateFile(String.join("/", stack_folder_prefix, "extra_layer", stack.name.toLowerCase+".rosinstall"),rosintall_compiler.compile_toRosInstall(system,stack)) + fsa.generateFile(String.join("/", stack_folder_prefix, "extra_layer", "Dockerfile"),docker_compiler.compile_toDockerImageExtraLayer(system,stack, ros_distro, ros_version)) } } - fsa.generateFile(String.join("/", system_prefix, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system, ros_distro, ros_version, device_map)) + fsa.generateFile(String.join("/", system_folder_prefix, "docker-compose.yml"),dockercompose_compiler.compile_toDockerCompose(system, ros_distro, ros_version, device_map)) } // git action workflow for (system : resource.allContents.toIterable.filter(RosSystem)){ - fsa.generateFile(String.join("/", system_prefix, system_prefix + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system, ros_version, ros_distro)) + fsa.generateFile(String.join("/", system_folder_prefix, generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro) + "_workflow.yml") ,gitaction_compiler.compile_toGitAction(system, ros_version, ros_distro)) } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend new file mode 100644 index 000000000..84279f9b5 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend @@ -0,0 +1,19 @@ +package de.fraunhofer.ipa.rossystem.deployment +import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers + + +class DeploymentHelpers extends GeneratorHelpers { + + def get_uniqe_name(String prefix, String ros_distro) { + return prefix + "_" + ros_distro + } + + def get_folder_name(String prefix, String ros_distro) { + if(ros_distro=="foxy") { + return prefix + "_ros2" + } + else{ + return prefix + } + } +} diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend index e16ceef8f..6a8c51473 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerComposeCompiler.xtend @@ -1,22 +1,13 @@ package de.fraunhofer.ipa.rossystem.deployment import rossystem.RosSystem -import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers +import de.fraunhofer.ipa.rossystem.deployment.DeploymentHelpers import java.util.Map import java.util.List class DockerComposeCompiler { - GeneratorHelpers generator_helper = new GeneratorHelpers() - -def get_name(String prefix, String ros_distro) { - if(ros_distro=="foxy") { - return prefix + "_ros2" - } - else{ - return prefix + ros_distro - } - } + DeploymentHelpers generator_helper = new DeploymentHelpers() def create_devices(List ports)''' «IF ports.size() > 0» @@ -40,8 +31,8 @@ services: - ros «IF system.getComponentStack().isEmpty()» -«" "»«system.name.toLowerCase»: - image: "«system.name.toLowerCase»:latest" +«" "»«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»: + image: "«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»:latest" depends_on: - ros-master environment: @@ -53,8 +44,8 @@ services: command: stdbuf -o L roslaunch «system.name.toLowerCase» «system.name.toLowerCase».launch --wait «ELSE» «FOR stack:system.componentStack» -«" "»«system.name.toLowerCase»_«stack.name.toLowerCase»: - image: "«system.name.toLowerCase»_«stack.name.toLowerCase»:latest" +«" "»«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»_«stack.name.toLowerCase»: + image: "«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»_«stack.name.toLowerCase»:latest" depends_on: - ros-master environment: @@ -71,14 +62,14 @@ services: version: "3.3" services: «IF system.getComponentStack().isEmpty()» -«" "»«system.name.toLowerCase»: - image: "«get_name(system.name.toLowerCase, ros_distro)»:latest" +«" "»«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»: + image: "«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»:latest" «create_devices(device_map.get(system.name))» command: stdbuf -o L ros2 launch «system.name.toLowerCase» «system.name.toLowerCase».launch.py «ELSE» «FOR stack:system.componentStack» -«" "»«system.name.toLowerCase»_«stack.name.toLowerCase»: - image: "«get_name(system.name.toLowerCase, ros_distro)»_«stack.name.toLowerCase»:latest" +«" "»«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»_«stack.name.toLowerCase»: + image: "«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»_«stack.name.toLowerCase»:latest" «create_devices(device_map.get(stack.name))» command: stdbuf -o L ros2 launch «system.name.toLowerCase»_«stack.name.toLowerCase» «stack.name.toLowerCase».launch.py diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend index 8eb8556ca..891a68123 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DockerContainerCompiler.xtend @@ -2,19 +2,11 @@ package de.fraunhofer.ipa.rossystem.deployment import rossystem.RosSystem import rossystem.ComponentStack -import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers +import de.fraunhofer.ipa.rossystem.deployment.DeploymentHelpers class DockerContainerCompiler { - GeneratorHelpers generator_helper = new GeneratorHelpers() - - def get_name(String prefix, String ros_distro) { - if(ros_distro=="foxy") { - return prefix + "_ros2" - } - else{ - return prefix + ros_distro - } - } + DeploymentHelpers generator_helper = new DeploymentHelpers() + def dockerfile_header(Integer ros_version) ''' # syntax=docker/dockerfile:experimental ARG SUFFIX= @@ -27,13 +19,13 @@ ARG PREFIX= «IF generator_helper.listOfRepos(system).isEmpty()» FROM ros:«ros_distro»-ros-core as base «ELSE» -FROM ${PREFIX}extra_layer_«get_name(system.name.toLowerCase, ros_distro)»${SUFFIX} as base +FROM ${PREFIX}extra_layer_«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»${SUFFIX} as base «ENDIF» «ELSE» «IF generator_helper.listOfRepos(stack).isEmpty()» FROM ros:«ros_distro»-ros-core as base «ELSE» -FROM ${PREFIX}extra_layer_«get_name(stack.name.toLowerCase, ros_distro)»${SUFFIX} as base +FROM ${PREFIX}extra_layer_«generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)»_«stack.name.toLowerCase»${SUFFIX} as base «ENDIF» «ENDIF» FROM ${PREFIX}builder${BUILDER_SUFFIX} as builder diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend index 4c6eec2f4..c31a6ea11 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/GitActionCompiler.xtend @@ -1,20 +1,11 @@ package de.fraunhofer.ipa.rossystem.deployment import rossystem.RosSystem -import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers +import de.fraunhofer.ipa.rossystem.deployment.DeploymentHelpers class GitActionCompiler { - GeneratorHelpers generator_helper = new GeneratorHelpers() - - def get_name(String prefix, String ros_distro) { - if(ros_distro=="foxy") { - return prefix + "_ros2" - } - else{ - return prefix + ros_distro - } - } + DeploymentHelpers generator_helper = new DeploymentHelpers() def default_part(String layer, String context_path, String needed_layer, String tag)''' «layer»: @@ -83,29 +74,34 @@ class GitActionCompiler { def build_layer()''' «default_part("builder", "./builder", null, "type=raw,value=${{ env.BUILDER_SUFFIX }}")» ''' - def extra_layer(String name, String path)''' - «default_part("extra_layer_"+name, String.join("/", ".",path,"extra_layer"), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» + def extra_layer(String sys_name, String ros_distro) +''' + «default_part("extra_layer_"+ generator_helper.get_uniqe_name(sys_name, ros_distro), String.join("/", ".",generator_helper.get_folder_name(sys_name, ros_distro),"extra_layer"), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» +''' + def extra_layer(String sys_name, String stack_name,String ros_distro) +''' + «default_part(String.join("_", "extra_layer", generator_helper.get_uniqe_name(sys_name, ros_distro), stack_name), String.join("/", ".",generator_helper.get_folder_name(sys_name, ros_distro), String.join("_", sys_name, stack_name),"extra_layer"), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» ''' - def system_layer(String sys_name, Boolean need_extra)''' + def system_layer(String sys_name, Boolean need_extra, String ros_distro)''' «IF need_extra» - «default_part(sys_name, "./"+sys_name, "extra_layer_"+sys_name, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» + «default_part(generator_helper.get_uniqe_name(sys_name, ros_distro), "./"+ generator_helper.get_folder_name(sys_name, ros_distro), "extra_layer_"+ generator_helper.get_uniqe_name(sys_name, ros_distro), "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ELSE» - «default_part(sys_name, "./"+sys_name, null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» + «default_part(generator_helper.get_uniqe_name(sys_name, ros_distro), "./"+ generator_helper.get_folder_name(sys_name, ros_distro), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ENDIF» ''' def stack_layer(String sys_name, String stack_name, String ros_distro, Boolean need_extra)''' «IF need_extra» - «default_part(get_name(sys_name, ros_distro)+"_"+stack_name, String.join("/", ".",get_name(sys_name, ros_distro), sys_name+"_"+stack_name), "extra_layer_"+get_name(stack_name, ros_distro), "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» + «default_part(generator_helper.get_uniqe_name(sys_name, ros_distro)+"_"+stack_name, String.join("/", ".",generator_helper.get_folder_name(sys_name, ros_distro), sys_name+"_"+stack_name), String.join("_", "extra_layer", generator_helper.get_uniqe_name(sys_name, ros_distro), stack_name), "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ELSE» - «default_part(get_name(sys_name, ros_distro)+"_"+stack_name, String.join("/", ".",get_name(sys_name, ros_distro), sys_name+"_"+stack_name), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» + «default_part(generator_helper.get_uniqe_name(sys_name, ros_distro)+"_"+stack_name, String.join("/", ".",generator_helper.get_folder_name(sys_name, ros_distro), sys_name+"_"+stack_name), null, "type=raw,value=${{ steps.extract_branch.outputs.branch }}")» «ENDIF» ''' def compile_toGitAction(RosSystem system, Integer ros_version, String ros_distro) '''«generator_helper.init_pkg()» -name: «get_name(system.name.toLowerCase, ros_distro)» +name: «generator_helper.get_uniqe_name(system.name.toLowerCase, ros_distro)» on: push: paths: - - '«get_name(system.name.toLowerCase, ros_distro)»/**' + - '«generator_helper.get_folder_name(system.name.toLowerCase, ros_distro)»/**' env: PREFIX: "${{ secrets.DOCKER_USERNAME }}/" SUFFIX: "" @@ -114,13 +110,13 @@ env: jobs: «IF system.getComponentStack().isEmpty()» «IF !generator_helper.listOfRepos(system).isEmpty()» - «extra_layer(get_name(system.name.toLowerCase, ros_distro), get_name(system.name.toLowerCase, ros_distro))» - «system_layer(get_name(system.name.toLowerCase, ros_distro), true)» + «extra_layer(system.name.toLowerCase, ros_distro)» + «system_layer(system.name.toLowerCase, true, ros_distro)» «ELSE» - «system_layer(get_name(system.name.toLowerCase, ros_distro), false)» + «system_layer(system.name.toLowerCase, false, ros_distro)» «ENDIF» «ELSE»«FOR stack : system.getComponentStack()»«IF !generator_helper.listOfRepos(stack).isEmpty()» - «extra_layer(get_name(stack.name.toLowerCase, ros_distro), String.join("/", get_name(system.name.toLowerCase, ros_distro), system.name.toLowerCase + "_" + stack.name.toLowerCase))» + «extra_layer(system.name.toLowerCase, stack.name.toLowerCase, ros_distro)» «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, ros_distro, true)» «ELSE» «stack_layer(system.name.toLowerCase, stack.name.toLowerCase, ros_distro, false)» From 2ccefabb3a53acffeed9f4b830b6c5efaabe3609 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Fri, 19 Nov 2021 16:07:08 +0100 Subject: [PATCH 41/48] Move listOfRepos to DeploymentHelpers, fix naming in rosinstall --- .../deployment/DeploymentHelpers.xtend | 44 +++++++++- .../deployment/RosInstallCompiler.xtend | 81 ++++++------------- .../generator/GeneratorHelpers.xtend | 33 -------- 3 files changed, 69 insertions(+), 89 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend index 84279f9b5..286e7d241 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/DeploymentHelpers.xtend @@ -1,8 +1,21 @@ package de.fraunhofer.ipa.rossystem.deployment -import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers +import componentInterface.ComponentInterface +import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers +import java.util.ArrayList +import java.util.HashSet +import java.util.List +import java.util.Set +import ros.Dependency +import ros.PackageDependency +import ros.impl.PackageImpl +import rossystem.ComponentStack +import rossystem.RosSystem class DeploymentHelpers extends GeneratorHelpers { + List ComponentsList + PackageImpl component_package + Set Repos def get_uniqe_name(String prefix, String ros_distro) { return prefix + "_" + ros_distro @@ -16,4 +29,33 @@ class DeploymentHelpers extends GeneratorHelpers { return prefix } } + + def Set listOfRepos(Object subsystem) { + new ArrayList() + ComponentsList = new ArrayList(); + if (subsystem.class.toString.contains("RosSystemImpl")){ + ComponentsList = (subsystem as RosSystem).rosComponent + } else if (subsystem.class.toString.contains("ComponentStackImpl")) { + ComponentsList = (subsystem as ComponentStack).rosComponent + } + + Repos = new HashSet(); + for (ComponentInterface component: ComponentsList){ + component_package = null; + component_package = get_pkg(component); + if (component_package !== null){ + if (component_package.fromGitRepo !== null){ + Repos.add(component_package.fromGitRepo); + } + if (!component_package.dependency.empty){ + for (Dependency depend: component_package.dependency){ + if ((depend as PackageDependency).package !== null){ + if ((depend as PackageDependency).package.fromGitRepo !== null){ + Repos.add((depend as PackageDependency).package.fromGitRepo); + } + } + } + }}} + return Repos; + } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend index 1a840adf1..a283135a7 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.deployment/src/de/fraunhofer/ipa/rossystem/deployment/RosInstallCompiler.xtend @@ -1,71 +1,42 @@ package de.fraunhofer.ipa.rossystem.deployment -import rossystem.RosSystem -import java.util.List -import componentInterface.ComponentInterface -import ros.impl.PackageImpl -import ros.Dependency -import ros.PackageDependency -import java.util.ArrayList -import java.util.Set -import java.util.HashSet import rossystem.ComponentStack -import de.fraunhofer.ipa.rossystem.generator.GeneratorHelpers +import rossystem.RosSystem +import de.fraunhofer.ipa.rossystem.deployment.DeploymentHelpers class RosInstallCompiler { - - PackageImpl component_package; - Set Repos; - List PkgsList - List ComponentsList - GeneratorHelpers generator_helper = new GeneratorHelpers() + DeploymentHelpers generator_helper = new DeploymentHelpers() + val repo_info = newLinkedHashMap('local_name' -> null, 'branch' -> null, 'uri' -> null) - def create_repo_link (String repo)''' -«IF repo.indexOf(":", repo.indexOf(":") + 1) > 1» -- git: {local-name: «repo.substring(0,repo.lastIndexOf(':')).substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: «repo.substring(0,repo.lastIndexOf(':'))», version: «repo.substring(repo.lastIndexOf(':') + 1)»} -«ELSE» -- git: {local-name: «repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")», uri: «repo»} -«ENDIF» +def get_repo_info(String repo){ + repo_info.put('branch', null) + repo_info.put('local_name', null) + repo_info.put('uri', null) + if(repo.indexOf(":", repo.indexOf(":") + 1) > 1) { + repo_info.put('branch', repo.substring(repo.lastIndexOf(':')+ 1)) + val uri = repo.substring(0,repo.lastIndexOf(':')) + repo_info.put('uri', uri) + repo_info.put('local_name', uri.substring(uri.lastIndexOf("/") + 1).replace(".git","")) + } + else { + repo_info.put('branch', null) + repo_info.put('uri', repo) + repo_info.put('local_name', repo.substring(repo.lastIndexOf("/") + 1).replace(".git","")) + } +} + + def create_repo_link (String repo) + '''«get_repo_info(repo)» +- git: {local-name: «repo_info.get('local_name')», uri: «repo_info.get('uri')»«IF repo_info.get('branch')!==null», version: «repo_info.get('branch')»«ENDIF»} ''' def compile_toRosInstall (RosSystem system,ComponentStack stack) '''«generator_helper.init_pkg()» -«IF stack===null»«FOR repo:system.listOfRepos» +«IF stack===null»«FOR repo: generator_helper.listOfRepos(system)» «create_repo_link(repo)» «ENDFOR» -«ELSE»«FOR repo:stack.listOfRepos» +«ELSE»«FOR repo: generator_helper.listOfRepos(stack)» «create_repo_link(repo)» «ENDFOR» «ENDIF» ''' - - def Set listOfRepos(Object subsystem) { - PkgsList = new ArrayList() - ComponentsList = new ArrayList(); - if (subsystem.class.toString.contains("RosSystemImpl")){ - ComponentsList = (subsystem as RosSystem).rosComponent - } else if (subsystem.class.toString.contains("ComponentStackImpl")) { - ComponentsList = (subsystem as ComponentStack).rosComponent - } - - - Repos = new HashSet(); - for (ComponentInterface component: ComponentsList){ - component_package = null; - component_package = generator_helper.get_pkg(component); - if (component_package !== null){ - if (component_package.fromGitRepo !== null){ - Repos.add(component_package.fromGitRepo); - } - if (!component_package.dependency.empty){ - for (Dependency depend: component_package.dependency){ - if ((depend as PackageDependency).package !== null){ - if ((depend as PackageDependency).package.fromGitRepo !== null){ - Repos.add((depend as PackageDependency).package.fromGitRepo); - } - } - } - }}} - return Repos; - } - } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend index 24e04c53e..c32a821ec 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/GeneratorHelpers.xtend @@ -28,8 +28,6 @@ class GeneratorHelpers { List PkgsList String Pkg List ComponentsList - PackageImpl component_package - Set Repos def void init_pkg(){ PackageSet=false @@ -122,37 +120,6 @@ class GeneratorHelpers { package_impl = node.eContainer.eContainer as PackageImpl; return package_impl; } - - -def Set listOfRepos(Object subsystem) { - PkgsList = new ArrayList() - ComponentsList = new ArrayList(); - if (subsystem.class.toString.contains("RosSystemImpl")){ - ComponentsList = (subsystem as RosSystem).rosComponent - } else if (subsystem.class.toString.contains("ComponentStackImpl")) { - ComponentsList = (subsystem as ComponentStack).rosComponent - } - - - Repos = new HashSet(); - for (ComponentInterface component: ComponentsList){ - component_package = null; - component_package = get_pkg(component); - if (component_package !== null){ - if (component_package.fromGitRepo !== null){ - Repos.add(component_package.fromGitRepo); - } - if (!component_package.dependency.empty){ - for (Dependency depend: component_package.dependency){ - if ((depend as PackageDependency).package !== null){ - if ((depend as PackageDependency).package.fromGitRepo !== null){ - Repos.add((depend as PackageDependency).package.fromGitRepo); - } - } - } - }}} - return Repos; -} //Launch files generators def check_ns(ComponentInterface component){ From 291961e304d6f083179b39b810b1b941d1199d89 Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Thu, 2 Dec 2021 10:18:25 +0100 Subject: [PATCH 42/48] Add delpoyment documentation --- docu/deployment.md | 93 +++++++++++++++++++ docu/images/docker-compose.png | Bin 0 -> 36753 bytes docu/images/github_secrets.png | Bin 0 -> 101539 bytes docu/images/github_workflows_folder.png | Bin 0 -> 70518 bytes docu/images/jackal_deployment_gen.png | Bin 0 -> 25206 bytes docu/images/pub_sub_ros2_deployment_gen.png | Bin 0 -> 26759 bytes docu/images/rossystem_deployment_repo.png | Bin 0 -> 112589 bytes docu/images/rostooling_deployment.gif | Bin 0 -> 973247 bytes docu/images/rostooling_deployment_jackal.gif | Bin 0 -> 2215403 bytes 9 files changed, 93 insertions(+) create mode 100644 docu/deployment.md create mode 100644 docu/images/docker-compose.png create mode 100644 docu/images/github_secrets.png create mode 100644 docu/images/github_workflows_folder.png create mode 100644 docu/images/jackal_deployment_gen.png create mode 100644 docu/images/pub_sub_ros2_deployment_gen.png create mode 100644 docu/images/rossystem_deployment_repo.png create mode 100644 docu/images/rostooling_deployment.gif create mode 100644 docu/images/rostooling_deployment_jackal.gif diff --git a/docu/deployment.md b/docu/deployment.md new file mode 100644 index 000000000..fcbef5bca --- /dev/null +++ b/docu/deployment.md @@ -0,0 +1,93 @@ +## How to get deployment artifacts + + +### Preparation + +Please be sure that the tool is installed and your workspace setup, see the [installation guide](../README.md) for further details. + +Import the example project pub_sub_ros2 (from the [ros-model-examples](https://github.com/ipa-nhg/ros-model-examples) repository) to the workbench of your application: + +``` +pub_sub_ros2 +``` + +Import the example project agriculture_demo_sprint2 (from the [ros-model-examples](https://github.com/ipa-nhg/ros-model-examples) repository) to the workbench of your application: + +``` +agriculture_demo_sprint2 +``` + +Install docker and docker-compose + +### Get get deployment artifacts + +To create deployment artifacts you need to right click "*.rossystem" file. + +#### Rossystem without parameters +In this case, you need to right click "communication.rossystem". Then you need to choose "Deployment Artifacts Generator". + +A dialog will be open and ask you to select a ROS Distro. In this case, the rossystem doesn't contain parameters, so you only need to choose a ROS Distro. + +This process is as shown blow. + +![alt text](images/rostooling_deployment.gif) + +Then deployment artifacts will automatically created, as you can find under "src-gen" folder + +![alt text](images/pub_sub_ros2_deployment_gen.png) + + +#### Rossystem with parameters + +In some case, you need to choose device ports based on parameters defined in a rossystem. + +For example, if you want to run teleop with a joystick in a docker container, docker need to know which port is the joystick connect to. + +In this case, you need to right click "communication.rossystem". Then you need to choose "Deployment Artifacts Generator". + +A dialog will be open and ask you to select a ROS Distro. In this case, the rossystem contains parameters, you need to choose the corresponding parameter to the joystick port value. + +This process is as shown blow. + +![alt text](images/rostooling_deployment_jackal.gif) + +Then deployment artifacts will automatically created. + +![alt text](images/jackal_deployment_gen.png) + +### Use github action to generate docker images + +Once you get deployment artifacts, you can use git action to build and release docker images automatically. + +If you already have a repository in github, you can use it. If not, you need to create a repository. For example, we use ("rossystem-deployment" repository)[https://github.com/ipa-rwu/rossystem-deployment. + +You also need a dockerhub account. Once you have dockerhub account, you need to add your Docker ID as a secret to GitHub. +1. Add your Docker ID as a secret to GitHub. Navigate to your GitHub repository and click Settings > Secrets > New secret. +2. Create DOCKER_USERNAME and DOCKER_PASSWORD + +The result should looks like below. + +![alt text](images/github_secrets.png) + +In this repository, you need to create a folder ".github/workflows". Then you need to put a file with suffix "_workflow.yml" from a generated folder to this folder. For example, you can put "communication_foxy_workflow.yml" or "agriculture_robot_sprint3_noetic_workflow.yml" under ".github/workflows" folder, as shown below. + +![alt text](images/github_workflows_folder.png) + + +Then you need to put the generated folder in this repository. For example, we put "communication_ros2" and "agriculture_robot_sprint3" in the repository. The locations of these two folder as shown below. + +![alt text](images/rossystem_deployment_repo.png) + +You can push them to github. Github action will build docker image and push images in dockerhub. + +### Start the system + +Before starting the system, you need to modify "docker-compose" file. You need to add your docker account as prefix before a docker image name. +For example, we add "kogrob2" (docker hub account name) in front of "communication_foxy:latest", as shown below. + +![alt text](images/docker-compose.png) + +Then you can use the command below to start the system. +``` +docker-compose up +``` diff --git a/docu/images/docker-compose.png b/docu/images/docker-compose.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8e2ea0e93fad56d2681e1a1e5191456f3afb8e GIT binary patch literal 36753 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

    DDu04`lOkVY1v-NN%n76p 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 literal 0 HcmV?d00001 diff --git a/docu/images/jackal_deployment_gen.png b/docu/images/jackal_deployment_gen.png new file mode 100644 index 0000000000000000000000000000000000000000..94bd39feaded2e9b48a0e518e0163f4bcf69361c GIT binary patch literal 25206 zcmagFWmH^Ivo?qX2@>2bf#B{gL4$|j?iQqRrwK`LOK^wa?hZ}k1cx-xxVyVIOy|A# zt~GbQSu_2ky8rG)rw>KxCo0CS9#YRw*L+?t> z+qVLJ-;A|zWo7rX5cWZiP2-ujajI`$&s!l!nfY`A0qm+{Q-SpHjjg$PfVu;khKD1U$2)MHf(H-tS-6Sk8Pj*pA8ObzRiU-> zPNbp1MT(zD@|e?$%t=KAGO$&lXZIcLNjfm_u@}YEl$R0z$%3nBQR5J&(>wBnKw3hO zK<=PW9=D@_$Lj-WK1B$hhjFhBDQVmI38ijg*-LXz9nzemz)=$u5~5_Nx#Pw4W`FK)dSrbO`zfWIp4;Nq#=ns5@6VX3Pv@Ml%7G#iAko2wdzx5_swIHNb;s zNMY3vbVY@7aplRIE>}63L4=vJRO)v5Cp zH!*U2d3*`MRmD7cN1prdvEPS{l?eaF?dsIg-_bg$Q|j`mt^yS+VpU^JrTJ(df8f&o zz4_xRH)CA4I?e#n4YB)p^ZK1^!EwZ9WD$z!hCOywsX_p^e?mxc8F@8(avy2__Ry^e zCLo3aj3;B%uyV1r!8z4*6Co}&L$N@JnX~wP5Mb^;u-u#)y-T2bu$l}(atn*;1^JsK?=smVO~eUkEbWv3rr=ZQkPBL$_Y&vOg6OWP~lkl zd!=Zx_#F?gX=g<5qCb9ok8OHO}>8#)P^V{;Gzda!}ZEw}HH~;(=&+-L{rJ|wqmh%TV2m5Fh z?D=S&Kj9C)ZO2$+Va_XApqW~{DsN@3hNUgX@LBZy;|D~9V5F1XVA zktZdI3i-sOGqbF3q<*{0n`-r!B&Fp}WzV*p$_V4hyU9lHy?q#Ia?)2#nyxbw?x!}c z_)6pM3;S`6rHg4ftY#;x2ax)uaV=3T{Sk#%p!kV{XFcnpjJx&ZW;@qI3!PAaRZv@@ z=(sh_w+AS86-JG9{q~2kS?y0}X64&FD>BOtNN{gcMzL6i5+Q09gPAXjA57}n6 zHgrbBh)GTKDiAUF$Y>Dqr~J)upQg6uOaYC%V zBzRK#f#D<)qf87DsVGExkeEs)Q>NE&bKtP~Q(G{dKybkwlb2Cp^O=tJ=k<$?=B^qA zf{dS10eaALBA_n)_KZmYVu%f?5PrO(D|zF6X~FR3>aQFowA$CMeR4B}R40C`t&XAM z=`DSCW(L1!tuGK5jKyLLB*D8`)k;%5Z!CI#M73xqUFP7_&lmQpu--)M95QOndrCWR zsyZu-9qTsuW!QhJ_Rs7w)R5O#MS#?ON{TFAg>l0im1>wS?xS8|$ zym4fgI<2L(esOn>#>OVqEUKuzdU>Ht+#BC?2FYtfZV8#tR<&+K19Tyc$!i%Q*}F2( z`x3R(CQM5t`B3JBzwN-&AH=AHTdl4D! z>HfK_L$_0I&vw5pi-#fMc#99dWp68UDbYT;m&L}WVssH`jl0ypZw8^eofRw&VAM3RE;oB#aurPHy32A8rZDcdwcFF~_ZBJ&|IDD^Jcy?DNUVv1%oKOqhx>!`GzFbi6x6?2<_S5i?xWRaKU&3vpXBn;!+Jy+N?2L%X87WK3BQYq_ zajvZ<$WO7dM@nhG0|%YaY6h{(*+*arUz%nLRZwI>HY4hc2rG>Hj+$+Fs;AXDjFH(# zud8N~k8`U$KE^PT;}m89H+ywg&4Gn#9wnZwR{Xrw0qDHAPriMTGc60(y9W}WA+EZi z<&ctTMqxr_BrsaCU77tZWhkkYV3sV)z@_ZlQ<9j|O90=_a#mo8%aZ zSTBEXdyTXb_a>8}2JYwX=UwwQyqCxf#4D}F}fhg*945rqyO_Bbg=-GOXB+LWA> zv0L|@vxj1n4K&KJ{aurB=0)l?h*1~MzRLysQsB4ljd{SiB8La1r&z*iM_S1v^=3Oy zV6o}xwLO`F`?X})=kp;$vCblV@lGmkYwhmzzZUxnbK~;{666@Dw!msimWFA|ujh+CK^xlE8UVl7G%~2{Au8Yy9ztVNb zRu@DoH9BDLSEiNUKfG?FDxF+xL2`IxP2=O!x_s2`Bw7(5C^NbB!Sq9*YZc$0LM$5@ zj!^o@;J)W-l(Dm!9oG5#PuLoBImHR;)mmWGqa$3yN+&FVw-YUt^1P*hnh zg}F11A4{M-R)HF^Wb}FMr zJR=dSyu@o)V(ry9q+I)5AHBA#z#yB;a0KEA`bL$-MBNn)f1d#45j)X2pUF_B%}@tA zz0uJMVo=$WULlFQ97qxFu2;83vaG;6+H#=@b6w$OFdTFq{J2Wj8~mAWbf2?`Kq<%87mp zxB+WF3`aZS`*+|ldV%V-raHTrzXQz{(>LY;w)ZM|xwh37T7RD!Ytmo}z5#+A?wpUBTyDx^3<=wZH zlaam#RXJHB)P5AYcT3t@{)cLBu{QpO3V=;R+Q)vBLD?$-!*$P^mdEK))Da9I(^eECjl~Ty zW`-(bt{?xX?h%)oWGmVm7JU&InF)-WrkXgWcc+(+C!I~EWPGZ!7djnZH*z(yb$o7A0j*QpICCpXKImkFFQnwDgn!^b+49=b43=wuWMb7E@h2HP!lw^EUc(0oj?iYyU0xXc!sI-=A^@%RFAvoOr4t(P3ZQl;# zhOE{~2PbXMA05%PZw3}+K>Irq*SPh~^gKI}i^8^2EOepPJpP9}RF5Wqc=~?+nu(Ig z`c9^)Ls?qtg#?`JIWh(Ziq7>{i6mQxW;eS&ocq^ai~XWth%GWLmd$(O2$&Mt zK^09e`t7}^hNHj?uIA{P{t_f^Cz@R1B>88iGqeg=bP&_*`ET^K@+@(FgFM*jAh1Na zeVwPFt-$W7tQ~dRkvpsCvaEUHJp@mtz1(ywzufzM5k;i-vBi|2PMFx_{&D-{yiU)? zwRMenj)5`5Bp-Hu;gz7^cuHPf1=9A%x9^l>E|GMI3W+8e1sHss>SP4lTM2->%4xMP-$46*7+W;~+QNfZhiYh+ z$i95ss>>}8n;A;w4dK$P*>`&4S8cDP)~lIQTDiVk10)6oeRT*RA;tWcjcq^# zx-9``+dau*m+if|HK7-LlLu2^{iF6_Ga32JVYaw-bBBgimK*O&I#;+?te-VMl~5jE zbc3@;y+cXl_ETLQ`OMS3J-ggnv%hyemA~dQR;I|yF1$ORg=wmh5=r848dCk-PlIX0 za%{Lx<#p8kJzt=~9>`^eGaa8YoF~})7WlRLb4DLQSOiRZEkCu3 zvCVuOar|udD#pt*7=4z>Rg{vS#~G88$)h72B(3-q6CJ`IT zE}{wX{=56tv-2?1^Wu>Y0V??s+SnAGFA@9-HauLNqRS9Zfun|{qUNwH5~J|}YOy|#TCY?ei4t4vAU zOxQ_}<_g0m?2co%+A?D0a$fKNz=jZ(zofncC|K`&MkkNGJX8X*r9eeT514>EZ_SYz zgfZ$PEWEP}RX$xiGrW#MX4y7`k~ZsUl-hw2Ox`Sc-pp^i$9@P1#P^VRrk-dB~A=2VI(kxGo?A^V;iWyW)3?6L8X^?h(U^( z@3Jg5IP=9MwY#o#;&SC;_;~*)QfCZ$@PH@|H<5VQ7^~R5!*QGL4B=jH`f|0w3WN8G z4f*V0Hc?>L`zldSuJbDF0KrRJfi_;Dtt+~H5~9&)8`4H={__^qM5)scF#jR!xgJQq+Iiv7|rgEa-E`iEt4e9jC<3nf{vTJ+{7L? zr#uVY!>*D?4XcgoRHpXW{c`}0iF`uvM9;2fr!!Zp5$$nS$9{T0uS+q;Ao zO0loNO-9J++WM%^T2O$Y4xnwpRHyD4INY@i?wx)thEx8xPoqtYLqRA5K)heYGS zE1kOS6wW)>r|!&ox|q@NT07s$_Qkx$$AtyYL%n8ar}|6#qkyOBUJ%)McA8vKQ~E^l zOV{6P!}$(ZI^mhdLMUHFoke5?pPx4mle_QvU58eCKqE!4e7_M-kCCSnI*F zUejQ|`}lg@wY~Hl*~dlOp`bY`zmDZDYteRAz{xImCVNUBxWtglj3f~r@mb41z(>s4 zNPNu#tb*6>k^y836^oX!IXhq6SZNM@@ z_VUb@=t>yK209W=E<|!>F``~F!AaWI@HkG2<^=!5Cu-x!pj>sFm#$DA>pAklZ#J1u z+pbn$KVDTnyFh2;sxmk9U@U91Xt;9+@ZDQ!IGt5@5b}d{}=(Yd;I{bI%wmjU4 zx3V;6%>c)8^5d|bdIf4Q_A1Xcs5RiGAK-X?^0Aj?m~KMLE&`3q=Bt{0Et-EtzCe^J z|COMp;8|>gn`%fh*ALh49!eJ&LnEw(!wz{*{968md&m1TQw49qKZjAFa^Jg0c@WuS zxAw?~#fe$gdMQ5T7EdwPrawJNUnqS!V?|jnfb)JEb86ut>3VuIM_9U`iC@gFX+ToS zYF2M1K=)Hw4~U>mqpj8O&kbwC4`ktr>O7`uti_)iSTznzw*pN>>DW8iT7>Z_rZU67 zE%z+HmW`VmMv&=dyq=0|ubBc{>zqDo9JE-z0Fwo&RhINVqM259hOn|R- za^77v1YZz;*0Tv^^S>m~N`GE5BCAOC5b5`09%X&c2@W5=3&uJr`R=A^yh-2DK6A)k zPxLsyu)up&b35Xf(|ZDQPA2|b5VQX0_4lC{b4(%~{2?_d9DytrsN2p9kTON3^IJWr zKDC)hB#u(f8(D`>BzbalwI%ty_Zwa7mkVs8Qt$+{T#0*A^yi-b;LcxZoyyVOKDvpm z4OQMd8%usGtDm_Jq-~+0Xw`=Ku&>B_ooi?p0sULMC_;Xt=ag-J92wU)1?4dnoObWB zKHa;s?}nL1wq8s-w8{r|Ep3O~SuRY8SEgH+U!e2d){lWQ0YNNl3lV}Ypl9kFcGeye zNX#4VTnfkPUK_xs)Ow?u0%rGIx5!k++1A=^bv8l*b zY)vXy7>dT^FoJfm=#4fj;}k!Bu#awE*B@BM zwa`}$bmm)Oc}l7dqENrZV~%dUv6nY83R!g7(1Q`b0Db94p4oP5WD>~S<`X)6+c3r7 zwR(Z4zKOSvSwu#uXa%r^8Qr3HzozustjA)xBsezi+Qb143%u+k zL$H2%Yd3_qV&dcv?(xYR-;hGatNW~l!{e^cHxs;hoK!KLPJjPpe~jS-lB=JdACviS z)}WM zHM7d@>uru^ENb~`k&@+=)-9#4vo2k_wI=IF&bV}mAEsr{SJ;OaqS)P&qpu;;Yjb1M z6!xz#Y1;1FF3bXtD!tXQn! zsMtS@y}vHTZoh3`xDf}8DOvpeMdEh*3axEFzo;&JEU6I(M}wa&=b8rsW8{54IusTd zP+#A{M^c(G5p3A3ahRjj*t5H?vgV^cwS*m!_)dA^6U2fOMJFPADmcvc6*%h)8#0#w zD;vji5TWO22O&23!PBaO_x{Kz&XZbX%AF6v$ZC?2%CXC%GBg02{mk2a&+%8|Ag5QM z#i>a-o#O-Fo^~Lw({woxC4j*xMvQJtQzUMKR%k6FfAmGd#>y|40ZpjLRzWwk6Rm1y zJ$NK;yZhXG&*a0A0v8IUG?SACDnYve`%_bP=~Q7R%?wU`bNr5PL`BFkBr_!a(^3K$ z-8cFiNJ((Ch0E_Q3ghlX{1pGYUS%j^ ziNf3%isoEMs&*d8rN3#MpvftXH;aC_T*>N|__{vXvq)F7?5cEP9wa zc#*Pfl!Z(8E(eUFr&VRl)Mu~HmuU*^Pa=A#)~&OfO!S;eu73yApCjuL zS#g@GH&au6R92!zp&=3;(Z4t@4yb#}Ip->n>5*QUF{v+@7m&CGoy-rkty@T&PIR`J zns85TY)L;B#AT+T@8_2-F3N4i&~M%2EedKOR(EI$V<@VZLwgK$xLH8c_PD_k1W;N(3BfF6ghg2!v(zN z#l?%hpx=SkU=}8p?$b*GBBGF9yqINY%iC44!cXaHp62g3l#vbn)mkpipM9kWTXV$6 z1M8cQ)^n&HnYQ!uT3F`h0gU8R5kv2r9^N4b{aPMspGtA32F2ILO7Dn0y`=%%KMr84 zA{#@v9Z>~(yXt7c^a^rvnkFW(kk)vFy?K{?T!V zB4wbVdE1}G&q}HZ6m@FSVX+0Gx7|u}Spg33o}b$n2Z#R_-LkUBPU$X9paga#Cbds( z#4CC&bhQVgfSng5kwv~%((Fp`{OVR+7ASmr;=W{-n6HUL?Et&4+!lz}R)4t;HTdO! z(@w0s8yw~`Jo)DRphCVc>mS1xR!!6U__61v7d|KUbC(nUARbu8K~|~JXwbSzQL{&u zBj+3_U@@ZBVa_4rVR0DICuhN6@c~#U{F^7^>EKO4L4gIP)~{widP$&22H1SJNp`gPJ?+pjWJio zO*xNiXe8+Ro~7Z{myke(4BW@ohsQtE!c`?%kT);fwbDn7RynxRvIYfltZ)vTh#{fc z@SN6`nT$RaencQ0{xRyxRSr1>1NBP$@1t?J0DPXwZ=9?4Lg??jh@%@tsqe}5HzPw) zm44g%eQzkdHx8G#%0VBq;jNj+!ctX8$>os!*sW0OVCToRC+}yuvECuJ-r-xRd-HJC4%0%~0nHd;LOZPal ztAsbv)-I?91c)Wm!`d?9^^OOer>RS@vP5owsQyncKq#OTPkLGx`c$y1;Bp6wa!W0LOj ztF9Wn{2LqK5BT-kC@<%qB=GUR)%aJQ?|$Is#mwzXcor7$cECr^z2Dm&zz1b1-hD8J zPiIH>z629~lhcp?zV~M?2Yi+WJk?j8GgrC8ss6XJ<1PDCI#4}q@FnL)kZtAwRSt2! z^cd%NES^7a;crJ%zatD6$m2>Mkq9HxJx|Zi5{`ZMRuv|@=gy6zF8|GL5%=Z#ar#&s zb;@;SL`15cY!A$SK2h;dSCm4&l>~T6EQEXStEn;mxGJy+?Lw8 z0;)Kyt8H-#oflkJ9gDta!G}T&Cpad)XZ*?2M}8=9{o*?Hb9f{|J__wwIH#v}J?&=i zwo8`}*=MH7kaD-+=<5fPxn8tVE|2xLH7?FcG#24ON;$uyUD-~SBnZ9SWzR*c$WsS$ zp}isRX{n!B`+0}2Q#Cq>q;)MVk!{%X^Rn9ZVh?C_O+8+klBKjd9P-pL3_j$4`=2eW zbOz!?GB|8_X0~q-oA}?jKP;_OP2B=7NXECuaCYiNiV1VXsWTS)_8?4m&XQwLMK#qA zms+3JE60+4$tvMjxXirbeA#uRUEC}>+s911Qdtflwvl2iYe1FD|8ZJ-gL%3 zb2H2oMP4Dc{Q(IGKG!Z9P5Y<>I;}X0^SP=O-cvB`@q9T_#BU8apSEOkoK%iO4WbZ0 zPQ+2x|B9N9ouOI|tN12<)<8I5;x0(wPkwz-xcMY|w= zoKHy2yNQ(>+= ze|odIf$Ecu-JP)cD@LlMZV-*c@aDt&*u9k4Wy8_rvNx0xRXA$){%}vL%~|YsIJmYe zjc(s^1R9-Vc*3S*sEgfTU?tyun69sj8g|jxhX6N5KhN;R7!+YLpLNhuHdoUAYDdq@ zn9FzG80Y+n%{A9RmlLlK@SO_>3m$)SSJy<)HSr`skav+XJPL&aF;OD<_G$P+r(Lgf9o}pB95=BUeu0 z_xzYk30Zyo=lHmfe7@IZ@Q5%a|L1t+zaqkaM}}HRTH9FDV{_F%*WIXY)_k>E<8{6A zC+uI;@q(y*5HI&$1^vQ-k4hggv=;qWz`&mlfr~C6{q0|Hnv(zc>0b<52oGNZ-^|r)vF*kjwlurb!DZyLkCU)33VM0II$Z@1o!X40H!_m2{}bMumV8=J4Mb+G z&!ik|9V~YS+bu$gTsZGGm+G=Q&R>N$6@dWh_(P8WQCML(s^`dQ@n&i-MeMZKLw;}% zO%S%AXA>}hq#1O>+Dath7-3B2x3RtCGsX1RvkUxVP#qj`ov>;#OqMl?$O>T4&Ed_e zP_T9B4c>k_8~v^Vv!-heA@T`-2ZGwEfgk)B-h^ZBjI&q|T`_lDtq05|y$ZL7rbKv4 zbfdr!2}4X*CgyVpKkqgDTJSOXx2>E}cAs<+F}E)_S@i~P-mX}E(ltwCB6|Dj_zkaT zOyUPd*ZH9Fx9n;f9b3lPe%rw8L;kGxflvay^0}))nnX`8)^Ip>(3XX?gQimcIFVx ziDi4!eBaXH9E5d$3N6?@KioF0Gjsa-OFYQt;W1;+b>(o$OP)akH{*Mq0DX zaR=P?`a0ikK&RQ`GNi1TQ-c@GoGnl~m~tqr{oZ{NmGF5`?pl7=(IBX{d*W~NJI96H z+h{S&%89j}rXz*s5T0tsq8gQYd-U{0fC3dm8L`Z>Tc0JkI4u*a`(I||Z&9elwP zuqcrKM4h-VllE-ZRS_iV2b0vk)a})Fn!a)}8k2Y65;XQ;L!-Ad>;Eg&#d?p zOpivBCS;K2ov*CkHov+XS16o{%+o7k_|M;N=<%=*s<6w?Z9RKaQjqOps>-2(jzT67 znOC0dzY1Rcd4Y)%I~|UmjZ%B;1lp))DKFrOf8>e$<31y*I@`|Ury{uGvx`D~yuX{8 zeg3ogS0vX&L1Q1cio`m*v(Kj5iSDlZ=vO|+8DAfsfzy^)&VOFiOS`Bs4)`sGSaHx6 z>lWkR1ugTQt)l<&=i5qfK1b^4MBJFo@R5w~W@LTK<%31G-!7SRmUfJF+`D&$tT2%Q zC<9>fvckUwv=P*CvlDb*G)&7Pkre$bv!8`O?%SMz%o+48j38%oCXQw|R<~m=zK!Q* z*gQJNVTsmK?uA42L%~q{qa8q4HhUS+}#(LSjCD*M$$-@kxY0?SXSrrVb8b{ zBIhI*kGzI&L^~_3?SWT&78$S2WOwx(*DgVgN22|26%?DZ*Y3j&U0RFPzw!_5LO+Bd zu6rgDz||{zNsB+NF1$^sq@=_|#`8le6*S=_Kv7y+T2NFZPmB4_Y=E2=&}n+9f3ed) zrGwlEZl?bS$eP%s<4VCHt+-(3{KmVk>K)+USOHRiW7I zER{Bu}NIldA@pd{5G<%&x|6NCnPYvP^~18$x9 zR88k88>DUse&2$J)8f3xG4GmYaCBGM3Fe=pW)4Bg*_D54?lk`aA=A zQ_oN%2oM79id742(g+rR>28uP;fM<(joO@2QG0V{SGS(_!%Xu$oR8_tL1`kQO-|%V5xmaI>T|^Y0-6e%wTI$6+)(GL-&lQZ> z?`tmT#YT#7FXQUZ)YBr#fkacKQLgG4y47-$UxiOimcT@a#AQop1`5$Yx~Ztu9@vyy zB6S=K2QnecBd-|5*4&rxsv<%twv$ZZL~fd`+Sy5!FCiJz{g`JO5zVYmy|?01F1>}7 zm%KIjyS+#a)v8J>O!3_X+$Al7Nak~$4fKGLMT=0bPzM99a6?2s)~}yuZzgQCQRXr} zjtZxj{3?AV(f0bZ4g+B{Zo$0$-tlO;2v<)t_64$AYYGEcJpcN7u$a~rhO=4y#UrNk z3x&;xmDmZ9uOTdY--3DyQcqO3VR*Z_WwuF#tCwjuqrst)G;6qU5=1Ar@~h+rzj2n zjs9LJ7^CEw>~2>vNyG|;KN+*uO{t0CYm8HGZl(Ic7+2LI$ zb_xNn8R-JR^fwQxd6YpMAkdd|n;7m}>BQ#_2g!q~xpjo2QchfgwMZt36EQp>+!8AF zGilGRZKQPc1G`+Mv#~bhQ-S&w9~3x#N$4~8m_Pzxdq@x(4jTo~S9T&$PXlSkdDTNr zO}k)228jo<)BDY*1}Ke*$z|_rJh)XTqr^`{N3&%nF@Sxhzu$Hix)mQ8+{1%rgD*T# zKiAsQ85I58hPx)wF;Zicj%8a$+0md2bT*#Zs#~E$rXpN#Ux`w+) zFYyA`tn!-2yQdfOwK=nukKSnY^APTY(j z2~nu3odT8-q;c84l*|BM z?XB#V%CgOU8n-1X)l($4y9A=LLK^X~mKkaeSFsAF3Q<5A<=3kGeGz8k4ccEJ;9quE zv1xXFX3?FQOcR4G&xv2*$Dzfo-1`!m=Rw27Hdvz9&|BP{O{im=no@LDVybbg^${nr zH)UK(wr68!>GyP(I~78AD;E=n8^MnXp#2sRQz_cXSlF{RgS@0{ROZKzwpB@dFh(% zpOxeNH!H9x-ns1y+dcXJIq>jm4Ht+xO;q0EJ|MESRT0q8s8^eSYWVL7N#OEGAH{~t z>E=uf)|mH719K7*zJHD^R8IK|4hqUtvn?P7IaJUBeNMQ6dp=~|*$W^i0ewA`QU85k zV$ar83I-4R3~NF-TQly9y-c?Lo!E2iB`Bdd=Xp^F=Kd8Didnqf%}7|9E1s@`IsS?%>^d&_a7=}_gFx$@EQBmw8{K$QG16DX>A zQk~TUp~-`b#Gw*WU&G-@pJ>k7w`XjUVxypoi$=jq`(Yxn%dR1h#;}wdnp04hGR^bo z!8dXbTNbMJ+uc5g6B`QvGSWSp&!un?u<-}B9Pv=#fXnO*)WvO8kGzvYUPIs%k)zd{ zUE%3eu8NcrIoQ$0=$5mnczKl7o9Y9L+o>vuBf`|hWziX9RX;&Hs-S!~|~FXH<7iD+nOq_TGc8X{wq zfyE_@^h>@nG`t3eXK5{n2`}(xNRpWqM^^K`^^}O<|8c3&oTiDd@ zYL^UhyvF_N#S)!qZC%&572tEgzRk%)8?vqO&x?2=Z!b25W~ zvo*S%Bj&f`^P$-NUt|@kGXY(iN%_@OM);pi3c^vZ;ieLbO|ds!3c2CEd3p*+W;Yzr zP@s~tu%M+7a5Otx>wcH9Pw_YWSm4L^u-je)`RG5=?N=Bp8J#~BUxW!6$!o>sUF_l( zhW;13nk)NXEDBrNcX?w>x-)1CC3{5pM|*Z>_=nnsSZl$QCI>{`l~vgkUek?ncRvd> zEqxB&#%hF5NtdbI?cwW!Vk0P<_)}j^1PN=-qM`RE6BMMLF8R6T^zL)oP@bEON8hU{ zj13Y;^Q{_G{6UO^BX(=cO2BD>(B>21eHjT|XaQH?(3hsP zu)m9E|8HCl5%-VDn1Q zWKCab@p%hxn{>S)WiDXsrJ3Q_KZXa}$KP-wS2%q`eTIO7g2GhzQC)piVtn_~ynfz` zy#zVENXCivYon`(_bM+Y?1w|^=7Pj~2g5Yj8t6$+&^7$<@tXb(wfgCpDbL}#An9`- zJtb~&NK#Xs3L6#{U0=ULp_KY|i6PBqro?s7=RF|^z8A(`w{Mx=?Vw)=x0>EHmEjm}kavXwj2iG7{h9(VP>xlK#J_3qL-m3>QSaPgJa}=?e=BnF{YNCnU*)T-I*P zObrZ_JU#idL_8N7bDg(q9OYhXEZ6T@eFbcO5is~Jyq#w$Tmr!HyE;(by`x(HyZ1N2 z`3C7(FI@(rd&ZyVpV_ypzS2`t=iPePsXnLk_^E>!axxb)?uW>lOfspZ7|o&YQJ+!^ z%#a%#RpDvIG5#3mRJK4w1QwgvG-Y&uhG@3%InZ-TK65X69XG4@CbGXiheu|~@Vmf+ zw6wIuq$G2F;xHQE-A%p6NF5U^D;+Oy{k-8Sd7;v}I>h%7;>-5nNnQVZYO-RG(|!IT zl&aU2J^y{2&Gu%x^{LH`{cyIDaiWp#t9^uJYJjxDEXbAd77XJDKXoSdO9IE$4=E(> z29jO*npeEv9H&T(1g+{v31&7V47v=jN3i8Qm}aM4Vg^06{^Ya)_M*BE)-h&HMjUyc z?sS&A>(^K@gU4Rt^-b9Z3#GJ2H-AIob~B5KHIbR17AC$24*26O!9$>Wq2mF}z0M7y z><2#Z5Dm8Z6uzR;*QZsm<&=PZJc)F86Gz_IX_37}{ruiSqeH@n_9}%A`*d^f#Hc3S zn!Dqd&9MNQb7OchX&LG^^pg}J+Qim%_qt!~dYpGjq?~+&T1Hw)_rWu|+G)khZEaiq z%w@y9%bp-d;I_sJ6^xRkA+ag>&pW7i&)Ae^ z>ivRvfDw^u3h=nrp1checVv<^d+m4Mt}m><_T(=Laxr3IRD9M!%_o;*qz70J+%{dm0N+ho9Vnr`u{L7F| zOmPU^@}anFYYQTBIrfzpEA4&9kyy+9{sx0p@33tg0EP{e7H5}r8tG^ zg+6u2ilyd&s}WQg3C^m+!6toq@C1bAP&~c4I-vPwj3zd(Y{>K+83JCB{osqu!Vp6( zqqcTp$YEwSy)vHpk3ehmrNb*laJjvQWCr2DZ^z7nUzErGl4IWQAO8lJ*oNe}S7wd=Q%d1_kJ-p5VWvz{wBqz%M8505b6hT!8`l z&xyj(75xy`u{NGBQMm&xKPdO?36j(GHM}}121|`1GTV{kx|k;cx{Y24I&&oHKONcobq0oFZ=M-O?AM}9 z_&4K~U`WZmnNzNbY%*`{^}mOwD$wz&!cnfJFh3YWJ+u8!^pCtm--P9Rxd=Rs`~n0YHR@*3*cztlmAQUk<$?l-l_zJJACZ1TZuBr4)Fm$wt7nU``Rl9QzI}myxt2^WJB-<0~Kov%$(y!6e4gMe=Iv6<*>iMUb-5cnKqDA57v*N$y!pnN{-85BbiD@FcxEM z5PT|(Nd_EBPj88a*Gcs8!|KhX27`}N(OjrMef1s>e8sX+8v~9{b?5B&+fYP$e*gbW zLEs~VTp!9zKQ)kjDme(SyZIZ4Idaj|+4c{FOFq{*9Q@vyr>8&U5*KN@ip7QG>}eR+ zbb=^vpB5k|s={{1Idl&-zkG^e;gMvDS9>ZI0M6o_LHXhxPt`R)(W7FMXu4~XB~Ea} zzDD=?_>^pn3jNuXs!xjct4o-MsH0#`3}}%M=@5ZUs~i7`Vpc#&H<*>A-t02=d<^9} zIk{2Z85xe`@eH=crw#3ZIQ$dN%BLZC+CPFcS7KdtID*Ieg&wZtp+S8rr=Uwd>^-|) zKo^;I_-!k5Hv>$>UZ2#9@uAQAqgbVL0ct4i&q<@4uf~%bbu6^)V*k8&c=b|6yb>q0 zw})jIrGd-Fu2dmi+9_Kh7ltRB<@P2RT7>TcMe)Mcdfln-y|!#4kQ!FT^43~c30GQq z1RuVK(osu+2Q~5O(#?bNo90R&h{l8o_fTe z>JWK<##Z{vhszQX282E)z2Jps{BXZ;-IG7orKjK?dmpVuRc_}1GN(u`_LQ`cp5i;^ zG)#sYdeb52A&mMb%#RgTbL zRsZ#|pVo4R|kjEri~3EoRhLbx=Eml&Q`lFNmKUKdgK{>P8LpSXYi?t6H%pN749 z{cd^xy*TdXy|{XiA{2DHw3sB}S?=s{jqLk9r z=;OKH;QE0e-h?o92}{qC5Cv#n5%jZ*o01iW?8}Q@*Q+v~q zj{i>@S?S~Ff3*OE*NXp1BeT9!{7=-cBuohbV{+`L*?6%x z<)uSS^qS*rq4FPcWYOK>153DCF*DC8#450+e+Q_pOvTEhzl&|#6ITZXuex%=VH`7a zL^flVY=DwNQ?aSCc7W0*xrS&iHu-muj0!JprCfx}@hpkqH(rtJ2s&lOzFGITO#)T< zR1xq+qH8E0$dBdg%7BJPMiAg<5Ip6+5glRqSehbN?h9APhTv(qxVo{nHoU+WyzD%< z?KaaPHuc2>zOcKoD1*;}Dks#UOSzswxDJPv#a&8EJwa9qn+)}+E2`2LVxTF z4V&g|#K@(hnkj#v5JA*kl_)tEs90t_3wja@7UN`6{J$DI@2IA_Zrw`H0 zH&p1YNArK^?U)wiLCiN|!YBL-@83=(Hd)*s$zIY1tm~Ay4Vm(u1YYt4XO92q*MeH_ z1qxTNhK^C1f|r+eqFKJ4wsh?xx?@LKGwo8~^6LF~dPAwvme@tJVWW@g(N9{nTBF?p z*lxKnA$y?WRKQ%KuBt{d|6<}KbC=_IZiVP@OlM-GJFNtAe7hKVu=vLd-w0RMKeI$Z zTdRe6hBQ##+wwlhJ9yVQOsgN3Oo}?QEt)qagPwpn+~=oXLro;8!>?UiU2XL_-kA!ZN5Mc+{#?me-PxghZoq%ay$d5ErLe=xwVnwgqf?arp3BQv|U zWtnL7h27$n6b-NK(=ht*{AzzpS%F6E3{Pf!oQ#FMT!KA`o0!iF^pI_*#+wQptdIk? zp*z1U;Xue#drc%MR-)4FJuh7nFKZy#S#g2OZhW4SBf<8muQ*>fwT?_8JEE{f@NQF~ zjq`T|E3aUJB@Sc^(m2qs4KL8g%t(e(+lIbyZo9x%eBbS~orQbqWnFc+o=!k;Uq3H8>LI*Iqs%P#1yK^>PyIXXD&XSxRqH2h^urGhapXInTa z!8PQy%(HRTf;8x$7gm6O(jo{G0S0l@-^_4sv8th_7@7n4WNaMHGQPmAAtt*U9#UB` zjM;n7T(s*Jv%wth3L~WchBozL^gSL;e_7Q!?Y-o&R5b@IvffTO9!!_PbE5I_E4sMn zQ9A~UkN{Q`d>$;yG^LXaQ@w$JSplWBxS2#;WE}*l9N^6_ja`fMUu<)aX2WZY$@Sbh zl-ZrP->j|35F#3BtI9{&tK5V-k>iB@h3CI6+e!)dQzLFS0=QQAJ9oYAr&~(}AKV7_ z?40WmvIcY;9jY@CYs=|$IROsaa2^`1x>_EXge?b%$BoV8!A~WdkL0WjI_6(l-02~` z`&i#{2@uRr>gL3qOg(R1nR5_binok&vSHbcoENOB%I8vZm)-#vOm%o+=^r>hwlf}m zay&17zCPM1jN}di3ZXLj6 zSj0-v&QhVv4mf$L$Y9oS_r-!>2)EsmF2n2-`tn!dM!?khlG=z% z#nnkZowFKE#?6k;TTt78W*F=jlF4BUDtc{hyvweL{45E|jMyhJ@gM3qK7XkcyKFDa z%Sw%E@_tcsTcnEFp%ShVRs@iPp0KZ|A$i>*=uaOoFSCDaBgo{mgz<#C)I3W`wIp99 z8)5|)eaZF!j$BIM(v+37(;S$}TU>y8NCFAtpT&1nw5__tzy2O$@w>C6EaBVL7L(%8 z`;6l^PQ5Mfq^5(v)9aq3o)Kxrbx(faoNR5=sJ zrB7Iz?1ex--?D1e4_`Gf!TFw~H>;FuM z%>=w`5)wVllrV`^w%AZ);>J_WcGz*UPKCTq+DSvKU&M7!xjxQ@No#}NH$g>xtP^}1 z>F!6d?I;TGKX z4x42+>IYx2-WYo3ZH{n)Cu8iJL8`0Kh%sgJpxYSgL|YeoA5)A%xX&eK;+cjgXnzX4 z_YQ4g^qD6;!-JJJQ?^9s?K4@!A0iUb>66)ZLGyUq8@5oVwv5wWV}|8B)p5-}_wDDC z0xkt^rc?pl7`qPlSAqdNTE8!Ho|_a;tUee3)#LAIk*CBc4JF;lgk}f)E6DHLSe|w5 zyr%o=wRR3XmqPLDyI-tr0;60H7wFv7F{o3Ay6$U$Y3H~dh$F9as1Lp0tMt3X?_KJ` z$tc~D+Zu&Jgg%!;L+xKver+e=KSj-2mE$f^yuZ)$wZHO6Nq9j0UuuT^pB;Dkd-i{N z9FrpE{dalw%j9OdQOQzv>B@zgS>lI{>)IfR?7!pkxE)>s9~@7>(e$h<=+nV(B#hz_ zWo3LGN6Q*V%WaX-(b4*6W7ae$7iFAR%@h1cdv#igq`&hqVDlN(bzSvb9Q^rHRZT6= zb~L-Ex3@X~<d0Pclpq#*h8(v1anRe%-JgIEUut`~OQQS9+488$j^|c6CCxH0<~KQC zr@_jt1Ia*f|EF}yh2zyd*=I+c#Y1Lw@IR4t#qLV^&X_w=nWXT|ZZ0VqN*BRtS&AFn zEb;d4nzje|jlR-7w03d1AF5*7ztkqVN|sm!n=txW@|;TjlJ2z}QK`Gc-+6SmMlV{sU#U#S#O_toY3@y=AWb*1>e>tKoi zv92{WgBeQd%)|Y6pKZ?C4PX)8DtwiRGwLkH#r-sR!`eRQ77Nx+KU~X7#B~pM?sS<^ zzqi26X*1w5DLsf(aKQBV0RsL#9XWo_s0*6uaiVnC4!t*Up`OKmgm2co9?$0h<3-=> zaWL8voaY!y*wR!A7!Jlg{`?hy54&(~fDJ?ni8zN_+MLW^5%Imu>CDXVwW{HnyF7t= zZ4Fn>y#{{(o`CU}km7-oaK&NuWs8ZS(jTcrtB=-yzffnf5!EiJXmS!#xjM(;5~~pHf&JYA$FylY5FxD*g@h07XV|I1k|Ulo5@;k=*z(w}~Nd zF3ZoaPUhTd4N!H-L*N~93;R0(I=ey?^S*`E*myO1uZ1l3)+;XGOAwZaT<$P;e&c3m zsU5AOPU|KA-Sz1^8~4DB@Ml)!FMsL_hJT2c?jhLSL|V@m?Y`HI|M?!O#d>WXI2 zO&A2D`X;1rJ4hs3p#nHvIey};1an8HI}^P2h;Z4HO00t_H4mLnl|UlZIvtT|vL74b%T}Yx<$Ac^A~a2%*Knf9^mih&ZyAg`V&EKIHWD!~&8n z^vyj?`WFG#{M8 z6~!c?f$t@>cHEZZk%sby5?-&RXJ6kyrRpMB|th=J>Ypj%i-)7U-qlIalCW!}jj>;T!FYP$9aeg@My+F0cL9 zVX__&Uqu7Rp)*nqdXV_4aqIl;Q0A#`fTS%|e!of2+!CPrMU%RJ;@6tA=R#R4TINdf zXteeGFG!95-@uzjXBC$Y^p6j`{SGyzk=N|jInp=d;ptq5=C7`uSLeTEkj>b~r!zAy% zi2L@ROkwfJH4fOdok7)|v%0`0HH~Hi1Dh#l>O-9V35D-$uBmRPX>Sz{yK)NgWK6` z+i`CG*jjV5V)p*$P;qLp{!4h`Lblfj&Pvrcg9OpDRJc?GPdW7xXJGh`^wPTPi9z8n z{sd;P4~%|pyqil?-?_vQ05%0l*W|ik3W^a1-`oK8(mp2AjbuWky5VSIbh;nILZ8`C z+R|re#^wg*Nu_{7-p02@@jrPWEe`r`cq88+@1BVECPAk^6pN_vc`Uk+*0f^h;8ok3 zN+cr;uWkx!8J3fjj4AMzZzhtbp|}WOLjQs1(5e7TYh!NDcU7HkXp^>W0O+c*PO)&* zw3>J+UUK=-bUN~Ebnk__hM{AisN+mou?S56<^Fj1`e!od?!~qcygl`156Add0&kW^ z+#<9dnc+?9`MiS(qR+&<(O<{j)!d)U5szSfnE|HDivcyq^gogA+meqzUSmQX&+b-Q z+oj}qUFYNg0;l*Y_Qyys4jI566N5#KZ2Kb`&Fs{T)l*X$#$d_nft$JZTypmzy&jKHUsKik5m*WFsG0xCKj;6 za0a_<@a--pvIF=*C){HWGH&(RjfZ|Ijl{lU zXnSk5$MxAb)pZibI|gD7^YnHHz~S=io!9f2K0uQG>XYHJLcCZNYgt4xm9O>tD5>;Y z)Tb{!xgLAb{H#M-FQr=68CDm#V2OvF)`-_HYh16Di)e7< zlC~4g1PNF5+JnCtpTKYL-L-y(u1GO0oD%8r2^1~Y4}a@f6rnkr+B#te#qKvFos1g8Md2)pTJIj-Qtr%DWnf8bfovXVbRg#U0y z>&IxR=0t^A;}i9MojXcuSH7;=%rC`7p*gIUfMaD2{4gBUN?zofH5=)C^-kJ$?w4#}Sjp1n1KM~H<Fp?x=g^Y-^1uTh6EP&-<_B)Q z&8a8@UKR9>J@OXhRA?4^w);oW_Zi5rU3qfi$BCURKBDMdnE-R)T4CFRjHuT>kFfqO z`Os!tvUa?Ms(q$k_$INwCI*SyM}0XgBojxHIW7M%#Gj*;I@d?et2^(Lp==e7eb&+! zB+bn7`y~VySFfsAbmawMy4{6!3=R`41F51_T1u2+ziLr3LDlO7W$m06XIymDH0(L= zhpkmK4&uIlrz4iCuRZ*D`y^~7(pd=y6}fRX{(rzutA~>&;LYqsM1 z8|K~C^Nli7^zr2k)i>vzG-BlWlO<+v(mnX}M@&eB$y8FzxbSL<{Q{*LwK||kDVSfFw|xjuR)JBe-1h-#qcEu(_0Q@sBt`f#uUI)y>mI#g!V75-EbDZA+@@ z^f6^UEnu||{+g<5^xbdZm6-mhQY^XduRAZ&%MszRK!=_B4xin3FgsSm(obbJ+j6F`^?Z=3NPEu&RK?=MaSJdJDi)#@(!Q#@yl6PrZ^NG zDXJr6??E-Me<6kEbsASx@HI;IxMBfdi0-O0e9)OHTC2rKSJ4a=vw@S-`d=E6+yy0X zJ+5lHU-wEtFA(o*R)~Xfq@}y^9%E>e2e82LUbZTtPCF+hJ;Z-V+{76jdh|_#4pc{; z#do}AO?4=Z3Diqq0;*QXUvlHeaMyhG{qEHFZN86#MQ-Kxf)D73txw3o?E3xSR(hZ# zZxwybf#IyM2ZhN6X*1SF&@{rbc7%yl>U2~-LOV|k0}al7i=O4q>1Z`SH0ZN%8gSM= zcZ1AVxjE>wb09jlxE?n;8%%^&m}+^vf4QydFhiQL6e{WQln7qNt=D0b+wU7R-ZzuB zh&sMYzuu9GhGzZ30hwyHa`-A*R^t| zU4#>aoFO?8+Pa9_)4HAOhE?%)0_4XJ<;J!#n@3ipBXW*~R&@TqD9^?Me}-?Ir8mVF zaiNa7)@MTlr`1C?HN<6^Fe|A*%iY_6VpfO(F@Vx;Hx8LPp?co$fxUphiF6kgtyX*0 zkruRe&o9U@1Vk3aTX5nJ$YbXBELaZU%U&_XF3ssjjOp|3(J>lGLj*0R@aZNc-noQ8 z#O|e9VAXGt>FVz3{F~U;!SDFE1YE87hQTytT#Q3T=={xIAJO2MzFd|-vbaubh!%6S z^?)7^eDUGUdHq|8q|K3n;186BGbNW68wZ^~7Tz=O$Sux}&B_|fTLiKp`W5G6zW%m5 z0BE$H^zyJ@t!tVT<^&IKb_STp+^h*yH{X%@A}(=b?}~2Gud03pS*PEofx%KKxeY9F z*5`FQm924yj{9g|T%qR$TH#6jis%5+nBflQTaLaHf1Ud&0KRfr&B1?I^8G3E`;y7@ z-%tjGdEPnAxz>jI`DVW>ig}rut#w5KSAIl3%bGDrXS$?1vWJ&jR_WZcm!S@AFPi(7z}SZU@I|eqCRT4 z9UEbc$p?ED&-sv2y;9kX`yWh zeA@Y#_@alziRZaPQ=}(e@RR|CFp^dJr!;oUWk?H9ZQxl5p7)OIevil-#zSnW;1D;} z-H?(XB8w!;YpO&S+x)tP*mh4bW%+yC#Rh9bC^|*^_}A45s}=aW_FVNb#a=_+xNcD$ zpJH}LI2&DFP3RBa=&zZly&9?_fDmjw;M4o-jM?5YViW66rIYew zg6hNpS2VDmSn(ujWOTjCatOe+4R2( zDa{wA$~ST@eW-scNzGDT`jll+)j~t2I`l}%ee*%;N{o3(>220)lezQe9@p1{rl@Q* zb32|h{4*V9ERwhEg3lIlm>G*wVy+LEiBtFF?^#4NU6ntEL zS2sF5z|T-pl&saFD4#jeR>cL~<`eJ-+;%S(=X1QqQLw!C7EMUB?Sn=nxp*ZLF6esa zRRDWqsk9%E6_jVY96uvPW&n@$8aa^zQEc_i?d;V*7mBLvvDZ3}Xn^~z4AV_34g zZ>NMR-7qH&Z2UbV;5v^hlRLuVU;marIGdruZM=Y`iLmG+K{Sa@;X?-0A+5S760*CSE}% zX>(b4wbjmKC6x6*1@oKmXg2j&MdzH?=q$nHU{FHnAJ<^G)U{)*6lHm?Yk4lY0x}Gx zmZQZbI4DG%?o)ZAbN(OKUL45$^$!#nP5--xVy$Z8=zn21{JZl4O}^osoRu%h?u$7% P;@-;_no1Q479sxyN{MqO literal 0 HcmV?d00001 diff --git a/docu/images/pub_sub_ros2_deployment_gen.png b/docu/images/pub_sub_ros2_deployment_gen.png new file mode 100644 index 0000000000000000000000000000000000000000..b9978c7d6d7eedb52d94bb548bfb7883b7ba9463 GIT binary patch literal 26759 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 HOoILwM8G9c literal 0 HcmV?d00001 diff --git a/docu/images/rossystem_deployment_repo.png b/docu/images/rossystem_deployment_repo.png new file mode 100644 index 0000000000000000000000000000000000000000..e38dc6f4543012583e54e11d496ab66804c2771f GIT binary patch literal 112589 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

    &mDh*wb^G0sR1B2Q=!EqeUMOil( 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�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 PJTy6J<@cp;4S)PUaC}RJ literal 0 HcmV?d00001 diff --git a/docu/images/rostooling_deployment.gif b/docu/images/rostooling_deployment.gif new file mode 100644 index 0000000000000000000000000000000000000000..51846f1bffd361ac00e1d3d0ec536f2de612b584 GIT binary patch literal 973247 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%0Du7bPULTZxB09DkjoJq#s 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

    bOM(HlaoV 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≫OJqYh%GoG}#R?!jCkC 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 J00BYle*hP}p925@ literal 0 HcmV?d00001 diff --git a/docu/images/rostooling_deployment_jackal.gif b/docu/images/rostooling_deployment_jackal.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b7f6c5c5a5efee1e6f8a9f49b33d961e3ca48c4 GIT binary patch literal 2215403 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 z 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

    ;8>Ct8@WqMr0$Fx1%z4rZL!9Lf`7vd@3+RooB< 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 ?lvuZt52JR3vzoO`7vW18254(6pawho~cV{wFR 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%0D|TlqQROHK<*4f9sJrH9B;_btURDmt(J#y~Jj^jj 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

    6`Y!m4o05B;#fB51g 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

    Y+AC$syI4#{S$9ntyVh#LnH)o0sEIpGFfZFUcE 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�$M0OHGo0vDVNWP7JL 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Ɯ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 z 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,A;1c^C}2V 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

    @^4q5rAjhG6L#Pg5Lvrh5h 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 vW&(N}DL&FvdZ1Eq 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

    r4kEEt-@J0K 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%0A97&M_1Rs?z??a0x3R1#B8q-iBdP)JC| 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≺qxEs}8H}%100( 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� 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 z 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œ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 z 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 literal 0 HcmV?d00001 From 06be6d896993c630f2f8de5e3fb08bcf738b43d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nadia=20Hammoudeh=20Garc=C3=ADa?= Date: Thu, 2 Dec 2021 13:49:59 +0100 Subject: [PATCH 43/48] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ce0ddce9..212788763 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ Publications: - Features + - [Deployment features](docu/deployment.md) - [Compare your model with a Specification](docu/CompareSpec.md) - [Introspection at design time](docu/simulateRuntime.md) - [Models combination](docu/ModelCombine.md) From 85268b5b5bf98ce61e3e2948575a3aa2ce699b14 Mon Sep 17 00:00:00 2001 From: ipa-nhg Date: Tue, 6 Jul 2021 18:35:12 +0200 Subject: [PATCH 44/48] First draft for the ARAIG plugin for the ROSTooling --- .../.classpath | 8 + .../.gitignore | 1 + .../.project | 34 ++ .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 19 ++ .../build.properties | 19 ++ .../plugin.xml | 51 +++ .../pom.xml | 31 ++ .../ipa/ros/araig/plugin/Activator.java | 7 + .../AraigExecutableExtensionFactory.java | 19 ++ .../ros/araig/plugin/FileExtensionFilter.java | 43 +++ .../ros/araig/plugin/GenerationHandler.java | 305 ++++++++++++++++++ .../generator/CalculatorPyCodeGenerator.xtend | 64 ++++ .../src/ros/impl/NodeImpl.java | 4 +- .../src/ros/impl/PackageImpl.java | 4 +- .../src/ros/impl/PublisherImpl.java | 4 +- .../src/ros/impl/RosPackageImpl.java | 4 +- .../src/ros/impl/TopicSpecImpl.java | 4 +- 19 files changed, 620 insertions(+), 10 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/.classpath create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/.gitignore create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/.project create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.core.resources.prefs create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/META-INF/MANIFEST.MF create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/build.properties create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/plugin.xml create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/pom.xml create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/Activator.java create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/AraigExecutableExtensionFactory.java create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/FileExtensionFilter.java create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java create mode 100644 plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/.classpath b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.classpath new file mode 100644 index 000000000..428337e56 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/.gitignore b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.gitignore new file mode 100644 index 000000000..ae3c17260 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/.project b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.project new file mode 100644 index 000000000..d794e4181 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.project @@ -0,0 +1,34 @@ + + + de.fraunhofer.ipa.ros.araig.plugin + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.core.resources.prefs b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..99f26c020 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.jdt.core.prefs b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..0c68a61dc --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.araig.plugin/META-INF/MANIFEST.MF new file mode 100644 index 000000000..f49efae6a --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: de.fraunhofer.ipa.ros.araig.plugin +Bundle-SymbolicName: de.fraunhofer.ipa.ros.araig.plugin;singleton:=true +Bundle-Version: 1.5.0.qualifier +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Import-Package: javax.inject;version="1.0.0", + org.eclipse.ui.handlers, + org.eclipse.xtext.ui.resource +Bundle-ActivationPolicy: lazy +Bundle-Activator: de.fraunhofer.ipa.ros.araig.plugin.Activator +Require-Bundle: org.eclipse.xtext.builder, + org.eclipse.xtext.ui, + de.fraunhofer.ipa.ros.xtext.ui, + de.fraunhofer.ipa.ros, + de.fraunhofer.ipa.rossystem, + de.fraunhofer.ipa.rossystem.xtext.ui, + org.eclipse.ui.workbench +Export-Package: de.fraunhofer.ipa.ros.araig.plugin diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/build.properties b/plugins/de.fraunhofer.ipa.ros.araig.plugin/build.properties new file mode 100644 index 000000000..f1db2cffa --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/build.properties @@ -0,0 +1,19 @@ +source.. = src/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.mwe2,\ + **/*.xtend +additional.bundles = org.eclipse.xtext.xbase,\ + org.eclipse.xtext.common.types,\ + org.eclipse.xtext.xtext.generator,\ + org.eclipse.emf.codegen.ecore,\ + org.eclipse.emf.mwe.utils,\ + org.eclipse.emf.mwe2.launch,\ + org.eclipse.emf.mwe2.lib,\ + org.objectweb.asm,\ + org.apache.commons.logging,\ + org.apache.log4j,\ + com.ibm.icu,\ + org.eclipse.xtext.generator diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/plugin.xml b/plugins/de.fraunhofer.ipa.ros.araig.plugin/plugin.xml new file mode 100644 index 000000000..8220def8f --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/plugin.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/pom.xml b/plugins/de.fraunhofer.ipa.ros.araig.plugin/pom.xml new file mode 100644 index 000000000..d14017467 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/pom.xml @@ -0,0 +1,31 @@ + + 4.0.0 + + de.fraunhofer.ipa.ros + de.fraunhofer.ipa.ros.parent + 1.5.0-SNAPSHOT + ../de.fraunhofer.ipa.ros.parent/pom.xml + + de.fraunhofer.ipa.ros.araig.plugin + eclipse-plugin + + + + + org.eclipse.xtend + xtend-maven-plugin + + + org.apache.maven.plugins + maven-clean-plugin + + + xtend-gen-clean + clean + + + + + + diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/Activator.java b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/Activator.java new file mode 100644 index 000000000..57539d303 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/Activator.java @@ -0,0 +1,7 @@ +package de.fraunhofer.ipa.ros.araig.plugin; + +import de.fraunhofer.ipa.rossystem.xtext.ui.internal.XtextActivator; + +public class Activator extends XtextActivator { + +} diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/AraigExecutableExtensionFactory.java b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/AraigExecutableExtensionFactory.java new file mode 100644 index 000000000..056237f12 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/AraigExecutableExtensionFactory.java @@ -0,0 +1,19 @@ +package de.fraunhofer.ipa.ros.araig.plugin; + +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; + +import com.google.inject.Injector; + +public class AraigExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + @Override + protected Bundle getBundle() { + return Activator.getInstance().getBundle(); + } + + @Override + protected Injector getInjector() { + return Activator.getInstance().getInjector(Activator.DE_FRAUNHOFER_IPA_ROSSYSTEM_ROSSYSTEM); + } + } diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/FileExtensionFilter.java b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/FileExtensionFilter.java new file mode 100644 index 000000000..d93bca5df --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/FileExtensionFilter.java @@ -0,0 +1,43 @@ +package de.fraunhofer.ipa.ros.araig.plugin; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.jface.viewers.Viewer; +import org.eclipse.jface.viewers.ViewerFilter; + +public class FileExtensionFilter extends ViewerFilter { + + private String fTargetExtension; + + public FileExtensionFilter(String targetExtension) { + fTargetExtension = targetExtension; + } + + @Override + public boolean select(Viewer viewer, Object parent, Object element) { + if (element instanceof IFile) { + return ((IFile)element).getName().toLowerCase().endsWith("." + fTargetExtension); + } + + if (element instanceof IProject && !((IProject)element).isOpen()) + return false; + + if (element instanceof IContainer) { // i.e. IProject, IFolder + try { + IResource[] resources = ((IContainer)element).members(); + for (IResource resource : resources) { + if (select(viewer, parent, resource)) + return true; + } + } catch (CoreException e) { + // Ignore + } + } + + return false; + } + +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java new file mode 100644 index 000000000..2fad54fa0 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java @@ -0,0 +1,305 @@ +package de.fraunhofer.ipa.ros.araig.plugin; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.IHandler; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.jface.dialogs.InputDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.dialogs.ElementListSelectionDialog; +import org.eclipse.ui.dialogs.ElementTreeSelectionDialog; +import org.eclipse.ui.handlers.HandlerUtil; +import org.eclipse.ui.model.BaseWorkbenchContentProvider; +import org.eclipse.ui.model.WorkbenchLabelProvider; +import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2; +import org.eclipse.xtext.generator.GeneratorContext; +import org.eclipse.xtext.generator.IOutputConfigurationProvider; +import org.eclipse.xtext.generator.OutputConfiguration; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.ui.resource.IResourceSetProvider; + +import com.google.inject.Inject; +import com.google.inject.Provider; + +import componentInterface.ComponentInterface; +import componentInterface.RosPublisher; +import de.fraunhofer.ipa.ros.araig.plugin.generator.CalculatorPyCodeGenerator; +import de.fraunhofer.ipa.ros.araig.plugin.generator.CustomOutputProvider; +import ros.Artifact; +import ros.Node; +import ros.Package; +import ros.PackageSet; +import ros.Publisher; +import ros.Subscriber; +import ros.TopicSpec; +import ros.impl.ArtifactImpl; +import ros.impl.NodeImpl; +import ros.impl.PackageImpl; +import ros.impl.PackageSetImpl; +import ros.impl.PublisherImpl; +import ros.impl.SubscriberImpl; +import ros.impl.TopicSpecImpl; +import rossystem.RosSystem; + +public class GenerationHandler extends AbstractHandler implements IHandler { + + @Inject + private Provider fileAccessProvider; + + @Inject + IResourceDescriptions resourceDescriptions; + + @Inject + IResourceSetProvider resourceSetProvider; + + static Map getOutputConfigurationsAsMap(IOutputConfigurationProvider provider) { + Map outputs = new HashMap(); + for(OutputConfiguration c: provider.getOutputConfigurations()) { + outputs.put(c.getName(), c); + } + return outputs; + } + + @SuppressWarnings("null") + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + ISelection selection = HandlerUtil.getCurrentSelection(event); + if (selection instanceof IStructuredSelection) { + IStructuredSelection structuredSelection = (IStructuredSelection) selection; + Object firstElement = structuredSelection.getFirstElement(); + if (firstElement instanceof IFile) { + IFile file = (IFile) firstElement; + IProject project = file.getProject(); + + URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true); + ResourceSet rs = resourceSetProvider.get(project); + Resource r = rs.getResource(uri, true); + + Display display = Display.getDefault(); + Shell shell = display.getActiveShell(); + + RosSystem rossystem = (RosSystem)r.getContents().get(0); + EList roscomponents = rossystem.getRosComponent(); + List RosInterfaces = new ArrayList(); + for (int i=0; i NewRosInterfaces = getInterfaces(roscomponents.get(i)); + for (int j= 0;j Build Automatilly is enable !!!"); + dialogSelect.setMultipleSelection(true); + dialogSelect.open(); + List CalculatorSubscribers = new ArrayList(); + + Object[] SelectedPublishersFromSystem = dialogSelect.getResult(); + for (Object result_: SelectedPublishersFromSystem) { + for (EObject ResultInterface: RosInterfaces) { + if((getViewMenuInterfaceName(ResultInterface)).equals(result_.toString())) { + EObject SelectedInterface = ResultInterface; + if (SelectedInterface.getClass().toString().contains("componentInterface.impl.RosPublisherImpl")) { + Subscriber sub = new SubscriberImpl(); + sub.setName(((RosPublisher) SelectedInterface).getName()); + sub.setMessage(((RosPublisher)SelectedInterface).getPublisher().getMessage()); + CalculatorSubscribers.add(sub); + } + }}} + + //Step 3: select publishers from the runner + ElementTreeSelectionDialog RunnerModelSelectionDialog = new ElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider()); + RunnerModelSelectionDialog.setTitle("Select the .ros model that defines the ARAIG test runner"); + RunnerModelSelectionDialog.setMessage("Select one element from the tree:"); + RunnerModelSelectionDialog.addFilter(new FileExtensionFilter("ros")); + RunnerModelSelectionDialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); + RunnerModelSelectionDialog.open(); + Object RunnerModel = RunnerModelSelectionDialog.getFirstResult(); + IFile RunnerModelFile = (IFile) RunnerModel; + URI RunnerModelUri = URI.createPlatformResourceURI(RunnerModelFile.getFullPath().toString(), true); + + ResourceSet RunnerModelResourceSet = resourceSetProvider.get(project); + Resource RunnerModelResource = RunnerModelResourceSet.getResource(RunnerModelUri, true); + + PackageSet RosModel = (PackageSet)RunnerModelResource.getContents().get(0); + Node RosNode = RosModel.getPackage().get(0).getArtifact().get(0).getNode(); + List RosPublishers = RosNode.getPublisher(); + String[] ListofInterfacesRunner = new String[RosPublishers.size()]; + for (int i=0; i Build Automatilly is enable !!!"); + dialogSelect2.setMultipleSelection(true); + dialogSelect2.open(); + Object[] SelectedPublishersFromRunner = dialogSelect.getResult(); + for(Object pub:SelectedPublishersFromRunner) { + for(Publisher publisher : RosPublishers) { + if (publisher.getName() == pub.toString().replace("[Publisher] ","")) { + Subscriber sub = new SubscriberImpl(); + sub.setName(publisher.getName()); + sub.setMessage(publisher.getMessage()); + CalculatorSubscribers.add(sub); + } + } + } + + //Step 4: configure outputs + InputDialog dialogInputPublishers = new InputDialog(shell,"Add the list of outputs for the calculators", "Set the list with the names of the outputs separated by commas, i.e. 'FirstOut, SecondOut'", null, null); + dialogInputPublishers.open(); + List InputPublishersList = Arrays.asList(dialogInputPublishers.getValue().split(",", -1)); + List CalculatorPublishers = new ArrayList(); + + String[] MessageTypes = {"Bool","Float64"}; + Package std_msgsPkg=new PackageImpl(); + std_msgsPkg.setName("std_msgs"); + + TopicSpec message_bool = new TopicSpecImpl(); + message_bool.setName("Bool"); + message_bool.setPackage(std_msgsPkg); + + TopicSpec message_float = new TopicSpecImpl(); + message_float.setName("Float64"); + message_float.setPackage(std_msgsPkg); + + ElementListSelectionDialog dialogSelect3 = new ElementListSelectionDialog(shell, new LabelProvider()); + dialogSelect3.setElements(MessageTypes); + + for(String pub: InputPublishersList) { + Publisher new_pub=new PublisherImpl(); + dialogSelect3.setTitle("Select type for the publisher "+pub); + dialogSelect3.setMessage("Select type for the publisher "+pub); + dialogSelect3.setMultipleSelection(false); + dialogSelect3.open(); + new_pub.setName(pub.replace(" ", "")); + if (dialogSelect3.getResult()[0] == "Bool") { + new_pub.setMessage((TopicSpec)message_bool); + } else if (dialogSelect3.getResult()[0] == "Float64"){ + new_pub.setMessage((TopicSpec)message_float); + } + CalculatorPublishers.add(new_pub); + } + String calculator_name = CalculatorName+"_calculator"; + String RelativePathTogenerationFolder = "src-gen/calculators/"; + String RelativePathToCalculatorModel = RelativePathTogenerationFolder+calculator_name+".ros"; + IFile CalculatorModelFile = project.getFile(RelativePathToCalculatorModel); + + // prepare the Xtext generation environment + CalculatorPyCodeGenerator generator = new CalculatorPyCodeGenerator(); + final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get(); + fsa.setProject(project); + fsa.setOutputConfigurations(getOutputConfigurationsAsMap(new CustomOutputProvider())); + fsa.setMonitor(new NullProgressMonitor()); + GeneratorContext generatorContext = new GeneratorContext(); + if (!project.getFolder(RelativePathTogenerationFolder).exists()) { + generator.createXtextGenerationFolder(fsa, generatorContext); + } + + ResourceSet rs_result = new ResourceSetImpl(); + URI model_result_uri= URI.createPlatformResourceURI(CalculatorModelFile.getFullPath().toString(),true); + Resource model_result= rs_result.createResource(model_result_uri); + + PackageSet CalculatorModelResult = new PackageSetImpl(); + Package resul_model_package = new PackageImpl(); + Artifact result_model_artifact = new ArtifactImpl(); + Node result_model_node = new NodeImpl(); + + result_model_node.setName(CalculatorName); + result_model_artifact.setName(CalculatorName); + resul_model_package.setName(project.getName()); + + std_msgsPkg.getSpec().add(message_bool); + std_msgsPkg.getSpec().add(message_float); + + save_model(model_result, CalculatorModelResult); + CalculatorModelResult.getPackage().add(std_msgsPkg); + save_model(model_result, CalculatorModelResult); + + for (Publisher pub: CalculatorPublishers) { + result_model_node.getPublisher().add(pub); + } + for (Subscriber sub: CalculatorSubscribers) { + result_model_node.getSubscriber().add(sub); + } + result_model_artifact.setNode(result_model_node); + resul_model_package.getArtifact().add(result_model_artifact); + CalculatorModelResult.getPackage().add(resul_model_package); + save_model(model_result, CalculatorModelResult); + + // Call the python code generator + ResourceSet rs2 = resourceSetProvider.get(project); + Resource r2 = rs2.getResource(model_result_uri, true); + generator.doGenerate(r2, fsa, generatorContext); + }} + return null; + } + + private List getInterfaces(ComponentInterface componentInterface_model) { + List ROSInterfaces = new ArrayList(); + for (RosPublisher RosPub: componentInterface_model.getRospublisher()) { + ROSInterfaces.add(RosPub); + } + return ROSInterfaces; + } + + private String getInterfaceName(EObject RosInterface) { + String name = RosInterface.toString().substring(RosInterface.toString().indexOf("name:")+6,RosInterface.toString().indexOf(",")); + return name; + } + private String getViewMenuInterfaceName(EObject RosInterface) { + String name = "["+RosInterface.toString().substring(RosInterface.toString().indexOf("impl.Ros")+8,RosInterface.toString().indexOf("Impl@"))+"] "+ + getInterfaceName(RosInterface); + return name; + } + + private void save_model(Resource model_result, PackageSet CalculatorModelResult) { + model_result.getContents().add(CalculatorModelResult); + try { + model_result.save(null); + model_result.load(null); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + + @Override + public boolean isEnabled() { + return true; + } + } + diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend new file mode 100644 index 000000000..28e7fdd24 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend @@ -0,0 +1,64 @@ +package de.fraunhofer.ipa.ros.araig.plugin.generator; + +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.generator.AbstractGenerator +import org.eclipse.xtext.generator.IFileSystemAccess2 +import org.eclipse.xtext.generator.IGeneratorContext +import org.eclipse.xtext.generator.IOutputConfigurationProvider +import org.eclipse.xtext.generator.OutputConfiguration +import java.util.Set +import ros.Node + +class CustomOutputProvider implements IOutputConfigurationProvider { + public final static String CALCULATOR_OUTPUT = "CALCULATOR_OUTPUT" + + override Set getOutputConfigurations() { + var OutputConfiguration observer_config = new OutputConfiguration(CALCULATOR_OUTPUT) + observer_config.setDescription("CALCULATOR_OUTPUT"); + observer_config.setOutputDirectory("./src-gen/calculators/"); + observer_config.setOverrideExistingResources(true); + observer_config.setCreateOutputDirectory(true); + observer_config.setCleanUpDerivedResources(true); + observer_config.setSetDerivedProperty(true); + return newHashSet(observer_config) + } +} + + +class CalculatorPyCodeGenerator extends AbstractGenerator { + + int count_sub + + def void createXtextGenerationFolder (IFileSystemAccess2 fsa, IGeneratorContext context) { + fsa.generateFile("lock",CustomOutputProvider::CALCULATOR_OUTPUT,''''''); + fsa.deleteFile("lock",CustomOutputProvider::CALCULATOR_OUTPUT); + } + + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { + for (node : resource.allContents.toIterable.filter(Node)){ + fsa.generateFile(node.getName()+".py",CustomOutputProvider::CALCULATOR_OUTPUT,node.compile) + } + } + +def compile(Node node) { + count_sub = node.subscriber.size +''' + +Node name: «node.name» + +«FOR sub:node.subscriber» +Subscriber: + name: «sub.name» + type: «sub.message.fullname» +«ENDFOR» + + +«FOR pub:node.publisher» +Publisher: + name: «pub.name» + type: «pub.message.fullname» +«ENDFOR» +''' +} + +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java index f9105b0cc..a7abae528 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/NodeImpl.java @@ -142,9 +142,9 @@ public class NodeImpl extends MinimalEObjectImpl.Container implements Node { /** * * - * @generated + * @generated NOT */ - protected NodeImpl() { + public NodeImpl() { super(); } diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java index 68e99504a..1d3b1b42e 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PackageImpl.java @@ -115,9 +115,9 @@ public class PackageImpl extends MinimalEObjectImpl.Container implements ros.Pac /** * * - * @generated + * @generated NOT */ - protected PackageImpl() { + public PackageImpl() { super(); } diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PublisherImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PublisherImpl.java index 99a977bb1..1cb45d834 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PublisherImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/PublisherImpl.java @@ -40,9 +40,9 @@ public class PublisherImpl extends NamespacedElementImpl implements Publisher { /** * * - * @generated + * @generated NOT */ - protected PublisherImpl() { + public PublisherImpl() { super(); } diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java index 15186a9c6..511ce08d2 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/RosPackageImpl.java @@ -435,9 +435,9 @@ public class RosPackageImpl extends EPackageImpl implements RosPackage { * @see org.eclipse.emf.ecore.EPackage.Registry * @see ros.RosPackage#eNS_URI * @see #init() - * @generated + * @generated NOT */ - private RosPackageImpl() { + public RosPackageImpl() { super(eNS_URI, RosFactory.eINSTANCE); } diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/TopicSpecImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/TopicSpecImpl.java index 6124fee65..182e07166 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/TopicSpecImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/TopicSpecImpl.java @@ -41,9 +41,9 @@ public class TopicSpecImpl extends SpecBaseImpl implements TopicSpec { /** * * - * @generated + * @generated NOT */ - protected TopicSpecImpl() { + public TopicSpecImpl() { super(); } From a1eaca0c6cb23b2a3d323243c55953fa4eef0cac Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Wed, 29 Sep 2021 09:32:26 +0200 Subject: [PATCH 45/48] generate cpp --- .../generator/CalculatorPyCodeGenerator.xtend | 62 +++++++++++++++---- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend index 28e7fdd24..201590750 100644 --- a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend @@ -28,6 +28,9 @@ class CustomOutputProvider implements IOutputConfigurationProvider { class CalculatorPyCodeGenerator extends AbstractGenerator { int count_sub + String header_name + String pointer_name + String class_name def void createXtextGenerationFolder (IFileSystemAccess2 fsa, IGeneratorContext context) { fsa.generateFile("lock",CustomOutputProvider::CALCULATOR_OUTPUT,''''''); @@ -42,22 +45,59 @@ class CalculatorPyCodeGenerator extends AbstractGenerator { def compile(Node node) { count_sub = node.subscriber.size + header_name = node.name ''' +#include +#include +#include -Node name: «node.name» +«««#include "ambs_components/ambs_calculators/comparators/float_param_comparator.h" +#include "ambs_components/ambs_calculators/comparators/«node.name».h" -«FOR sub:node.subscriber» -Subscriber: - name: «sub.name» - type: «sub.message.fullname» -«ENDFOR» +namespace ambs_calculators +{ +«««class CompFloatParamNodelet : public nodelet::Nodelet +class «node.name»Nodelet : public nodelet::Nodelet +{ +public: + «node.name»Nodelet() {} + ~«node.name»Nodelet() {} -«FOR pub:node.publisher» -Publisher: - name: «pub.name» - type: «pub.message.fullname» -«ENDFOR» + virtual void onInit() + { + ros::NodeHandle nh = this->getMTPrivateNodeHandle(); + std::string name = nh.getUnresolvedNamespace(); + name = name.substr(name.find_last_of('/') + 1); + + NODELET_INFO_STREAM("Initialising nodelet... [" << name << "]"); +««« class_pointer_.reset(new CompFloatParam(nh, name)); + class_pointer_.reset(new plugin_object(nh, name)); + +««« class_pointer_->init( +««« "in_start", "in_stop", "in_reset", "in_float" +««« "out_done", "out_comparison"); + class_pointer_->init( + «FOR pub:node.publisher» + "«pub.name»", + «ENDFOR» + «FOR sub:node.subscriber» + "«sub.name»", + «ENDFOR» + ); + } + +private: +««« boost::shared_ptr class_pointer_; + boost::shared_ptr class_pointer_; +}; + +} // namespace ambs_calculators + +«««PLUGINLIB_EXPORT_CLASS(ambs_calculators::CompFloatParamNodelet, +««« nodelet::Nodelet); +PLUGINLIB_EXPORT_CLASS(ambs_calculators::«node.name»Nodelet, + nodelet::Nodelet); ''' } From 23e2bec668ee40f3370e4fc777482dcb51c4cc20 Mon Sep 17 00:00:00 2001 From: Ruichao Wu Date: Fri, 23 Jul 2021 16:07:33 +0200 Subject: [PATCH 46/48] eclipse stuffs --- .../model/PrimitivesTypes.ecore | 130 +++++++++++------- 1 file changed, 84 insertions(+), 46 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.ros/model/PrimitivesTypes.ecore b/plugins/de.fraunhofer.ipa.ros/model/PrimitivesTypes.ecore index 3653f09ac..2afe6c3be 100644 --- a/plugins/de.fraunhofer.ipa.ros/model/PrimitivesTypes.ecore +++ b/plugins/de.fraunhofer.ipa.ros/model/PrimitivesTypes.ecore @@ -1,48 +1,86 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From edd70bace9745cc17fc942cc90393301b3d528db Mon Sep 17 00:00:00 2001 From: Ruichao Wu Date: Fri, 23 Jul 2021 16:06:46 +0200 Subject: [PATCH 47/48] Generate different types of calculators --- .../ros/araig/plugin/GenerationHandler.java | 540 +++++++++++++----- .../generator/CalculatorPyCodeGenerator.xtend | 41 +- 2 files changed, 422 insertions(+), 159 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java index 2fad54fa0..3c22275cd 100644 --- a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java @@ -1,11 +1,18 @@ package de.fraunhofer.ipa.ros.araig.plugin; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.StringJoiner; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; @@ -13,7 +20,9 @@ import org.eclipse.core.commands.IHandler; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; @@ -39,12 +48,17 @@ import org.eclipse.xtext.resource.IResourceDescriptions; import org.eclipse.xtext.ui.resource.IResourceSetProvider; +import com.google.common.reflect.Parameter; import com.google.inject.Inject; import com.google.inject.Provider; import componentInterface.ComponentInterface; +import componentInterface.RosParameter; import componentInterface.RosPublisher; -import de.fraunhofer.ipa.ros.araig.plugin.generator.CalculatorPyCodeGenerator; +import componentInterface.impl.RosParameterImpl; +import de.fraunhofer.ipa.ros.araig.plugin.generator.CalculatorLogic; +import de.fraunhofer.ipa.ros.araig.plugin.generator.CompareParam; +import de.fraunhofer.ipa.ros.araig.plugin.generator.ComparePoses; import de.fraunhofer.ipa.ros.araig.plugin.generator.CustomOutputProvider; import ros.Artifact; import ros.Node; @@ -61,6 +75,7 @@ import ros.impl.SubscriberImpl; import ros.impl.TopicSpecImpl; import rossystem.RosSystem; +import rossystem.impl.RosSystemImpl; public class GenerationHandler extends AbstractHandler implements IHandler { @@ -108,163 +123,8 @@ public Object execute(ExecutionEvent event) throws ExecutionException { RosInterfaces.add(NewRosInterfaces.get(j)); } } - // Step 1: set name for the Calculator - InputDialog dialogInput = new InputDialog(shell,"Set name to the calculator", "Set name to the calculator", null, null); - dialogInput.open(); - String CalculatorName = dialogInput.getValue(); - - // Step 2: select publishers from the robot system to be subscribed - ElementListSelectionDialog dialogSelect = new ElementListSelectionDialog(shell, new LabelProvider()); - - String[] ListofInterfaces = new String[RosInterfaces.size()]; - for (int i=0; i Build Automatilly is enable !!!"); - dialogSelect.setMultipleSelection(true); - dialogSelect.open(); - List CalculatorSubscribers = new ArrayList(); - - Object[] SelectedPublishersFromSystem = dialogSelect.getResult(); - for (Object result_: SelectedPublishersFromSystem) { - for (EObject ResultInterface: RosInterfaces) { - if((getViewMenuInterfaceName(ResultInterface)).equals(result_.toString())) { - EObject SelectedInterface = ResultInterface; - if (SelectedInterface.getClass().toString().contains("componentInterface.impl.RosPublisherImpl")) { - Subscriber sub = new SubscriberImpl(); - sub.setName(((RosPublisher) SelectedInterface).getName()); - sub.setMessage(((RosPublisher)SelectedInterface).getPublisher().getMessage()); - CalculatorSubscribers.add(sub); - } - }}} - - //Step 3: select publishers from the runner - ElementTreeSelectionDialog RunnerModelSelectionDialog = new ElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider()); - RunnerModelSelectionDialog.setTitle("Select the .ros model that defines the ARAIG test runner"); - RunnerModelSelectionDialog.setMessage("Select one element from the tree:"); - RunnerModelSelectionDialog.addFilter(new FileExtensionFilter("ros")); - RunnerModelSelectionDialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); - RunnerModelSelectionDialog.open(); - Object RunnerModel = RunnerModelSelectionDialog.getFirstResult(); - IFile RunnerModelFile = (IFile) RunnerModel; - URI RunnerModelUri = URI.createPlatformResourceURI(RunnerModelFile.getFullPath().toString(), true); - - ResourceSet RunnerModelResourceSet = resourceSetProvider.get(project); - Resource RunnerModelResource = RunnerModelResourceSet.getResource(RunnerModelUri, true); - - PackageSet RosModel = (PackageSet)RunnerModelResource.getContents().get(0); - Node RosNode = RosModel.getPackage().get(0).getArtifact().get(0).getNode(); - List RosPublishers = RosNode.getPublisher(); - String[] ListofInterfacesRunner = new String[RosPublishers.size()]; - for (int i=0; i Build Automatilly is enable !!!"); - dialogSelect2.setMultipleSelection(true); - dialogSelect2.open(); - Object[] SelectedPublishersFromRunner = dialogSelect.getResult(); - for(Object pub:SelectedPublishersFromRunner) { - for(Publisher publisher : RosPublishers) { - if (publisher.getName() == pub.toString().replace("[Publisher] ","")) { - Subscriber sub = new SubscriberImpl(); - sub.setName(publisher.getName()); - sub.setMessage(publisher.getMessage()); - CalculatorSubscribers.add(sub); - } - } - } - - //Step 4: configure outputs - InputDialog dialogInputPublishers = new InputDialog(shell,"Add the list of outputs for the calculators", "Set the list with the names of the outputs separated by commas, i.e. 'FirstOut, SecondOut'", null, null); - dialogInputPublishers.open(); - List InputPublishersList = Arrays.asList(dialogInputPublishers.getValue().split(",", -1)); - List CalculatorPublishers = new ArrayList(); - - String[] MessageTypes = {"Bool","Float64"}; - Package std_msgsPkg=new PackageImpl(); - std_msgsPkg.setName("std_msgs"); - - TopicSpec message_bool = new TopicSpecImpl(); - message_bool.setName("Bool"); - message_bool.setPackage(std_msgsPkg); - - TopicSpec message_float = new TopicSpecImpl(); - message_float.setName("Float64"); - message_float.setPackage(std_msgsPkg); - - ElementListSelectionDialog dialogSelect3 = new ElementListSelectionDialog(shell, new LabelProvider()); - dialogSelect3.setElements(MessageTypes); - - for(String pub: InputPublishersList) { - Publisher new_pub=new PublisherImpl(); - dialogSelect3.setTitle("Select type for the publisher "+pub); - dialogSelect3.setMessage("Select type for the publisher "+pub); - dialogSelect3.setMultipleSelection(false); - dialogSelect3.open(); - new_pub.setName(pub.replace(" ", "")); - if (dialogSelect3.getResult()[0] == "Bool") { - new_pub.setMessage((TopicSpec)message_bool); - } else if (dialogSelect3.getResult()[0] == "Float64"){ - new_pub.setMessage((TopicSpec)message_float); - } - CalculatorPublishers.add(new_pub); - } - String calculator_name = CalculatorName+"_calculator"; - String RelativePathTogenerationFolder = "src-gen/calculators/"; - String RelativePathToCalculatorModel = RelativePathTogenerationFolder+calculator_name+".ros"; - IFile CalculatorModelFile = project.getFile(RelativePathToCalculatorModel); - - // prepare the Xtext generation environment - CalculatorPyCodeGenerator generator = new CalculatorPyCodeGenerator(); - final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get(); - fsa.setProject(project); - fsa.setOutputConfigurations(getOutputConfigurationsAsMap(new CustomOutputProvider())); - fsa.setMonitor(new NullProgressMonitor()); - GeneratorContext generatorContext = new GeneratorContext(); - if (!project.getFolder(RelativePathTogenerationFolder).exists()) { - generator.createXtextGenerationFolder(fsa, generatorContext); - } - - ResourceSet rs_result = new ResourceSetImpl(); - URI model_result_uri= URI.createPlatformResourceURI(CalculatorModelFile.getFullPath().toString(),true); - Resource model_result= rs_result.createResource(model_result_uri); - - PackageSet CalculatorModelResult = new PackageSetImpl(); - Package resul_model_package = new PackageImpl(); - Artifact result_model_artifact = new ArtifactImpl(); - Node result_model_node = new NodeImpl(); - - result_model_node.setName(CalculatorName); - result_model_artifact.setName(CalculatorName); - resul_model_package.setName(project.getName()); - - std_msgsPkg.getSpec().add(message_bool); - std_msgsPkg.getSpec().add(message_float); - - save_model(model_result, CalculatorModelResult); - CalculatorModelResult.getPackage().add(std_msgsPkg); - save_model(model_result, CalculatorModelResult); - - for (Publisher pub: CalculatorPublishers) { - result_model_node.getPublisher().add(pub); - } - for (Subscriber sub: CalculatorSubscribers) { - result_model_node.getSubscriber().add(sub); - } - result_model_artifact.setNode(result_model_node); - resul_model_package.getArtifact().add(result_model_artifact); - CalculatorModelResult.getPackage().add(resul_model_package); - save_model(model_result, CalculatorModelResult); + create_calculator_ui(shell, RosInterfaces, project); - // Call the python code generator - ResourceSet rs2 = resourceSetProvider.get(project); - Resource r2 = rs2.getResource(model_result_uri, true); - generator.doGenerate(r2, fsa, generatorContext); }} return null; } @@ -297,9 +157,375 @@ private void save_model(Resource model_result, PackageSet CalculatorModelResult } } + private void create_calculator_ui(Shell shell, List RosInterfaces, IProject project) { + List CalculatorSubscribers = new ArrayList(); + List CalculatorParameters = new ArrayList(); + List CalculatorPublishers = new ArrayList(); + + Map msg_map= new HashMap() {{ + put("BoolStamped", new TopicSpecImpl()); + put("Float64Stamped", new TopicSpecImpl()); + }}; + + // TODO: solve without it, it can't find araig_msgs + create_msg_model(project, "araig_msgs", msg_map); + + // Step 1: set name for the Calculator + InputDialog dialogInput = new InputDialog(shell,"Set name to the calculator", "Set name to the calculator", null, null); + dialogInput.open(); + String CalculatorName = dialogInput.getValue(); + + // Step 2: choose calculator logic + Map LogicMap = new HashMap() {{ + // name for ui, CalculatorLogic (logic class name, input numbers, output numbers) + put("Compare with a parameter", new CalculatorLogicType("compare_with_param", 2, 1)); + put("Compare with two topics in PostStamped", new CalculatorLogicType("compare_with_topics_in_PostStamped", 2, 1)); + put("Compare with two topics in BoolStamped", new CalculatorLogicType("compare_with_topics_in_BoolStamped", 2, 1)); + put("Get temporal pose difference", new CalculatorLogicType("diff_pose_temporal", 3, 2)); + put("Stop timer", new CalculatorLogicType("stop_timer", 2, 1)); + }}; + + ElementListSelectionDialog dialogSelect2 = new ElementListSelectionDialog(shell, new LabelProvider()); + dialogSelect2.setElements(LogicMap.keySet().toArray()); + dialogSelect2.setTitle("Select the logic for the calculator"); + dialogSelect2.setMultipleSelection(false); + dialogSelect2.open(); + CalculatorLogicType logic = LogicMap.get(dialogSelect2.getResult()[0]); + + // Step 3: choose inputs + Map InputSourceMap = new HashMap() {{ + put("robot system", 1); + put("sensors", 2); + put("exist calculators", 3); + put("parameter", 4); + }}; + // for each input + for (int n = 0; n < logic.get_input_num(); n++) { + + ElementListSelectionDialog dialogSelect3 = new ElementListSelectionDialog(shell, new LabelProvider()); + dialogSelect3.setElements(InputSourceMap.keySet().toArray()); + dialogSelect3.setTitle("Select a source of input"); + dialogSelect3.setMultipleSelection(false); + dialogSelect3.open(); + + ElementListSelectionDialog dialogSelect = new ElementListSelectionDialog(shell, new LabelProvider()); + int source_case = InputSourceMap.get(dialogSelect3.getResult()[0]); + + // a topic of publisher in robot system + if (source_case == 1) { + String[] ListofInterfaces = new String[RosInterfaces.size()]; + for (int i=0; i Build Automatilly is enable !!!"); + dialogSelect.setMultipleSelection(false); + dialogSelect.open(); + + Object PublisherFromSystem = dialogSelect.getResult()[0]; + for (EObject ResultInterface: RosInterfaces) { + if((getViewMenuInterfaceName(ResultInterface)).equals(PublisherFromSystem.toString())) { + EObject SelectedInterface = ResultInterface; + if (SelectedInterface.getClass().toString().contains("componentInterface.impl.RosPublisherImpl")) { + Subscriber sub = new SubscriberImpl(); + sub.setName(((RosPublisher) SelectedInterface).getName()); + sub.setMessage(((RosPublisher)SelectedInterface).getPublisher().getMessage()); + CalculatorSubscribers.add(sub); + } + } + } + } + + // a topic of publisher from sensor model or exist calculator model + if (source_case == 2 || source_case == 3) { + ElementTreeSelectionDialog TreeSelectionDialog = new ElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider()); + if (source_case == 2) { + TreeSelectionDialog.setTitle("Select the .ros model of a sensor"); + } + if (source_case == 3) { + TreeSelectionDialog.setTitle("Select the .ros model of an exist calculator"); + } + TreeSelectionDialog.setMessage("Select one element from the tree:"); + TreeSelectionDialog.addFilter(new FileExtensionFilter("ros")); + TreeSelectionDialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); + TreeSelectionDialog.open(); + + Object Model = TreeSelectionDialog.getFirstResult(); + IFile ModelFile = (IFile) Model; + URI ModelUri = URI.createPlatformResourceURI(ModelFile.getFullPath().toString(), true); + + ResourceSet ModelResourceSet = resourceSetProvider.get(project); + Resource ModelResource = ModelResourceSet.getResource(ModelUri, true); + + PackageSet RosModel = (PackageSet)ModelResource.getContents().get(0); + Node RosNode = RosModel.getPackage().get(0).getArtifact().get(0).getNode(); + List RosPublishers = RosNode.getPublisher(); + String[] ListofInterfaces = new String[RosPublishers.size()]; + for (int i=0; i Build Automatilly is enable !!!"); + dialogSelect.setMultipleSelection(false); + dialogSelect.open(); + Object SelectedPublisher = dialogSelect.getResult()[0]; + for(Publisher publisher : RosPublishers) { + if (publisher.getName() == SelectedPublisher.toString().replace("[Publisher] ","")) { + Subscriber sub = new SubscriberImpl(); + sub.setName(publisher.getName()); + sub.setMessage(check_if_costume_msg(publisher.getMessage(), msg_map)); + CalculatorSubscribers.add(sub); + } + } + } + + // parameter as a input + // TODO: How to set value for a parameter + if (source_case == 4) { + InputDialog param_dialog = new InputDialog(shell,"Set name to the parameter", "Set name to the parameter", null, null); + param_dialog.open(); + RosParameter param = new RosParameterImpl(); + param.setName(dialogInput.getValue()); + CalculatorParameters.add(param); + } + + } + + //Step 4: configure outputs + for (int n = 0; n < logic.get_output_num(); n++) { + ElementListSelectionDialog dialogSelectOutputmethod = new ElementListSelectionDialog(shell, new LabelProvider()); + Map method = new HashMap() {{ + put("exsit topic from subscribers of a model", 1); + put("create a new topic", 2); + }}; + dialogSelectOutputmethod.setElements(method.keySet().toArray()); + dialogSelectOutputmethod.setTitle("Select the method to create a publisher"); + dialogSelectOutputmethod.setMultipleSelection(false); + dialogSelectOutputmethod.open(); + if (method.get(dialogSelectOutputmethod.getResult()[0]) == 1) { + ElementTreeSelectionDialog TreeSelectionDialog = new ElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider()); + TreeSelectionDialog.setTitle("Select the .ros model of runner or an exist calculator"); + TreeSelectionDialog.setMessage("Select one element from the tree:"); + TreeSelectionDialog.addFilter(new FileExtensionFilter("ros")); + TreeSelectionDialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); + TreeSelectionDialog.open(); + + Object Model = TreeSelectionDialog.getFirstResult(); + IFile ModelFile = (IFile) Model; + URI ModelUri = URI.createPlatformResourceURI(ModelFile.getFullPath().toString(), true); + + ResourceSet ModelResourceSet = resourceSetProvider.get(project); + Resource ModelResource = ModelResourceSet.getResource(ModelUri, true); + + PackageSet RosModel = (PackageSet)ModelResource.getContents().get(0); + Node RosNode = RosModel.getPackage().get(0).getArtifact().get(0).getNode(); + List RosSubscribers = RosNode.getSubscriber(); + String[] ListofInterfaces = new String[RosSubscribers.size()]; + for (int i=0; i Build Automatilly is enable !!!"); + dialogSelect.setMultipleSelection(false); + dialogSelect.open(); + Object SelectedSubscriber = dialogSelect.getResult()[0]; + for(Subscriber subscriber : RosSubscribers) { + if (subscriber.getName() == SelectedSubscriber.toString().replace("[Publisher] ","")) { + Publisher new_pub = new PublisherImpl(); + new_pub.setName(subscriber.getName()); + new_pub.setMessage(check_if_costume_msg(subscriber.getMessage(), msg_map)); + CalculatorPublishers.add(new_pub); + } + } + } + else { + InputDialog dialogInputPublisher = new InputDialog(shell, + "Add a publisher for the calculators", + "Set the name of the publisher", + null, null); + dialogInputPublisher.open(); + String publisher_topic = dialogInputPublisher.getValue(); + + //for multiple publishers + //List InputPublishersList = Arrays.asList(dialogInputPublishers.getValue().split(",", -1)); + //new_pub.setName(publisher_topic.replace(" ", "")); + + ElementListSelectionDialog dialogSelectTopicType = new ElementListSelectionDialog(shell, new LabelProvider()); + dialogSelectTopicType.setElements(msg_map.keySet().toArray()); + + Publisher new_pub=new PublisherImpl(); + dialogSelectTopicType.setTitle("Select type for the publisher "+publisher_topic); + dialogSelectTopicType.setMessage("Select type for the publisher "+publisher_topic); + dialogSelectTopicType.setMultipleSelection(false); + dialogSelectTopicType.open(); + new_pub.setName(publisher_topic); + new_pub.setMessage(msg_map.get(dialogSelectTopicType.getResult()[0])); + CalculatorPublishers.add(new_pub); + } + } + CalculatorLogicFactory shapeFactory = new CalculatorLogicFactory(); + CalculatorLogic logic_class = shapeFactory.create(logic.get_class_name()); + create_calculator_model(project, CalculatorName, "calculator", CalculatorPublishers, CalculatorSubscribers, logic_class); + } + + private TopicSpec check_if_costume_msg(TopicSpec msg, Map costume_msg_map) { + String msg_type = msg.getName(); + if (msg_type.equals("BoolStamped") || msg_type.equals("FloatStamped")) { + return costume_msg_map.get(msg_type); + } + else { + return msg; + } + } + + private void create_calculator_model(IProject project, + String node_name, + String node_type, + List publishers, + List subscribers, + CalculatorLogic clazz, + String parent_folder, + Boolean generate_code) { + ResourceSet rs_result = new ResourceSetImpl(); + PackageSet ROSModelResult = new PackageSetImpl(); + Package result_model_package = new PackageImpl(); + result_model_package.setName(project.getName()); + Artifact result_model_artifact = new ArtifactImpl(); + result_model_artifact.setName(node_name); + Node result_model_node = new NodeImpl(); + result_model_node.setName(node_name); + + String RelativePathTogenerationFolder = String.join("/", parent_folder, node_type); + String RelativePathToROSModel = String.join("/", RelativePathTogenerationFolder, node_name +".ros"); + IFile ROSModelFile = project.getFile(RelativePathToROSModel); + URI ros_model_result_uri= URI.createPlatformResourceURI(ROSModelFile.getFullPath().toString(),true); + Resource model_result= rs_result.createResource(ros_model_result_uri); + + for (Publisher pub: publishers) { + result_model_node.getPublisher().add(pub); + } + for (Subscriber sub: subscribers) { + result_model_node.getSubscriber().add(sub); + } + + result_model_artifact.setNode(result_model_node); + result_model_package.getArtifact().add(result_model_artifact); + ROSModelResult.getPackage().add(result_model_package); + + save_model(model_result, ROSModelResult); + + // Call the python code generator + if (generate_code) { + call_generator(project, ros_model_result_uri, RelativePathTogenerationFolder, clazz); + } + } + + private void create_calculator_model(IProject project, + String node_name, + String node_type, + List publishers, + List subscribers, + CalculatorLogic clazz) { + create_calculator_model(project, node_name, node_type, publishers, subscribers, clazz, "src-gen", true); + } + + private void create_msg_model(IProject project, String msg_pkg_name, Map msg_map) { + ResourceSet rs_result = new ResourceSetImpl(); + PackageSet MsgModelResult = new PackageSetImpl(); + Package msg_model_package = new PackageImpl(); + msg_model_package.setName(msg_pkg_name); + + String RelativePathTogenerationFolder = "msgs/"; + String RelativePathToMsgModel = RelativePathTogenerationFolder+msg_pkg_name+".ros"; + IFile msgModelFile = project.getFile(RelativePathToMsgModel); + URI msg_model_result_uri= URI.createPlatformResourceURI(msgModelFile.getFullPath().toString(),true); + Resource msg_model_result= rs_result.createResource(msg_model_result_uri); + + for (Map.Entry msg : msg_map.entrySet()) { + msg.getValue().setName(msg.getKey()); + msg.getValue().setPackage(msg_model_package); + msg_model_package.getSpec().add(msg.getValue()); + } + + MsgModelResult.getPackage().add(msg_model_package); + // without it, error:can#t find msg type + save_model(msg_model_result, MsgModelResult); + } + + private void call_generator(IProject project, URI ros_model_result_uri, String RelativePathTogenerationFolder, CalculatorLogic clazz) { + ResourceSet rs2 = resourceSetProvider.get(project); + Resource r2 = rs2.getResource(ros_model_result_uri, true); + + final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get(); + fsa.setProject(project); + fsa.setOutputConfigurations(getOutputConfigurationsAsMap(new CustomOutputProvider())); + fsa.setMonitor(new NullProgressMonitor()); + GeneratorContext generatorContext = new GeneratorContext(); + if (!project.getFolder(RelativePathTogenerationFolder).exists()) { + clazz.createXtextGenerationFolder(fsa, generatorContext); + } + + clazz.doGenerate(r2, fsa, generatorContext); + } + @Override public boolean isEnabled() { return true; } + + private class CalculatorLogicType { + private String class_name; + private int input_num; + private int output_num; + + public CalculatorLogicType(String class_name,int input_num,int output_num) { + super(); + this.class_name = class_name; + this.input_num = input_num; + this.output_num = output_num; + } + + public String get_class_name() { + return class_name; + } + public void set_class_name(String class_name) { + this.class_name = class_name; + } + public int get_input_num() { + return input_num; + } + public void set_input_num(int input_num) { + this.input_num = input_num; + } + public int get_output_num() { + return output_num; + } + public void set_output_num(int output_num) { + this.input_num = output_num; + } } + +} + + final class CalculatorLogicFactory { + + public CalculatorLogic create(String clazz_name) { + CalculatorLogic toReturn = null; + if (clazz_name == "compare_with_param") { + toReturn = new CompareParam(); + } + else if (clazz_name == "compare_with_topics_in_PostStamped") { + toReturn = new ComparePoses(); + } + return toReturn; + } + } + + \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend index 201590750..88e5dfec1 100644 --- a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/generator/CalculatorPyCodeGenerator.xtend @@ -15,7 +15,8 @@ class CustomOutputProvider implements IOutputConfigurationProvider { override Set getOutputConfigurations() { var OutputConfiguration observer_config = new OutputConfiguration(CALCULATOR_OUTPUT) observer_config.setDescription("CALCULATOR_OUTPUT"); - observer_config.setOutputDirectory("./src-gen/calculators/"); + //"./src-gen/calculators/" + observer_config.setOutputDirectory("./src-gen/calculator/"); observer_config.setOverrideExistingResources(true); observer_config.setCreateOutputDirectory(true); observer_config.setCleanUpDerivedResources(true); @@ -24,9 +25,45 @@ class CustomOutputProvider implements IOutputConfigurationProvider { } } +abstract class CalculatorLogic extends AbstractGenerator{ + def void createXtextGenerationFolder(IFileSystemAccess2 fsa, IGeneratorContext context) { + fsa.generateFile("lock",CustomOutputProvider::CALCULATOR_OUTPUT,''''''); + fsa.deleteFile("lock",CustomOutputProvider::CALCULATOR_OUTPUT); + } +} + +class CompareParam extends CalculatorLogic{ + int count_sub -class CalculatorPyCodeGenerator extends AbstractGenerator { + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { + for (node : resource.allContents.toIterable.filter(Node)){ + fsa.generateFile(node.getName()+".py",CustomOutputProvider::CALCULATOR_OUTPUT,node.compile) + } + } + +def compile(Node node) { + count_sub = node.subscriber.size +''' +CompareParam +Node name: «node.name» + +«FOR sub:node.subscriber» +Subscriber: + name: «sub.name» + type: «sub.message.fullname» +«ENDFOR» + + +«FOR pub:node.publisher» +Publisher: + name: «pub.name» + type: «pub.message.fullname» +«ENDFOR» +''' +} +} +class ComparePoses extends CalculatorLogic{ int count_sub String header_name String pointer_name From 803f930c2e649649dd04842d7cf31e25db5fe6ce Mon Sep 17 00:00:00 2001 From: "PN:Ruichao Wu2" Date: Tue, 17 Aug 2021 16:32:53 +0200 Subject: [PATCH 48/48] add parameters --- .../ros/araig/plugin/GenerationHandler.java | 19 ++++++++++++++----- .../src/ros/impl/ParameterImpl.java | 4 ++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java index 3c22275cd..0c8899c99 100644 --- a/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java +++ b/plugins/de.fraunhofer.ipa.ros.araig.plugin/src/de/fraunhofer/ipa/ros/araig/plugin/GenerationHandler.java @@ -71,12 +71,14 @@ import ros.impl.NodeImpl; import ros.impl.PackageImpl; import ros.impl.PackageSetImpl; +import ros.impl.ParameterImpl; import ros.impl.PublisherImpl; import ros.impl.SubscriberImpl; import ros.impl.TopicSpecImpl; import rossystem.RosSystem; import rossystem.impl.RosSystemImpl; - +import ros.impl.ParameterBooleanTypeImpl; +import ros.impl.ParameterDoubleTypeImpl; public class GenerationHandler extends AbstractHandler implements IHandler { @Inject @@ -159,7 +161,7 @@ private void save_model(Resource model_result, PackageSet CalculatorModelResult private void create_calculator_ui(Shell shell, List RosInterfaces, IProject project) { List CalculatorSubscribers = new ArrayList(); - List CalculatorParameters = new ArrayList(); + List CalculatorParameters = new ArrayList(); List CalculatorPublishers = new ArrayList(); Map msg_map= new HashMap() {{ @@ -287,8 +289,9 @@ private void create_calculator_ui(Shell shell, List RosInterfaces, IPro if (source_case == 4) { InputDialog param_dialog = new InputDialog(shell,"Set name to the parameter", "Set name to the parameter", null, null); param_dialog.open(); - RosParameter param = new RosParameterImpl(); + ParameterImpl param = new ParameterImpl(); param.setName(dialogInput.getValue()); + param.setType(new ParameterDoubleTypeImpl()); CalculatorParameters.add(param); } @@ -371,7 +374,7 @@ private void create_calculator_ui(Shell shell, List RosInterfaces, IPro } CalculatorLogicFactory shapeFactory = new CalculatorLogicFactory(); CalculatorLogic logic_class = shapeFactory.create(logic.get_class_name()); - create_calculator_model(project, CalculatorName, "calculator", CalculatorPublishers, CalculatorSubscribers, logic_class); + create_calculator_model(project, CalculatorName, "calculator", CalculatorPublishers, CalculatorSubscribers, CalculatorParameters, logic_class); } private TopicSpec check_if_costume_msg(TopicSpec msg, Map costume_msg_map) { @@ -389,6 +392,7 @@ private void create_calculator_model(IProject project, String node_type, List publishers, List subscribers, + List Parameters, CalculatorLogic clazz, String parent_folder, Boolean generate_code) { @@ -414,6 +418,10 @@ private void create_calculator_model(IProject project, result_model_node.getSubscriber().add(sub); } + for (ParameterImpl param: Parameters) { + result_model_node.getParameter().add(param); + } + result_model_artifact.setNode(result_model_node); result_model_package.getArtifact().add(result_model_artifact); ROSModelResult.getPackage().add(result_model_package); @@ -431,8 +439,9 @@ private void create_calculator_model(IProject project, String node_type, List publishers, List subscribers, + List Parameters, CalculatorLogic clazz) { - create_calculator_model(project, node_name, node_type, publishers, subscribers, clazz, "src-gen", true); + create_calculator_model(project, node_name, node_type, publishers, subscribers, Parameters, clazz, "src-gen", true); } private void create_msg_model(IProject project, String msg_pkg_name, Map msg_map) { diff --git a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterImpl.java b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterImpl.java index 31d781d17..65027d362 100644 --- a/plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterImpl.java +++ b/plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterImpl.java @@ -53,9 +53,9 @@ public class ParameterImpl extends NamespacedElementImpl implements Parameter { /** * * - * @generated + * @generated NOT */ - protected ParameterImpl() { + public ParameterImpl() { super(); }

    u~cjv3V)7_0q8P67eBRqa#DH?pCk!UNR$3vJWq@ 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

    K$%T@# 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